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