出差少妇被按摩师玩弄了_久久精品亚洲一区二区三区画质_日韩高清在线观看_麻豆视传媒在线观看_凯蒂夫人在线播放_免费无码黄网站在线观看

當前位置:首頁 -> 焦點新聞

PB中dynamic調用類型的用法

2005/1/7 12:46:57       
 
PB中dynamic調用類型的用法

說到DYNAMIC調用類型,我們先看看對象、屬性、函數和事件的引用方法:

PowerBuilder 6.0應用程序的開發過程實際上就是各種對象的定義和使用過程。所有對象都有名稱,并通過名稱相互區分。在PowerScript中,訪問對象的屬性、函數、事件的方法很簡單,就是使用圓點作為標記符,具體來說,訪問對象屬性的格式為:

對象名.對象屬性

例如,把單行編輯框sle_name的用戶輸入內容送到字符串變量UserEnter的語句可以寫成:

UserEnter=sle_name.Text

其中,sle_name是一個單行編輯框對象的名稱,Text是單行編輯框的Text屬性。

程序中訪問對象的函數與事件的格式為:

{ objectname.} { type } { calltype } { when } functionname ( { argumentlist } )

其中,大括號所括成分根據情況可以省略,各成分的意義為:

objectname是對象名;

type取值為FUNCTION或EVENT,用于指明訪問函數還是事件,缺省值為FUNCTION;

calltype用于指明PowerBuilder 查找函數的時機,有效取值為:

STATIC(缺省值):編譯時查找函數,若不存在,產生編譯錯誤 
DYNAMIC:程序運行時查找函數,若不存在,產生運行錯誤

when用于指明函數或事件是立即執行呢還是當前程序段執行完畢后執行,取值為:

TRIGGER(缺省值):立即執行 
POST:當前程序段執行完畢后執行

functionname指明調用的函數或事件名稱

argumentlist給出函數或事件的參數

例如,想把輸入焦點移動到單行編輯框sle_name上,程序中寫上語句:sle_name.SetFocus()即可。想立即執行按鈕cb_name的單擊事件處理程序,那么寫上語句:cb_name .EVENT TRIGGER Clicked()即可。

從以上看出,DYNAMIC是指定函數或事件的一個動態調用,即當你指定一個動態調用時,函數和事件在編譯時不一定要存在。你告訴編譯器:相信我,此處在運行時一定會有一個合適的函數或事件。對于動態調用,PowerBuilder等到執行時才尋找函數或事件。這就給了你更大的編程靈活性。

請比較以下的示例(摘錄):

目前流行的大部分應用程序中都提供了Undo功能,在PowerBuilder中也可以利用Undo()函數實現該功能。Undo()函數可用于DataWindow, EditMask, MultiLineEdit, RichTextEdit和SingleLineEdit 對象,如果只對某一個對象進行Undo操作,只需在Undo菜單項的單擊事件中鍵入如下腳本:Objectname.undo(),但是當窗口中有多個對象,我們在編寫腳本時并不知道要對哪個對象執行undo()操作,如何解決這一問題呢?在PowerBuilder中,undo()等函數只能用于可視對象,而所有可視對象均繼承自系統對象類GraphicObject。因此我們可以定義一個GraphicObject對象的實例變量go_object,等到運行時再用getfocus()函數確定具體操作對象。然后用Typeof()函數確定當前對象的類型,再用Choose case語句根據不同的類型引用不同的實例變量,代碼如下:

graphicobject go_object

DataWindow dw_object

EditMask em_object

MultiLineEdit mle_object

RichTextEdit rte_object

SingleLineEdit sle_object

go_object=getfocus()

choose case TypeOf(go_object)

case DataWindow!

dw_object=go_object

dw_object.undo()

case EditMask!

em_object=go_object

em_object.undo()

case MultiLineEdit!

mle_object=go_object

mle_object.undo()

case RichTextEdit!

rte_object=go_object

rte_object.undo()

case SingleLineEdit!

sle_object=go_object

sle_object.undo()

case else

messagebox("出錯","不能撤消!")

end choose

其實我們可以用動態調用函數的方法簡單地解決這一問題,即對GraphicObject對象調用undo()函數,然后在函數名前加上關鍵字Dynamic

煤炭網版權與免責聲明:

凡本網注明"來源:煤炭網www.ml029.cn "的所有文字、圖片和音視頻稿件,版權均為"煤炭網www.ml029.cn "獨家所有,任何媒體、網站或個人在轉載使用時必須注明"來源:煤炭網www.ml029.cn ",違反者本網將依法追究責任。

本網轉載并注明其他來源的稿件,是本著為讀者傳遞更多信息的目的,并不意味著本網贊同其觀點或證實其內容的真實性。其他媒體、網站或個人從本網轉載使用時,必須保留本網注明的稿件來源,禁止擅自篡改稿件來源,并自負版權等法律責任。違反者本網也將依法追究責任。 如本網轉載稿件涉及版權等問題,請作者在兩周內盡快來電或來函聯系。

  • 用手機也能做煤炭生意啦!
  • 中煤遠大:煤炭貿易也有了“支付寶”
  • 中煤開啟煤炭出口貿易人民幣結算新時代
  • 下半年煤炭市場依然嚴峻
市場動態

網站技術運營:北京真石數字科技股份有限公司、喀什中煤遠大供應鏈管理有限公司、喀什煤網數字科技有限公司

總部地址:北京市豐臺區總部基地航豐路中航榮豐1層

京ICP備18023690號-1      京公網安備 11010602010109號


關注中煤遠大微信
跟蹤最新行業資訊
主站蜘蛛池模板: 久草在线青青草 | 日韩草逼 | 骚妇BB双飞插| 网曝门国产一区二区三区四区 | 久久99伊人 | 丰满少妇被猛烈进入A片 | 不卡一区二区在线 | 人妻少妇偷人精品无码 | 国产午夜啪啪 | 成年男人裸j网站 | 中文高清无码人妻 | 色老综合老女人久久久 | 波多野结衣乳巨码无在线播放 | 岛国无码免费不卡av | 在线看片福利 | 久久久久亚洲AV成人网址 | 亚洲AV无码久久三宫椿系列 | baoyu119.永久免费视频 | 蜜桃国精产品二三三区视频 | v888aⅴ视频在线播放 | 城中村勾搭老熟女啪啪 | 国产91丝袜香蕉在线播放 | 国语自产拍在线观看对白 | 欧美日韓性视頻在線 | 一本大道大臿蕉无码视频 | 亚洲精品影院在线 | 国产在线午夜 | 国产欧美日韩在线在线播放 | 性色88av老女人视频 | 密臀av夜夜澡人人爽人人 | 小伙和少妇干柴烈火 | 国产无遮挡又黄又爽网站 | 6699久久久久久久77777'7 亚洲日韩中文第一精品 | 亚洲成人福利在线观看 | 激情人妻绿帽王八系列 | 亚洲精品乱码久久久久久久久久久久 | 日韩久久无码免费毛片软件 | 午夜影院伦理片 | 天天干视频在线观看 | 日本久久久久一级毛片 | 日本在线不卡一区二区 |