Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi GetTickCount immer sehr ähnliches Ergebnis (https://www.delphipraxis.net/45052-gettickcount-immer-sehr-aehnliches-ergebnis.html)

TheAn00bis 28. Apr 2005 17:42


GetTickCount immer sehr ähnliches Ergebnis
 
Delphi-Quellcode:
var anfang, ende:cardinal;
begin
anfang:=GetTickCount;
 InsertSort;
ende:=GetTickCount;

label2.caption:=inttostr((anfang-ende)div 1000)+'s';
end;
Die Caption von Label2 fängt immer - egal wie lang das zu Sortierende ist und egal, ob es 5 oder 30 Sekunden dauert, bis sortiert ist - mit 42949 an. Wie kann das sein!?

Edit: Falsch, wenn es sehr schnell ist, dann ist es 0.

jfheins 28. Apr 2005 17:46

Re: GetTickCount immer sehr ähnliches Ergebnis
 
Probier mal ende - anfang ;)

ADD: Da du Cardinal genommen hast, und den Überlaufschutz deaktiviert hast, bemerkst du nicht, dass du unter Null kommst, und dann an der Obergrenze des Cardinals bist ...

TheAn00bis 28. Apr 2005 17:49

Re: GetTickCount immer sehr ähnliches Ergebnis
 
OH Gott...

Trotzdem danke... :)

Hab eine halbe Stunde rumprobiert...

Was meinst du mit deinem add?

Khabarakh 28. Apr 2005 18:16

Re: GetTickCount immer sehr ähnliches Ergebnis
 
Wenn du die Überlaufprüfung abschaltest, wirst du keinen Fehler erhalten, falls du einer Variable einen Wert zuweist, der außerhalb ihres Bereichs liegt. Cardinal ist ein 32bit-Integer ohne Vorzeichen, also 0..4294967295 (entspricht z.B. in C# uint). Wenn du diesem einen negativen Wert zuweist, "klappt" er um, fängt also wieder von oben an ("42949...").


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf