Problem mit COleDateTime
-
Ich weiss, dieses Thema wurde schon sehr oft behandelt, aber ich blicks trotzdem nicht.
CString uhrdiff; COleDateTime strUhr,m_sDate; COleDateTimeSpan diff; diff=m_sDate-strUhr; uhrdiff=diff.Format("%H:%M:%S");...
Und hier krieg ich nen Fehler
DateiSpeichern.WriteString ("Am " + m_sCount + " von " + strUhr + " bis " + "zum " + m_sDate + " um " + m_sTime + " | Laufzeit = " +uhrdiff+ "\n") ;...
error C2593: 'Operator +' ist mehrdeutig
...Ich vermute stark es hat was damit auf sich das ich oben bei der COleDateTimeSpan nicht richtig konvertiere(CString->Zeiger). Kann mir jemand helfen ?
-
Die COleDateTime Objekte (strUhr, m_sDate usw) solltest du beim Schreiben in Strings formatieren (wie du es auch bei uhrdiff gemacht hast).
-
Du musst u.a. strUhr noch in CString wandeln, sonst weiß der nicht, ob er Zeichenketten oder COleDateTimes addieren soll.
-
Also habs jetzt so :
CString uhrdiff, erste, zweite; COleDateTime ersteuhr,zweiteuhr; COleDateTimeSpan diff; diff= zweiteuhr - ersteuhr; uhrdiff=diff.Format("%H:%M:%S");So nun zeigt er mir bei Laufzeit 00:00:00 an, ist ja auch klar.
Jetzt möchte ich gerne "ersteuhr" den CString "strUhr" übergeben, weil dort meine erste gespeicherte Zeit steht. Wie mach ich das ?Wenn ich einfach schreib : ersteuhr = strUhr;
Dann krieg ich ne Fehlermeldung :
error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'CString' akzeptiert (oder keine geeignete Konvertierung möglich)
-
Versuch's mal mit ParseDateTime().
-
Alles klar funktioniert, besten Dank

-
toxor schrieb:
...
Und hier krieg ich nen Fehler
DateiSpeichern.WriteString ("Am " + m_sCount + " von " + strUhr + " bis " + "zum " + m_sDate + " um " + m_sTime + " | Laufzeit = " +uhrdiff+ "\n") ;...
error C2593: 'Operator +' ist mehrdeutig
...DateiSpeichern.WriteString ([b]CString("Am ")[/b] + m_sCount + " von " + strUhr + " bis " + "zum " + m_sDate + " um " + m_sTime + " | Laufzeit = " +uhrdiff+ "\n") ;
-
und warum nicht so?
+" bis zum "+