本文整理自网络,侵删。
// 高精度的延时,精确到Ms , 100ms以内采用,或要求误差极小// 删除Application.ProcessMessages 影响精度procedure DelayMsEx(Ms: LongWord);var iFreq, iStartCounter, iEndCounter: Int64;begin QueryPerformanceFrequency(iFreq); QueryPerformanceCounter(iStartCounter); repeat QueryPerformanceCounter(iEndCounter); //Application.ProcessMessages; until ((iEndCounter - iStartCounter) >= Round(Ms * iFreq / 1000 ));end; // 精度很低,50ms以外还能凑活// 及时去除 Application.ProcessMessages 误差也极大// 仅适用误差要求不高,延时较长的场合procedure DelayMs(Ms: LongWord);var dwStartTime: LongWord;begin dwStartTime := GetTickCount; repeat Application.ProcessMessages; until ((GetTickCount - dwStartTime) >= Ms);end;
来源:https://blog.csdn.net/w709835509/article/details/17486943
相关阅读 >>
Delphi使用json解析调用淘宝ip地址库rest api 示例
Delphi 使用onvalidate事件或onvalidating事件验证在输入字段(tedit)中输入的值
Delphi showmainform := false 失效的解决办法
Delphi makeuniquefilename 创建文件名如果已经存在自动更改文件名
更多相关阅读请进入《Delphi》频道 >>