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

  • 相关阅读:
    Kafka API: TopicMetadata
    从事件总线和消息队列说起
    Object.defineproperty实现数据和视图的联动
    css3动画-animation
    css3动画-transition
    jquery判断对象的type
    vs如何在运行iis express调试时,不开打新窗口和关闭调试时,iis express不退出
    重写Equals的方式
    Android中包名不能大写
    C# 几种常见数据结构【转】
  • 原文地址:https://www.cnblogs.com/Ken2018/p/9329542.html
Copyright © 2020-2023  润新知