Rubrik: Datum/Zeit und Timer · Timer | VB-Versionen: VB4, VB5, VB6 | 10.03.04 |
Stopuhr im Mini-Format Eine Stopuhr mit geringen Systemressourcen | ||
Autor: Roland Wutzke | Bewertung: | Views: 22.921 |
www.vb-power.net | System: Win9x, Win2k, Win8, Win10, Win11 | Beispielprojekt auf CD |
Man braucht sie mal immer wieder - eine Stopuhr. Sei es um den Ladelauf einer Tabelle zu messen, die gerade geschriebene Funktion zu optimieren, den Datendurchsatz im LAN zu prüfen und und und... Es gibt viele Möglichkeiten für den Einsatz einer Stopuhr.
Heute möchten wir Ihnen eine Stopuhr vorstellen, deren Code nicht nur sehr klein ist, sondern auch noch direkt die nötige Formatierung vornimmt.
Fügen Sie den nachfolgenden Code in ein Modul ein:
Public Function StopWatch( _ Optional RunWatch As Boolean = True, _ Optional TimeMask As String = "nn:ss") As String Static Start As Single Select Case RunWatch Case True ' Beginn der Zeitmessung Start = Timer: StopWatch = "0" Case Else ' Ende der Zeitmessung StopWatch = Format$(Int(Timer - Start) * _ (1 / 86400), TimeMask & ":") & _ Format$(((Timer - Start) - Int(Timer - Start)) * 1000, "000") End Select End Function
Gestartet wir die Stopuhr ganz einfach mit...
' Zeitmessung starten Call StopWatch
... und beendet dann so:
' Zeitmessung beenden und Ergebnis ' in einem Label-Control anzeigen Label1.Caption = StopWatch(False)
Die dabei gemessene Zeit wird in "Minuten, Sekunden, Millisekunden" zurückgegeben. Über den optionalen Parameter TimeMask kann die Formatierung auch angepasst werden. Die Millisekunden finden dabei keine Berücksichtigung und werden immer zurückgegeben.
Kleines Beispiel:
Ein Recordset soll vollständig ausgelesen und in eine ListBox übertragen werden. Die dafür benötigte Zeit soll in einem Label-Control ausgegeben werden.
' Zeitmessung starten Call StopWatch ' Recordset durchlaufen und Daten in ListBox übertragen Do Until oRs.Eof List1.AddItem oRs.Fields("Name").Value oRs.MoveNext Loop ' Benötigte Zeit: Label1.Caption StopWatch(False)