Das hier kannst du Dir mal anschaun; (für die Übung)
http://www.delphipraxis.net/internal...ormancecounter
Und hier Code für den QueryPerformanceCounter;
(ungetestet, hab grad kein Delphi zur Hand!)
Delphi-Quellcode:
var
TimeBetweenTicks: Integer; // TimeBetweenTicks in ms
Abort: Boolean;
Freq, Start, Stop: Int64;
[..]
Abort := false;
QueryPerformanceFrequency(Freq); // Freq kann sich nur durch Neustart des PCs ändern!
QueryPerformanceCounter(Stop); // Wert vernünftig initialisieren
while not(Abort) do
begin
QueryPerformanceCounter(Start);
while (((Stop - Start)/Freq) < TimeBetweenTicks) do
begin
QueryPerformanceCounter(Stop);
// evtl: Application.ProcessMessages(); Keine Ahnung wie sich das auf die Genauigkeit auswirkt.
end;
//Beep, Klick oder andere Anzeige des Ticks
// evtl: Abort := true;
end;
[..]
Hoffe das klappt.
Auch wenn ich glaube, dass ein PC ( noch ) zu ungenau ist für diese Aufgabe,
MfG
Thomas