Rechnen mit CTime, CString



  • Moin zusammen,

    ich habe ein kleines Problem:
    Ein Programm soll immer exakt zu einer bestimmten Zeit (Minutengenau)etwas ausführen. Die Zeit dazwischen soll es "schlafen". Ich hole mir hierzu die aktuelle Zeit vom System und aus einer Datei die Zeit, wann die Aktion ausgeführt werden soll. Aus diesen beiden Zeiten soll nun ein Sleep berechnet werden, der eben exakt die Pause überbrückt....? Die Zeiten wandle ich von CTime in CString um. Kann ich mit diesen Zeiten mathematisch operieren?? Wie komme ich zu den Millisekunden, die mein Sleep() benötigt???

    Danke
    Thomas



  • CTimeSpan - damit kannst du Zeiten addieren / subtrahieren...



  • Wie bekomme ich dann aus einem CString 12:05 zwei integer-werte?
    int a==12 und int b==5??



  • Warum wandelst du die Zeit denn in CString um?
    Um auf die Stunden- bzw. Minutenangabe zu kommen, schau dir mal die Methoden von CTime bzw. CTimeSpan an.



  • Du suchst mit CString::Find einfach nach dem ':'

    Dann kannst du mit atoi beide Seiten in int umwandeln
    atoi(str)
    und
    atoi(str.Right(str.GetLength()-foundPos));



  • Ein Vorschlag das Problem auf eine andere Art zu lösen:

    Setze einen Timer im Minuten (Sekundentakt) und vergleiche, ob die Zeit schon überschritten wurde. Der Vorteil ist, das man die verbleibende Zeit etc. ausgeben kann. Zieht zwar ein bischen Performance, aber warum sollte man sonst schnellere Rechner bauen??


Anmelden zum Antworten