VB的这段时间延时多长时间,怎么算啊,O(∩_∩)O谢谢 TimeDelay(200)

Public Declare Function GetTickCount Lib "kernel32" () As Long

Sub TimeDelay(DT As Long)
Dim TT As Long
TT = GetTickCount()
Do
DoEvents
If GetTickCount - TT < 0 Then TT = GetTickCount
Loop Until GetTickCount - TT >= DT
End Sub

这是一个VB单线程特有的延时函数(或者叫过程)
GetTickCount获取系统自开机到调用这个API函数时所经过的时间,第一次调用并保存这个值.此后再调用这个函数,以计算两个时间的差值,如果差值大于指定的值(DT),则认为超过了等待的时间,那么就退出函数,即完成了函数调用者所要求的等待时间.
DoEvents在VB里的解释是"释放控制权",以让其他事件/过程能够在当前事件被处理时有响应.
这个TimeDelay作用等同于API函数Sleep.两者的区别在于Slepp被调用时,整个程序处于挂起状态,任何事件或过程无响应,直到Sleep经过了指定的时间.
解释的够清楚了...
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-02
不全
第2个回答  2010-05-02
延时 DT 豪秒
相似回答