Ausgabe Problem
-
Hallo ich versuche momentan einen Taschenrechner herzustellen
jedoch hänge ich bei der Ausgabe des Ergebnisses fest.TCHAR TEXT[256]; GetWindowText(input1, TEXT, 256); GetWindowText(input2, TEXT, 256); zahl1 = (int)input1;//HWND input1; int zahl1; zahl2 = (int)input2;//HWND input2; int zahl2; ende = zahl1 + zahl2;//int ende; letzte = (LPCSTR)ende;//HWND letzte SetWindowText(factor3, letzte); return (0);
Das Problem es es wird dann nicht irgendeine Zahl als Ergebniss angezeigt sondern irgendwelche Chinsesichen Zeichen
.
-
Was soll denn bei zahl1 = (int)input1; rauskommen? Du interpretierst ein Fenster als Zahl
Bei letzte = (LPCSTR)ende; interpretierst du eine Zahl in eine Zeichenkette um und weist sie dann einem Fenster zu.
Zahl != Fenster != Zeichenkette.
Jetzt nimmst du alle Casts weg, alles wo (Typ) steht und machst es noch mal. Die Casts stellen zwar den Compiler ruhig, machen aber den Code nicht richtig.Zahl -> String: sprintf (bzw. wsprintf)
String -> Zahl: sscanf (bzw. swscanf)
Text aus Fenster: GetWindowText
Text in Fenster: SetWindowTextDu kannst nachsehen wie die Funktionen funktionieren, immer mit Erklärung und häufig mit Beispiel: MSDN
-
nwp3 schrieb:
Was soll denn bei zahl1 = (int)input1; rauskommen? Du interpretierst ein Fenster als Zahl
Bei letzte = (LPCSTR)ende; interpretierst du eine Zahl in eine Zeichenkette um und weist sie dann einem Fenster zu.
Zahl != Fenster != Zeichenkette.
Jetzt nimmst du alle Casts weg, alles wo (Typ) steht und machst es noch mal. Die Casts stellen zwar den Compiler ruhig, machen aber den Code nicht richtig.Zahl -> String: sprintf (bzw. wsprintf)
String -> Zahl: sscanf (bzw. swscanf)
Text aus Fenster: GetWindowText
Text in Fenster: SetWindowTextDu kannst nachsehen wie die Funktionen funktionieren, immer mit Erklärung und häufig mit Beispiel: MSDN
Schön und gut, aber ne Lösung hast du auch nicht genannt
-
Kann man vielleich irgendwie die Eingabe als integer speichern?
-
Man kann Zeichenketten in Integer umwandeln (z.B. mit atoi/wtoi)
Umgekehrt z.B. mit wsprintf
Google dürfte da noch mehr zu bieten
-
Taschenrechner schrieb:
nwp3 schrieb:
Was soll denn bei zahl1 = (int)input1; rauskommen? Du interpretierst ein Fenster als Zahl
Bei letzte = (LPCSTR)ende; interpretierst du eine Zahl in eine Zeichenkette um und weist sie dann einem Fenster zu.
Zahl != Fenster != Zeichenkette.
Jetzt nimmst du alle Casts weg, alles wo (Typ) steht und machst es noch mal. Die Casts stellen zwar den Compiler ruhig, machen aber den Code nicht richtig.Zahl -> String: sprintf (bzw. wsprintf)
String -> Zahl: sscanf (bzw. swscanf)
Text aus Fenster: GetWindowText
Text in Fenster: SetWindowTextDu kannst nachsehen wie die Funktionen funktionieren, immer mit Erklärung und häufig mit Beispiel: MSDN
Schön und gut, aber ne Lösung hast du auch nicht genannt
Doch, hat er. Du verstehst sie nur nicht.
-
geeky schrieb:
Man kann Zeichenketten in Integer umwandeln (z.B. mit atoi/wtoi)
Umgekehrt z.B. mit wsprintf
Google dürfte da noch mehr zu bietenVielen Dank.