VB和timer控制元件功能相同的函式

2022-10-08 05:46:26 字數 1697 閱讀 1667

1樓:匿名使用者

標準答案如下:

利用api函式實現定時器功能

模組中:

option explicit

public ltimerid as long

private declare function settimer lib "user32" (byval hwnd as long, byval nidevent as long, byval uelapse as long, byval lptimerfunc as long) as long

private declare function killtimer lib "user32" (byval hwnd as long, byval nidevent as long) as long

private sub timerproc(byval lhwnd as long, byval lmsg as long, byval ltimerid as long, byval ltime as long)

static i as long

form1.label1.caption = i

i = i + 1

end sub

public sub starttimer(lminute as long)

ltimerid = settimer(0, 0, lminute, addressof timerproc)

end sub

public function stoptimer(ltimerid as long) as long

stoptimer = killtimer(0, ltimerid)

end function

窗體中:

private sub form_load()

starttimer 1000

end sub

private sub form_unload(cancel as integer)

stoptimer ltimerid

end sub

2樓:匿名使用者

只能另開一執行緒才能有相同的功能!

用timer可實現簡單的雙執行緒及多個timer實現多執行緒操作上面的如果用sleep函式,想想也知道結果的!小延時感覺到功能差不多,但時間長了,程式就不執行了!

3樓:

settimer和killtimer,在網上搜xtimer類,可以找到原始碼

public declare function settimer lib "user32" alias "settimer" (byval hwnd as long, byval nidevent as long, byval uelapse as long, byval lptimerfunc as long) as long

public declare function killtimer lib "user32" alias "killtimer" (byval hwnd as long, byval nidevent as long) as long

4樓:匿名使用者

api 函式 declare sub sleep lib "kernel32" (byval dwmilliseconds as long)

5樓:

參考多執行緒程式設計,不過vb本身就是不支援多執行緒的,汗

VB裡的timer控制元件

可以一次在timer裡執行兩次或多次。如果你要在短時間內迴圈執行一個指令可以使用for語句或迴圈呼叫自定函式,但是如果你要長時間迴圈一個語句只能用timer控制元件。使用for或迴圈呼叫自定函式都會造成程式假死。自己 再 在裡面 寫個 迴圈 就是 每次 觸發 執行 多次 這樣就行。見註釋。optio...

C中timer控制元件的作用,C 中的TIMER控制元件怎麼使用?

其實 timer控制元件的原理就是利用了執行緒,首先設定一個 tick 也就是沒過多少毫秒執行一次 timer 事件。至於timer事件就是你想要做的事了。而那個 tick 就是執行緒裡面的休眠時間。timer為定時器。其作用就是隔一段時間來做某一事情。經常用於重新整理資料等。比如在介面上做個時間顯...

VB程式設計的datagrid控制元件問題,高手請進 急急急

重新整理ado 和 datagrid adodc1.refresh datagrid1.refresh 這裡是顯示資料.你要是用一個ado控制元件的話,就要每次改變ado資料來源.我瞭解你的意思,不同條件,就代表ado的資料來源變了哇,你得每次改變資料來源,改變後重新整理ado控制元件,這樣就可以出...