Delphi延时


本文整理自网络,侵删。

 
// 高精度的延时,精确到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 getfilesize 获取文件大小 2

Delphi 获取android包名称

Delphi使用json解析调用淘宝ip地址库rest api 示例

Delphi代码中嵌入asm代码

Delphi获取网卡mac地址的两种方法

Delphi 清空目录以及子目录

Delphi 使用onvalidate事件或onvalidating事件验证在输入字段(tedit)中输入的值

Delphi showmainform := false 失效的解决办法

Delphi android 获取通�记录

Delphi makeuniquefilename 创建文件名如果已经存在自动更改文件名

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...