請問Timer... |
尚未結案
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
milkbear
一般會員 發表:16 回覆:39 積分:11 註冊:2002-12-05 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
milkbear您好:
引言:我是希望能在每個星期一早上六點更新資料庫內容... 請問要使用哪個元件來達成,謝謝...個人感覺,要每個禮拜一的條件有點繁雜,因為需要萬年曆的公式< > 以日期會比較簡單(程式比較短< >) 用下面的程式碼可以判定每個月的12號6點 void __fastcall TForm1::Timer1Timer(TObject *Sender) { Word Year, Month, Day, Hour, Min, Sec, MSec; TDateTime dtPresent =Now(); DecodeDate(dtPresent,Year,Month,Day); DecodeTime(dtPresent,Hour,Min,Sec,MSec); if (StrToInt(Day)==12 && StrToInt(Hour)==6) { //作更新資料庫的動作 } }若要用星期幾的方式,下面連結有萬年曆公式 http://forum.vclxx.org/topic.php?TOPIC_ID=15440&FORUM_ID=12&CAT_ID=3&Topic_Title=%B8U%A6%7E%BE%E4%B5%7B%A6%A1&Forum_Title=C%2B%2B 順心 <>~我也是在學習的階段,所以請您多多見諒與指教~> 發表人 - |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
用 Timer 元件沒錯. 只是要 check 星期. 配合 DayOfWeek 來取得目前是星期幾. 回傳是 Integer (1~7) 代表 (星期日到星期六). 將 timer 的 interval 設為 60000 (也就是 1分鐘), 將其 event 的程式設定為:
procedure TForm1.Timer1Timer(Sender: TObject); begin if (DayOfWeek(Now) = 2) and (FormatDateTime('hh:nn', Now) = '06:00') then begin //... something to do... end; end;SORRY... 寫太快. 寫成 delphi 的. bcb 的也一樣: void __fastcall TForm1::Timer1Timer(TObject *Sender) { if((DayOfWeek(Now())==2) && (FormatDateTime("hh:nn",Now())=="06:00")) { // somthing to do } }發表人 - timhuang 於 2003/05/12 23:59:51 |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
dan59314
中階會員 發表:121 回覆:107 積分:86 註冊:2002-08-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |