读书人

精确到毫秒的计时器怎么做呢

发布时间: 2013-01-11 11:57:35 作者: rapoo

精确到毫秒的计时器,如何做呢?
我想实现这样的功能:
给定一个时间,比如12:20:30 005 这样一个时间,要求在这个时间启动一个函数

请问,我该如何实现呢?timer精确只能到300毫秒,我希望最少能精确到100ms


[解决办法]

QueryPerformanceFrequency和QueryPerformanceCounter


才能这么高的精度
[解决办法]
试试下边的代码能否满足需求


var
TimeB, TimeE, F : Int64;
d1 : Double;
i, j: integer
begin
QueryPerformanceFrequency(F); //时钟频率
QueryPerformanceCounter(TimeB); //计时开始
for i := 0 to 1000000 do
j := i;

QueryPerformanceCounter(TimeE);
d1 := (TimeE - TimeB)/F*1000;

ShowMessage(FloatToStr(d1)); //d1毫秒级
end;

读书人网 >.NET

热点推荐