線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3134
推到 Plurk!
推到 Facebook!

利用 Timer 作不定 interval 的重覆動作

尚未結案
Garfinn
一般會員


發表:2
回覆:1
積分:0
註冊:2003-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-18 13:11:54 IP:61.219.xxx.xxx 未訂閱
各位Delphi的同好: 我的問題是我需撰寫一個程式, 須根據一定的時間執行動作, 這些時間都是 事先定義好的, 都是以秒為單位, 最小到1/10秒, 通常可能為5秒, 10 秒, 或是 180 秒等, 但是我希望愈準愈好, 如果我只利用一個 timer, 在 ontimer時作一次要作的動作並更改此timer 的 interval , 會不會有可能會不準呢? 如 Timer1.Ontimer... Timer1.interval := 1100; {do task I want} ... 請問timer的動作是我設成1100後就開始計算呢? 還是說要執行完整個 procedure 再開始下個 interval? 謝謝..
demon1042001
一般會員


發表:14
回覆:19
積分:6
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-18 14:22:22 IP:61.220.xxx.xxx 未訂閱
看不太了你的問題 我在猜你是不是在做排程的問題 我的做法是當時間一到,將你要做的事丟到queue中(queue請查help) 建一條thread來處理queue中的事
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-18 14:25:52 IP:211.76.xxx.xxx 未訂閱
注意一下, 關於 timer 的用法, 若是你重設 interval 時, 則 enable 會自動設為 false, 所以要記得再去設為 true. 一旦設為 true 時, 該 timer 就啟動了, 並不會等整個 procedure 完成後才開始.
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-18 14:38:20 IP:218.16.xxx.xxx 未訂閱
補充一點,Timer 不會很準的...由其是你的主程式在做繁重的事時常會沒事間管 Timer 到時間了沒有。 若要比較準要以獨立 Thread 來執行及給較高的優先權。
motoba
初階會員


發表:6
回覆:23
積分:26
註冊:2002-11-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-18 17:04:25 IP:210.202.xxx.xxx 未訂閱
引言: 補充一點,Timer 不會很準的...由其是你的主程式在做繁重的事時常會沒事間管 Timer 到時間了沒有。 若要比較準要以獨立 Thread 來執行及給較高的優先權。
應該是即使用獨立 Thread 來執行及給較高的優先權,一樣會不準,只是會比較好一點而已。 如果要提高精準度,一定要抓系統 Timer 會好很多 ... 不過不會 100%
Garfinn
一般會員


發表:2
回覆:1
積分:0
註冊:2003-04-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-19 11:02:37 IP:61.219.xxx.xxx 未訂閱
那...要怎麼樣來利用系統的 timer 呢?
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-21 15:05:04 IP:211.75.xxx.xxx 未訂閱
可以配合使用Delay()嗎?
系統時間:2024-04-29 20:03:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!