bcb有沒有這樣同時計時的函式或則可如何辦到? |
答題得分者是:Stallion
|
kenneth_c
一般會員 發表:5 回覆:8 積分:2 註冊:2007-08-03 發送簡訊給我 |
請教各位前輩:小弟剛接觸bcb不久,不知bcb中有沒有如下舉例簡易的計時器函式(T1、T2、T3直接下計時時間ms,時間到回傳true)可用,如果沒有,有無法方可將這樣計時方寫成副程式或class..等可供使用。ps.T1、T2、T3是同時計時的。
小弟找了很多延時計時的文章都沒有此種方式的計時,請知道的前輩指導一下吧!!謝謝 Timer T1、T2、T3; void main(); { while(1) { if(T1(1000)) Edit1->text="OK" if(T2(2000)) Edit2->text="OK" if(T3(2500)) break; } } } 編輯記錄
Stallion 重新編輯於 2007-08-16 20:00:19, 註解 把文章類型改為「問題」。‧
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
1.你的需求不是用3個Timer就解決了嗎?
2.如果Timer不符合需求,那麼Windows API 有一個 GetTickCount,利用他寫成一個Thread function的計時函式,啟始三個Thread來計時一樣可以達到需求。 ===================引 用 kenneth_c 文 章=================== 請教各位前輩:小弟剛接觸bcb不久,不知bcb中有沒有如下舉例簡易的計時器函式(T1、T2、T3直接下計時時間ms,時間到回傳true)可用,如果沒有,有無法方可將這樣計時方寫成副程式或class..等可供使用。ps.T1、T2、T3是同時計時的。 小弟找了很多延時計時的文章都沒有此種方式的計時,請知道的前輩指導一下吧!!謝謝 Timer T1、T2、T3; void main(); { while(1) { if(T1(1000)) Edit1->text="OK" if(T2(2000)) Edit2->text="OK" if(T3(2500)) break; } } } |
kenneth_c
一般會員 發表:5 回覆:8 積分:2 註冊:2007-08-03 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
那麼動態產生Timer以及指定Timer function也可達到你的功能,只不過要注意Timer的數量要控制好,不要無限成長,依據我之前看過的資料整個系統的Timer數量超過16個後,好像系統的效能就會明顯的下降。
===================引 用 kenneth_c 文 章=================== 謝謝Stallion大大的建意,用timer確實不適用,因為程式可能會有多個不同時間要去觸發計時,且依設定的時間不同,計時到的則立即去執行其動作。用Thread應該是個好方法,小弟該去學習如何運用Thread,請教Stallion大大有沒有Thread使用文件可供參考,謝謝 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |