易截截图软件、单文件、免安装、纯绿色、仅160KB

关于vb计时器精确计时问题

我想用vb做一个长时间采集数据的程序,采集间隔最小100ms,怎么才能做到时间上的精确呢?

刚开始把计时器间隔设为10ms,然后用GetTickCount计算,到达时间就进行采集,采集间隔为1S的时候依然有误差,并且GetTickCount到49.7天的时候就清零了,到时候肯定会造成时间计算上的混乱。

现在用QueryPerformanceCounter,但是刚才查了一下,好像这个也是计算从开机到现在的时间,时间长了肯定也会溢出的吧?并且如果用户做其他的事情,比如说移动窗体什么的,就会有影响了。

哪位有更好的方法?
帮顶

直接取系统时间计时

蜘蛛?定期重爬

网上看到一种多媒体计时器的方法,但是一运行就会出现内存错误,哪位还有更好的办法啊?


2 楼好主意。如果不是要求采集那么准确的话,应该可以。而且每次都可以自对准的。

引用
直接取系统时间计时


毫秒级的可以吗?

timer函数
可以到10ms和100ms ,1ms不行

我现在做的是如果采集间隔大于等于1秒的话,把计时器间隔设为100MS,判断系统时间进行采集,如果小于1秒的话计时器的间隔就设为采集间隔,这样的话小于1秒的肯定会有误差的。

引用
timer函数
可以到10ms和100ms ,1ms不行


好的,谢谢

引用
引用 7 楼 king06 的回复:
timer函数
可以到10ms和100ms ,1ms不行


好的,谢谢


如果采集的过程经过午夜时刻也会有误差的啊

可以到毫秒级:



相关问答:

求教下VB如何给D3D游戏写屏 - VB / API

想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......

vb能否把winsock控件封装到dll中

vb将winsock控件封装到dll问题 有什么好的思路? 如果用Socket API呢?
例如,像下面这样封装Winsock控件,行的通?
创建ActiveX dll,添加窗体frmClient,加入WinSock控件wskClient。
类代码:
Option Expli ......

vb查询数据库问题

怎么优化查询的效率,比如我想从100万条记录中每次只查询100条记录的话,那么这条sql语句该怎么实现,注意:语言是VBScript的,
http://www.cnblogs.com/anjou/archive/2007/10/17/926944.html

涉及到算法,goog ......

vb修改DTPicker1日期问题

Private Sub Check1_Click()
If Check1.Value = 1 Then
DTP1.Enabled = True
Else
DTP1.Enabled = False
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
DTP2.Enabled = True
Else ......

vb 如何将十六进制UTF-8转换为汉字

据说java语言是这样的,那VB呢?

byte[] b(byte)0x62,(byte)0x11,(byte)0x72,(byte)0x31};
  try {
System.out.println(new String(b,"UTF-16"));
  } catch (UnsupportedEnco ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号