Forum: Programmieren allgemein
Delphi
by Olli73,
15. Apr 2017
Er zählt immer 0.1 = 100 ms hoch; er kann aber nicht davon ausgehen, dass der Timer alle 100 ms ausgelöst wird. Auf einem langsamen Rechner dauert es evtl. 200 ms und er zählt aber nur 100 hoch und misst so die doppelte Zeit.
Forum: Programmieren allgemein
Delphi
by Olli73,
15. Apr 2017
Entweder du rechnest komplett in Millisekunden (Typ Cardinal, wie es GetTickCount zurückgibt) oder du prüfst einfach mit SameValue(...). Denn bei real und Co darf man nie auf gleich prüfen, da diese Zahlen zu ungenau sind und fast nie z.B. exakt 2.0 ergeben sondern z.B: 2,000....0001.
Forum: Programmieren allgemein
Delphi
by Olli73,
15. Apr 2017
Ein Timer ist viel zu ungenau. Besser du speicherst dir in der Variablen GetTickCount ab und rechnest immer GetTickCount - DieVariable.