Zeit mit GetTickCount berechnen



  • Hi,

    die dauer eines z.b. ereignisses läßt sich ja durch differenzbildung der werte von GetTickCount berechnen... was mach ich aber, wenn gerade da ein zählerüberlauf aufgetreten ist und der zähler zurückgesetzt wird??
    wie kann ich da trotzdem die "richtige" dauer berechnen?

    freu mich über jede antwort... viele grüße



  • Na also alle 49,7 Tage wirst du es ja wohl mal schaffen, nachzuschauen, ob ein Überlauf bald stattfindet.



  • es geht um das prinzip wie man es macht (machen könnte) so ein proble zu lösen und nicht ob es jetzt grad sinn macht!



  • ungefähr so:

    startzeit = GetTickCount();
    // ...
    // mach was langes...
    // ...
    millisekunden_verstrichen = abs(GetTickCount()-startzeit);
    


  • Angela schrieb:

    die dauer eines z.b. ereignisses läßt sich ja durch differenzbildung der werte von GetTickCount berechnen... was mach ich aber, wenn gerade da ein zählerüberlauf aufgetreten ist

    Gar nichts, da sich das bei der Subtraktion wieder "ausgleicht". Auch ein abs, wie bei net's Beispiel, bringt hier nichts, da GetTickCount einen unsigned Wert zurückliefert und somit schon absolut ist.
    Sofern deine Dauer jedenfalls den Wertebereich von DWORD nicht übersteigt, wirst du auch keine Probleme bekommen.

    Angela schrieb:

    und der zähler zurückgesetzt wird??

    Hier versteh ich nicht ganz was du damit meinst.


Anmelden zum Antworten