ネストされたループから抜ける (goto文の利用) - Delphi

Delphiでネストされたループのいちばん深いところから抜け出す場合には、goto文を利用します。

書式

宣言部(var)

label ラベル名;

コード中(begin ... end間)

goto ラベル名;

ラベル名:
"goto ラベル名"から"ラベル名:"にジャンプします。

コード例

procedure TForm1.Button10Click(Sender: TObject);
var
  i,j,k:integer;
label myLoopEnd;
begin
  for i:=0 to 5 do begin
    for j:=0 to 5 do begin
      for k:=0 to 5 do begin
        Memo1.Lines.Add(Format('%d %d %d',[i,j,k]));
        if k>=5 then goto myLoopEnd;
      end;
    end;
  end;
  myLoopEnd:
  Memo1.Lines.Add('Loop End');
end;

実行結果

0 0 0
0 0 1
0 0 2
0 0 3
0 0 4
0 0 5
Loop End

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2020-09-27
作成日: 2011-02-15
iPentec all rights reserverd.