delphi中的過程和函數

來源:互聯網
上載者:User
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;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.