Variable in MessageBox ausgeben?
-
Ja hi Leute,
ich hab ein Problem und hoffe ihr könnt mir weiter helfen, also:
ich möchte gerne das eine Variable die ich deklariert und einen Wert zugeweisen habe in einer MessageBox dargestellt wird! So mir ich such schon 2 Stunen im Inet finde aber nix richtiges. Ich hätte gadacht das es so funktioniert:
MessageBox("Der Wert ist",x);
Doch leider bricht das komplette Programm ab wenn ich dieses Fenster öffnen will.
Scho ma Danke für eure Hilfe
Gruß
SEF
-
CString strText; strText.Format ("Der Wert ist %d", x); ::MessageBox(strText);
-
Hi,
machs doch einfach so:
deklariere eine CString-Variable, schreibe den kompletten Text (mit Variableninhalt) da rein und lass die dann in der MessageBox anzeigen:
CString messagetext; messagetext.Format("Der Wert ist %d", x); MessageBox(messagetext);
(Das funzt aber nur wenn x int ist, ansonsten musst Du eben den Format-Spezifikator anpassen...)
Gruss
yeti
-
Horst2 schrieb:
CString strText; strText.Format ("Der Wert ist %d", x); ::MessageBox(strText);
Solche MessageBoxes sind wirklich sehr brauchbar wenn man schnell den Wert einer Variable überprüfen will.
Ich habe daher eine kleine "Helper"-Klasse geschreiben, die z.B. die Methode "box()" kennt. Sie ist überladen, so dass ich, egal ob string od int, immer dieselbe Methode aufrufen kann. Bei der box(int) Methode muss man halt einfach noch vorher in einen string umwandeln -> dazu kann man ja auch gleich eine "toString(int iVal)" erstellen
void box(CString sMsg); void box(int iVal);
CString Helper::toString(int iVal){ CString str; str.Format("%d", iVal); return str; } void Helper::box(CString sMsg){ AfxMessageBox(sMsg); } void Helper::box(int iVal){ CString s = toString(iVal); box(s); }
Hope that helped
-
Hi,
nur um das noch zu komplettieren kann man auch afxDump nutzen:#ifdef _DEBUG afxDump << x; #endif
Es nutzt operator << und ist damit wie cout zu nutzen. Es ist nur in der Debug Version definiert und die Ausgabe erfolgt in den Debug Bereich des Visual Studios (kA, wie das genau heisst^^).
Gruss,
DeSoVoDaMu