1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現(xiàn)在位置:范文先生網(wǎng)>理工論文>計(jì)算機(jī)論文>VB中創(chuàng)建超長(zhǎng)時(shí)間計(jì)時(shí)器對(duì)象

    VB中創(chuàng)建超長(zhǎng)時(shí)間計(jì)時(shí)器對(duì)象

    時(shí)間:2022-08-06 11:00:46 計(jì)算機(jī)論文 我要投稿
    • 相關(guān)推薦

    VB中創(chuàng)建超長(zhǎng)時(shí)間計(jì)時(shí)器對(duì)象

    摘 要:本文介紹在VB程序中用Timer控件創(chuàng)建一個(gè)超長(zhǎng)時(shí)間的計(jì)時(shí)器對(duì)象,將其編譯成ActiveX DLL部件,利用代碼的可重用性,在其它應(yīng)用程序中調(diào)用。
    關(guān)鍵詞:Vb  計(jì)時(shí)器  對(duì)象

    VB系統(tǒng)中提供了固有計(jì)時(shí)器Timer控件,通過(guò)給計(jì)時(shí)器控件的Interval屬性設(shè)置不同的數(shù)值,就可以控制計(jì)時(shí)器運(yùn)行的時(shí)間間隔,但該屬性是一個(gè)雙字節(jié)的整型變量,最大值只能設(shè)置為65535,即只有65535毫秒,約一分鐘多一點(diǎn),在需要長(zhǎng)時(shí)間計(jì)時(shí)時(shí),該控件就無(wú)能為力了。本文給出用Timer控件創(chuàng)建一個(gè)超長(zhǎng)時(shí)間的計(jì)時(shí)器對(duì)象,并將其編譯成ActiveX DLL部件,供其它應(yīng)用程序調(diào)用,可實(shí)現(xiàn)最大限度地利用代碼的可重用性。下面給出這個(gè)超長(zhǎng)計(jì)時(shí)器對(duì)象的編程設(shè)計(jì)過(guò)程,供讀者參考選用。

    1.編寫程序
    啟動(dòng)VB,新建一個(gè)ActiveX DLL工程,將工程命名為NewTimer,將類模塊名Class1改名為L(zhǎng)ongTimer。在工程中添加一個(gè)窗體Form1,在窗體上加入一個(gè)Timer計(jì)時(shí)器控件Timer1。打開(kāi)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  '聲明對(duì)象類變量

    '返回Enable屬性值
    Public Property Get Enabled() As Boolean
      Enabled = m_Timer.Enabled
    End Property

    '設(shè)置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

    '設(shè)置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

    '產(chǎn)生Tick事件
    Private Sub m_Timer_Timer()
      cs = cs + 1
      If cs >= nz Then
         RaiseEvent Tick
         cs = 0
      End If
    End Sub
    窗體Form1只用來(lái)作計(jì)時(shí)器Timer1的載體,不用于顯示。

    2.測(cè)試NewTimer.DLL
    對(duì)ActiveX DLL部件進(jìn)行測(cè)試,與標(biāo)準(zhǔn)的EXE程序一樣,可分為單步運(yùn)行或全運(yùn)行。在寫完所有程序代碼后,建議用戶先用Ctrl+F5進(jìn)行全編譯執(zhí)行,發(fā)現(xiàn)檢查NewTimer程序的語(yǔ)法錯(cuò)誤。也可建立一個(gè)測(cè)試工程與NewTimer鏈接進(jìn)行測(cè)試,針對(duì)由NewTimer類模塊提供的每個(gè)屬性和事件,添加測(cè)試代碼來(lái)測(cè)試它們的屬性和方法。按F8,進(jìn)入單步運(yùn)行狀態(tài),逐個(gè)語(yǔ)句察看對(duì)NewTimer類模塊的調(diào)用情況。

    3.編譯NewTimer.DLL
    完成測(cè)試,排除所有錯(cuò)誤后,從“文件(F)”菜單中選擇“生成NewTimer.dll(K)”命令,編譯生成NewTimer.dll文件。編譯成功后NewTimer.dll文件將自動(dòng)注冊(cè)到Windows注冊(cè)表中,

    4.引用NewTimer.DLL
    引用ActiveX DLL部件同引用其他對(duì)象一樣,從“工程(P)”菜單中選擇“引用(N)”命令,打開(kāi)引用窗口,從引用列表中選中NewTimer對(duì)象。如果是第一次引用NewTimer,則在引用窗體上單擊“游覽(B)”命令按鈕,將NewTimer.DLL文件添加到可引用列表框中方可使用。

    5.調(diào)用NewTimer.DLL
    在應(yīng)用程序中加入下述程序代碼,實(shí)現(xiàn)參NewTimer.dll的調(diào)用:
        Option Explicit
        Dim WithEvents LongTimer1 As LongTimer

        Private Sub LongTimer1_Tick()
          Print "時(shí)間到,此處添加處理程序"
        End Sub

        Private Sub Command1_Click()
          Lo

    VB中創(chuàng)建超長(zhǎng)時(shí)間計(jì)時(shí)器對(duì)象

    ngTimer1.Interval = 12000     ‘兩分鐘
          LongTimer1.Enabled = True
        End Sub

        Private Sub Form_Load()
           Set LongTimer1 = New LongTimer
        End Sub


    參考文獻(xiàn)
    [2]東箭工作室.Visual Basic5.0中文版程序設(shè)計(jì).清華大學(xué)出版社,1997
    [3]Evangelos Petroutsos. Visual Basic5從入門到精通.北京:電子工業(yè)出版社,1997

    【VB中創(chuàng)建超長(zhǎng)時(shí)間計(jì)時(shí)器對(duì)象】相關(guān)文章:

    計(jì)時(shí)器作文11-24

    如何用VB存取SQL Server中的圖像數(shù)據(jù)04-12

    超長(zhǎng)網(wǎng)名08-16

    超長(zhǎng)網(wǎng)名08-12

    超長(zhǎng)個(gè)性簽名08-20

    超長(zhǎng)的情侶網(wǎng)名08-15

    超長(zhǎng)網(wǎng)名傷感06-03

    女生超長(zhǎng)網(wǎng)名08-16

    超長(zhǎng)個(gè)性簽名08-12

    經(jīng)典的超長(zhǎng)個(gè)性簽名02-15

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      中文字幕dvd日本欧美精品 | 天天高清在线3w | 日本中文字幕中出在线 | 色花堂国产精品第一页 | 亚洲色欧在线影院 | 日韩欧美a∨中文字幕 |