1、Break
procedure TForm1.Button3Click(Sender: TObject);
var i,j :Integer;
begin
Memo1.Lines.Clear;
for I := 0 to 10 - 1 do
begin
for j := 0 to 5 - 1 do
begin
if j = 2 then Break; //退出本次循环 (J 退出)
Memo1.Lines.Add('i='+IntToStr(i) +', j=' + IntToStr(j))
end;
end;
end;
每次J循环到2就结束内部循环。
i=0, j=0
i=0, j=1
i=1, j=0
i=1, j=1
i=2, j=0
i=2, j=1
i=3, j=0
i=3, j=1
i=4, j=0
i=4, j=1
2、Exit 和 Abort
申明2个方法:
procedure TForm1.Exit_T ;
var i,j :Integer;
begin
Memo1.Lines.Clear;
for I := 0 to 10 - 1 do
begin
for j := 0 to 5 - 1 do
begin
if j = 2 then Exit; //退出本次循环 (J 退出)
Memo1.Lines.Add('Exit: i='+IntToStr(i) +', j=' + IntToStr(j))
end;
end;
end;
procedure TForm1.Abort_T ;
var i,j :Integer;
begin
Memo1.Lines.Clear;
for I := 0 to 10 - 1 do
begin
for j := 0 to 5 - 1 do
begin
if j = 2 then Abort; //退出本次循环 (J 退出)
Memo1.Lines.Add('Abort: i='+IntToStr(i) +', j=' + IntToStr(j))
end;
end;
end;
分别放2个按钮执行;
Exit_T;
procedure TForm1.Button4Click(Sender: TObject);
begin
Exit_T;
Memo1.Lines.Add('Exit');
end;
结果是:Exit可以打印出
procedure TForm1.Button6Click(Sender: TObject);
begin
Abort_T;
Memo1.Lines.Add('Abort');
end;
结果是Abort不会打印。强制结束。
最后还有Continue
procedure TForm1.Button5Click(Sender: TObject);
var i,j :Integer;
begin
Memo1.Lines.Clear;
for I := 0 to 10 - 1 do
begin
for j := 0 to 5 - 1 do
begin
if j = 2 then Continue; //退出本次循环 ,继续下一次
Memo1.Lines.Add('i='+IntToStr(i) +', j=' + IntToStr(j))
end;
end;
end;
只有当J=3时候不执行。其他都执行。