什么是過程類型?
把一個(gè)變量聲明為過程類型,可以把一個(gè)過程或函數(shù)作為一個(gè)整體賦給這個(gè)變量或者把這個(gè)變量作為參數(shù)傳遞給其它過程或函數(shù)。
聲明一個(gè)過程類型的語法同聲明一個(gè)過程或函數(shù)的首部語法相似,不同的是在保留字Procedure或fun- ction后不需要有過程或函數(shù)的標(biāo)識(shí)符,例如:
Type Proc1=Procedure;
Proc2=Procedure(VarX,Y:integer);
Proc3=Function(X:Double):Double;
上例中,聲明了三個(gè)過程類型,第一個(gè)是不帶任何參數(shù)的過程,第二個(gè)是帶兩個(gè)參數(shù)的過程,第三個(gè)是帶一個(gè)Double類型的參數(shù)并返回Double類型值的函數(shù)。
同聲明一個(gè)過程或函數(shù)一樣,您在聲明一個(gè)過程類型時(shí)可以指定一種調(diào)用約定方式,缺省就是Register方式。
下面我們舉例說明過程類型的用法:
Type SwapProc=Procedure(Var X,Y:Integer);
MathFunc=Function(X:Double):Double;
//以上是類型聲明部分
Var P:SwapProc; F:MathFunc;
//以上把P說明為SwapProc 類型的變量,把F說明為MathFunc類型的變量
Procedure Swap(var A,B:integer);
Var Temp:Integer;
Begin Temp:=A;
A:=B;
B:=Temp;
End;
Function Tan(Angle:Double);
Begin Tan:=Sin(Angle)/Cos(Angle);
End;
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |