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

鬧鐘程式設計

尚未結案
hango
一般會員


發表:5
回覆:10
積分:3
註冊:2004-04-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-11 07:14:22 IP:203.64.xxx.xxx 未訂閱
請問各位前輩~~~ 小弟要寫ㄧ個鬧鐘程式, 但不知道在"設定時間"這部分該怎麼寫才能讓程式正確的抓到妳所設定的時間,再與系統時間比對! 請問各位前輩該怎麼寫比較好呢?? 因為系統時間用Timer會出現像"上午 07:12"這樣的字串~~~ 如果要設定時間的話要怎麼輸入比較恰當呢?? 還請各位前輩不吝賜教!!感激不盡!!
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-11 09:20:22 IP:210.66.xxx.xxx 未訂閱
引言: 請問各位前輩~~~ 小弟要寫ㄧ個鬧鐘程式, 但不知道在"設定時間"這部分該怎麼寫才能讓程式正確的抓到妳所設定的時間,再與系統時間比對! 請問各位前輩該怎麼寫比較好呢?? 因為系統時間用Timer會出現像"上午 07:12"這樣的字串~~~ 如果要設定時間的話要怎麼輸入比較恰當呢?? 還請各位前輩不吝賜教!!感激不盡!!
使用TDateTimePicker元件 ABCD分開看的懂,連起來像鬼劃符~~!!!
hango
一般會員


發表:5
回覆:10
積分:3
註冊:2004-04-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-11 10:49:02 IP:140.127.xxx.xxx 未訂閱
不好意思...可以請妳說清楚一點嗎?? 還有~~~我找不到妳說的元件耶?? 是BCB6內建的還是另外擴充的啊??
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-11 18:39:06 IP:203.67.xxx.xxx 未訂閱
引言: 不好意思...可以請妳說清楚一點嗎?? 還有~~~我找不到妳說的元件耶?? 是BCB6內建的還是另外擴充的啊??
使用Help查TDateTimePicker,屬於內建元件 有Kind屬性,可以設定顯示日期或是時間. ABCD分開看的懂,連起來像鬼劃符~~!!!
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-12 14:38:59 IP:61.56.xxx.xxx 未訂閱
不好意思,插一下花~~ 您所問的問題以前討論過了, 底下僅供參考...    計時器的討論 請記得,以後發問前,多利用Ktop搜尋功能, 可能會有粉多寶貴的發現喔! ===三人行必有我師焉===
hango
一般會員


發表:5
回覆:10
積分:3
註冊:2004-04-06

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-06-15 00:45:38 IP:140.127.xxx.xxx 未訂閱
之前的文章我都看過了~~~ 可是我還是不懂耶... 要怎麼讓設定的時間跟系統時間比對?? 麻煩各位大哥幫幫忙...小弟很急啊!!
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-15 16:50:35 IP:61.56.xxx.xxx 未訂閱
 
TForm1 *Form1;
TDateTime start1;
//--------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
start1=Now();
Timer1->Enabled=true;
}
//--------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Edit1->Text=(Now()-start1).FormatString("hh:nn:ss");
}
//--------------------------------------------------------------------
好吧,我簡單說一下好了.. 先在Form1上拉進: 一個計時器(Timer1),一個Edit1(或Label),一個按鈕Button1 先在外部宣告一個時間變數: TDateTime start1; 然後在 Button1Click 事件中填入 start1=Now(); Timer1->Enabled=true; 在Timer1Timer啟動事件中填入: Edit1->Text=(Now()-start1).FormatString("hh:nn:ss"); 如此,當你按下Button1後,Edit1上便會Show出計時時間... 如果,你要做比對,只要在在Timer1Timer啟動事件中再加入: if(Edit1->Text == "23:59:59") { ShowMessage("OK"); } 其實這些在上面我說的那個連結裡都有討論了, 吉米版主也有寫一個BCB版的範例, 如果你都有仔細去看過, 我真的不知還有哪些問題? ===三人行必有我師焉===
hango
一般會員


發表:5
回覆:10
積分:3
註冊:2004-04-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-06-17 05:28:01 IP:140.127.xxx.xxx 未訂閱
arnoyu大~~~很感激你的回應~~~ 但是...我不是要做計時器...是要做定時的功能... 所以你的範例...我還是不知道要如何應用在我的鬧鐘裡... 因為我是初學...所以對一些函數都不太瞭解... 之前的文章對我來說都很難...都不是很看的懂...所以才希望能有人願意清楚的解釋一下!!
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-06-17 11:41:37 IP:61.56.xxx.xxx 未訂閱
引言: 但是...我不是要做計時器...是要做 定時的功能 所以你的範例...我還是不知道要如何應用在我的鬧鐘裡...
其實我覺得"計時器"跟"定時的功能"好像沒太大差異, 就如上述範例裡,只要在Form1裡面在加入 MediaPlayer元件(system物件區裡) 然後在程式碼中加入發出音效的功能, 這就跟鬧鐘功能一樣啦.. 如下:
 
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Edit1->Text=(Now()-start1).FormatString("hh:nn:ss");
if(Edit1->Text == "23:59:59")
  {
   MediaPlayer1->FileName ="c:\\sound\\test1.wav"; 
   MediaPlayer1->DeviceType = dtWaveAudio;
   MediaPlayer1->Open();
          try
            {
              MediaPlayer1->Wait = true;
              MediaPlayer1->Play();
              MediaPlayer1->Play();// Play again after first play is completed
            }
          __finally
            {
              MediaPlayer1->Close();            
  }
}
當然了,您需自己決定音效路徑,及鬧鐘時間..
引言: 因為我是初學...所以對一些函數都不太瞭解...
說實在的,還是得多看一些相關書籍,及善用 Help功能, 如此對你可能會有較快的幫助.. === 以上僅供參考 === ===三人行必有我師焉===
系統時間:2024-06-27 0:44:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!