VB中延时函数是什么?
比如需要1秒钟延时,该怎么写?是不是比想象中的还简单,不要说我菜!不要用鸡蛋砸我

解决方案 »

  1.   

    Private Declare Function GetTickCount Lib "kernel32" () As Long
    Function 延时函数(延时时间单位毫秒 As Long) As Long
     On Error GoTo err:
        Dim I1 As Long
        Dim J1 As Long
    I1 = GetTickCount
    J1 = GetTickCount
        Do Until J1 - I1 > 延时时间单位毫秒
            J1 = GetTickCount
            DoEvents
        Loop
        延时函数 = 1
    Exit Function
    err:
    延时函数 = 0
    End Function
      

  2.   

    Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)Sleep(1000)   '1 second
      

  3.   

    呵呵,我也来private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
    sleep()
      

  4.   

    其实我更菜,问我法语还好一点
    我觉得先学basic 以前的版本,别一下跳到vb
      

  5.   

    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)Private Sub Command1_Click()
        DoEvents
        Sleep 1000
    End Sub
      

  6.   

    用timer函数也可以
    st=vba.timer
    do while vba.timer<st+1
    doevents
    loop
      

  7.   

    我觉得用time控件也可以的,这样更简单。
      

  8.   

    想要做什么的?
    用Timer控件蛮灵的
      

  9.   

    Private Declare Function GetTickCount Lib "kernel32" () As LongSub Delay1()
    Dim t As Stringt = GetTickCount()
    Do
    DoEvents
    Loop Until GetTickCount - t > 200End Sub
      

  10.   

    用sleep时其它进程会停止吧?
    用延迟时其它进程不会受到影响
    上边的就是延迟200毫秒!!
      

  11.   

    调用api,
    使用sleep(1000)=延时1秒
      

  12.   

    如果需要精确到毫秒用Api,如果只需要精确到秒,只要用Timer控件或Do循环即可!
    如:
    Dim GDataT as string
    gdatat=time
    Do While datadiff(gdatat,time)<1
    Loop
      

  13.   

    '延时程序
    Public Sub DelayTime(ByVal nSecond As Integer)
        Dim EndTime  As Date
        EndTime = DateAdd("s", nSecond, Time)
        While Time < EndTime
            DoEvents
        Wend
    End Sub讨厌API,所以自己写了一个!!