- 締切済み
時間取得関数
OS:win2000pro VB:VB6.0sp5 変数(信号)p が不規則に 0,1 を繰り返してます (1)p=0→1 に変化したおりパソコンのシステム時刻(start_tm) を取得 (2)p=1→0 に変化したおりパソコンのシステム時刻(end_tm) を取得 (3)p=1 の時間(end_tm - start_tm)を取得 する方法を教えてください よろしくお願いいたします
- みんなの回答 (4)
- 専門家の回答
みんなの回答
s_husky です。 VB6がありませんので未テストで書いたところバグがあります。 E、Sは、当然のことながら静的変数です。 また、ルーチンのみを参考にし、TimerコントロールはHELPを参照して下さい。
初歩的な手法を案内します。 1、Pが広域変数であるとして、 2、Timerコントロールは配置しているとして、 Timerイベントに以下のコードを記述します。 Static NowP As Integer Dim NewP As Integer Dim S As Long Dim E As Long NewP = P If NewP <> NowP Then NowP = NewP If NowP = 0 Then E = Timer Debug.Print E - S Else S = Timer End If End If
初歩的な手法を案内します。 1、Pが広域変数であるとして、 2、Timerコントロールは配置しているとして、 Timerイベントに以下のコードを記述します。 Static NowP As Integer Dim NewP As Integer Dim S As Long Dim E As Long NewP = P If NewP <> NowP Then NowP = NewP If NowP = 0 Then E = Timer Debug.Print E - S Else S = Timer End If End If
- taunamlz
- ベストアンサー率20% (175/843)
Public Declare Function timeGetTime Lib "winmm.dll" () As Long public start_tm as long public end_tm as long (1)start_tm = timeGetTime() (2)end_tm = timeGetTime() (3)Label1.Caption = (CDbl(start_tm) - CDbl(start_tm)) / 1000 & "秒" 多分これで1ms単位で時間を測定できると思います。