Public Sub BKWait(HowManySecs) ' pause for HowManySecs seconds Dim EndWait EndWait = DateAdd("s", HowManySecs, Now) While Now < EndWait DoEvents Wend End Sub
minajo21(大眼睛) : 谢谢你,但我实在看不懂这段代码,你能给我解释一下吗?谢谢
Public Sub BKWait(HowManySecs) ' pause for HowManySecs seconds '执行等待X秒 Dim EndWait EndWait = DateAdd("s", HowManySecs, Now) 设定时间=将当前时间+所需等待的秒数 While Now < EndWait 当前时间<所设定时间就循环 DoEvents 将控制权交给系统 Wend End Sub
哪里看不懂?Now 当前系统时间DateAdd... 加上一段时间间隔
Private Declare Function GetCurrentTime Lib "kernel32" Alias "GetTickCount" () As LongDim LngOld As Long LngOld = GetCurrentTime Do While (GetCurrentTime - LngOld) <= 3000 .... DoEvents Loop
Sub Delay_gSub2(pSngDelayTime As Single) '延时, 中间不处理事件 Dim lSngStartTime As Single lSngStartTime = Timer Do While Abs(Timer - lSngStartTime) < pSngDelayTime Loop End Sub
'我来解释一下吧:)) 假如要停顿100000秒 const T = 100000 dim T1 as long dim T2 as longForm_load()中加如下代码 T1 = hour(now)*3600 + minute(now)*60 + second(now)Timer1_Timer() T2 = hour(now)*3600 + minute(now)*60 + second(now) if abs(T2-T1) >= T then msgbox "到时间了,请你起来!!" end if
' pause for HowManySecs seconds
Dim EndWait
EndWait = DateAdd("s", HowManySecs, Now)
While Now < EndWait
DoEvents
Wend
End Sub
' pause for HowManySecs seconds '执行等待X秒
Dim EndWait
EndWait = DateAdd("s", HowManySecs, Now) 设定时间=将当前时间+所需等待的秒数
While Now < EndWait 当前时间<所设定时间就循环
DoEvents 将控制权交给系统
Wend
End Sub
当前系统时间DateAdd...
加上一段时间间隔
LngOld = GetCurrentTime
Do While (GetCurrentTime - LngOld) <= 3000
....
DoEvents
Loop
'延时, 中间不处理事件
Dim lSngStartTime As Single
lSngStartTime = Timer
Do While Abs(Timer - lSngStartTime) < pSngDelayTime
Loop
End Sub
假如要停顿100000秒
const T = 100000
dim T1 as long
dim T2 as longForm_load()中加如下代码
T1 = hour(now)*3600 + minute(now)*60 + second(now)Timer1_Timer()
T2 = hour(now)*3600 + minute(now)*60 + second(now)
if abs(T2-T1) >= T then
msgbox "到时间了,请你起来!!"
end if