Monstakalender



  • Hallo

    Ich habe eine Problem mit dem Montaskalender. Ich will so eine Art Erinnerungsfunktion basteln. Aber leider bekomme ich es nicht hin das Datum auszulesen 😞
    Habe da schon mit der funktion getCurSel rumexperimentiert aber da kam nix gescheites rum!

    Hat jemand ein paar Code schnipsel?

    MFG

    Jens



  • Ich habe sehr gute Erfahrungen mit dem mscal.ocx gemacht. Da wird automatisch ein Wrapper mit allen möglichen Gettern und Settern erzeugt.



  • Also bei Datumssachen arbeite ich immer mit COleDateTime das funzt wunderbar.


  • Administrator

    Eh ja was willst denn genau machen? Nur das Datum auslesen, welches der User gerade im Monthcalender selektiert hat?

    Dann geht das so mit dem CMonthCalCtrl:

    FunktionAuslesen()
    {
        CTime time;
        // Ich sag jetzt m_ctrlCalender ist dein CMonthCalCtrl.
        if(m_ctrlCalender.GetCurSel(time))
        {
            CString str = time.Format("%d.%m.&Y");
            AfxMessageBox("Sie folgendes Datum ausgewählt: " + str, MB_OK, 0);
        }
        else
        { AfxMessageBox("Fehler beim auswählen des Datums!", MB_OK, 0); }
    }
    

    Schau dir dazu vielleicht noch CMonthCalCtrl und CTime in der MSDN an.
    Ich wünsch dir noch viel Glück, wenn du die Daten markieren willst. Habe mich damals an dem selber totgequält ^^

    Grüssli



  • jo also im moment möchte ich die daten nur auslesen wobei es sicher auch praktisch wäre wenn er gleich zu anfang mal das aktuelle datum anzeigen würde!

    Ich weiß net warum aber irgendwie zegt er bei mir immer das falsche datum an 🙂 er springt da immer hin und her und man erkennt keine logik drinnen 😞



  • mit SetCurSel kannst doch ein Datum setzen und mit COleDateTime::GetCurrentTime(statische Methode) kannst dir das gerade aktuelle Datum holen, also

    m_ctrlCalender.SetCurSel(COleDateTime::GetCurrentTime());
    


  • Ne ne ich habe schon zum auslesen getcursel genommen aber immer wenn ich drauf klicke zeigt er mit ein datum an und springt dann wo anderes hin!


  • Administrator

    Das ist schwer zu sagen, da es normalerweise funktioniert. So ist es schwer zu helfen. Aber mich erinnert das irgendwie ein Problem das ich in meinen Anfängen hatte. Hast du eine Membervariable irgendwie dem Monatskalender gegeben? Und dann machst du immer UpdateData(FALSE); aber nie UpdateData(TRUE); wodurch er immer zu nem alten Datum zurückspringt? Ist übrigens auch noch eine Möglichkeit zum auslesen des Datums. Du übergibts dem Teil eine Control-Value-Variable. So kannst auch das ausgewählte Datum abrufen, bzw. setzen.
    Grüssli ^^



  • Also das hier ist mein Code:

    UpdateData(true);
    	CString str;
    	CTime time;
        if(m_conkal.GetCurSel(time))
        {
            str = time.Format("%d.%m.%Y");
            AfxMessageBox("Sie folgendes Datum ausgewählt: " + str, MB_OK, 0);
        }
        else
        { AfxMessageBox("Fehler beim auswählen des Datums!", MB_OK, 0); } ;
    
    	CString hilf;
    	ofstream datei("erinnerungen");
    	if(!datei.good())
    	{
    		MessageBox("Fehler beim Speichern");
    	}
    
    	datei << "/n" << str << "***" << m_text;
    	UpdateData(false);
    


  • Tja ich merke schon ich bin mal wieder mit meinem Problem alleine 😞



  • Schau dir mal das Posting von Dravere genauer an.
    Mach mal einen Debug und du siehst was passiert.



  • das soll Konkret was heißen? Hmmm habe die update datas auch schon an andere stellen gepackt!


Anmelden zum Antworten