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

請問 pascal 中有沒有計時的function?

答題得分者是:andychang1690
2010
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-30 15:42:45 IP:203.186.xxx.xxx 未訂閱
如題!!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-30 18:30:32 IP:218.32.xxx.xxx 未訂閱
這裡有 Timer 的範例 http://delphi.ktop.com.tw/topic.php?topic_id=56640
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
2010
一般會員


發表:3
回覆:2
積分:1
註冊:2004-09-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-30 19:02:57 IP:203.186.xxx.xxx 未訂閱
但我不明白這個timer 的運作原理
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-30 20:23:42 IP:221.169.xxx.xxx 未訂閱
2010:Timer是一個元件:請見
「VCL How To - 公告發表區」
 VCL How To - System 元件篇 
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=20245
發表:bruce0211     如你想要Function的話。
一是本園地:
http://delphi.ktop.com.tw/topic.php?topic_id=48294
【問題】真的需要幫忙~~時間問題ㄛ,微秒?? 
答題得分者為:geniustom    另一個給你一個Function
來源:
http://dev.csdn.net/develop/article/35/35151.shtm
主題:優化代碼,看看哪個執行速度更快!!!
作者:bhbcsdn
// 高精度計時
function XTimer(var t0: Int64; bStart: Bool): Int64;
var
  t, fq: Int64;
begin
  QueryPerformanceCounter(t);
  if bStart then
    t0 := t
  else begin
    t := t - t0;
    QueryPerformanceFrequency(fq);
    Result := trunc(t / fq * 1000);
  end;
end;    // 宣告及使用
S: string;
T: Int64;    XTimer(T, True);          // 計時開始
T := XTimer(T, False);    // 計時結束
S := Format(' 耗時: %d 毫秒.'#13#10, [T]);    請參考!
Andy Chang
------
Andy Chang
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-01 08:26:43 IP:210.69.xxx.xxx 未訂閱
Timer 預設是每1秒自動啟動一次 (Interval = 1000 表示 1 秒, 2000 表示 2 秒) 例如你希望你的程式上面顯示目前的時間, 程式如下    

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Edit1.Text:= DateTimeToStr(Now);
end;
例如你希望有個變數值 c 每 30 秒加 2, 程式如下

procedure TForm1.FormCreate(Sender: TObject);
begin
  Timer1.Interval := 30 * 1000;
end;    procedure TForm1.Timer1Timer(Sender: TObject);
begin
  c := c   2 ;
end;
例如你希望程式在 8 點後開始執行某程式, 或者關閉 Timer

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Now > StrToDateTime('2004/10/1 上午 08:00:00') then
  begin
    Edit1.Text:='目前為 8 點前'
  end
  else
  begin
    Edit1.Text:='目前為 8 點後';
    Timer1.Enabled:= False;  // 關閉 Timer
    // 時間到了, 開始執行某程式
  end;
  //Timer1.Enabled:= True;
end;
發表人 - pcboy2 於 2004/10/01 08:40:23
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-01 08:27:03 IP:210.69.xxx.xxx 未訂閱
SORRY ! 重複發了 發表人 - pcboy2 於 2004/10/01 08:31:51
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
系統時間:2024-06-26 17:00:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!