tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
1957
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Hallo,

    wie kann ich denn aus einem Monatskalender (Klasse: CMonthCalCtrl) das aktuelle Datum (am besten in Textform und evtl. im Format "dd.mm.yyyy") auslesen?

    Ich finde einfach keine passende Methode dafür...

    Oder ist schon allein die Klasse falsch, CMonthCalCtrl?


    Bitte um HIlfe!


    mfG

    MAN
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    An das aktuelle Datum kommt du einfacher ran mit CTime::GetCurrentTime (). CTime hat auch eine Format()-Methode.
    Oder meinst du den vom User ausgewählten Tag? Dazu gibt es GetSelRange() - ich habe es allerdings selbst noch nicht verwendet.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Ja,... ich meinte das Datum, was der User grad auf dem Kalender ausgewählt hatte.

    Mit GetSelRange bekomme ich ja das MinDate und das MaxDate von mehreren ausgewählten Daten ("Datums") .

    Wenn ich aber nur ein Datum abfragen will, und setze das Flag "Mehrfachauswahl" auf false, dann bringt er gleich n Fehler beim Aufruf der Methode GetSelRange (ist eigentlich auch verständlich). Wie kann ich jetzt nur das eine aktuell ausgewählte Datum abfragen?

    mfG

    MAN
     

  4. #4
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Das weiss ich auch nicht, da ich damit noch nicht gearbeitet habe - ich habe lediglich das CDateTimeCtrl verwendet. Ich werde aber nachher mal ausprobieren, wie das geht. Vielleicht kann ich dir dann weiterhelfen.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  5. #5
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Das wär nett, habe es nämlich selbst mal ausprobiert mit GetCurSel( CTime& refDateTime ), aber irgendetwas stimmt da noch nicht (gibt bei refDateTime->GetDay/Month/Year überall -1 zurück...).

    Ebenso wieder vielen Dank für die Mühe!

    mfG

    MAN
     

  6. #6
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    STOPP

    hab grad gemerkt, dass das control, was du immer benutzt (CDateTimeCtrl) meinen Anforderungen viel mehr entspricht
    Also benutz ich das, und wie ich da das aktuelle Datum herausfind, is mir glaub ich klar: ich tippe mal GetWindowText

    Vielen Dank nochmal!

    mfG

    MAN


    <--- Close Section --->
     

  7. #7
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Genau das, nämlich GetCurSel(), habe ich gerade mit Erfolg ausprobiert und wundere mich darüber, dass ich es nicht vorher in der Doku gefunden habe. Bei mir ging das so:
    Code :
    1
    2
    3
    4
    
      CTime sel;
      m_ctlCalendar.GetCurSel( sel );
      CString s1 = sel.Format( "%A, %B %d, %Y" );
      SetWindowText( s1 );
    ----
    Da habe ich anscheinend zu langsam gepostet. Aber vielleicht findet sich ja noch jemand, der den Schnipsel gebrauchen kann.
    Geändert von Kachelator (15.03.04 um 12:18 Uhr)
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  8. #8
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Ok, danke!

    jedoch benutze ich ja jetzt das CDataTimeCtrl und bei diesem habe ich nun ne andere Frage: ich kann doch das Flag "Nichts anzeigen" setzen. Wie überprüfe ich jetzt, ob der User da ein Hakerl gemacht hat, oder nicht?

    mfG

    MAN
     

  9. #9
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Wenn kein Haken da ist, klappt GetTime() nicht und gibt GDT_NONE zurück. Das gilt jedenfalls für DWORD GetTime( CTime& timeDest ) const;.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  10. #10
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Ok, funktioniert auch wieder wunderbar!

    Wie kann ich jetzt aber das hakerl per code setzen, zum beispiel, wenn ich beim initialisieren der Form das hakerl raushaben will (also ich habe eine suche, wo ich zum start nicht nach datum suchen will) ?


    mfG

    MAN
     

  11. #11
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Die MSDN Lib, aus der ich übrigens all mein Wissen über diese Controls besitze, sagt darüber:
    This state can be set with the DTM_SETSYSTEMTIME message or verified with the DTM_GETSYSTEMTIME message.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  12. #12
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    ich will ja nich nerven (das hatte ich in der MSDN ja auch schon gelesen): wie wende ich denn diese "Funktion" an?!
    Code :
    1
    
    CDateTimeCtrl->DTM_SETSYSTEMTIME( GDT_NONE )
    ?

    Ich bin noch ein "Anfänger", habe erst seit letzter Woche mit MFC angefangen...

    mfG

    MAN
     

  13. #13
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Versuch mal das:

    Code :
    1
    
     myDateTimeCtrl.SendMessage( DTM_SETSYSTEMTIME, GDT_NONE   );
    Habe aber keine Ahnung, ob das klappt.
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  14. #14
    Avatar von MAN
    MAN MAN ist offline Mitglied Brokat
    Registriert seit
    Mar 2004
    Beiträge
    426
    Spitze! Genau so gehts!

    Vielen, vielen Dank!

    Jetzt weiß ich wenigstens auch, wie ich all die anderen Flags setze (und zwar mit SendMessage).


    mfG

    MAN
     

  15. #15
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Jau. Durch den Gebrauch von MFC habe ich SendMessage() so selten benutzt, dass ich vorhin erstmal selbst überlegen musste, wie das geht..
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

Ähnliche Themen

  1. Server aktuelle Datum
    Von w_wintersun im Forum Java
    Antworten: 1
    Letzter Beitrag: 22.11.10, 11:04
  2. Antworten: 11
    Letzter Beitrag: 03.06.08, 15:06
  3. (C++) Aktuelle Zeit und Datum in Datei schreiben
    Von the_undertaker im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 30.06.07, 15:52
  4. aktuelle url auslesen mit http:// ...
    Von sphings-online im Forum PHP
    Antworten: 1
    Letzter Beitrag: 30.01.05, 03:24
  5. imme aktuelle uhrzeit und datum ?
    Von x12x13 im Forum Javascript & Ajax
    Antworten: 19
    Letzter Beitrag: 06.02.03, 13:22