Hallo zusammen.
Meine Aufgabestellung ist folgendermaßen:
Schreibe ein Programm das die Summe einer Serie von eingegebenen Zahlen rechnet, benutze dafür 2 Edit-Boxen und einen Button zum "nullen" der Summe.
Zunächst hab ich es damit probiert:
...Edit1Change... (prozedur)
if Edit1.Text <> '' then Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+ StrToInt(Edit1.Text))
und das gleiche mir Edit2.
Problem: Mehrstellige Zahlen.
Da hab' ich mir gleich gedacht, dass es doch optimal wäre, wenn ich statt der Change-Prozedur eine Prozedur haben würde, die bei einem "Enter"-Drücken in der Edit-Box auslösen würde. Darauf folgend habe ich mir die Events mal angeschaut, und von Namen her hat "OnEnter" gleich danach ausgeschaut, als wäre es exakt das, was ich wollte. Ich hab also de Prozedur beim Event TForm1.Edit1Enter eingetragen, es ist jedoch schlichtwe nichts passiert als ich nach dem Eingeben der Zahlen "Enter" in der Edit-Box gedrückt habe.
Aufgrund des Mangels an Ideeen, wie ich es mit "Enter" umsetzen könnte, habe ich also versucht das Problem zu umgehen, was wiederum keine Lösung zum Problem ist:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text <> '' then
begin
if (StrToInt(Edit1.Text)/10) >=1 then
Label1.Caption:=FloatToStr(StrToInt(Label1.Caption)+StrToInt(edit2.Text)- StrToInt(edit2.text)/10)
else Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+StrToInt(Edit1.Text));
end;
end;
Hierbei ist natürlich das Problem dass man den Fall von mehr als 2-stelligen Zahlen nicht integriert hat. Hinzüglich hat man ein Problem, wenn man eine 2-stellige Zahl entfernt.
Beispiel: man möchte 12 durch 7 eretzen:
12 "<-" 1 "<-" 7
Hierbei wird 1 nochmal zur Summe hinzugefügt.
Meine Frage ist nun ob es doch eine Möglichkeit gibt, um meine Idee mit Enter umzusetzen, oder ob ich mein bestehendes Programm weiterführen, und für all solche Fälle vorbereiten muss?
Grüße