![]() |
Mehrere Zahlen Rechnen
Hallo Leute ich mal wieder,
Ich habe einen Taschenrechenr programmiert bei dem man die Zahlen über Buttons eingibt isher konnte man immer nur 2 Zhalen eingeben ich möchte jetzt aber das man mit mehr Zahlen rechnen kann. Ich habe die vermutung das man mit arrays arbeiten muss aber ich weiß nicht genau wie ich das anstellen soll.
Delphi-Quellcode:
lg Dustin
var
Form4: TForm4; Zahl1, Zahl2:double; istKomma, istPlus, istMinus, istMal, istGeteielt, istErgebnis:Boolean; implementation {$R *.dfm} procedure TForm4.Plus; begin edit1.Text:=floattostr(Zahl1+Zahl2); end; procedure TForm4.Minus; begin edit1.Text:=floattostr(Zahl1-Zahl2); end; procedure TForm4.Mal; begin edit1.Text:=floattostr(Zahl1*Zahl2); end; procedure TForm4.Geteielt; begin edit1.Text:=floattostr(Zahl1/Zahl2); end; procedure TForm4.GeteieltButtonClick(Sender: TObject); begin zahl1:=strtofloat(edit1.Text); istKomma:=false; edit1.Text:=''; label1.Caption:=floattostr(Zahl1)+'/'; istGeteielt:=True ; istPlus:=false; istMinus:=false; istMal:=false; istErgebnis:=true; end; procedure TForm4.MalButtonClick(Sender: TObject); begin zahl1:=strtofloat(edit1.Text); istKomma:=false; edit1.Text:=''; label1.Caption:=floattostr(Zahl1)+'*'; istMal:=True ; istPlus:=false; istMinus:=false; istGeteielt:=false; istErgebnis:=true; end; procedure TForm4.MinusButtonClick(Sender: TObject); begin zahl1:=strtofloat(edit1.Text); istKomma:=false; edit1.Text:=''; label1.Caption:=floattostr(Zahl1)+'-'; istMinus:=True; istPlus:=false; istMal:=false; istGeteielt:=false; istErgebnis:=true; end; procedure TForm4.PlusButtonClick(Sender: TObject); begin zahl1:=strtofloat(edit1.Text); istKomma:=false; edit1.Text:=''; label1.Caption:=floattostr(Zahl1)+'+'; istPlus:=True; istMinus:=false; istMal:=false; istGeteielt:=false; istErgebnis:=true; end; procedure TForm4.GleichButtonClick(Sender: TObject); begin label1.Caption:=''; istKomma:=false; zahl2:=strtofloat(edit1.Text); if istPlus=true then plus; if istMinus=true then Minus; if istMal=true then Mal; if istGeteielt=true then Geteielt; end; procedure TForm4.NullButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'0' end; procedure TForm4.EinsButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'1' end; procedure TForm4.ZweiButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'2' end; procedure TForm4.DreiButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'3' end; procedure TForm4.VierButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'4' end; procedure TForm4.FünfButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'5' end; procedure TForm4.SechsButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'6' end; procedure TForm4.SiebenButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'7' ; end; procedure TForm4.AchtButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'8' end; procedure TForm4.BackSpaceButtonClick(Sender: TObject); var Länge:string; NeueLänge:Integer; begin if istErgebnis=false then Länge:= edit1.Text; NeueLänge:=Length(edit1.Text); setlength(länge,NeueLänge-1); NeueLänge:=NeueLänge-1; edit1.text:=Länge end; procedure TForm4.NeunButtonClick(Sender: TObject); begin edit1.Text:=edit1.Text+'9' end; procedure TForm4.KommaButtonClick(Sender: TObject); begin if istKomma=false then edit1.Text:=edit1.Text+','; if istKomma=false then istKomma:=true end; procedure TForm4.LöschenButtonClick(Sender: TObject); begin edit1.Text:=''; label1.Caption:='' end; end. |
AW: Mehrere Zahlen Rechnen
.. ist beim Taschenrechner die Funktionsweise nicht so:
Zahl1 eingeben Rechenoperation drücken Zahl2 eingeben = drücken. Rechenoperation drücken Zahl 3 eingeben = drücken Mit Klammern wird es etwas komplizierter. Grüße Klaus |
AW: Mehrere Zahlen Rechnen
Zitat:
|
AW: Mehrere Zahlen Rechnen
Dir fehlt an sehr vielen Stellen ein Terminator Zeichen.
Beispiel aus
Delphi-Quellcode:
würde ich ein
procedure TForm4.EinsButtonClick(Sender: TObject);
begin edit1.Text:=edit1.Text+'1' end;
Delphi-Quellcode:
machen. Vielleicht liegt darin Dein Problem?
procedure TForm4.EinsButtonClick(Sender: TObject);
begin edit1.Text:=edit1.Text+'1'; end; |
AW: Mehrere Zahlen Rechnen
Zitat:
Zitat:
|
AW: Mehrere Zahlen Rechnen
Naja, zur Zeit hast du ja nur 2 Textfelder für 2 Zahlen, wie möchtest du denn die weiteren Zahlen zum rechnen eingeben?
Gruß Jonas |
AW: Mehrere Zahlen Rechnen
Zitat:
|
AW: Mehrere Zahlen Rechnen
Ok, verstehe :P
Du könntest den Rechner so umbauen, dass dein Gleich-Button das Ergebnis zusätzlich noch in Zahl 1 speichert, dann könnte man die nächste Zahl mit deinen Knöpfen eingeben und mit dem Ergebnis aus dem vorherigen Schritt weiter rechnen... ich vermute das sind nicht "allzuviele" Anpassungen. edit: Manche Taschenrechner arbeiten auch auf die Art, dass wenn man als Beispiel 1+1 rechnet und dann nochmal + drückt, einfach erstmal 1+1 gerechnet wird und dann 2+ in der Eingabe steht. Dass wäre dann vergleichbar mit dem von mir beschriebenen Ansatz. |
AW: Mehrere Zahlen Rechnen
Zitat:
Aber es wird von mir verlangt das der Rechner zum beispiel Zahl1+Zahl2*Zahl3 direkt rechnen kann ohne einmal "=" Zu drücken. Und natürlich mit Punkt vor Strich. |
AW: Mehrere Zahlen Rechnen
In meinem Calculator hab ich nur zwei Edit's, eins für Eingabe eins für Ausgabe.
Also bei einem weiteren "+" "-" "*" "/" etc wird mit der Ausgabe gearbeitet und dann eine Eingabe im ersten Edit erwartet (oder umgekehrt, ist schon ein paar Jahrzehnte her...). Egal ob man zwischenzeitlich auf "=" klickt oder was auch immer macht, Input und Output halt miteinander in Harmonie ab-/arbeiten lassen. Mfg. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz