在点阵移动时Sleep,时间不准,导至不同的机器不同的系统显示出来的速度,停留时间都不一样,导到效果很差.
比如模访LED显示,LCD显示。
以下是我写的延时函数.这个比较准.
procedure Delay(dwMilliseconds:DWORD); // Longint
var
iStart,iStop:DWORD;
begin
iStart := GetTickCount;
repeat
iStop := GetTickCount;
Application.ProcessMessages;
until (iStop - iStart) >= dwMilliseconds;
end;
在这之前我做个一个实验是采用循还,每一次Sleep一个毫秒。最后效果很差。显示出来的东西在不同的机器上,不同的操作系统上时间都不一样。
特别声明本应用只在主线程中测试通过。
同时欢迎各位一起讨论学习。本人从事原做底层开发,现转做PC软件,图像处理,字库,以及通信软件。