vb 中有没有延长时间的函数啊?? 请教高手  能不能帮我写一个? 小弟初学

解决方案 »

  1.   


    Private Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
      

  2.   

    Public Declare Function GetTickCount Lib "kernel32" () As LongPublic Sub My_Delay(Num As Long)
        Dim T As Long
        Dim b As Long
        Dim Exit_Flag As Boolean
        
        Exit_Flag = False
        T = GetTickCount
        Do
            DoEvents
            b = GetTickCount - T
            If b < 0 Then
                T = GetTickCount
            ElseIf b >= Num Then
                Exit_Flag = True
            End If
        Loop Until Exit_Flag = True
    End Sub直接调用就可以了
      

  3.   


    Private Declare Function GetTickCount Lib "kernel32" () As LongPrivate Sub Command1_Click()
        VbSleep 2
        MsgBox "2秒钟已经过去"
    End SubFunction VbSleep(ByVal SleepSeconds As Long) As Boolean
        Dim i As Long
        Dim j As Long
        j = GetTickCount() + SleepSeconds * 1000
        Do
            DoEvents
            i = GetTickCount()
        Loop While i < j
        VbSleep = True
    End Function
      

  4.   

    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Sub Command1_Click()
    Sleep 5000
    MsgBox "5秒过去了"
    End Sub
      

  5.   

    TO 唐博士
    Private Declare Function GetTickCount Lib "kernel32" () As Long这句要改成
    Public Declare Function GetTickCount Lib "kernel32" () As Long并放在模块里才可运行哦
      

  6.   

    Sleep 毫秒Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
      

  7.   

    Private Function slp(n As Long)
        t1 = Timer * 1000
        Do While Timer * 1000 <= t1 + n
            DoEvents
        Loop
    End Function
    Private Sub Command1_Click()
    Print "开始计时"
    slp 1000
    Print "1秒过去了"
    slp 1000
    Print "2秒过去了"
    slp 1000
    Print "3秒过去了"
    slp 1000
    Print "4秒过去了"
    slp 1000
    Print "5秒过去了"End Sub
      

  8.   

    用api函数Sleep
    sleep 1'延迟1毫秒
    sleep 1000'延迟1秒