COleDateTimeSpan::GetDays() in Static Text ausgeben
-
Hallo Zusammen
Neu hier, und gleich eine Frage!
Ich bin relativ neu in der ganzen MFC Welt, hab vorher ein paar Sachen mit VC++ 6.0 gemacht. Und probiere jetzt ein paar Sachen mit Visual Studio 2005 Express.
Es ist etwas einfaches, funktioniert unter VC++ 6.0 aber nicht in VS Express hier mal mein Code:void CTimeDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: Add your message handler code here and/or call default COleDateTime dtevent; dtevent = COleDateTime(2006, 11, 29, 0, 00, 0); COleDateTimeSpan dtDiff = dtevent - COleDateTime::GetCurrentTime(); CString strMessage; strMessage.Format("%d d, %d h, %d m, %d s", (int)dtDiff.GetDays(), (int)dtDiff.GetHours(), (int)dtDiff.GetMinutes(), (int)dtDiff.GetSeconds()); //<-- Zeile 99 m_lbTime = strMessage; //m_lbTime ist eine control variable UpdateData(FALSE); CDialog::OnTimer(nIDEvent); }So wie der code hier steht funktioniert er in VC++ 6.0 & VS 2003
aber unter 2005 erhalte ich folgender Fehler:d:\projects\Time\Time\Timedlg.cpp(99) : error C2664: 'void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)' : cannot convert parameter 1 from 'const char [23]' to 'const wchar_t *' with [ BaseType=wchar_t, StringTraits=StrTraitMFC_DLL<wchar_t> ] Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style castBevor ich den Beitrag verfasst habe hab ich noch was intressantes in der FAQ gesehen:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39135.html
aber das hat mich auch nicht zum Erfolg gebracht.Nun was mir die Fehlermeldung sagt ist, das ich vorher etwas casten muss, nur wie und was?
wäre froh wenn mir da jemand helfen könnte
Danke im Voraus
lena
-
Per default ist in VC2005 UNICODE aktiviert (was gut ist)... somit musst Du am besten alles mit TCHAR machen =>
strMessage.Format(_T("%d d, %d h,..."), ...)
-
Tatsächlich! Vielen Dank Jochen
gruss Lena