SetTimer funzt net....



  • Ich hab eine Funktion, die die aktuelle Zeit anzeigt...
    Es ging nicht, damit die Uhrzeit auf SEKUNDEN genau dauernd aktualisiert wird, da das Proggy immer hängt.

    Nun hatte ich die Funktion WM_TIMER hinzugefügt und in OnTimer mein Zeitcode eingefügt.

    Warum geht das nicht??
    Hä? Du kommst net nach? Schau hier! ---> CTime::GetCurrentTime(): in ner Schleife???



  • du kannst den timer doch nicht sofort wieder killen. lass das KillTimer weg



  • Original erstellt von <Programmer85>:
    du kannst den timer doch nicht sofort wieder killen. lass das KillTimer weg

    Irgendwie logisch 😃 , doch das Porb ist immer noch da und dasselbe 😞
    Ob nun MIT KillTimer oder OHNE

    [ Dieser Beitrag wurde am 05.09.2002 um 15:03 Uhr von Programmer85 editiert. ]



  • Nimm folgenden Zeitcode:

    CString m_zeit;
    setlocale(LC_ALL, "German");
    CTime zeit = CTime::GetCurrentTime();   //ZEIT VOM SYSTEM BEKOMMEN
    m_zeit.Format("%02d:%02d:%02d", zeit.GetHour(), zeit.GetMinute(), zeit.GetSecond());  //ANZEIGEN
    UpdateData(FALSE);
    

    Das schreibste in einen OnTimer Funktion

    if (nIDEvent = 1)
    {
         //Zeit Code hierhin
    }
    

    Und den Timer wie folgt aufrufen

    SetTimer(1,1000,NULL);
    

    in m_zeit haste dann die Zeit...

    [ Dieser Beitrag wurde am 05.09.2002 um 15:08 Uhr von C-O-M-M-A-N-D-E-R editiert. ]



  • Dann hast du einen Fehler gemacht!



  • Nein hab ich net!!!
    Sonst wären ja MASENHAFT 😃 *lol* ERRORS zustande gekommen!!!

    Aber wenn du doch recht hast....
    Wie lautet es dann richtig???

    😉



  • Danke C-O-M-M-A-N-D-E-R !

    Es klappt net!
    In OnPaint()
    hab ich

    SetTimer(1, 1000,NULL);
    in OnTimer()
    hab ich DEIN Code...

    PS: setlocale und LC_ALL kennt der net!

    Das Prob aber: Es wird nichts angezeigt! Überhaupt nichts!



  • Ohhh stimmt hab was vergessen 🙂

    #include <locale.h>
    

    Und den SetTimer musst du in OnInitDialog schreiben....

    (du hast doch ne Dialoganwendung oder)

    bei SDI/MDI wüsste ich es jetzt nicht..



  • In die Viewklasse

    OnInitialUpdate()
    dein Settimer

    Wenn du ihn in Onpaint aufruft wird jedesmal der Timer gestartet. (Schlecht da wir nur einen Timer brauchen und das bei Programmstart)

    In der OnPaint() gibst du nur aus was in der Var m_zeit steht



  • Original erstellt von C-O-M-M-A-N-D-E-R:
    **Ohhh stimmt hab was vergessen 🙂

    #include <locale.h>
    

    Und den SetTimer musst du in OnInitDialog schreiben....

    (du hast doch ne Dialoganwendung oder)

    bei SDI/MDI wüsste ich es jetzt nicht..**

    Es geht jetzt! Ich hab das locale und so weiter weggelassen.
    Ein EditFeld hab ich eine variable m_zeit erstellt.
    Und SetTimer hab ich in OnPAINT() aufgerufen.

    Und das klappt!! Thx!!


Log in to reply