如何让程序等待一段时间(如30秒)再执行下面的代码

时间:2020-12-12 15:25:30
如何让程序等待一段时间(如30秒)再执行下面的代码,在delphi中使用sleep函数,在VB中好象没有现成的函数,听说用API可以,但不知道引如什么类库,怎样引入?
谢谢各位

9 个解决方案

#1


调用API函数 sleep()
在模块中函数声明如下:
Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

在程序里面调用sleep(30000) 延时300000毫秒

#2


来晚了。。。楼上说的对。

#3


用TIMER控件吧:
把interval属性设为30000。
代码如下:
Private Sub Timer1_Timer()
    msgbox "a"
End Sub

#4


晕,总是慢了几拍

#5


不推荐用 sleep,因为会将进程挂起

自己写的函数(精确到毫秒):

Public Sub Delay(mSec As Long)
    On Error GoTo ShowErr
    
    Dim TStart  As Single
    
    TStart = Timer
    
    While (Timer - TStart) < (mSec / 1000)
        DoEvents
    Wend
    Exit Sub
ShowErr:
    MsgBox Err.Source & "------" & Err.Description
    Exit Sub

End Sub

#6


使用时: delay 30000  '''延时30秒

#7


chewinggum(口香糖)回答不错 ,但还是 wxy_xiaoyu 懂得我的心,虽然他来迟了,也平分秋色。

#8


还可以用  DateAdd("设置秒/分/小时",上次的时间 , 现在的时间)

#9


up

#1


调用API函数 sleep()
在模块中函数声明如下:
Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

在程序里面调用sleep(30000) 延时300000毫秒

#2


来晚了。。。楼上说的对。

#3


用TIMER控件吧:
把interval属性设为30000。
代码如下:
Private Sub Timer1_Timer()
    msgbox "a"
End Sub

#4


晕,总是慢了几拍

#5


不推荐用 sleep,因为会将进程挂起

自己写的函数(精确到毫秒):

Public Sub Delay(mSec As Long)
    On Error GoTo ShowErr
    
    Dim TStart  As Single
    
    TStart = Timer
    
    While (Timer - TStart) < (mSec / 1000)
        DoEvents
    Wend
    Exit Sub
ShowErr:
    MsgBox Err.Source & "------" & Err.Description
    Exit Sub

End Sub

#6


使用时: delay 30000  '''延时30秒

#7


chewinggum(口香糖)回答不错 ,但还是 wxy_xiaoyu 懂得我的心,虽然他来迟了,也平分秋色。

#8


还可以用  DateAdd("设置秒/分/小时",上次的时间 , 现在的时间)

#9


up