我编了个程序,现在用一个按钮控制,按一下按钮就执行一遍程序,但我现在要让他每隔15分钟自动运行一次,该怎么弄? 我看了一下VB的TIMER,其中断时间最长只能设置成65535毫秒,现在我该怎么办,是不是有别的API定时器可用,高手指教~~~

解决方案 »

  1.   

    你可以这样呀!
    加入如下代码:
    Dim n As LongPrivate Sub Timer1_Timer()
    n = n + 1
    If n = 5400 Then
    call 子程序
    n = 0
    End If
    End Sub
    我想等15分钟的,没等到.
    你看看行不行
      

  2.   

    还要把TIMER1.INTERVAL设为10000
      

  3.   

    就是要灵活运用,不能动不动就要API
      

  4.   

    你要運行的是什么程序﹐是不是數據庫的﹖如果是sql server2000的數據庫﹐應該考慮用作業完成
      

  5.   

    我知道在API函数中有一个是sleep函数,直接调用就可以了
    具体的语法有点忘了,呵呵,不好意思~~
      

  6.   

    hdhai9451(※★開拓者...糊涂中☆※): 
    确实是SQL SERVER 2000的数据库. "應該考慮用作業完成" 请问是什么意思???
      

  7.   

    Private Sub Timer1_Timer()
        If Len(Timer1.Tag) = 0 Then Timer1.Tag = Now
        If DateDiff("s", Timer1.Tag, Now) >= 15 Then '15分钟
            MsgBox "时间到"
            Timer1.Tag = Now
        End If
    End Sub
      

  8.   

    baoaya(点头) 你好:
    我是初学者,还不太懂定时器的概念. 你的程序是否是每时每刻都在判断Timer1.Tag和Now之间的大小?
    那企不是很占CPU??  运行程序的时候CPU占用率会不会一直很高???? 还有你的这个定时器里怎么没设置INTERVAL???
      

  9.   

    用TIME嵌套TIME多套几个直到满足你的要求,
    用FOR NEXT
    来做。
      

  10.   

    还是没明白.. 就5秒调用一下Sample()这个过程,哪位能写个简单的定时器示例??
      

  11.   

    Option Explicit
     Dim txtm As IntegerPrivate Sub Command1_Click()  '开始计时
     Timer1.Enabled = True
     Timer2.Enabled = True
     Label1.Caption = 0
     txtm = 0
    End SubPrivate Sub Form_Load()End SubPrivate Sub Timer1_Timer()
     txtm = txtm + 1
     If txtm = Trim(Text1.Text) Then
      MsgBox "时间到!!"
      Timer1.Enabled = False
      Timer2.Enabled = False
     End If
    End SubPrivate Sub Timer2_Timer()                     '显示经过秒数
     Label1.Caption = Label1.Caption + 1
    End Sub
    'Timer1的Interval 为 :60000
    'timer2的Interval 为 : 1000不就可以了?
    不让超过65535 ..咱们每隔 1 分钟计数一次不就行了么..
    如果达到你的要求15分钟的话是没有问题的..15分钟后或者更长时间后只要清零即可
      

  12.   

    //还有你的这个定时器里怎么没设置INTERVAL???
    使用的我方法 INTERVAL 随便设置就可以了 ,最好是15的倍数的最大值 譬如 50000 (5分)//运行程序的时候CPU占用率会不会一直很高由于是在 timer 里运行 不是死循环, CPU占用率 忽略不记