欢迎来到天天文库
浏览记录
ID:3815880
大小:117.11 KB
页数:23页
时间:2017-11-24
《培训一高级数据类型和数据库ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Delphi数据类型培训概要日期17-08-04编辑:老李过程(Procedure)和函数(Function)一:过程(Procedure)和函数(Function)的区别:delphi过程以保留字procedure开始,没有返回值;函数以保留字function开始,有返回值。过程参数位于括号里面,多个参数之间以分号分隔。例如:procedureSetDate(Year:Integer;Month:Integer;Day:Integer);functionGetAverage(num:integer;total:Double):Doub
2、le;functiongetSum(i1,j1:integer):integer;二:过程和函数的作用:过程和函数是实现一定功能的语句块,将程序中频繁用的运算和业务的处理的进行集成方便代码的维护和升级,增加可读性。三:过程的定义形式如下。procedure过程名(<形式参数表>);//过程首部begin//语句体;end;过程(Procedure)和函数(Function)四:过程的调用过程定义好后,必须通过调用才能被执行。要想调用某个过程,该过程必须在调用语句之前定义。过程调用语句的格式主要有:[格式1]: 过程名(实参表);
3、[说明]:该过程有参数[格式2]: 过程名;或过程名();[说明]:该过程无参数 注意:有参数的过程,调用时实参的个数、位置、数据类型必须与形参一一对应,实参之间用逗号分隔。过程(Procedure)和函数(Function)五:形式参数的三种类型 函数或过程定义时参数列表中的参数称为形式参数,简称形参;而函数或过程调用时参数列表中的参数称为实在参数,简称实参。 在过程或函数调用时,形参与实参必须一一对应,且类型一致。在过程或函数定义时,形参有三种类型:数值参数、变量参数和常量参数。1、数值参数数值参数在
4、过程和函数的使用中很常见,当调用过程或函数时,程序把实参值复制一份传递给数值参数,数值参数对过程或函数而言就是局部变量,对值参数的修改不会直接修改实参的值。2、常量参数在过程和函数中,常量参数的值是不可以改变的,因此可以将它作为常量使用,在过程和函数中,不可以为常量参数赋值,这样会出现编译错误,并且也不可以把常量参数作为实参传递给其他过程或函数过程(Procedure)和函数(Function)3、变量参数变量参数可以接收从主程序传递来的实参,而且还可以向主程序返回值,在过程或函数中,当参数被改变时,实参的值也会改变,变量参数也可以起到
5、回传信息的作用。还有一种是输出参数是为支持Windows的Com技术,和var的结果是一样的,一般我们用不着它。数值参数也是默认参数(传值),变量参数标识符是var(传址),输出参数标识符out(输出),一般都不使用,偶尔看到知道是输出类型的参数就行,常量参数const(常数)。六:具体实例演示过程(Procedure)和函数(Function)1、{默认参数是传值,不会被改变}functionMyF1(x:Integer):Integer;beginInc(x);Result:=x;end;2、{var参数是传址,会被改变}funct
6、ionMyF2(varx:Integer):Integer;beginx:=x+1;Result:=x;end;过程(Procedure)和函数(Function)3、{out参数是为支持Com的,和var的结果是一样的,一般我们用不着它}functionMyF3(outx:Integer):Integer;beginInc(x);Result:=x;end;4、{const参数是绝对不可以赋值的,这是被编译器优化的方式,尽量多用}functionMyF4(constx:Integer):Integer;begin//Inc(x);{这
7、句会出错,因为带const前缀的参数是不可以更改的}Result:=x;end;过程(Procedure)和函数(Function)3、{out参数是为支持Com的,和var的结果是一样的,一般我们用不着它}functionMyF3(outx:Integer):Integer;beginInc(x);Result:=x;end;4、{const参数是绝对不可以赋值的,这是被编译器优化的方式,尽量多用}functionMyF4(constx:Integer):Integer;begin//Inc(x);{这句会出错,因为带const前缀的
8、参数是不可以更改的}Result:=x;end;过程(Procedure)和函数(Function)//调用测试procedureTForm1.Button1Click(Sender:TObject);va
此文档下载收益归作者所有