关于Delphi中Exit、Continue、Abort、Break的用法和区别

 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时候不执行。其他都执行。

原文地址:https://www.cnblogs.com/Ken2018/p/9329542.html