以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  WinAPI: QueryPerformanceCounter  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=88569)


--  作者:葛靖青001
--  发布时间:12/7/2010 3:37:00 PM

--  WinAPI: QueryPerformanceCounter
【转自互联网】

//声明:

  QueryPerformanceCounter(

  var lpPerformanceCount: TLargeInteger {获取定时器每秒的频率数; TLargeInteger = Int64}

  ): BOOL; {返回 False 表示调用失败, 或者是硬件不支持高性能定时器}

  //一个有趣的示例: 判断你的鼠标点击速度; 我的最快记录是 151 毫米

  var

  n1,n2,n,f: Int64;

  b: Boolean;

  procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

  begin

  n := 0;

  b := not b;

  if b then QueryPerformanceCounter(n1) else begin

  QueryPerformanceCounter(n2);

  n := n2 - n1;

  end;

  if n<>0 then

  begin

  QueryPerformanceFrequency(f);

  n := n*1000 div f;

  Text := IntToStr(n) + ' ms';

  end else Text := '等待第二下...';

  end;


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms