Wer wissen möchte, wie schnell nun bei ihm Now reagiert, der kannst ja mal von Windows erfragen (siehe Demo), oder er mist nach (siehe Codeschnipsel)
Das Codeschnipsel
Benötigt wir ein Button (Button1) und ein Editfeld (Edit1).
Ausgegeben wird die durchschnittliche Dauer (in Millisekunden).
Gemessen werden 1000 Zyklen (kann notfalls geändert werden), was bei 10ms Zyklusdauer etwa 10 Sekunden dauern sollte.
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var T, N: TTime;
A: Integer;
S: TTime;
Begin
S := Now;
T := S;
A := 0;
While A <> 1000 do Begin
N := Now;
If N <> T Then Begin
T := N;
Inc(A);
End;
End;
Edit1.Text := FloatToStr((N - S) * MSecsPerDay / A);
Beep; Sleep(250); Beep; Sleep(250); Beep;
End;
Die Demo
Auf Seite 2 steht unter SystemTimeAdjustment / TimeAdjustment & TimeIncrement der Wert (Bedeutung siehe
GetSystemTimeAdjustment)