uhrzeit im dialog
-
hallo
ich habe soeben anhand des oben erwähnten Beispiels einen Timer in meine Applikation eingebunden und er funktioniert sogar
nur gefällt mir nicht, dass er die Zeit folgendermassen anzeigt:
16:8:2
anstatt:
16:08:02
kann mir jemand sagen, wie ich das anstellen muss, damit er auch die 0 anzeigt falls die stunden, minuten oder sekunden nur einstellig sind ?
-
Hi,
schau Dir mal beim printf-Befehl die Formatanweisungen an, speziell %d und %0d...
Gruss
yeti
-
Benutze einfach statt %d -> %02d ... !
Gruß
:: NoName ::
-
Oder die FormatFunktion von CTime nutzen. Die machts gleich richtig.
-
was für eine FormatFunktion?
wie muss ich die aufrufen?
-
CTime tm = CTime::GetCurrentTime(); tm.Format(_T("%d.%m.%Y %H:%M"));
-
danke dir
-
Da gibts aber noch mehr Formatierungsmöglichkeiten, guck in die MSDN.
-
ja, in die MSDN hab ich grad geschaut
das ist da ganz anders mit _time und localtime und soich hab das jetzt so, aber funktionieren tut das nicht wirklich
CTime tm = CTime::GetCurrentTime(); tm.Format(_T("%d.%m.%Y %H:%M")); m_strTime.Format(tm); UpdateData(FALSE);
m_strTime ist die Variable, die auf dem Textfeld deklariert wurde.
mit anderen worten, ich weiß nicht, wie ich tm ausgeben kann
-
mit der ausgabe vorher hat das ja geklappt, aber war da nicht so das format, wie ich mir das vorgestellt habe
also mit der ausgabe, die auf seite 1 steht
-
Das kompiliert?
Mach das mal so, du hast da war durcheinander geworfen:
CTime tm = CTime::GetCurrentTime(); m_strTime = tm.Format(_T("%d.%m.%Y %H:%M")); UpdateData(FALSE);
-
nö, eben nicht *gg*
das war ja das problem *gg*
bin total wirr heute irgendwie
sorry
-
Macht ja nix, ich hatte ja blos ein wenig Copy&Paste Arbeit. Das st mir lieber als alles vorabeiten.
Geht es denn jetzt so wie du es willst?
-
das datum zeigt er mir wie folgt an:
18.03.20
und keine Uhrzeit
-
Nur 8 Zeichen?
Hast du da eine Begrenzung eingebaut?
Mach mal so:CTime tm = CTime::GetCurrentTime(); m_strTime = tm.Format(_T("%d.%m.%Y %H:%M")); AfxMessageBox(m_strTime); UpdateData(FALSE);
Und guck, ob es in der Messagebox richtig ist. Wenn ja, dann hast du eine Längenbegrenzung in der Membervariablen.
-
wenn ich jetzt nur
%H:%M:%S
zeigt er mir die Uhrzeit
aber bei sekunden auch nur eine stelle
-
wird in der MessageBox richtig angezeigt
also die Uhrzeitaber nicht im textfeld
ich schau mal wegen der begrenzung
-
Die müßte im DoDataExchange stehen. Kannst du auch im Klassenassistenten sehen.
-
ist als CString deklariert
desshalb sollte das doch eigentlich klappen
war grad im Klassenassi
hab da nur die möglichkeit als wert oder als control
als control macht er aber nichts, bzw fehler
-
das einzigste, was ich noch machen kann, manuell eine begrenzung einzugeben
da steht aber im mom nichts drin