翻新时间:2013-12-18
VB中创建超长时间计时器对象
VB中创建超长时间计时器对象 VB中创建超长时间计时器对象 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.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、软件工程方面的应用研究。
作者单位:长沙交通学院信息与计算科学系 长沙410076Email:lxjzy@263.net
下载文档
网友最新关注
- 雷锋您是我们学习的榜样
- 星期天的早晨
- 春天来了
- 春雪
- 参观消防队
- 2012学雷锋月活动策划书
- 我
- 我的愿望
- 参观消防队
- 发怒的猫儿
- 春天
- 做不倒翁
- 参观消防队
- 早晨
- 参观公园
- 思想汇报之纪念邓小平百年诞辰--人民不会忘记
- 入党思想汇报 3
- 纪念邓小平百年诞辰--好干部的标准
- 最新幼儿园教师师德演讲稿(优秀16篇)
- 入党思想汇报—学习邓小平理论
- 德才兼备塑新世纪合格大学生
- 入党思想汇报 4
- 入党思想汇报 5
- 入党思想汇报—学习马克思主义
- 入党思想汇报 范文11
- 入党思想汇报 范文13
- 八荣八耻心得体会——学生思想汇报
- 2006年学生入党思想汇报
- 两会学习心得—中国的将来取决于农村发展
- 入党思想汇报—党员如何保持先进性
- 高层民用建筑供电系统的设计
- 大城市交通规划理念的更新
- 物流全球化促进船公司运输链整合
- 变频器基础讲座(八)
- 高层办公建筑电气设计——某机关办公大楼设计实践
- 上海口岸汽车物流的现状调研和分析
- 德国城市公共交通及启示
- 公路几何设计与交通安全
- 10kV 线路无功补偿容量的确定
- 剖析日本桥梁抗风设计基准之我见
- 照明设计存在的问题及展望
- 供用电系统技术改造节约电能
- 高层住宅现浇混凝土外墙外保温体系的施工实践
- 浅析船舶误发保安警报
- 浅谈AIS在海事管理中的应用
- 《翠鸟》教学设计
- 《七颗钻石》教学设计
- 《检阅》教学设计
- 《七颗钻石》教学建议
- 《翠鸟》教学设计2
- 《月球之谜》教学建议
- 《太阳》教学设计(A 案)
- 《燕子专列》教学设计2
- 《燕子专列》教学建议
- 《争吵》教学建议
- 《可贵的沉默》教学建议
- 《和时间赛跑》教学建议
- 《检阅》教学建议
- 《翠鸟》教学建议
- 《绝招》教学设计