Einzelnen Beitrag anzeigen

Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#3

Re: Das Thema Taschenrechner

  Alt 4. Dez 2007, 17:29
Button 1-9 und Button 16(das ist die null) und Button15 (das ist das Komma), greifen auf Prozedur TTaschenrechner.Button1Click zurück.
Hier einmal der ganze Code:
Delphi-Quellcode:
unit trUni;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const
 addition=1;
 subtraktion=2;
 multiplikation=3;
 division=4;

type
  TTaschenrechner = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton; //+ (- Button)
    Button11: TButton; //- (- Button)
    Button12: TButton; //* (- Button)
    Button13: TButton; // / (division) (- Button)
    Button14: TButton; // = (- Button)
    Button15: TButton;
    Button16: TButton;
    Button17: TButton; // C- Button
    Eingabe: TEdit; //das Display
    Button18: TButton; // wechsel zwischen postiv und negativ zahlen
    Button19: TButton; //CE Button
    Button20: TButton; //sqrt (noch nicht implementiert)
    Button21: TButton; //noch keine Funktion (kommt noch)
    Button22: TButton; //noch keine Funktion (kommt noch)
    procedure Button1Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button19Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Taschenrechner: TTaschenrechner;
  summand1,summand2,summe,cache:double;
  modus:integer;

implementation

{$R *.dfm}


procedure TTaschenrechner.Button1Click(Sender: TObject);
begin
 if Eingabe.Text[1]=0 then
 begin
  Button16.Enabled:= false;
 end
 else
  Button16.Enabled:=true;
 Eingabe.Text:= Eingabe.Text+TButton(Sender).Caption[1];
end;

procedure TTaschenrechner.Button10Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:='0' ;
 Button13.Enabled:= false;
 Button12.Enabled:= false;
 Button11.Enabled:= false;
 modus:= 1;
end;

procedure TTaschenrechner.Button11Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 2;
 Button10.Enabled:= false;
 Button12.Enabled:= false;
 Button13.Enabled:= false;
end;

procedure TTaschenrechner.Button12Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 3;
 Button10.Enabled:= false;
 Button11.Enabled:= false;
 Button13.Enabled:= false;
end;

procedure TTaschenrechner.Button13Click(Sender: TObject);
begin
 summand1:= StrToFloat(Eingabe.Text);
 Eingabe.Text:= '0';
 modus:= 4;
 Button10.Enabled:= false;
 Button11.Enabled:= false;
 Button12.Enabled:= false;
end;

procedure TTaschenrechner.Button14Click(Sender: TObject);
begin
 summand2:= StrToFloat(Eingabe.Text);
  case modus of
  addition:
   begin
    summe:= summand1+summand2;
  // FloatToStr(summe);
 {  if length (FloatToStr(summe))>=14 then
    begin
    FloatToStr(summe)[14]:='E';
    end;            }

    Eingabe.Text:= FloattoStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  subtraktion:
   begin
    summe:= summand1-summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  multiplikation:
   begin
    summe:= summand1*summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  division:
   begin
    summe:= summand1/summand2;
    Eingabe.Text:= FloatToStr(summe);
    Button10.Enabled:= true;
    Button11.Enabled:= true;
    Button12.Enabled:= true;
    Button13.Enabled:= true;
   end;
  end;
end;

procedure TTaschenrechner.Button17Click(Sender: TObject);
begin
 Eingabe.Text:= '';
 summand1:= 0;
 summand2:= 0;
 Button10.Enabled:= true;
 Button11.Enabled:= true;
 Button12.Enabled:= true;
 Button13.Enabled:= true;
end;

procedure TTaschenrechner.Button19Click(Sender: TObject);
begin
 Eingabe.Text:= '';
end;

procedure TTaschenrechner.Button16Click(Sender: TObject);
begin
{ if (length (Eingabe.Text)=1 and Eingabe.Text:= (IntToStr(0))) then
  Button16.Enabled:= false
else
  Button16.Enabled:= true;     }

end;

procedure TTaschenrechner.Button18Click(Sender: TObject);
begin
 cache:= StrToFloat (Eingabe.Text);
 cache:= cache*(-1);
 Eingabe.Text:= FloatToStr (cache);
end;

procedure TTaschenrechner.FormCreate(Sender: TObject);
begin
 if Eingabe.Text[1]='0then
 begin
  Button16.Enabled:= false;
 end
 else
  Button16.Enabled:=true;
end;

end.
  Mit Zitat antworten Zitat