一、例程:Delphi中独有的称呼,例程是将具体某个功能的代码进行封装表现形式:
1、过程
2、函数
过程和函数的区别在于有没有返回值
二、例程的作用
1、可以解决命名冲突问题
2、提高代码的重复使用率
3、提高代码可维护性
三、使用历程
1、定义
1 procedure Demo1(); //过程 2 begin 3 4 end;
函数的定义
1 function Demo2(var a : Integer;var b : Integer) : Integer; //函数 2 begin 3 Writeln(a,',',b); 4 end; 5 6 {传递参数个数不固定(多个参数)} 7 procedure Demo3(const num1 : array of Integer); 8 var 9 X,Y : Integer; 10 begin 11 12 end;
四、例程返回值
1 {返回值:只有函数有返回值,过程没有} 2 function Add(Num1 : Integer;Num2 : Integer) : Integer; //最后一个Integer 声明运算结果数据类型 3 begin 4 Result := Num1 + Num2; //Result 获取返回值 5 Exit; //终止 6 end; 7 var 8 Sum : Integer; 9 begin 10 Sum := Add(2,3); 11 Writeln(Sum); 12 Readln; 13 end.
1 {返回值:通过引用获取运算结果} 2 function Sub1(Num3 : Integer;Num4 : Integer;var sum : Integer) : Integer; 3 //var sum : Integer 传入地址 4 begin 5 sum := Num3 - Num4; 6 Exit; 7 end; 8 9 var 10 Sum1 : Integer; 11 begin 12 Sub1(5,3,Sum1); 13 Writeln(Sum1); 14 Readln; 15 end.
1 {返回值:out} 2 function mul(Num5:Integer;Num6:Integer;out sum:Integer):Integer; 3 begin 4 sum := Num5 * Num6; 5 Exit; 6 end; 7 var 8 sum : Integer; 9 begin 10 mul(5,3,sum); 11 Writeln(sum); 12 Readln; 13 end.
1 {通过函数名称获取返回值} 2 function GetResultByFunName():Integer; 3 begin 4 GetResultByFunName := 1+3; 5 end; 6 begin 7 Writeln(GetResultByFunName()); 8 Readln; 9 end.
1 {overload 函数重载:函数名相同,参数列表不同,使用关键字标识} 2 function Add(Num1 : Integer;Num2 : Integer;var sum : Integer) : Integer; overload; 3 begin 4 sum := Num1 + Num2; 5 Exit; 6 end; 7 8 function Add(Num1 : Double;Num2 : Double;out sum : Double) : Double; overload; 9 10 begin 11 sum := Num1 + Num2; 12 Exit; 13 end; 14 15 var 16 // sum : Integer; 17 sum : Double; 18 begin 19 // Add(2,3,sum); 20 Add(2.4,2.02132,sum); 21 Writeln(sum); 22 Readln; 23 end.
1 {forward 前置声明} 2 function DivFun() : Integer; forward; 3 4 function MilFun() : Integer; 5 begin 6 DivFun(); 7 end; 8 9 function DivFun() : Integer; 10 begin 11 Writeln('test'); 12 end; 13 begin 14 MilFun(); 15 Readln; 16 end.
内容来源于网络如有侵权请私信删除
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!