vb基础 vb实例教程 api调用 控件使用 经验技巧 数据库操作 算法及技术 vb源码下载
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 返回首页  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> vb教程

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



参考文献
[2]东箭工作室.Visual Basic5.0中文版程序设计.清华大学出版社,1997
[3]Evangelos Petroutsos. Visual Basic5从入门到精通.北京:电子工业出版社,1997

作者简介:李湘江,男,工程师,主要从事网络、CAD、CAI、软件工程方面的应用研究。  
作者单位:长沙交通学院信息与计算科学系  长沙410076
电话:0731-5219487(办)
Email:lxjzy@263.net

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有