Timer



  • Hi

    sobald ein bestimmter tag (oder später) erreicht wurde, soll eine Zeile Code (eine ShellExecute-Anweisung) ausgeführt werden. ich will also, das er bei jedem programmstart überprüft, ob es dieser tag ist (oder später).
    wie geht das?


  • Administrator

    Also ich denke du weisst wohin mit dem Code für den Programmstart. Um das Datum und aktuelle Uhrzeit vom Computer zu holen kannst du folgendes machen:

    CTime Time = CTime::GetCurrentTime();
    

    In dem Time ist nun das Datum und die aktuelle Uhrzeit gespeichert. Zum Vergleich geht das auch ganz einfach:

    CTime TimeX; // Ist sagen wir das Datum welches definiert wurde
    CTime CurTime = CTime::GetCurrentTime();
    
    if(CurTime >= TimeX)
    {
        // Wenn also die aktuelle Uhrzeit grösser oder gleich der eingegebenen
        // Zeit ist, wird ShellExecute ausgeführt.
        ShellExecute(...blablabla...);
    }
    

    Schaut dir dazu wohl auch noch CTime in der MSDN an. Geht nämlich nur von 1970 bis 3000 oder so. ^^

    Grüssli



  • erstmal danke

    kannst du noch ein beispiel geben, wie ich das zieldatum definieren muss?


  • Administrator

    Hmmm arbeitest du mit einem Dialog zusammen? Denn da gäbe es ein Control. Ein DateTimePicker. Dem kannst du gleich eine CTime Variable zuordnen. So kannst du im Kalender vom DateTimePicker einen Tag aussuchen, anklicken und dann hast du direkt dein gefülltest CTime. Du kannst natürlich auch ein Month Calendar Control einfügen, da kannst als Value-Variable auch ein CTime auswählen.

    Ansonsten kannst du dir auch 3 Edit-Felder machen. Tag, Monat, Jahr. Und die Uhrzeit kannst ja auch noch per Edit-Fehlder machen.

    Ein CTime tust du füllen, wie es in der MSDN im Konstruktor beschrieben ist.

    CTime Time = CTime(nYear, nMonth, nDay, nHour, nMin, nSec);
    

    Und wenn du nur das Datum reintun willst, setzt du nHour, nMin und nSec einfach auf 0.

    Und ich frag mich grad wieso ich diesen ganzen Text eigentlich schreibe, steht ja alles in der MSDN und nur weil zu faul bist dort nachzuschauen, lässt du mich all den Text hier übersetzt reinschreiben? ^^
    Zudem ist der Gedanke ja so einfach selber zu machen, da bin ich ja wirklich blöd, wenn ich mich so ausnutzen lassen *g*

    Gute Nacht Grüsslis


Anmelden zum Antworten