运行结束后没有返回值的子程序称为过程。在Delphi7中有三种类型的过程:即标准过程、事件过程和自定义程。其中标准过程和自定义过程又可以称为通用过程。即这两种过程可以独立于事件,被任何过程或函数调用。
1 标准过程
标准过程是系统内部已经定义好的过程,不需要编写代码,也不能改变过程的名称和参数。标准过程的调用非常简单,在需要调用的位置直接书写该过程即可 。
2 事件过程
当对象接受到某个动作时,Windows会通知Delphi产生一个事件(鼠标单击事件),而Delphi会自动执行该对象与该事件有关的一段程序,这就是该对象的一个事件过程。
事件过程的创建
在窗体上(或在对象监视器中)选中该对象,然后在对象监视器的事件(Event)选项卡中选择相应的事件名,用鼠标双击其右侧的下拉列表框,Delphi将自动产生一个默认的事件过程框架,执行该事件的代码需要添加在框架内。Delphi产生的默认事件过程的名称遵循下面的命名原则:控件名称加上事件类型名(无On) 。
事件过程调用
已经创建完成的事件过程可以被其他事件过程调用
3 自定义过程
一般自定义过程定义在单元的implementation部分的中{$R *.dfm}后面。
自定义过程声明
自定义过程的一般声明格式如下:
§procedure <过程名>[ ( <形参表> ) ];
§[局部声明]
§begin
§[ <过程语句序列> ]
§end;
过程的声明必须以procedure开始,包括过程名,形参表,局部声明部分和以begin开始end结束的过程语句序列。
第一行必须以“;”分号结束,是过程首部。其余部分为过程的实现部分,必须包括一个begin-end结构。End后面也必须以“;”分号结束,表示过程结束。
<形参表>过程参数的一般书写形式为:
( [Var |Const] <参数名>:<类型>)
Var和Const为系统的保留字,Var表示参数传递方式为地址传递,即形参值的改变将反映到实参中。Const表示在过程内部不能改变形参的值。不带这两个参数的形参传递方式为值传递,即过程内部对形参值的改变将不会反映到实参中。
过程的定义可以有类似下面的两种形式:
§procedure GetSum(V1,V2:Integer;var Sum:Int64);
§procedure ProcNoPara;
自定义过程的创建和使用
一般可以创建两种自定义过程。一种是仅能本单元中使用,对其他的单元文件该过程不可见;另外一种就是还可以在其他单元中使用的公共过程。要创建能在其他单元中使用的过程,必须将过程首部声明在单元的公共接口部分(Interface)中。如果是仅在本单元内部使用的自定义过程,则必须先创建才能被使用。