请高手支招.急求!如何使timer事件的循环的时间为三分钟?

解决方案 »

  1.   

    1。timer.interval=60000  '一分钟2。 dim i as integer
    Private Sub tmr_Timer()
      if i=2 then
       '-- Do your things
       i=0
      end if
      i=i+1
    End Sub
      

  2.   

    最长 47 天的 Timer:'模块中代码
    Dim lTimerId As Long
    Private Declare Function SetTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As LongPrivate Declare Function KillTimer Lib "user32" (ByVal hWnd As Long, ByVal nIDEvent As Long) As LongPrivate Sub TimerProc(ByVal lHwnd As Long, ByVal lMsg As Long, ByVal lTimerId As Long, ByVal lTime As Long)Dim lResult As Long
    lResult = StopTimer(lTimerId)
    Call InsertYourProcessNameHere
    'code to be executed after interval
    End SubPublic Sub StartTimer(lInterval As Long) 'convert interval to milliseconds prior to passing
    lTimerId = SetTimer(0, 0, lInterval, AddressOf TimerProc)
    End SubPublic Function StopTimer(lTimerId As Long) As Long
    'must pass the TimerId returned by SetTimer
    StopTimer = KillTimer(0, lTimerId)
    End Function'调用方式
    Call StartTimer(3*60*1000) '3 minutes
      

  3.   


    Dim dtNextTime as DatePrivate Sub Form_load()
        Timer1.interval=500
     Timer1.Enabled=True
     dtNextTime=DateAdd("n",3,Now)'3分钟执行一次任务
    End SubPrivate Sub Timer1_Timer()
     if Now>=dtNextTime Then
      Timer1.Enabled=False
      
      '在此加入你的代码  dtNextTime=DateAdd("n",3,Now) 
      Timer1.Enabled=True
     End if
    End Sub
      

  4.   

    3分钟就是180秒
    dim T as long
    sub form_load()
    timer.interval=10000 '计时器10秒钟出发一次
    end subPrivate Sub Timer1_Timer()
    T=T+1
    if T=18 then   '触发满18次就是三分钟
       '这里写你3分钟执行一次的代码
       T=0 '从头来过
    end if
    End Sub简单不,再长的时间也这么解决
      

  5.   

    考虑到timer本身优先级不高,容易受系统繁忙而延时,如希望定时准确点的话,建议用5楼说的这种方法,将interval设短一点,而总间隔时间则用GetTickCount计算。如果还不够准确的话,则要用timeSetEvent等了:)
      

  6.   

    interval 设为1000 '时间间隔是1秒
    static i as long
     i=i+1
    if i>180 then 
     i=0
    end if 每一秒i+1等i>180时就是3分钟了三.