Delphi 過程與函數


注:該內容整理自以下鏈接。

  http://chanlei001.blog.163.com/blog/static/340306642011111615445266/

 

delphi 過程以保留字procedure開始,沒有返回值;函數以保留字function開始,有返回值。過程參數位於括號里面,多個參數之間以分號分隔,例如:

procedure SetDate(Year: Integer; Month: Integer; Day: Integer);

也可以將相同類型的參數組合在一起,則上述過程標題寫成:

procedure SetDate(Year, Month, Day: Integer);

函數在標題中還多了一項——返回值的類型。下面是一個返回值為Double型的函數標題:

function GetAverage(num:integer;total:Double):Double;

 

1.基本概念

(1)函數

函數有兩類:

一類是標准函數,這一類函數由Delphi定義並實現,程序員可以直接引用;

另一類為自定義函數,一個自定義函數應首先在程序聲明部分聲明,之后才可以在程序的執行部分加以調用。

過程或函數的語句部分由begin開始、end結束。函數需要一個返回值。可以將返回值賦給函數名稱,也可以將返回值賦給Result變量。

例::

function GetAverage(num:integer;total:Double):Double;

begin

GetAverage := total / num;

end;

也可以將返回值賦給Result變量:

Result := total / num;

 

(2)過程

定義過程的保留字是procedure。

過程也有兩類:一類為Delphi定義的標准過程,另一類為自定義過程。

 

2. 參數與作用域

 (1)參數

過程和函數與外界的數據通信有兩種方式:一種是通過全局量,另一種是通過參數。最常用的參數有值參數、變量參數和常量參數3種。

· 值參數 若參數定義為值參數,則函數的調用對實參的值沒有影響。

· 變量參數(Var申明) 若參數定義為變量參數,則函數調用的結果對實參的值有影響。

· 常量參數(const 申明) 如果參數定義為常量參數,則當過程或函數執行時不改變形參的值。

如果當過程或函數執行時要求不改變形參的值,則最保險的辦法是使用常量參數。在形式參數表的參數名稱前加上保留字const可以使一個形參成為常量參數。

 

(2)作用域

1)全局變量是在主程序中定義的變量。

2)局部變量是在過程或函數中定義的變量。

全局變量對於整個程序均適用,局部變量只對定義它的過程或函數有效。

 

Object Pascal語言對於變量的作用域有如下約定:

1)在不同層次可以定義使用同名變量,但在同一層中1個變量只能定義1次。

2)同名變量在不同層次被定義時,代表不同的對象。執行內層程序時,外層的非局部變量雖然存在,卻已經被屏蔽;而當程序從內層退出后,內層的局部變量就已經不存在,只有外層的那個非局部變量仍然存在。

 

 需要注意的是,Delphi和其他一些語言不同,它的函數在返回值的時候並不中止函數本身,它總會執行到函數的最后一條語句。如果需要提前退出,可以用 Exit;語句。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM