全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3764
推到 Plurk!
推到 Facebook!

bcb有沒有這樣同時計時的函式或則可如何辦到?

答題得分者是:Stallion
kenneth_c
一般會員


發表:5
回覆:8
積分:2
註冊:2007-08-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-16 19:42:29 IP:218.162.xxx.xxx 訂閱
請教各位前輩:小弟剛接觸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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-16 19:59:26 IP:211.22.xxx.xxx 未訂閱
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-16 21:24:50 IP:218.162.xxx.xxx 訂閱
謝謝Stallion大大的建意,用timer確實不適用,因為程式可能會有多個不同時間要去觸發計時,且依設定的時間不同,計時到的則立即去執行其動作。用Thread應該是個好方法,小弟該去學習如何運用Thread,請教Stallion大大有沒有Thread使用文件可供參考,謝謝
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-08-16 22:07:08 IP:211.22.xxx.xxx 未訂閱
那麼動態產生Timer以及指定Timer function也可達到你的功能,只不過要注意Timer的數量要控制好,不要無限成長,依據我之前看過的資料整個系統的Timer數量超過16個後,好像系統的效能就會明顯的下降。
===================引 用 kenneth_c 文 章===================
謝謝Stallion大大的建意,用timer確實不適用,因為程式可能會有多個不同時間要去觸發計時,且依設定的時間不同,計時到的則立即去執行其動作。用Thread應該是個好方法,小弟該去學習如何運用Thread,請教Stallion大大有沒有Thread使用文件可供參考,謝謝
系統時間:2024-05-02 16:32:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!