1、例程:Delphi中獨有的稱呼,例程是將具體某個功能的代碼進行封裝表現形式:
一、過程
二、函數
過程和函數的區別在於有沒有返回值
2、例程的做用
一、能夠解決命名衝突問題
二、提升代碼的重複使用率
三、提升代碼可維護性
3、使用歷程
一、定義數組
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;
4、例程返回值spa
1 {*------------------------------------------------------------------------------
2 1、什麼是例程:Delphi中獨有的稱呼,例程是將具體某個功能的代碼進行封裝表現形式: 3 一、過程 4 二、函數 5 過程和函數的區別在於有沒有返回值 6 2、例程的做用 7 一、能夠解決命名衝突問題 8 二、提升代碼的重複使用率 9 三、提升代碼可維護性 10 3、怎麼使用歷程 11 一、定義 12 13 -------------------------------------------------------------------------------} 14 procedure Demo1(a : Integer;b : Integer); //過程,傳值 15 begin 16 Writeln(a+b); 17 end; 18 19 {*------------------------------------------------------------------------------ 20 函數的定義 21 @return 22 -------------------------------------------------------------------------------} 23 function Demo2(var a : Integer;var b : Integer) : Integer; //過程,傳地址 24 begin 25 Writeln(a+b); 26 end; 27 28 {傳遞參數個數不固定(多個參數)} 29 procedure Demo3(const IntArray : array of Integer); 30 var 31 I : Integer; 32 begin 33 Writeln('----------------------------'); 34 for I := Low(IntArray) to High(IntArray) do begin 35 Writeln(IntArray[I],#$09); 36 end; 37 Writeln('數組長度爲:',Length(IntArray)); 38 end; 39 40 var 41 a,b : Integer; 42 43 begin 44 a := 1; 45 b := 2; 46 Demo1(a,b); 47 Demo2(a,b); 48 Demo3([4,6,9,7]);//數組傳值 49 Readln; 50 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.