关于一个函数的延时问题!

yttlovezxx 2005-12-10 12:16:25
现在有一个函数比如:sub1.它本身的反应时间是20ms,(也就是每20ms执行一才)我怎么把它的反应时间增长啊?(就是比如说想让它每2s执行一次)比如说想要增长2s的话.是不是用sleep.怎么用?
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcwe2002 2005-12-10
  • 打赏
  • 举报
回复
如果你要保证你的函数执行到二十秒,可以这样做

Dim a
Dim i As Long
a = Timer
'执行你的程序代码
While (Timer - a) < 2
If Timer < a Then
a = a - 86400
End If
Wend
Debug.Print a, Timer
pcwe2002 2005-12-10
  • 打赏
  • 举报
回复
如果你要保证你的程序执行到二十秒,可以这样做

Dim a
Dim i As Long
a = Timer
'执行你的程序代码
While (Timer - a) <= 2
If Timer < a Then
a = a - 86400
End If
Wend
Debug.Print a, Timer
mylzw 2005-12-10
  • 打赏
  • 举报
回复
我觉得楼上的楼上和楼上的楼上的楼上说用计时器这个方法好。

如果你不介意的话还可以使用DoEvents
dim i as integer
for i=0 to n
DoEvents
next
yttlovezxx 2005-12-10
  • 打赏
  • 举报
回复
我说的这个函数是一个开关量的反应时间,不过人家厂家用一个控件提供给我,那里面有一个函数可以控制这个开关量的各个端口.也就是说这个函数每执行一次就要费20ms的时间!
Summer006 2005-12-10
  • 打赏
  • 举报
回复
20ms究竟是sub的执行频率? 还是执行费时?
如果是频率,就用timer控制他执行,修改timer的intaval属性即修改执行频率;
如果是费时,就在sub里面用sleep延时。
laviewpbt 2005-12-10
  • 打赏
  • 举报
回复
//它本身的反应时间是20ms
这句话应该不会那么准确的,对于相同的操作,一般情况下你是不能保证他的执行时间的。

为何不防在记时器里执行呢?

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧