統計VB程序的運行時間

發表于:2007-07-14來源:作者:點擊數: 標簽:
作者:土人 用戶退出程序時若能告訴用戶程序當次用了多長時間、時間過長的話則提醒用戶注意休息,我想這樣的創意應是對用戶的一種體貼,會使我們的軟件更具親和性,也給我們的軟件添色不少。 VB 中可利用Now函數或者Timer控件完成此設想。 用Now函數能保證時
作者:土人

用戶退出程序時若能告訴用戶程序當次用了多長時間、時間過長的話則提醒用戶注意休息,我想這樣的創意應是對用戶的一種體貼,會使我們的軟件更具親和性,也給我們的軟件添色不少。VB中可利用Now函數或者Timer控件完成此設想。
用Now函數能保證時間統計的準確性。思路是這樣:用CStr(Second(Now)、CStr(Minute(Now))、Cstr(Hour(Now))及CStr(Day(Now))記取程序啟動和關閉時系統時鐘的秒、分、時、日,然后作些計算即可得出運行時間總和。因其計算在跨月份的情況下相當復雜,本文不打算對這個思路作討論。
用Timer控件不失為一種很好的解決方法,它能較為方便地幫助我們統計程序運行的時間。具體思路是:設置幾個變量分別記錄秒、分、時、日,讓Timer控件控制秒、分、時、日的變化。當秒數等于60時則分鐘加1,當分鐘等于60時則小時加1,當小時等于24時則日加1。這里,秒最為關鍵,它的精確性決定了時間的統計是否準確。Timer控件的Interval屬性的設置因而變得很重要:我們的秒變量將由它來主宰。將其Interval屬性設為1000的話一個小時可能會誤差6秒鐘,這應該是無關緊要了吧。

以下是完整的程序代碼清單。作為試驗,本程序僅需要一個窗體、一個按鈕和一個Timer控件。程序在PWin98、VB6.0下調試通過。

Private s As Integer '聲明秒
Private m As Integer '聲明分
Private h As Integer '聲明小時
Private d As Integer '聲明日

'啟動程序時設置Timer控件屬性并給秒、分、時、日變量賦值
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
s = 0
m = 0
h = 0
d = 0
End Sub

Private Sub Timer1_Timer()
s = s + 1 '每秒鐘給s變量加1
If s >= 60 Then
s = 0 '重新計算秒
m = m + 1 '逢秒為60則分鐘加1
If m >= 60 Then
m = 0 '重新計算分
h = h + 1 '逢分鐘為60則小時加1
If h >= 24 Then
h = 0 '重新計算小時
d = d + 1 '逢24小時則天數加1
End If
End If
End If
End Sub

'退出時
Private Sub cmdExit_Click()
If d*24 +h >= 1 Then '使用時間若超過一小時
MsgBox "本次使用的時間為:" & d*24 + h & "小時" & m & "分鐘" _
& s & "秒" & vbCrLf & "謝謝使用!" & vbCrLf & _
"但請您注意休息,不要太勞累哦!", vbOKOnly, "再見"
Else '若不超過一小時
MsgBox "本次使用的時間為:" & h & "小時" & m & "分鐘" _
& s & "秒" & vbCrLf & "謝謝使用!" & vbCrLf, vbOKOnly, "再見"
End If
End
End Sub


'若用戶點擊窗體右上角的關閉按鈕
Private Sub Form_queryunload(Cancel As Integer, Unloadmode As Integer)
cmdExit_Click
End Sub 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97