VB TIMER控件 VB TIMER控件 为什么不精确啊,感觉差很多,有没有精确的TIMER控件啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为windows的定时精度最小就是55ms,要更高精度,需要用GetTickCounthttps://blog.csdn.net/linjcai/article/details/81206143 你所谓的精确要是什么?timer只是两次timer事件的间隔时间你基本可控,但timer里面花的时间不管。这样,如果你认为你设置了timer时间就万事大吉了,那么timer事件处理时间的累积误差会越来越大。举个例子,你的timer每10秒触发一次,触发360次,肯定超过一个小时。如果你要代码尽量少地保持一个恰当的精度,要自己去检测系统时间。还是刚才那个例子,你要定时一个小时。那么你可以先根据当前系统时间确定好目标触发时间,并把这个目标时间写入模块变量或者静态变量。timer可以定义为每1秒触发一次,每次timer事件检查系统时间是否达到目标时间,如果没达到就退出,达到就继续你的业务逻辑。这样,一个小时候触发,误差一秒以内。如果你设置为500毫秒触发一次,那么误差就降到半秒左右。只不过你越不过55毫秒这个坎,实际上能100毫秒左右误差已经差不多是极限了。 timer方法可以 哈哈:原来是操作系统漏洞! inet问题 怎么導入一个EXCEL表到ACCESS,请教大家了。谢谢 电脑系统问题,求助! 关于格式转换的问题 搜集国内的高手们自已写的书。 简单问题 向局域网内的其他计算机发送消息,或者向局域网内的组发送消息。(需求与实现)? 如何在VB中取得SQL当前表的所有列名??? 如何让DATAGRID显示ACESS2000的数据? 请问如何删除满足下表中满足 姓名相同 班级相同 工号相同 的重复值,只保留一项 vb报 91 对象变量或 With 块变量未设置
https://blog.csdn.net/linjcai/article/details/81206143
举个例子,你的timer每10秒触发一次,触发360次,肯定超过一个小时。
如果你要代码尽量少地保持一个恰当的精度,要自己去检测系统时间。
还是刚才那个例子,你要定时一个小时。那么你可以先根据当前系统时间确定好目标触发时间,并把这个目标时间写入模块变量或者静态变量。timer可以定义为每1秒触发一次,每次timer事件检查系统时间是否达到目标时间,如果没达到就退出,达到就继续你的业务逻辑。这样,一个小时候触发,误差一秒以内。如果你设置为500毫秒触发一次,那么误差就降到半秒左右。只不过你越不过55毫秒这个坎,实际上能100毫秒左右误差已经差不多是极限了。