AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Exakte Zeitmessung! (millisekunden)
Thema durchsuchen
Ansicht
Themen-Optionen

Exakte Zeitmessung! (millisekunden)

Ein Thema von Pris0n · begonnen am 27. Mai 2007 · letzter Beitrag vom 27. Mai 2007
Antwort Antwort
Pris0n

Registriert seit: 24. Feb 2007
Ort: Nürnberg
1 Beiträge
 
Turbo Delphi für Win32
 
#1

Exakte Zeitmessung! (millisekunden)

  Alt 27. Mai 2007, 16:20
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!
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Exakte Zeitmessung! (millisekunden)

  Alt 27. Mai 2007, 16:27
du kannst mit GetTickCount die anzahl der milisekunden seit systemstart auslesen...
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Exakte Zeitmessung! (millisekunden)

  Alt 27. Mai 2007, 17:07
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz