您当前的位置:五五电子网电子知识plc技术PLC入门VB中创建超长时间计时器对象分析 正文
VB中创建超长时间计时器对象分析

VB中创建超长时间计时器对象分析

点击数:7854 次   录入时间:03-04 11:43:57   整理:http://www.55dianzi.com   PLC入门

摘 要:本文介绍在VB程序中用Timer控件创建一个超长时间的计时器对象,将其编译成ActiveXDLL部件,利用代码的可重用性,在其它应用程序中调用。

VB系统中提供了固有计时器Timer控件,通过给计时器控件的Interval属性设置不同的数值,就可以控制计时器运行的时间间隔,但该属性是一个双字节的整型变量,最大值只能设置为65535,即只有65535毫秒,约一分钟多一点,在需要长时间计时时,该控件就无能为力了。本文给出用Timer控件创建一个超长时间的计时器对象,并将其编译成ActiveXDLL部件,供其它应用程序调用,可实现最大限度地利用代码的可重用性。下面给出这个超长计时器对象的编程设计过程,供读者参考选用。

1.编写程序
启动VB,新建一个ActiveXDLL工程,将工程命名为NewTimer,将类模块名Class1改名为LongTimer。在工程中添加一个窗体Form1,在窗体上加入一个Timer计时器控件Timer1。打开LongTimer类模块,加入如下程序代码:
OptionExplicit
PublicEventTick()    '声明事件
PrivatenzAsInteger
PrivatecsAsInteger
Privatem_FormAsForm1
PrivateWithEventsm_TimerAsTimer  '声明对象类变量

'返回Enable属性值
PublicPropertyGetEnabled()AsBoolean
  Enabled=m_Timer.Enabled
EndProperty

'设置Enable属性值
PublicPropertyLetEnabled(ByValvNewValueAsBoolean)
    m_Timer.Enabled=vNewValue
EndProperty

'返回Interval属性值
PublicPropertyGetInterval()AsLong
  Interval=m_Timer.Interval
EndProperty

'设置Interval属性值
PublicPropertyLetInterval(ByValvNewValueAsLong)
  cs=0
  nz=vNewValue/65536+1
  m_Timer.Interval=vNewValue/nz
EndProperty

'类初始化事件
PrivateSubCLASS_Initialize()
  Setm_Form=NewForm1
  Loadm_Form
  Setm_Timer=m_Form.Timer1
EndSub

'类终止事件
PrivateSubCLASS_Terminate()
  Unloadm_Form
  Setm_Timer=Nothing
EndSub

'产生Tick事件
PrivateSubm_Timer_Timer()
  cs=cs+1
  Ifcs>=nzThen
    RaiseEventTick
    cs=0
  EndIf
EndSub
窗体Form1只用来作计时器Timer1的载体,不用于显示。

2.测试NewTimer.DLL
对ActiveXDLL部件进行测试,与标准的EXE程序一样,可分为单步运行或全运行。在写完所有程序代码后,建议用户先用Ctrl+F5进行全编译执行,发现检查NewTimer程序的语法错误。也可建立一个测试工程与NewTimer链接进行测试,针对由NewTimer类模块提供的每个属性和事件,添加测试代码来测试它们的属性和方法。按F8,进入单步运行状态,逐个语句察看对NewTimer类模块的调用情况。

3.编译NewTimer.DLL
完成测试,排除所有错误后,从“文件(F)”菜单中选择“生成NewTimer.dll(K)”命令,编译生成NewTimer.dll文件。编译成功后NewTimer.dll文件将自动注册到WINOOWs注册表中,

4.引用NewTimer.DLL
引用ActiveXDLL部件同引用其他对象一样,从“工程(P)”菜单中选择“引用(N)”命令,打开引用窗口,从引用列表中选中NewTimer对象。如果是第一次引用NewTimer,则在引用窗体上单击“游览(B)”命令按钮,将NewTimer.DLL文件添加到可引用列表框中方可使用。

5.调用NewTimer.DLL
在应用程序中加入下述程序代码,实现参NewTimer.dll的调用:
    OptionExplicit
    DimWithEventsLongTimer1AsLongTimer

    PrivateSubLongTimer1_Tick()
      Print"时间到,此处添加处理程序"
    EndSub

    PrivateSubCommand1_Click()
      LongTimer1.Interval=12000    ‘两分钟
      LongTimer1.Enabled=True
    EndSub

    PrivateSubForm_Load()
      SetLongTimer1=NewLongTimer
    EndSub


本文关键字:计时器  PLC入门plc技术 - PLC入门

《VB中创建超长时间计时器对象分析》相关文章>>>