VCL How To - System 元件篇 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
元件名稱:Timer
文件版本:for Delphi
文件作者:鈴鐺(LinDaniel) 2002/08/09 ●[元件簡介] 定時器 ●[重要屬性] Enable: 開啟或關閉 Timer
Interval: 1/1000 秒為單位,如 3 秒則設為 3000 ●[重要事件] OnTimer : 時間到的時候, 啟動 ●[範例說明]
在狀態列顯示目前時間:
拖拉一個 Timer 物件到 Form 上, 命名為 Timer1
Enabled := True;
Interval := 1000;
拖拉一個 StatusBar 物件到 Form 上, 命名為 StatusBar1
並新增一個 StatusBar 的 Panel, 在 OnTimer 事件填入
StatusBar1.Panels[0].Text := FormatDateTime('yyyy/mm/dd hh:nn:ss', NOW); ●[使用經驗]
1.在 Service 程式撰寫時, 必須自行 Create Timer, 不可用拖拉的 Timer
再一般程式運行時, 若函數執行時間過久(如 copy 大檔案), Timer 無法在時間到的時候,取得控制權, 此時有兩種做法:
(1). 在 for 迴圈都加上 application.ProcessMessages
(2). 改用 multi-thread 寫 2.程式要考慮重複進入的問題 ●[補充] by bruce0211
有時我們要定時的工作週期較長(如每 5 分鐘偵測某件事情一次),我們不需要將 Interval 設的那麼大 , 我的做法是先定一公用變數假設 int i=0 , 然後 Timer 仍設為每秒一次 , 然後每次 Timer 執行時就將 i 1 , 當 i 累積到您需要的時間值時才去做事(做完要將 i 歸 0) , 如五分鐘等於 300 秒 , 當 i=300 時執行某一段程序... 發表人 - bruce0211 於 2002/08/11 15:53:17
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |