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

以毫秒為單位的計數~~

尚未結案
tab0922
一般會員


發表:4
回覆:3
積分:1
註冊:2004-10-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-29 11:16:00 IP:134.208.xxx.xxx 未訂閱
請問一下,在delphi6 中有以毫秒為單位計數的函數嗎  ^^    我需要產生一個sin波,每一秒必需要取樣1000次~~
 begin
  flag1:=false;
  t1:=1;  //毫秒
  am:=100; //振幅
  f:=1;   //頻率
  
  while not(flag) do
  begin
  
   my_time:=timegettime;
  //label2.Caption :=floattostr(my_time);
   while not(flag1)do
   begin
   
   t3:= timegettime;
   if  t3-my_time>=t1 then
    BEGIN
    ttt:=ttt (t1*0.001);
    t2:=timegettime;
    label1.Caption :=floattostr(t3-my_time);
    thr2_x:=am*cos(2*pi*f*ttt);
     break;
   
     end;
   
    end;
    Application.ProcessMessages;
  end;    end;
timegettime是WINDOWS下的DLL檔的函數,用來取得系統時間的,以毫秒為單位~~~(請教別人的 @@") 但是發覺每次的while迴圈都不固定時間完全... 有時需要十幾個毫秒 有時需要二十幾個毫秒~~~ 請問各位高手,問題出在哪丫??? 還有能否請問一下,Application.ProcessMessages是什麼用處丫~~~ 不好意思我是新手,許多問題要麻煩大家~~ @@"
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-30 08:51:39 IP:210.61.xxx.xxx 未訂閱
陳寬達先生的「Delphi深度歷險」一書其中有一個章節是在調校Timer的精準度 (有幾個Win32 Api要設定),或許您到書店翻翻 http://delphi.ktop.com.tw/topic.php?topic_id=21362 一般為了使長時間的迴圈不致使程式陷入"無回應"的狀況,在迴圈裡 使用Application.ProcessMessages; 使程式在處理迴圈時, 顧及程式能回應作業系統所丟的message 才不會像移動視窗等, 不會反應.
系統時間:2024-06-30 12:01:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!