Ich baue einen Timer
-
Wie kann ich die Differenz zwischen 2 Zeitpunkten bilden??
CTime StartTime =CTime::GetCurrentTime(); CTime ActualTime = CTime::GetCurrentTime(); CTime DiffTime; int Seconds=0; DiffTime = ActualTime - StartTime; Seconds=DiffTime.GetSecond(); while (Seconds<3) { ...... }wollte sowas machen, geht aber nicht wegen dem Minus bei
DiffTime = ActualTime - StartTime;Hat jemand ne Idee?
-
Schau dir mal CTimeSpan an.

-
oder tut es auch ::GetTickCount()
?Gruss, Gio
-
DWORD then = ::GetTickCount(); // ... // später: DWORD now = ::GetTickCount(); DWORD diff = now - then; // in millisecondsDas schöne an ::GetTickCount ist dass es die schnellste Clock ist die du unter Windows bekommen kannst, und dass es eine "monotone" Clock ist, d.h. die kann niemals zurücklaufen und misst "duration" und nicht "system time".
(die Systemzeit KANN nämlich zurückspringen oder auch mal langsamer werden - ::GetTickCount eben netterweise nicht).
-
OK, dann im µs Bereich:
QueryPerformanceFrequency(..), GetWithQueryPerformanceCounter(..)
Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.Siehe MSDN ...
