2011-11-12 45 views
0

我在Windows-7編寫的應用程序使用Visual基礎2010年我訪問系統日期與檢測系統日期的變化,視覺基礎

Dim today As Integer 
today = Format(Now, "dd") 

好了,工作正常。但是當系統日期發生變化時,我需要一些指示/通知,以便我可以檢索新的日期。是否有任何功能/方法來實現這一目標? 由於

+0

小的一點,但Visual Basic 2010是VB.Net,而不是VB6。你的代碼顯然不是特定的變體,所以我已經離開了標籤。 – Deanna

回答

4

的系統日期可能的原因有兩個變化:

  1. 用戶手動更改系統的日期/時間。這可以使用這裏描述的方法檢測:http://vbnet.mvps.org/index.html?code/subclass/datetime.htm

  2. 時間過去了,時鐘從23:59:59到00:00:00。我不知道任何系統事件會在這種情況發生時告訴你,但你可以通過在VB6中使用Timer來輕鬆檢測到它。通過使用Timer,您將以預定義的時間間隔獲得事件。如果日期發生了變化,你可能會檢查一下,每分鐘說一次。
    要使用標準VB6 Timer控件,你需要在你把你的計時器一種形式,但也有其他的替代品,像這樣的:http://www.codeproject.com/KB/vb-interop/TimerLib.aspx

我的代碼示例使用標準的VB6定時器在窗體上觀察「分鐘變化」。我的定時器控件具有Timer1的原始名稱

Dim iMinute As Integer 'The "current" minute 

Private Sub Form_Load() 
    'Initialize 
    iMinute = Format(Now, "n") 'Get the current time as minute 
    Timer1.Interval = 1000 'Set interval = 1000 milliseconds 
    Timer1.Enabled = True 'Start Timer1 (my Timer) 
End Sub 

Private Sub Timer1_Timer() 
    'This happens when the given Interval has passed (in this case, every second) 
    Dim iMinuteNow As Integer 

    iMinuteNow = Format(Now, "n") 
    If iMinuteNow <> iMinute Then 
     MsgBox "You are now in a new minute" 
     iMinute = iMinuteNow 
    End If 
End Sub