基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)

基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)

ID:18331985

大?。?1.50 KB

頁數(shù):6頁

時間:2018-09-16

基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)_第1頁
基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)_第2頁
基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)_第3頁
基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)_第4頁
基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)_第5頁
資源描述:

《基于組件技術(shù)的multitimer的設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、基于組件技術(shù)的MultiTimer的設(shè)計與實現(xiàn)[日期:2006-05-20]來源:?作者:[字體:大中小]李琪謝建?摘要:本文提出了采用封裝擴充設(shè)計DelphiVCL控件Ttimer的方法,成功開發(fā)出一種新的多重復(fù)用計時器控件MultiTimer,解決了某型導(dǎo)彈發(fā)射虛擬仿真系統(tǒng)中用戶操作面板需要多個定時器觸發(fā)各種事件的問題。關(guān)鍵詞:delphiVCL虛擬仿真控件1、問題的提出我們在設(shè)計某個導(dǎo)彈操作平臺虛擬系統(tǒng)時,在計算機上模擬操作平臺面板的各種操作規(guī)程,在設(shè)計用戶界面中經(jīng)常用到3~5多個定時器。大家知道,一個定時器就要占用非常大的系

2、統(tǒng)資源,這使整個軟件系統(tǒng)運行速度和穩(wěn)定性都大大降低,為此,我們利用Delphi控件開發(fā)技術(shù)在現(xiàn)有的VCL控件基礎(chǔ)上設(shè)計了一種多重復(fù)用計時器控件MultiTimer,它占用系統(tǒng)資源只有一個定時器大小,但起到多個定時器的功能,下面就介紹這種定時器控件的設(shè)計方案。2、Delphi控件開發(fā)技術(shù)Delphi作為一種OOP開發(fā)環(huán)境,支持用戶繼承VCL類或新創(chuàng)建自定義類開發(fā)出符合自己要求的控件。Delphi提供了多種擴展控件的方法:(1)從Delphi自帶的控件中繼承并擴展。(2)直接編寫新的控件,并編譯安裝在Delphi的控件面板中。(3)安裝

3、外部程序提供的OCX控件。開發(fā)過程一般分為創(chuàng)建控件屬性、方法、事件、消息處理、異常處理和設(shè)計時控制方式等六步,完全重新設(shè)計一個新控件是不可取的,也是要花費大量時間,我們采用第一種方法從Delphi自帶的控件中繼承并擴展。Delphi對象有繼承的特性,這意味著我們可以在已有對象類型的基礎(chǔ)上創(chuàng)建新的對象,這個新對象將能夠繼承其祖先對象的所有事件、屬性及方法,并且在對衍生對象添加新過程方面有著十足的靈活性。在Delphi提供的控件中,有一個Timer定時器控件,位于system頁中,可以定時觸發(fā)事件執(zhí)行用戶代碼,在模擬系統(tǒng)中經(jīng)常使用這個控

4、件模擬各種流程的執(zhí)行情況,但是Timer控件只能起到一個定時的作用,如果想使用多個不同的定時器,就必須使用多個Timer控件,分別設(shè)置各種參數(shù),不僅非常不方便,而且浪費大量系統(tǒng)資源。于是我們利用類的繼承性和派生性創(chuàng)建一個新的控件,繼承Timer控件所有特性,并增加新的特性,給它加上多個計時功能。3、TmultiTimer類實現(xiàn)3.1屬性定義TmultiTimer類實現(xiàn)如圖1所示,它為TmultiTimer類繼承結(jié)構(gòu),其屬性定義如下表所示。屬性類型說明FEnabled1Boolean計數(shù)器1工作標(biāo)志FEnabled2Boolean計數(shù)

5、器2工作標(biāo)志FEnabled3Boolean計數(shù)器3工作標(biāo)志FNumInteger內(nèi)部區(qū)分計數(shù)器標(biāo)志FInterval2Integer計數(shù)器2定時倍數(shù)FInterval3Integer計數(shù)器3定時倍數(shù)FOnTimer2TNotifyEvent定義OnTimer2事件FOnTimer3TNotifyEvent定義OnTimer3事件圖1TMultiTimer類繼承結(jié)構(gòu)3.2方法事件定義procedureTimer;override;//重聲明Timer事件procedureTimer2;dynamic;//動態(tài)生成Timer2事件pr

6、ocedureTimer3;dynamic;//動態(tài)生成Timer3事件3.3重聲明構(gòu)造函數(shù)和析構(gòu)函數(shù)任何一個Delphi對象都至少有兩個最基本的方法,即控件設(shè)計都必須構(gòu)造函數(shù)(constructor)Create和析構(gòu)函數(shù)(destructor)Destroy來完成為新對象分配內(nèi)存和撤銷對象并釋放內(nèi)存工作。constructorCreate(AOwner:TComponent);override;destructorDestroy;override;3.4實現(xiàn)多重復(fù)用過程procedureTMultiTimer.Timer;beg

7、inifFEnabled1=TruetheninheritedTimer;;FNum:=FNum+1;ifFNum=1*Interval2*Interval3+1thenFNum:=1;if(FNummodInterval2=0)and(FEnabled2=True)thenTimer2;if(FNummodInterval3=0)and(FEnabled3=True)thenTimer3;end;3.5第N個計數(shù)器響應(yīng)過程procedureTMultiTimer.TimerN;beginifAssigned(FonTimerN)t

8、henFonTimerN(Self);end;3.6控件全部代碼:unitMultiTimer;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Form

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。