経過時間計測色々 |
経過時間計測色々 (057) | |
フォームにコマンドボタン2個とラベル3個を貼り付け下記コードを貼り付けて下さい Option Explicit 'SampleNo=057 WindowsXP VB6.0(SP5) 2002.05.13 'システムを立ち上げてからの経過時間を高精度に取得する Private Declare Function timeGetTime Lib "winmm.dll" () As Long '上記同様だが精度少し低い Private Declare Function GetTickCount Lib "kernel32" () As Long Dim lngStartTime As Long Dim StartTime As Long Dim st As Single Private Sub Command1_Click() '測定開始 lngStartTime = timeGetTime StartTime = GetTickCount st = Timer fTimeCount End Sub Private Sub Command2_Click() '測定終了 Label1.Caption = "timeGetTime : " & (timeGetTime - lngStartTime) / 1000 Label2.Caption = "GetTickCount : " & (GetTickCount - StartTime) / 1000 Label3.Caption = "Timer - st : " & Timer - st Label4.Caption = "fTimeCount : " & fTimeCount End Sub ’関数化すると Private Function fTimeCount() As String Static lngST As Long If lngST = 0& Then lngST = timeGetTime Else fTimeCount = "経過時間=" & Str$((timeGetTime - lngST) / 1000) & " 秒です" lngST = 0& End If End Function timeGetTime 関数と GetTickCount とでは殆ど変わらないようです。 VBの Timer 関数は少し精度が低いようです。 |
02/01/09