CString - gemischte Ausgabe mit MessageBox
-
meine kleines Problem ist das ich verschiedene Formate habeund diese in eine Textbox ausgeben möchten
int gesamt_Anzahl; int gelöst_Anzahl; int ungelöst_Anzahl; CString name_Anwender; CString aussage; MasageBox("Von den insgesamt"gesamt_Anzahl" gelösten Aufgaben\r\n\r\n hast du"name_Anwender "\r\n\r\n"gelöst_Anzahl" Aufgaben gelöst und\r\n"ungelöst_Anzahl" nicht gelöst.\r\n\r\n Das ist"aussage" .")
Das Beispiel in der Ausgabe könnte so aussehen
--------------------------------------------------
Von den insgesamt 34 gelösten Aufgaben -hast du Katrin -
20 Aufgaben gelöst und -
14 nicht gelöst. -
Das ist sehr bescheiden. -
--------------------------------------------------Danke für eure Hilfe
Vossy
-
maybe like that:
int gesamt_Anzahl; int geloest_Anzahl; int ungeloest_Anzahl; CString name_Anwender; CString aussage; CString strGesamt_Anzahl; strGesamt_Anzahl.Format("%d",gesamt_Anzahl); CString strGeloest_Anzahl; strGeloest_Anzahl.Format("%d",geloest_Anzahl); CString strUngeloest_Anzahl; strUngeloest_Anzahl.Format("%d",ungeloest_Anzahl); MessageBox("Von den insgesamt "+strGesamt_Anzahl+" gelösten Aufgaben\r\n\r\n hast du "+name_Anwender+"\r\n\r\n"+strGeloest_Anzahl+" Aufgaben gelöst und\r\n"+strUngeloest_Anzahl+" nicht gelöst.\r\n\r\n Das ist "+aussage+" .");
-
Zu langsam images/smiles/icon_sad.gif
[ Dieser Beitrag wurde am 14.01.2002 um 16:56 Uhr von Kauz01 editiert. ]
-
[ Dieser Beitrag wurde am 14.01.2002 um 16:57 Uhr von Prof84 editiert. ]
-
Prof:
muss man auch nciht können, wie du an unseren antworten siehst images/smiles/icon_smile.gif
-
ai, kauz, was machstn?? deine lösung war doch viel schöner als meine!
-
Habe ich das richtig verstanden das ich alles in einen String wandeln muß?
Trifft das auch für ein Textfeld in einer MFC Anwendung zu?Vossy
Ach noch was ich versuche immer den Code als C++ Code einzufügen aber irgendwie geht das mit den Button C++Code nicht
-
ja das trifft auch auf ein Textfeld zu.
was meinst du damit, dass es nciht funktioniert?
lies dir vielelciht das mal durch.
-
geht das Ausgeben nicht einfacher oder gibt es noch andere Möglichkeiten
Vossy
-
nein
-
Geht doch. Da bastelt man sich eine Funktion mit variablen Argumenten um AfxMessageBox() herum und benutzt das Ganze wie printf()
int MsgBox(LPCTSTR fmt, ...) { CString str; //könnte auch char str[1024] sein o.ä. va_list arg; va_start(arg,fmt); vsprintf(str.GetBuffer(1024),fmt,arg); va_end(arg); str.ReleaseBuffer(); return(AfxMessageBox(str,MB_OKCANCEL)); //liefert IDOK oder IDCANCEL //return(AfxMessageBox(str,MB_OK)); alternativ nur mit OK-Button zum Bestätigen }
Aufruf dann z.B.
MsgBox("Von den insgesamt %d gelösten Aufgaben\nhast du %s\n%d Aufgaben gelöst und\n%d nicht gelöst.\nDas ist %s",gesamt_Anzahl,name_Anwender,gelöst_Anzahl,ungelöst_Anzahl,aussage);
-
Danke
-
josch:
super beitrag images/smiles/icon_smile.gif
wird auch gleich gezeigt, wie eine variable parameterliste benutzt wird.
ich verschiebs mal in die FAQ