Delphi把操作資料的方法分成了兩種,一種是function,另一種是procedure,分別稱為“函數”和“過程”,這二者最大的差別就是函數擁有傳回值而過程沒有,比如按鈕的事件響應過程,這就是一個過程,因此它沒有傳回值;而一個簡單的函數如求字串長度的函數Length,它的函數原形為function Length(S:string):Integer;這個函數有一個參數S,是您要計算的字串,它的傳回值是一個整數類型,返回字串的長度。舉一個例子來說吧: 假設需要一個函數GetNum(),它有兩個整形參數num1,num2,函數經過計算後返回這兩個整數的平均數,函數如下:function GetNum(num1:Integer;num2:Integer):Integer; //函數名var haha:Integer;Begin Result:=(num1+num2)/2; //將計算結果賦給Result //GetNum:=(num1+num2)/2; //也可以這樣寫 haha:=555; //如果對函數名賦值,函數就返回,就是說,如果使用GetNum:=(num1+num2)/2;對函數賦值,這句將永遠執行不到。End;函數的聲明:function 函數標示符(參數列表):傳回值;函數的定義:function MyFunc(Param1,Param2:Integer;Param3:Real):Integer;//函數參數間用分號隔開,括弧外面的類型是函數的傳回型別。Begin //函數的定義部分End;附註:函數傳回值有兩種賦值方法,一種是直接對函數名賦值,另一種是賦值給Result變數。對函數名賦值將導致函數返回。Result是函數特有的局部變數,它的類型與函數的傳回型別相同,對它的賦值等於對函數名賦值。與函數名不同,Result變數可以出現在賦值號的右邊,如果函數名出現在賦值號的右邊時,則意味著遞迴調用,也就是函數調用它自己。另外,對Result賦值不一定導致函數返回,如:function MyFunc(s:Integer):Integer;Begin Result:=Result*s; //執行賦值但不返回。 MyFunc:=s*s;//賦值後程式返回。End;例2:function MyFunc():Integer;Begin Result:=Result+5; //如果使用MyFunc():=MyFunc()+5;將導致死迴圈。End;