Forum: PC-Programmierung MFC Taschenrechner


von Peter M. (causal)


Lesenswert?

Hallo,

ich habe bisher nur Konsolenanwendungen geschrieben und bin auf diesem
Gebiet schon recht fortgeschritten...

Allerdings beginnen wir jetzt mit Windows Forms MFC Anwendungen zu
arbeiten und die Aufgabe war es, einen einfachen Taschenrechner - mit
zwei Textboxen für die Zahlen - und einem Label für das Ergebnis zu
schreiben das hab ich auch geschafft.

Allerdings möchte ich jetzt mal versuchen, aus reinem Interesse und um
einen kleinen Vorsprung zu bekommen einen Taschenrechner mit Buttons
(ähnlich dem Windows Calculator) zu schreiben.

Das Layout hab ich fertig es besteht (erstmal) aus den 10 Ziffern
Tasten (0-9) dann aus den Operanden +, -, *, / und = und aus zwei
Textboxen eine für die Eingabe und eine fürs Ergebnis ich würds gern so
machen, dass man ins Eingabefeld die Ganze Formel schreibt also 1+1 und
dann soll im Ergebnis Feld das Ergebnis erscheinen.

Ich habs auch schon mit folgendem Code geschafft das die Buttons ihren

Wert an die Eingabe Textbox liefern:

private: System::Void one_Click(System::Object^ sender,
System::EventArgs^  e)
  {
    Form1::eingabe->Text = Convert::ToString("1");
  }

(Das ist für den Button "1")

Und da kommt das erste Problem: Wie schaffe ich es das die Formel
nebeneinander geschrieben wird im Moment wird die aktuelle Eingabe
immer wieder überschrieben durch eine neue Zahl (also drücke ich auf
die 1 erscheint eine 1 drücke ich dann aber auf die 2 verschwindet die
1 und die 2 erscheint...)

Vielen Dank für eure Antworten!

von Karl heinz B. (kbucheg)


Lesenswert?

> dass man ins Eingabefeld die Ganze Formel schreibt also 1+1 und
> dann soll im Ergebnis Feld das Ergebnis erscheinen

Oh, das wird kompliziert.

> Wie schaffe ich es das die Formel
> nebeneinander geschrieben wird

Na, ja

>   Form1::eingabe->Text = Convert::ToString("1");

Das hier ersetzt das Property 'Text' mit jeweils
einem neuen String. Was du brauchst ist ein
'Anhängen' an den String. Eine gute String-Klasse
bietet dafür normalerweise einen += Operator an, bzw.
es gibt eine Append() Funktion.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

"Windows Forms MFC Anwendungen"

Was jetzt?

  Windows Forms

oder

  MFC

Deine Quelltextfragmente lassen auf ersteres schließen.

Das ist nicht MFC.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.