精确到毫秒的计时器,如何做呢?
我想实现这样的功能:
给定一个时间,比如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;