![]() |
AW: Delphiproblem - Taschenrechner brauche hilfe !
Liste der Anhänge anzeigen (Anzahl: 2)
:glaskugel:
Im Prinzip wäre es nicht schlecht, wenn du uns zeigen würdes, was du schon hast, bzw. wie der entsprechend Code (die Funktion) aktuell aussieht. Sonst können wir schlecht rausbekommen was bei dir nicht funktioniert. und wie bereits genannt: ![]() ![]() ![]() ... [add] wie z.B. ![]() über diesen Thread ist unter Anderem auch dieses Rechner entstanden (weiß nur gerade nicht, wo diese EXE genau angehängt wurde) und der läßt sich auch über die Tastatur bediehnen. |
AW: Delphiproblem - Taschenrechner brauche hilfe !
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TEingabemodus = (emAusgabe,emLoeschen,emZahleneingabe); type TRechenmodus = (rmAdd,rmSub,rmMult,rmDiv); type TForm1 = class(TForm) txt_rechnung: TEdit; cmd_7: TButton; Label1: TLabel; cmd_clear: TButton; cmd_div: TButton; cmd_gleich: TButton; cmd_0: TButton; cmd_komma: TButton; cmd_1: TButton; cmd_2: TButton; cmd_3: TButton; cmd_mul: TButton; cmd_6: TButton; cmd_5: TButton; cmd_4: TButton; cmd_add: TButton; cmd_9: TButton; cmd_8: TButton; cmd_sub: TButton; procedure cmd_clearClick(Sender: TObject); procedure cmd_1Click(Sender: TObject); procedure cmd_2Click(Sender: TObject); procedure cmd_3Click(Sender: TObject); procedure cmd_4Click(Sender: TObject); procedure cmd_5Click(Sender: TObject); procedure cmd_6Click(Sender: TObject); procedure cmd_7Click(Sender: TObject); procedure cmd_8Click(Sender: TObject); procedure cmd_9Click(Sender: TObject); procedure cmd_0Click(Sender: TObject); procedure cmd_divClick(Sender: TObject); procedure cmd_mulClick(Sender: TObject); procedure cmd_subClick(Sender: TObject); procedure cmd_addClick(Sender: TObject); procedure ZahlenMerken; procedure ZahlNeu; private { Private-Deklarationen } EingabeModus : TEingabeModus; RechenModus : TRechenModus; public { Public-Deklarationen } end; var Form1: TForm1; Zahl1, Zahl2, Zahl3: Integer; implementation {$R *.dfm} procedure TForm1.cmd_0Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(0); end; procedure TForm1.cmd_1Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(1); end; procedure TForm1.cmd_2Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(2); end; procedure TForm1.cmd_3Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(3); end; procedure TForm1.cmd_4Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(4); end; procedure TForm1.cmd_5Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(5); end; procedure TForm1.cmd_6Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(6); end; procedure TForm1.cmd_7Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(7); end; procedure TForm1.cmd_8Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(8); end; procedure TForm1.cmd_9Click(Sender: TObject); begin txt_rechnung.Text := txt_rechnung.Text + IntToStr(9); end; procedure TForm1.cmd_addClick(Sender: TObject); begin label1.Caption := '+'; ZahlenMerken; txt_rechnung.Text := IntToStr(zahl1 + Zahl2); end; procedure TForm1.cmd_clearClick(Sender: TObject); begin txt_rechnung.Clear; end; procedure TForm1.cmd_divClick(Sender: TObject); begin label1.Caption := '/' ; end; procedure TForm1.cmd_mulClick(Sender: TObject); begin label1.Caption := '*' ; end; procedure TForm1.cmd_subClick(Sender: TObject); begin label1.Caption := '-' ; end; procedure TForm1.ZahlenMerken; begin if Eingabemodus = emZahleneingabe then Zahl1 := strToInt(txt_rechnung.text); Eingabemodus := emLoeschen; if Eingabemodus = emZahleneingabe then Zahl2 := strToInt(txt_rechnung.text); Eingabemodus := emLoeschen; end; procedure TForm1.ZahlNeu; begin if Eingabemodus = (emLoeschen) then begin txt_rechnung.Text := ''; end; Eingabemodus := emZahleneingabe; end; end. das isser |
AW: Delphiproblem - Taschenrechner brauche hilfe !
Benutze doch bitte die Delphi-Tags für Quelltexte (die Schaltfläche mit dem Helm im Editor). Und Dein Zahlenmerken sieht etwas komisch aus.
Zitat:
|
AW: Delphiproblem - Taschenrechner brauche hilfe !
so gut so weit.
jetzt habe ich das problem dass er '-' nicht als operator erkennt.
Delphi-Quellcode:
hatte ja die hoffnung das geht jetzt aber war wohl mal wieder nichts.
procedure TForm1.cmd_mulClick(Sender: TObject);
begin label1.Caption := '*' ; if Rechenart = 0 then Speicher := StrToFloat(txt_rechnung.text); if Rechenart = 1 then Speicher := Speicher + StrToFloat(txt_rechnung.text); if Rechenart = 2 then Speicher := Speicher – StrToFloat(txt_rechnung.text); // also hier if Rechenart = 3 then Speicher := Speicher * StrToFloat(txt_rechnung.text); if Rechenart = 4 then Speicher := Speicher / StrToFloat(txt_rechnung.text); Rechenart := 3; txt_rechnung.text := ''; end; |
AW: Delphiproblem - Taschenrechner brauche hilfe !
ok hab es rausbekommen.
jetzt will er es aber nicht zusammenrechnen wenn ich = klicke.
Delphi-Quellcode:
was habe ich denn da wieder falsch?
procedure TForm1.cmd_gleichClick(Sender: TObject);
begin txt_rechnung.text := FloatToStr(Speicher); Speicher := 0; Rechenart := 0; end; |
AW: Delphiproblem - Taschenrechner brauche hilfe !
Du machst da genau das Selbe wie in cmd_mulClick, also entsprechend der letzen Rechnung zusammenrechnen.
PS: Die Berechnungen kannst du in eine eigene Methode auslagern und dann brauchst'e die nur noch überall in deinen Berechnungs-Klickmethoden aufzurufen und danach jeweils den Operator (Rechenart), für die nächste Berechnung zu setzen. |
AW: Delphiproblem - Taschenrechner brauche hilfe !
habe es jetzt so gelöst
Delphi-Quellcode:
aber er streikt immer noch
Procedure Rechenarten; //eigene Prozedur
procedure TForm1.Rechenarten; begin if Rechenart = 0 then Speicher := StrToFloat(txt_rechnung.text); if Rechenart = 1 then Speicher := Speicher + StrToFloat(txt_rechnung.text); if Rechenart = 2 then Speicher := Speicher - StrToFloat(txt_rechnung.text); if Rechenart = 3 then Speicher := Speicher * StrToFloat(txt_rechnung.text); if Rechenart = 4 then Speicher := Speicher / StrToFloat(txt_rechnung.text); end; procedure TForm1.cmd_gleichClick(Sender: TObject); begin Rechenarten; txt_rechnung.text := FloatToStr(Speicher); Speicher := 0; Rechenart := 0; |
AW: Delphiproblem - Taschenrechner brauche hilfe !
Interessant. Und inwiefern "streikt er"? Was ist Speicher? :glaskugel:
|
AW: Delphiproblem - Taschenrechner brauche hilfe !
ich habs jetzt!
ich habe nur vergessen den eingegebenen Wert in den Speicher zu verschieben sobald man eine rechenoperation klickt!
Delphi-Quellcode:
procedure TForm1.cmd_divClick(Sender: TObject);
begin label1.Caption := '/' ; Rechenarten; Rechenart := 4; Speicher := StrToFloat(txt_Rechnung.Text); txt_rechnung.text := ''; end; |
AW: Delphiproblem - Taschenrechner brauche hilfe !
@deddyh
also er wollte es nicht zusammen rechnen.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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