已有23人关注
VB里面定时器问题
发表在VB答疑区 2011-02-21
是否精华
版块置顶:
VB里面定时器不准,怎么解决,我要从总线上读取信息并保存,控制在10ms保存每次读取来的新值,这样能做到吗?怎么做?
分享到:
精彩评论 3
vbsoldier
学分:0 LV1
2011-02-21
沙发
参考以下代码,延时5毫秒。
Private Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime" 
() As Long 
Private Sub Delay()
  Dim tm1 As Long 
  Do 
    tm1 = timeGetTime 
    While timeGetTime - tm1 < 5 ' 等于 5/1000 = 0.005 秒 
    DoEvents 
   Wend 
    '做某一件工作 
  Loop 
End Sub
zhuli
学分:0 LV1
TA的每日心情
签到
2022-02-13 21:48:52
2011-02-22
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
参考以下代码,延时5毫秒。
Private Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime" 
() As Long 
Private Sub Delay()
  Dim tm1 As Long 
  Do 
    tm1 = timeGetTime 
    While timeGetTime - tm1 < 5 ' 等于 5/1000 = 0.005 秒 
    DoEvents 
   Wend 
    '做某一件工作 
  Loop 
End Sub
[/FIELDSET]

回复:
  这个timeGetTime 是取自系统实时时间吗?如果用起来的话DoEvent这个功能是不是相当于校准一下当前窗体内所有定时器的时间,我想10MS定时一次的话那就是把这个5换成10就可以了,如果定时器出现失误的话就是校准一下定时器的时间,接着定时器控件就可以准确无误地运行了吗?
vbsoldier
学分:0 LV1
2011-02-23
地板
timeGetTime 用于获取WINDOWS已运行的时间,单位为毫秒。DOEVENTS用于将控制权交予系统,主要功能是防止在循环时死机。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照