Delphi整理七(function and procedure)
阿新 • • 發佈:2019-01-31
過程與函式
過程(procedure) and 函式(function)———-實現面向物件的重要手段
通用過程的定義
Procedure<過程名>[(<形參表>)];
[區域性宣告];
begin
<語句序列>;
end;
<形參表>的格式為:
[Const|Var]<形參名>:型別
1)保留字Procedure是定義通用過程的首部,’過程名’要遵循規則
2)<形參表>同類型逗號隔開,不同型別分號。無形參,可省略括號
3)區域性宣告可以:常量、變數、型別
4)程式開始begin,end結尾帶分號
通用過程的呼叫
呼叫格式:
過程名(引數表);
1)引數表中個數、型別、順序一致
2)如果形參用前冠var,對應實參必須是變數,否則同類型表示式就好
函式:和過程一樣,函式也是子程式的一種形式。區別:函式有返回,過程沒有
函式定義格式:
Function<函式名>[(形參表1)]:<函式返回型別>;
[區域性宣告];
begin
<語句序列>;
end
<形參表>個格式:
[Const|Var]<形參名>:型別
函式體中不給函式名賦值,函式返回預設值(數值)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;
如果,b不是var前冠,結果為2130567168
值引數和常量引數
引數前冠const:常量引數,無var也無const就是值引數
值引數:傳遞過程不是一個儲存單元(地址),形參改變不會影響實參
常量引數:
預設引數:在定義的時候給值
例,(過程)
procedure <方法名>(xm:string;xb:widestring='男';mz:string='漢族');
139頁
子程式的巢狀與遞迴
1)在子程式(函式或過程中)定義了另外的子程式(function or procedure),稱為(function or procedure)的巢狀。
2)子程式(function or procedure)直接或間接呼叫自己。有分直接和間接遞迴
變數的作用域
公有變數:
單元介面 interface決定了本單元哪些變數是公有的。
一個單元需要用如(DMata),只需在uses中引入該單元
私有變數:
在私有部分宣告,只能被本單元使用
區域性變數:(多用)
只能在該子程式中有效
全域性變數:(少用全域性,防止全域性變數副作用)
需要多個子程式之間交換資料,則可以通過全域性變數