![]() |
Sekunden und Millisekunden anzeigen
Hallo,
ich versuche die zwischen zwei Zeitpunkten vergangene Zeit in Sekunden und Millisekunden anzuzeigen. Ich habe auch schon eine Funktion, aber die Zeit läuft irgendwie zu schnell...
Delphi-Quellcode:
Wie bekomme ich da auchnoch die ms dazu?
var
h, m, s: Word; Diff: Integer; begin TimeNow:=GetTickCount; Diff:=TimeNow - StartTime; m:=Diff div 60; s:=Diff mod 60; Form1.Caption:=Format('%.2d:%.2d', [m, s]); Danke |
Re: Sekunden und Millisekunden anzeigen
Schau dir mal DecodeDateTime an.
|
Re: Sekunden und Millisekunden anzeigen
Meine Hilfe geht nicht.. Hab Windows Vista und Delphi 7 und da geht die Hilfe nicht mehr??
|
Re: Sekunden und Millisekunden anzeigen
Also ich finde den QueryPerformanceCounter am besten.
Das hier ![]() ![]() denötigst du, um berechnungen anzustellen. Der hat mich nie im Stich gelassen :firejump: //Edit: Natürlich das für dich interessante ist, dass das Ergebnis in µSek herauskommt. Also nur noch durch 1000 für mSek bzw. durch 1000² für Sek teilen. |
Re: Sekunden und Millisekunden anzeigen
Zitat:
![]() |
Re: Sekunden und Millisekunden anzeigen
weshalb soll das nicht gehen?
Delphi-Quellcode:
was mir aufgefallen ist, ist
var
anfang, differenz: cardinal; begin anfang := gettickcount(); //was dazwischen differenz := GetTickDiff(Anfang, GetTickCount()); //differnz in millisekunden a) deine variable StartTime nicht initialisiert b) arbeitest du mit zu kleinen variablen c) wandelst du deine werte falsch um. denk dran, gettickcount gibt die anzahl der verstrichenen millisekunden zurück ... <HTH> |
Re: Sekunden und Millisekunden anzeigen
Hey!
Die Variable ist initialisiert, aber nicht in dieser Prozedur, sondern in einem Button.OnClick. Würde gerne GetTickDiff aufrufen, aber es wird bei mir nicht gefunden. In welcher Unit ist die? Achso: Und meine Hilfe funzt wieder! Danke! Doch da steht weder zu GetTickCount noch zu GetTickDiff was drin... Danke |
Re: Sekunden und Millisekunden anzeigen
GetTickDiff() //IdGlobal
GetTickCount()//Windows |
Re: Sekunden und Millisekunden anzeigen
Ich habe nun folgenden Code:
Delphi-Quellcode:
Jetzt sehe ich ja in der Caption der Form die "Sekunden". Doch die laufen viel zu schnell und stimmen nicht mit "realen" Sekunden überein! Wieso nicht? Was mache ich falsch?
Diff:=GetTickDiff(StartTime, GetTickCount());
s:=Diff div 60; //für Sekunden Form1.Caption:=Format('%.2d', [s]); StartTime ist übrigens dann initialisiert, wenn der Timer gestartet wird und bekommt den aktuellen GetTickCount-Wert. danke. |
Re: Sekunden und Millisekunden anzeigen
Zitat:
Delphi-Quellcode:
gettickcount liefert die zeit in millisekunden = 1/1000 sekunde, keine 60'tel. daher musst du hier mit 1000 dividieren.
Diff:=GetTickDiff(StartTime, GetTickCount());
s:=Diff div 1000; //für Sekunden <<< so wird schon eher 'n schuh draus Form1.Caption:=Format('%.2d', [s]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz