Delphi整理七(function and procedure)


本文整理自网络,侵删。

 
过程与函数

过程(procedure) and 函数(function)―――-实现面向对象的重要手段

通用过程的定义

Procedure<过程名>[(<形参表>)];
[局部声明];
begin
<语句序列>;
end;
1
2
3
4
5
<形参表>的格式为:

[Const|Var]<形参名>:类型
1
1)保留字Procedure是定义通用过程的首部,’过程名’要遵循规则 
2)<形参表>同类型逗号隔开,不同类型分号。无形参,可省略括号 
3)局部声明可以:常量、变量、类型 
4)程序开始begin,end结尾带分号

通用过程的调用

调用格式:

过程名(参数表);
1
1)参数表中个数、类型、顺序一致 
2)如果形参用前冠var,对应实参必须是变量,否则同类型表达式就好

函数:和过程一样,函数也是子程序的一种形式。区别:函数有返回,过程没有 
函数定义格式:

Function<函数名>[(形参表1)]:<函数返回类型>;
[局部声明];
begin
<语句序列>;
end
1
2
3
4
5
<形参表>个格式:

[Const|Var]<形参名>:类型
1
函数体中不给函数名赋值,函数返回默认值(数值)0、(布尔)false、(字符)空字符

参数传递:

变量参数:参数前冠var,表示可变参数。 
传递方式:地址传递。参数值改变影响实际参数值。 
例,(console Application中测试) 
//这是一个简单的过程

procedure ce(a:integer;var b:integer);
begin
b:=a;
end;
//测试主体
var
result:integer;
begin
ce(1,result)
write(inttostr(result));
//传入1和result,把结果转化为int型,输出
readln;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
如果,b不是var前冠,结果为2130567168

值参数和常量参数

参数前冠const:常量参数,无var也无const就是值参数 
值参数:传递过程不是一个存储单元(地址),形参改变不会影响实参 
常量参数:是否实参,结果不变 
默认参数:在定义的时候给值 
例,(过程)

procedure <方法名>(xm:string;xb:widestring='男';mz:string='汉族');
1
139页

子程序的嵌套与递归

1)在子程序(函数或过程中)定义了另外的子程序(function or procedure),称为(function or procedure)的嵌套。 
2)子程序(function or procedure)直接或间接调用自己。有分直接和间接递归

变量的作用域

公有变量:

单元接口 interface决定了本单元哪些变量是公有的。 
一个单元需要用如(DMata),只需在uses中引入该单元

私有变量:

在私有部分声明,只能被本单元使用 
局部变量:(多用) 
只能在该子程序中有效 
全局变量:(少用全局,防止全局变量副作用) 
需要多个子程序之间交换数据,则可以通过全局变量

相关阅读 >>

Delphi idhttp下载带清理网络缓存

Delphi xe, xe10, 创建 activeform 和 activex 工程的方法

Delphi tparallel并行性能测试

Delphi 10.3.3 启动cnpack ide 专家 cnwizards coreide260.bpl错误解决办法

Delphi stopprocess 进程关闭函数

Delphi 获取cpu使用单元文件

Delphi 的 tstringbuilder 可以完美实现jave ,c#的tstringbuilder功能

Delphi xe5 android 捕获几个事件

Delphi hash类

Delphi speedbutton按钮动态加载图片(从image和imagelist)

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...