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

關於定時播音的程式設計?

答題得分者是:P.D.
xieeboyzhg
一般會員


發表:10
回覆:2
積分:2
註冊:2009-11-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-02-19 17:53:23 IP:65.49.xxx.xxx 訂閱
Hey.各位前輩
我想做一個定時播音的程式,但是一直渺無頭緒.
程式是可以直接讀取ini數據。如果和現在的時間相同。就播放設置的音頻文件。
請各位前輩幫幫小弟!不勝感激!

補充:應該就是一個定時執行任務的程式。但是我還是不會。GOOGLE了一下都不全。
編輯記錄
xieeboyzhg 重新編輯於 2010-02-19 18:12:47, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-02-19 21:22:45 IP:111.255.xxx.xxx 未訂閱
form上設置一個timer元件, timer可以設定1000ms 執行序
在 timer的 onTimer 上寫你要播音的程式
設定三組 private 的變數 bH, bM,bS (時分秒)
或者你要以每幾分鐘的方式計算, 可以設定一組時間距離的變數, 如 totMins
然後在第一次啟動 timer1.enabled=true 前, 把時間存入bH, bM, bS 或設定 totMins:= 0 (歸零)

ontimer event 上的判斷

// 判定時間是否已到(比對時分秒)
DecodeTime(Time, mH, mM, mS, mMS);
if (mH=bH.) and ((mM=bM) and (mS=bS) then // 這種寫法是比對預定的時分秒符合才執行, 但現實上是有困難的
// 或者在這邊計算總秒數 totMins 的值, 基本上以 1 即可得到1秒, 但timer的計算會有誤差
inc(totMins);
if totMins=60 then begin
// 執行播音程式
Timer1.Enabed:= False; // 這邊要關閉 Timer的計時
totMins:= 0; // 此處要歸零
Timer1.Enabled:= True; // 重新打開計時
;end;


大致是如此, 其他就靠你自己的領悟力了
系統時間:2024-05-16 11:44:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!