时间求教高手,谢谢!!!
Timer.Interval最大数为65,535,我想设一个时间为10分钟或更长时间,即一个事件在计时10分钟后开始执行,求教该如何作,谢谢!!!

解决方案 »

  1.   

    窗体放一个timer控件,放一个label控件,放一个commandbox控件,timer的enabled属性设为假,放上代码运行你就知道了,测试成功:Option ExplicitDim i As IntegerPrivate Sub Command1_Click()
        '10分钟
        i = 600
        Timer1.Enabled = True
    End SubPrivate Sub Timer1_Timer()
        i = i - 1
        Label1.Caption = i - 1
        If i = 0 Then
            MsgBox "运行程序!"
        End If
    End Sub
      

  2.   

    你可以在timer事件里设一个integer的变量,然后将时间设为一分钟执行一次,
    当integer=10的时候运行你要执行的代码,然后将变量清为0,如:
    privte sub timer1_timer()
    dim i%
    if i%=10 then
        i%=0
       '开始执行的代码
    else
    i%=i%+1
    end if
    end sub
      

  3.   

    ^_^,忘了,Timer.Interval设为1000,即一秒。
      

  4.   

    VB中创建超长时间计时器对象
      李湘江  邹筱梅
    (长沙交通学院 信息与计算科学系  长沙410076)摘 要:本文介绍在VB程序中用Timer控件创建一个超长时间的计时器对象,将其编译成ActiveX DLL部件,利用代码的可重用性,在其它应用程序中调用。
    关键词:Vb  计时器  对象VB系统中提供了固有计时器Timer控件,通过给计时器控件的Interval属性设置不同的数值,就可以控制计时器运行的时间间隔,但该属性是一个双字节的整型变量,最大值只能设置为65535,即只有65535毫秒,约一分钟多一点,在需要长时间计时时,该控件就无能为力了。本文给出用Timer控件创建一个超长时间的计时器对象,并将其编译成ActiveX DLL部件,供其它应用程序调用,可实现最大限度地利用代码的可重用性。下面给出这个超长计时器对象的编程设计过程,供读者参考选用。1.编写程序
    启动VB,新建一个ActiveX DLL工程,将工程命名为NewTimer,将类模块名Class1改名为LongTimer。在工程中添加一个窗体Form1,在窗体上加入一个Timer计时器控件Timer1。打开LongTimer类模块,加入如下程序代码:
    Option Explicit
    Public Event Tick()    '声明事件
    Private nz As Integer
    Private cs As Integer
    Private m_Form As Form1
    Private WithEvents m_Timer As Timer  '声明对象类变量'返回Enable属性值
    Public Property Get Enabled() As Boolean
      Enabled = m_Timer.Enabled
    End Property'设置Enable属性值
    Public Property Let Enabled(ByVal vNewValue As Boolean)
        m_Timer.Enabled = vNewValue
    End Property'返回Interval属性值
    Public Property Get Interval() As Long
      Interval = m_Timer.Interval
    End Property'设置Interval属性值
    Public Property Let Interval(ByVal vNewValue As Long)
      cs = 0
      nz = vNewValue \ 65536 + 1
      m_Timer.Interval = vNewValue \ nz
    End Property'类初始化事件
    Private Sub CLASS_Initialize()
      Set m_Form = New Form1
      Load m_Form
      Set m_Timer = m_Form.Timer1
    End Sub'类终止事件
    Private Sub CLASS_Terminate()
      Unload m_Form
      Set m_Timer = Nothing
    End Sub'产生Tick事件
    Private Sub m_Timer_Timer()
      cs = cs + 1
      If cs >= nz Then
         RaiseEvent Tick
         cs = 0
      End If
    End Sub
    窗体Form1只用来作计时器Timer1的载体,不用于显示。2.测试NewTimer.DLL
    对ActiveX DLL部件进行测试,与标准的EXE程序一样,可分为单步运行或全运行。在写完所有程序代码后,建议用户先用Ctrl+F5进行全编译执行,发现检查NewTimer程序的语法错误。也可建立一个测试工程与NewTimer链接进行测试,针对由NewTimer类模块提供的每个属性和事件,添加测试代码来测试它们的属性和方法。按F8,进入单步运行状态,逐个语句察看对NewTimer类模块的调用情况。3.编译NewTimer.DLL
    完成测试,排除所有错误后,从“文件(F)”菜单中选择“生成NewTimer.dll(K)”命令,编译生成NewTimer.dll文件。编译成功后NewTimer.dll文件将自动注册到Windows注册表中,4.引用NewTimer.DLL
    引用ActiveX DLL部件同引用其他对象一样,从“工程(P)”菜单中选择“引用(N)”命令,打开引用窗口,从引用列表中选中NewTimer对象。如果是第一次引用NewTimer,则在引用窗体上单击“游览(B)”命令按钮,将NewTimer.DLL文件添加到可引用列表框中方可使用。5.调用NewTimer.DLL
    在应用程序中加入下述程序代码,实现参NewTimer.dll的调用:
        Option Explicit
        Dim WithEvents LongTimer1 As LongTimer    Private Sub LongTimer1_Tick()
          Print "时间到,此处添加处理程序"
        End Sub    Private Sub Command1_Click()
          LongTimer1.Interval = 12000     ‘两分钟
          LongTimer1.Enabled = True
        End Sub    Private Sub Form_Load()
           Set LongTimer1 = New LongTimer
        End Sub
      

  5.   

    一个简单的例子,适用于要求不太高的地方:
    Dim oldtime As Date
    Private Sub Command1_Click()
    Timer1.Interval = 1000
    oldtime = Now()
    Text1.Text = oldtime
    Timer1.Enabled = True
    End SubPrivate Sub Timer1_Timer()
    If DateDiff("s", oldtime, Now) >= 600 Then
    Text1.Text = Text1.Text + "," + CStr(Now())
    Timer1.Enabled = False
    End If
    End Sub