![]() |
Taschenrechner
Hallo ich muss einen Taschenrechner programmieren mit den zahlen 0-9 und allen rechenzeichen dazu noch den reset knopf alles In Buttons dann hab ich noch zwei Editfenster eins fürs ergebnis und in einem wo der rechenschritt drinsteht.
Ich bin jetzt soweit das wenn ich auf Start drücke und auf eine Zahl drücke diese erscheint bloß wenn ich auf eine andere gehe wird diese überschrieben also wenn ich auf 1 drücke und dann auf 2 steht da nur zwei + und - und das alles geht nicht könnte mir evtl jmd helfen hier mein bishergier Code: unit Uhaupt; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TFAnwendung = class(TForm) EEingabe: TEdit; B7: TButton; B8: TButton; B9: TButton; B4: TButton; B5: TButton; B6: TButton; B1: TButton; B2: TButton; B3: TButton; BPlus: TButton; BGeteilt: TButton; BMal: TButton; BMinus: TButton; BReset: TButton; B0: TButton; BErgebnis: TButton; BPunkt: TButton; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; EAufgabe: TEdit; procedure B2Click(Sender: TObject); procedure B1Click(Sender: TObject); procedure B3Click(Sender: TObject); procedure B4Click(Sender: TObject); procedure B5Click(Sender: TObject); procedure B6Click(Sender: TObject); procedure B7Click(Sender: TObject); procedure B8Click(Sender: TObject); procedure B9Click(Sender: TObject); procedure B0Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var FAnwendung: TFAnwendung; implementation {$R *.dfm} procedure TFAnwendung.B2Click(Sender: TObject); begin EEingabe.Text:='2' end; procedure TFAnwendung.B1Click(Sender: TObject); begin EEingabe.Text:='1' end; procedure TFAnwendung.B3Click(Sender: TObject); begin EEingabe.Text:='3' end; procedure TFAnwendung.B4Click(Sender: TObject); begin EEingabe.Text:='4' end; procedure TFAnwendung.B5Click(Sender: TObject); begin EEingabe.Text:='5' end; procedure TFAnwendung.B6Click(Sender: TObject); begin EEingabe.Text:='6' end; procedure TFAnwendung.B7Click(Sender: TObject); begin EEIngabe.Text:='7' end; procedure TFAnwendung.B8Click(Sender: TObject); begin EEingabe.Text:='8' end; procedure TFAnwendung.B9Click(Sender: TObject); begin EEingabe.Text:='9' end; procedure TFAnwendung.B0Click(Sender: TObject); begin EEingabe.Text:='0' end; end. |
Re: Taschenrechner
1. Nutze bitte die Code tags
2. du übeschreibst jedesmal den wert des Edit feldes, du must ihn aber erweitern und nicht überschreiben also in etwa so :
Delphi-Quellcode:
EEingabe.Text:=EEingabe.Text+'9';
|
Re: Taschenrechner
Zitat:
Ich soll also einfach ein plus vorne dran machen? Edit:danke jetzt wirds nicht mehr überschrieben bloß wie mach ich das jetzt das mit den rechenzeichen? |
Re: Taschenrechner
Also ich würde das ja ganz anders machen in etwa
![]() Das Prob ist natürlich das du als Anfänger da ein wenig überfordert bist. Schematisch würde ich dir etwas in der Art Empfehlen :
Delphi-Quellcode:
So hast du Praktisch immer ein Ergebniss im Hintergrund, du must dir ja irgendwo deine alten Werte merken.// Globale Variable, sehr böse ;) Aktuelles_Zwischenergebniss :Integer; // Double, was auch immer Procedure PlusButton(sender ...); var t:Selber Typ wie Aktuelles_Zwischenergebniss begin t := strtotype (EEingabe.text) Aktuelles_Zwischenergebniss := Aktuelles_Zwischenergebniss + t; EEingabe.text := ''; // Wenn das Edit leer sein soll nach + // oder EEingabe.text := typetostr(Aktuelles_Zwischenergebniss ); end; Eben genau wie bei einem Taschenrechner .. |
Re: Taschenrechner
Liste der Anhänge anzeigen (Anzahl: 1)
ich weis nicht ob es dir hilft, aber ich hab vor langer zeit selber mal einen kleinen programmiert, hab ihn mal angehängt, vielleicht kannste was davon gebrauchen :thumb:, ist zwar nicht perfekt, aber is halt aus der zeit wo ich mit delphi angefangen hab und war relativ stolz drauf :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 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