delphi中exitbreakcontinue等跳出操作的区别(代码片段)

jijm123 jijm123     2023-02-04     761

关键词:

  Delphi中表示跳出的有break,continue,abort,exit,halt,runerror等

1.break

  强制退出最近的一层循环(注意:只能放在循环里;而且是只能跳出最近的一层循环),用于从for、while、repeat语句中强制退出

  类似于C/C++等语言中的break的功能

 

2.continue

  用于从for、while、repeat语句中结束循环内的本次处理,继续从循环体的开始位置继续执行

  类似于C/C++等语言中的continue的功能

 

3.exit

  用于从当前代码块中退出。

  若该代码是主程序,则终止该程序。

  如果是函数或过程,则立即终止该函数或过程

 

4.abort

  终止程序需的运行,产生不报错的异常信息。跳出祖先模块。和exit的区别是

procedure p1;
begin
    p2;
    p3;
end;
 
procedure p2;
begin
    abort;    //或者exit;
end;
 
procedure p3;
begin
    //进行一些操作
end;

  在执行p1的时候,如果p2里面用abort,则执行不到p3

  如果使用exit,就能够执行到p3,因为exit只能控制终止它所在的函数或过程,不能终止调用它所在函数的那个代码块。如果用exit终止它所在的那个函数之后,会跳回调用这个函数的代码块,继续执行之后的代码

 

5.halt

  用于强行终止应用程序的执行,返回操作系统(非正常退出方式)

 

6.runerror

  终止程序的执行,并产生运行错误(返回错误代码)

break 跳出循环
continue 继续下一个循环
abort 抛出空异常
Exit 退出当前过程。
尽量少用控制语制,因为配合异常捕捉及后续修改时,容易犯逻辑错误

如何在firemonkey Delphi XE 8上的Facebook等Android通知栏中使用外部大图像?

】如何在firemonkeyDelphiXE8上的Facebook等Android通知栏中使用外部大图像?【英文标题】:HowtouseexternallargeimageinAndroidnotificationbarlikeFacebookoretconfiremonkeyDelphiXE8?【发布时间】:2015-09-2011:58:42【问题描述】:我知道您可以在消息、标题、... 查看详情

把exe可执行文件等作为资源包含在delphi编译文件中

摘自我自己过去写的一段心得。1.编辑资源文件*.RCWave:资源文件是声音文件;RCDATA:二进制数据AVI:AVI动画;ICON:图标文件;BITMAP:位图文件;CURSOR:光标文件;比如:MyWavWAVE"FileName.Wav"2.使用Brcc32转化为*.RES文件3.在工程中引用R... 查看详情

delphi---break,exit,continue等跳出操作的区别

1.break  强制退出最近的一层循环(注意:只能放在循环里;而且是只能跳出最近的一层循环),用于从for、while、repeat语句中强制退出   2.continue  用于从for、while、repeat语句中结束循环内的本次处理,继续从循环体的... 查看详情

delphi中,如何读取一个目录中的所有文件?在线等……

参考技术A分类:电脑/网络>>程序设计>>其他编程语言问题描述:现需读取目录:“c:\historydata”文件夹中所有文件(该文件夹中,只包含.txt和.done文件),需对每个文件进行处理。另,求将文件转换目录的函数(比如将c... 查看详情

delphi怎么读取idispatch类型的记录集,在线等

参考技术A首先,记录集的传递需要通过TClientDataSet才能进行。MYSQL中TINYINT(1)恰巧是BOOL,BOOLEAN的同名,你可以把字段定义为TINYINT(3) 查看详情

delphi中如何编程获取其它程序窗口的大小?

如何编程获取其它程序窗口的大小\位置等信息,最好再能获取其上的按钮句柄等信息.参考技术A大小就是width和height位置就是left和top按钮可以通过窗口名.按钮ID获取 查看详情

delphi函数的outvar等关键字的作用,和使用场景(代码片段)

问题描述Delphi函数的out、var等关键字的作用,和使用场景Delphi函数的out、var等关键字的作用,和使用场景,我知道var是作为传值调用,但是像out这个关键字又是什么作用呢?解决方案在过程或函数中,out主要用于COM和CORBA技术,D... 查看详情

delphi报表

...组件具有如下特点:1、适用范围广:VB.NET、C#、VB、VC、Delphi、C++Builder、VFP、易语言等一切支持COM的开发工具。2、功能强大:实现普通格式报表、表格报表、多层表头、票据套打、交叉表等各种报表非常简便;报表完全可编程定... 查看详情

如何用delphi中datamodule管理数据库连接和adoquery及datasourse等

首先关于使用datamodule的理论可以参看,里面讲的很详细:https://wenku.baidu.com/view/073aa98aa0116c175f0e48e2.html其次为什么要用datamodule呢?其主要作用就是:1.提升数据组件的重复使用2.便于数据集中管理和维护3.程序结构更加清晰,数据... 查看详情

在delphi中怎样抓取鼠标形状

参考技术A鼠标:右击,左击,单击,双击,滚轮,拖曳Delphi程序设计中的鼠标控制在Windows环境下,鼠标和键盘是主要的输入设备。在Delphi中几乎每个对象都具有反映鼠标控制的事件,这些事件的主要功能包括改变鼠标指针的形... 查看详情

数组属性、TList、TStringList 或 TCollection 等 (Delphi Win32)

】数组属性、TList、TStringList或TCollection等(DelphiWin32)【英文标题】:ArrayProperty,TList,TStringList,orTCollection,etc(DelphiWin32)【发布时间】:2010-10-0714:35:00【问题描述】:我正在开发各种组件,并且经常遇到需要具有“一对多”关系的属性... 查看详情

delphi中modalresult的使用

  Delphi中ModalResult的功能非常实用。  在自己设计的Dialog界面中,选择相应的按钮,设置按钮的ModalResult属性为mrOK、mrCancel等。这样的设置,当按下该按钮时,界面会自己关闭,同时会将该按钮的ModalResult属性传递给... 查看详情

delphi中怎样判断鼠标是不是在panel范围内?panel里含有button等其他控件

参考技术A你可以捕捉鼠标在当前界面或者窗体的位置,然后根据panel的top或者left去判断 参考技术B可以在将panel和他包含的每个其他控件的onMouseMove设置为同一个事件,一起判断既可本回答被提问者和网友采纳 参考技术Cmouse.CursorPo... 查看详情

delphi中,如何向dbgrid中添加数据记录并自动刷新

...加到dbgrid中,并自动刷新。求解答。附图一、预备知识在delphi语言中,对于数据库的操作类组件,简单地可以分为前台(数据显示)及后台(数据操作)类组件。前台类的组件,如dgGrid、dbEdit等;后台类的组件,如AdoTabel、ADOQuer... 查看详情

如何在 C# 中制作类似 Delphi 的框架?

】如何在C#中制作类似Delphi的框架?【英文标题】:HowtodoDelphi-likeframesinC#?【发布时间】:2011-01-2114:10:12【问题描述】:一点背景知识:我是一名Delphi程序员,正在重新学习C#(最初是在学校学习的,直到最近才接触过),并且正... 查看详情

delphi中tapplication详解(转仅供自己参考)

...://blog.sina.com.cn/s/blog_4d6f55d90100bmv9.html  TApplication是用于Delphi应用程序的类型,该类在单元forms中声明。TApplication是Delphi构造Windows应用程序所需的类型,其方法和属性集中包括了Windows操作系统中创建、运行和销毁应用程序等既... 查看详情

iniutilsforgolang

  一直有计划将Delphi中的譬如TIniFile等相关功能移植到Golang,这些设施在Delphi中(相对而言)比较常用,使用起来也非常方便。  虽然Github上早已有这些三方库,但我还是想仿照Delphi的做法来实现一套,并额外提供直接干脆... 查看详情

如何评估 $(BDS) 等 Delphi 的“环境变量”?

】如何评估$(BDS)等Delphi的“环境变量”?【英文标题】:HowareDelphi\'environmentvariables\'suchas$(BDS)evaluated?【发布时间】:2011-10-1518:20:46【问题描述】:我正在为我们的内部库制作一些整洁的安装程序(而不是仅仅打开DPK并单击“安... 查看详情