摘要:本文介紹在vb程序中用timer控件創(chuàng)建一個超長時間的計時器對象,將其編譯成active* dll部件,利用代碼的可重用性,在其它應(yīng)用程序中調(diào)用。
關(guān)鍵詞:vb計時器對象
vb系統(tǒng)中提供了固有計時器timer控件,通過給計時器控件的interval屬性設(shè)置不同的數(shù)值,就可以控制計時器運(yùn)行的時間間隔,但該屬性是一個雙字節(jié)的整型變量,最大值只能設(shè)置為65535,即只有65535毫秒,約一分鐘多一點(diǎn),在需要長時間計時時,該控件就無能為力了。本文給出用timer控件創(chuàng)建一個超長時間的計時器對象,并將其編譯成active* dll部件,供其它應(yīng)用程序調(diào)用,可實(shí)現(xiàn)最大限度地利用代碼的可重用性。下面給出這個超長計時器對象的編程設(shè)計過程,供讀者參考選用。
1.編寫程序
啟動vb,新建一個active
……(新文秘網(wǎng)http://jey722.cn省略578字,正式會員可完整閱讀)……
rval = m_timer.interval
end property
'設(shè)置interval屬性值
public property let interval(byval vnewvalue as long)
cs = 0
nz = vnewvalue \ 65536 + 1
m_timer.interval = vnewvalue \ nz
end property
'類初始化事件
private sub class_initialize()
set m_form = new form1
load m_form
set m_timer = m_form.timer1
end sub
'類終止事件
private sub class_terminate()
unload m_form
set m_timer = nothing
end sub
'產(chǎn)生tick事件
private sub m_timer_timer()
cs = cs + 1
if cs >= nz then
raiseevent tick
cs = 0
end if
end sub
窗體form1只用來作計時器timer1的載體,不用于顯示。
2.測試newtimer.dll
對active* dll部件進(jìn)行測試,與標(biāo)準(zhǔn)的e*e程序一樣,可分為單步運(yùn)行或全運(yùn)行。在寫完所有程序代碼后,建議用戶先用ctrl+f5進(jìn)行全編譯執(zhí)行,發(fā)現(xiàn)檢查newtimer程序的語法錯誤。也可建立一個測試工程與newtimer鏈接進(jìn)行測試,針對由newtimer類模塊提供的每個屬性和事件,添加測試代碼來測試它們的屬性和方法。按f8,進(jìn)入單步運(yùn)行狀態(tài),逐個語句察看對newtimer類模塊的調(diào)用情況。
3.編譯newtimer.dll
完成測試,排除所有錯誤后,從“文件(f)”菜單中選擇“生成newtimer.dll(k)”命令,編譯生成newtimer.dll文件。編譯成功后newtimer.dll文件將自動注冊到windows注冊表中,
4.引用newtimer.dll
引用active* dll部件同引用其他對象一樣,從“工程(p)”菜單中選擇“引用(n)”命令,打開引用窗口,從引用列表中選中newtimer對象。如果是第一次引用newtimer,則在引用窗體上單擊“游覽(b)”命令按鈕,將newtimer.dll文件添加到可引用列表框中方可使用。
5.調(diào)用newtimer.dll
在應(yīng)用程序中加入下述程序代碼,實(shí)現(xiàn)參newtimer.dll的調(diào)用:
option e*plicit
dim withevents longtimer1 as longtimer
private sub longti ……(未完,全文共2553字,當(dāng)前僅顯示1623字,請閱讀下面提示信息。
收藏《計算機(jī)專業(yè)畢業(yè)論文-vb中創(chuàng)建超長時間計時器對象》)