请教VB中精确延时的问题.十万火急!!!

Phillip 2000-05-19 01:36:00
我的程序如下
Private Sub Command1_Click()
text1.Text = "abc"
<-------在此插入延时程序.
text1.Text = "cde"
End Sub
要求在显示 "cde"之前,
能精确延时300毫秒,
并且运行指针不能跳出Command1_Click()


...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanhan 2000-05-19
  • 打赏
  • 举报
回复
Sleep似乎不能精确控制延时,还是timeGetTime可靠一些,可能达到1ms精度。

但是你要确保不会有另一个线程在这之间抢走你的时间片。
liujin 2000-05-19
  • 打赏
  • 举报
回复
Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
还有一个 sleepex 用用试试
mxp 2000-05-19
  • 打赏
  • 举报
回复
用api函数:
Public Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime" () As Long
thriller 2000-05-19
  • 打赏
  • 举报
回复
iwin 的方法不错。
不过在Windows环境中没有可能精确到1毫秒。
即使是300毫秒,也是大约的。
我试过几万遍了。
如果有人说不,我给1000分。
(timer-t>=0.03)本身要耗时的,而且这不是最好的办法。
t不应该是Time,而是Single或Double.
iwin 2000-05-19
  • 打赏
  • 举报
回复
‘试试以下代码
Text1.Text="abc"
Dim t as Time
t=Timer
Do
Loop until(timer-t>=0.03)

Text1.Text="cde"

7,763

社区成员

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

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