DELPHI高精度计时方法

灬冷暖梦

灬冷暖梦

2016-02-19 16:21

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐DELPHI高精度计时方法,无聊中的都看过来。
 

  //取毫秒级时间精度(方法一):
  var
    t1,t2:int64;
    r1:int64;
  begin
    t1:=GetTickCount;//获取开始计数 WINDOWS API
    sleep(1000);{do...}//执行要计时的代码
    t2:=GetTickCount;//获取结束计数值
    r1:=t2-t1;//取得计时时间,单位毫秒(ms)
    showmessage(inttostr(r1));
  end;

  //取毫秒级时间精度(方法二):
  //use DateUtils;//引用DateUtils单位
  var
    t1,t2:tdatetime;
    r1:int64;
  begin
    t1:=now();//获取开始计时时间
    sleep(1000);{do...}//执行要计时的代码
    t2:=now();//获取结束计时时间
    r1:=SecondsBetween(t2,t1);//取得计时时间,单位秒(s)
    r1:=MilliSecondsBetween(t2,t1);//取得计时时间,单位毫秒(ms)
    showmessage(inttostr(r1));
  end;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  //注:以上两种方式经本人测试好像只能产生0.01秒的计时精度

  //取系统级时间精度:
  var
    c1:int64;
    t1,t2:int64;
    r1:double;
  begin
    QueryPerformanceFrequency(c1);//WINDOWS API 返回计数频率(Intel86:1193180)(获得系统的高性能频率计数器在一毫秒内的震动次数)
    QueryPerformanceCounter(t1);//WINDOWS API 获取开始计数值
    sleep(1000);{do...}//执行要计时的代码
    QueryPerformanceCounter(t2);//获取结束计数值
    r1:=(t2-t1)/c1;//取得计时时间,单位秒(s)
    r1:=(t2-t1)/c1*1000;//取得计时时间,单位毫秒(ms)
    r1:=(t2-t1)/c1*1000000;//取得计时时间,单位微秒
    showmessage(floattostr(r1));
  end;
  

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

DELPHI高精度计时方法

编程语言 网络编程
DELPHI高精度计时方法

vb实现高精度计时

编程语言 网络编程
vb实现高精度计时

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

.NET数值类型的精度

电脑网络
.NET数值类型的精度

设置Excel2007数据精度

excel
设置Excel2007数据精度

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

潮自拍倒计时拍照方法

手机软件 应用软件
潮自拍倒计时拍照方法

PPT计时器的制作方法

电脑入门
PPT计时器的制作方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

试卷自动生成系统的开发与应用

试卷自动生成系统的开发与应用

ASP入门基础教程-实例 工资管理系统

ASP入门基础教程-实例 工资管理系统
下拉加载更多内容 ↓