Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Taschenrechner (https://www.delphipraxis.net/123992-taschenrechner.html)

Sharan_ 12. Nov 2008 18:50


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.

Corpsman 12. Nov 2008 18:55

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';

Sharan_ 12. Nov 2008 18:59

Re: Taschenrechner
 
Zitat:

Zitat von Corpsman
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';

Sry bin neu hier.
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?

Corpsman 13. Nov 2008 08:38

Re: Taschenrechner
 
Also ich würde das ja ganz anders machen in etwa So

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:

// 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;
So hast du Praktisch immer ein Ergebniss im Hintergrund, du must dir ja irgendwo deine alten Werte merken.

Eben genau wie bei einem Taschenrechner ..

madfighter04 13. Nov 2008 19:10

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 10:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz