其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

DELPHI高精度计时方法


发布日期:2023年04月11日
 
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;

               

上一篇:全面剖析Delphi 2006新增特性2

下一篇:Delphi 7 中使用RAVE报表(三)