Tipp 0267 Exakte Zeitmessung
Autor/Einsender:
Datum:
  Sebastian Bauersfeld
31.08.2002
Entwicklungsumgebung:   VB 5
Mit den beiden API-Funktionen QueryPerformanceFrequency und QueryPerformanceCounter lässt sich eine exakte Zeitmessung durchführen, und zwar bis zu einer 10.000stel Sekunde Genauigkeit (genauer als bei der Formel 1 ;)).
Code im Codebereich des Moduls
 
Option Explicit

Private Declare Function QueryPerformanceFrequency Lib _
      "kernel32" (ByRef Frequency As Currency) As Long

Private Declare Function QueryPerformanceCounter Lib _
      "kernel32" (ByRef TimerValue As Currency) As Long

Private i_Frequency As Currency

Public Sub Init_ExactTimer()
  QueryPerformanceFrequency i_Frequency
End Sub

Public Function ExactTimer_Value() As Currency
  QueryPerformanceCounter ExactTimer_Value
  ExactTimer_Value = ExactTimer_Value / i_Frequency
End Function
 
Code im Codebereich der Form
 
Option Explicit
Dim LastStop   As Currency

Private Sub Form_Load()
  Init_ExactTimer
End Sub

Private Sub cmdStopTime_Click()
  If cmdStopTime.Caption = "Stop &Timer" Then
    MsgBox "Seit dem letzten Click sind " & _
          ExactTimer_Value() - LastStop & " Sekunden vergangen"
    cmdStopTime.Caption = "&Start Timer"
    Exit Sub
  End If
  cmdStopTime.Caption = "Stop &Timer"
  LastStop = ExactTimer_Value()
End Sub
 
Weitere Links zum Thema
Countdown
Zeiten berechnen

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,9 kB) Downloads bisher: [ 2730 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Donnerstag, 8. September 2011