Wir sollen für den Info-Unterricht einen Taschenrechner programmieren.
Ich wollte das nun mit zwei Edit-Feldern machen.
In das eine kommt das Ergebnis und in das andere die Aufgabe.
Dachte mir das in etwa so (natürlich vereinfacht

):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.BerechnungClick(Sender: TObject); var Aufgabe : String; Ergebnis : Integer; begin Aufgabe := Edit1.Text; Ergebnis := StrToInt(Aufgabe); Edit2.Text := IntToStr(Ergebnis); end; |
Wieso gibt es da Probleme?
Klar weiss ich, dass ein "*" oder eine "(" keine Zahlen sind, aber wenn man Ergebnis so definiert, geht es auch:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.BerechnungClick(Sender: TObject); var Ergebnis : Integer; begin Ergebnis := 2 + 3 * (8-2); Edit1.Text := IntToStr(Ergebnis); end; |
Hier wäre das Ergebnis gleich 20 ...
Wieso kann ich eine Integer-Variable mit Klammern definieren aber nicht mit einem "String füllen", wenn dieser auch "2 + 3 * (8-2)" wäre?