1、Delphi的过程分为两种:系统标准过程与用户自定义过程
--系统标准过程是由系统内部定义好的过程,我们不需要写任何的代码,直接可以调用,如Insert()、Copy()等
--自定义过程有用户自己编写代码定义,它又分为事件过程与通用过程两种
--通用过程用于完成某个特定的功能,由我们自行创建并定义。
格式:
procedure 过程名([形参列表]) //参数可选
var
//声明常量、变量或另一个过程或函数等
begin
语句;
end;
注:--过程名是合法的标识符
-- 形式参数又简称形参,是定义过程或函数时使用的参数,可以包括若干个形式参数,也可以没有形参
--在过程中声明、定义的变量的声明周期只限于本过程
--形式参数列表中如果有多个参数,则用分号分隔,而函数或过程调用中,实参用逗号分隔
2、 传值与传址
-- 过程和函数的形参与实参之间既可以通过传值的方式传递,也可以通过传地址的方式传递
--例子中使用的都是传值的方式,这是默认的参数传递方式:即将实参的值复制并压入栈中,而函数或过程使用和操作的都是栈中的复制者,而不是原始值
-- 因此在函数或过程中对参数的改变并不会影响到实参本身
--如果在过程和函数声明时,在形式参数名前面加var保留字进行声明的话,就是传地址方式,也称为引用参数
--当通过引用传递参数时,没有按默认方式将参数值复制并压入栈中,而是直接引用参数原始值,函数或过程使用和操作的都是原始值,因此,能够在函数或过程中改变实参的值
3、一成不变的Const
--Const修饰的参数也称为常量参数。在实际编程中,有时并不想使传递过程和函数的参数值发生改变,这时就可以使用常量参数
--常量参数在形式参数列表中用保留字Const声明即可
4、关于函数的定义
--函数与过程很相似,也是完成一定功能的程序段,与过程的主要区别就是函数有返回值,其定义方式稍有不同,函数的定义格式及功能如下:
格式:
Function 函数名(形参表) : 返回值类型;
局部声明
begin
语句;
end;
--形参表的含义与过程完全一致
--“返回值类型”规定了函数返回值的数据类型,返回值类型可以通过给函数名赋值或给预定义的隐含变量Result赋值来实现(根C语言的Return语句类似)
--有一点需要注意,在语句中至少要给函数名或Result赋值一次,以便让函数执行完毕时把函数值带回给主调过程或主调函数
--与过程一样,函数也是通过调用来运行的。一般的函数调用格式: 变量 := 函数(参数表)
--这里的变量接收了函数的返回值,还有另外一种调用格式:
例如:IntToStr(Length(Str));
--函数有一个返回值,函数调用就相当于一个同类型的值,可以和同类型的数据一样作为表达式或表达式的一部分参加运算