delphi整理七(function and procedure)  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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中引入该单元

私有变量:

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

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.19370794296265 seconds