扒开腿挺进岳湿润的花苞视频|将军边走边挺进她H树林|挺进朋友人妻张婉莹身体|岳脱得精光让我挺进去视频|第一次挺进莹莹的身体里视频|脱岳裙子从后面挺进去视频

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語言 >> 文章正文

了解delphi過程類型/過程類型學(xué)習(xí)

   ⒈什么是過程類型    
  把一個變量聲明為過程類型,可以把一個過程或函數(shù)作為一個整體賦給這個變量或者把這個變量作為參數(shù)傳遞給其它過程或函數(shù)。  
   
  聲明一個過程類型的語法同聲明一個過程或函數(shù)的首部語法相似,不同的是在保留字Procedure或fun- ction后不需要有過程或函數(shù)的標(biāo)識符,中國自學(xué)編程網(wǎng)首發(fā),例如:  
   
  Type  
                Proc1=Procedure;  
                Proc2=Procedure(VarX,Y:integer);  
                Proc3=Function(X:Double):Double;  
   
  上例中,聲明了三個過程類型,第一個是不帶任何參數(shù)的過程,第二個是帶兩個參數(shù)的過程,第三個是帶一個Double類型的參數(shù)并返回Double類型值的函數(shù)。  
   
  同聲明一個過程或函數(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;  
   
  {以上定義了一個過程和一個函數(shù)}  
   
   
  P:=Swap;  
  F:=Tan;  
   
  {以上把Swap過程賦給P變量,把Tan函數(shù)賦給F變量}  
   
   
  P(I,J);   {相當(dāng)于調(diào)用Swap(I,J)}  
  X:=F(X);   {相當(dāng)于X:=tan(X)}  
這里舉例說明了一個過程或函數(shù)可以賦給一個過程類型的變量,事實上過程類型的數(shù)據(jù)還可以作為參數(shù)傳遞給其它過程或函數(shù)。  
   
  注意:不能把過程類型直接作為函數(shù)的返回類型,不過您可以讓函數(shù)的返回類型為指針類型,讓指針指向一個過程或函數(shù)的地址。  
   
  當(dāng)把一個過程或函數(shù)賦給一個過程類型的變量時要注意賦值相容,只有滿足下列條件才是賦值相容的。  調(diào)用約定方式必須相同。    
   
  參數(shù)個數(shù)必須相同,相應(yīng)的其數(shù)據(jù)類型必須相同,但參數(shù)名不一定必須相同。  
   
  函數(shù)的返回類型必須相同。  
   
  Object   Pascal規(guī)定,nil同任何過程類型相容。  
   
  過程類型根據(jù)其是否運用于對象分為兩大類:一類是全局過程指針,另一類是方法指針。    
   
  全局過程指針指向的是全局的過程或函數(shù),例如上例中的SwapProc和MathFunc,這類過程類型在聲明沒有Of   object   部分。  
   
  方法指針在明時必須加上Of   object,表示它所指向的是一個對象的方法,程序示例如下:  
   
  Type  
                TNotifyEvent=Procedure   (Sender:Tobject)   Of   Object;  
   
  有了方法指針后,要擴展一個對象,不需要重新派生出一個新的,只要把其它對象的方法賦給個這個方法指針就可以了,這樣可以避免對象的層次過多,m.jdtbank.com 。  
   
  方法指針通常用于把對象的事件同一段已有的代碼(可能是其它對象的)相聯(lián)系起來,例如您想定義用戶單擊按鈕時的缺省行為,您不必從   Tbutton對象派生出一個新對象并重載它的響應(yīng)單擊的行為, 您只需要把一段已有的代碼同一個方法指針聯(lián)系起來。  
   
  方法指針的示例如下:  
   
  Type  
                TNotifyEvent=Procedure(Sender:Tobject)   Of   Object;  
  Type  
                TAnObject=Class(TObject)  
                              FOnClick:TNotifyEvent;  
                End;  
                TAnOtherObject=Class(TObject)  
                              Procedure   AMethod(Sender:Tobject);  
                end;  
  Var  
                AnObject:TAnObject;  
您現(xiàn)在的位置:首頁--開發(fā)語言--DELPHI編程--DELPHI基礎(chǔ)--瀏覽文章
delphi過程類型基礎(chǔ)學(xué)習(xí)

點擊:220   發(fā)布日期:2007-11-27 20:07:24   進(jìn)入論壇 
 

                AnOtherObject:TAnotherObject;  
  Begin  
                AnObject:=TAnobject.Create;  
                AnotherObject:=TAnotherObject.Create;  
                AnObject.FOnClick:=AnotherObject.Amethod;  
  end;  
 
 

作者:未知 | 文章來源:未知 | 更新時間:2007-11-29 14:19:29

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    delphi實現(xiàn)利用arp欺騙來實現(xiàn)計費功能
    一個delphi開發(fā)托盤程序的例子
    BLOB是如何使用的
    GB/Unicode/GBK之間的轉(zhuǎn)換
    delphi使用技藝大全
    在桌面中嵌入窗體
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項目經(jīng)理有那些
    ·學(xué)習(xí)如何在Lambda表達(dá)式進(jìn)
    ·C++基礎(chǔ)知識:結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現(xiàn)方式
    ·delphi實現(xiàn)利用arp欺騙來實
    ·基礎(chǔ)學(xué)習(xí):基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) m.jdtbank.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    柳林县| 仁布县| 永泰县| 沙河市| 永善县| 和政县| 裕民县| 汤阴县| 夹江县| 常州市| 宣化县| 扎鲁特旗| 嘉义市| 克山县| 上犹县| 德昌县| 东乡| 中阳县| 沁水县| 永康市| 穆棱市| 洪洞县| 鹿泉市| 大渡口区| 临朐县| 徐水县| 肇东市| 玉门市| 炉霍县| 泗洪县| 肥城市| 河北省| 西峡县| 黎城县| 盱眙县| 湘潭市| 富蕴县| 西乡县| 合作市| 岳普湖县| 武鸣县|