易截截图软件、单文件、免安装、纯绿色、仅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中有无TApplication对应类型

我用Delphi写了一个DLL, DLL里有MDI的子窗体,DLL初始化时 传递调用者的TApplication给DLL, 在Delphi7中调用已经通过,但是不知道在VB中有无TApplication对应类型, 是否能在VB中调用?
你好,用instance不是就可以了&# ......

vb如何调用Illustrator(此前Illustrator未启动)?

请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click()
Dim app As New Illustrator.Application
Dim doc As Illustrator.Document
Dim thislayer As Illustrator.Layer ......

VB如何联系两个窗体?

就是设计一个计算机模拟考试系统,带有学生和管理员,所以登录窗体和主窗体想分开,登陆学生的显示学生的主窗体,登陆管理员显示管理主窗体,我只会一个窗体用一堆控件,现在享有多个主窗体,不知道怎么做,希望请大 ......

vb插入数据库重复值问题

在vb中怎么判断,插入到数据库中的值是重复的,本人才刚接触VB语言,甚是有好多地方还不懂,还请各位大侠们给出代码,谢谢了呀!!!
插入之前select一下阿。
或者写一个组合SQL插入语句,例如
IF not Exist(
& ......

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号