熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI高精度計時方法

2013-11-23 17:35:26  來源: Delphi編程 

  //取毫秒級時間精度(方法一)
  var
    tt:int;
    r:int;
  begin
    t:=GetTickCount;//獲取開始計數 WINDOWS API
    sleep();{do}//執行要計時的代碼
    t:=GetTickCount;//獲取結束計數值
    r:=tt;//取得計時時間Y\`國~絡(}u_%thV單位毫秒(ms)
    showmessage(inttostr(r));
  end;

  //取毫秒級時間精度(方法二)
  //use DateUtils;//引用DateUtils單位
  var
    tt:tdatetime;
    r:int;
  begin
    t:=now();//獲取開始計時時間
    sleep();{do}//執行要計時的代碼
    t:=now();//獲取結束計時時間
    r:=SecondsBetween(tt);//取得計時時間Dk=+W的TsoUbP育_II單位秒(s)
    r:=MilliSecondsBetween(tt);//取得計時時間

  fTVGgUE
  單位毫秒(ms)
    showmessage(inttostr(r));
  end;

  //注以上兩種方式經本人測試好像只能產生秒的計時精度

  //取系統級時間精度
  var
    c:int;
    tt:int;
    r:double;
  begin
    QueryPerformanceFrequency(c);//WINDOWS API   返回計數頻率(Intel:)(獲得系統的高性能頻率計數器在一毫秒內的震動次數)
    QueryPerformanceCounter(t);//WINDOWS API 獲取開始計數值
    sleep();{do}//執行要計時的代碼
    QueryPerformanceCounter(t);//獲取結束計數值
    r:=(tt)/c;//取得計時時間

  L`:(Y\O件}\^k(育*軟{Ux
  j^國GZ)中at)Ti
  x@\t)ac提W教

  YjTt]$UCqSE)網g單位秒(s)
    r:=(tt)/c*;//取得計時時間單位毫秒(ms)
    r:=(tt)/c*;//取得計時時間單位微秒
    showmessage(floattostr(r));
  end;


From:http://tw.wingwit.com/Article/program/Delphi/201311/24725.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.