Delphi-Quellcode:
procedure TForm1.Zahlenmerken; //Hier müsste irgendwas falsch sein, aber ich weiß nicht was!?
begin
if Eingabemodus = emZahleneingabe then {Bei Eingabe merkt sich Zahl1 die Zahl in Edit}
Zahl1 := strToInt(Edit1.text);
Eingabemodus := emLoeschen; {Zahl wird gelöscht}
if Eingabemodus = emZahleneingabe then {das gleiche wie mit Zahl1}
Zahl2 := strToInt(Edit1.text);
Eingabemodus := emLoeschen;
end;
Delphi-Quellcode:
//Plustaste
procedure TForm1.BtPlusClick(Sender: TObject);
begin
Zahlenmerken;
Edit1.text := intTostr(Zahl1 + Zahl2);
end;
Was Du hier tust ist die Zahl2 mit der Zahl2 zu addieren.
Warum?
Zahlenmerken setzt Dir jeweils die Zahl1 und Zahl2 zum gleichen Zeitpunkt.
Wenn Du addierst brauchst Du Dir nur die Zahl merken die vor dem drücken
der PlusTaste im Editfeld steht. Die zweite Zahl kennst Du noch nicht.
Die Zweite Zahl kommt erst dann in's Spiel wenn die GleichTaste gedrückt wird.
Dann wird die Rechnung ausgeführt.
Zahl eingeben
Plus drücken ( Zahl merken)
Zahl eingeben
Gleich drücken (gemerkte Zahl + zuletzt eingebene Zahl addieren)
Grüße
Klaus