Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Exakte Zeitmessung! (millisekunden) (https://www.delphipraxis.net/92855-exakte-zeitmessung-millisekunden.html)

Pris0n 27. Mai 2007 16:20


Exakte Zeitmessung! (millisekunden)
 
Hi,
also bevor wieder jeder meckert, dass man die Suche benutzen soll. Das hab ich gemacht ich hab sogar gegoogelt aber ich hab ein problem, wie soll ich es genau umsetzen, dass ich mit millisekunden arbeiten kann?

ich möchte eine digitale zeitanzeige erstellen.

ich hab schon versucht mit dem query performance counter zu arbeiten, aber ich krieg das abslout nicht auf die reihe.
Bitte helft mir!

Ich habe 2 Eingabefelder in die der User Minuten und Sekunden angeben kann. Diese werden dann in Millisekunden umgewandelt und dann in einer Variable gepsichert.
Und diese lasse ich nun auf dem Bildschirm ausgeben.
Dieser Countdown soll jetzt runterzählen und dann den Pc runterfahren.
Funktioniert auch alles nur ist mit der delphi timer halt zu ungenau.
Und darum hätte ich es gerne auf 1 millisekunde genau.!

danke schon mal!

dominikkv 27. Mai 2007 16:27

Re: Exakte Zeitmessung! (millisekunden)
 
du kannst mit GetTickCount die anzahl der milisekunden seit systemstart auslesen...

SirThornberry 27. Mai 2007 17:07

Re: Exakte Zeitmessung! (millisekunden)
 
auf eine millisekunde Genau bekommst du es nicht hinn weil dein Programm gar nicht jede Milisekunde aktiv ist. Wenn mehrere Programme aktiv sind wir die Rechenzeit auf die Programme aufgeteilt und demzufolge kann es sein das dein Programm nur alle 16 millisekunden etwas zeit bekommt.

Zitat:

ich hab schon versucht mit dem query performance counter zu arbeiten, aber ich krieg das abslout nicht auf die reihe.
Wie sehen denn dein Versuche aus? (Quelltext). Mit QueryPerformaceFrequency bekommst du heraus wieviel Zyclen dein Rechner Pro Sekunde schafft. Mit QueryPerformaceCounter bekommst du heraus wieviel Zyclen rum sind.
Wenn dir also QueryPerformaceFrequency 2000 zurück geben würde heißt es das dein Rechner 2000 Zyclen pro Sekunde schafft (du also Halb-Millisekundengenau etwas bestimmen kannst).
Wenn also zwischen dem ersten Aufruf von QueryPerformanceCounter und dem zweiten Aufruf von QueryPerformaceCounter 500 Unterschied sind wären das 250 Millisekunden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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