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]='
0'
then
begin
Button16.Enabled:= false;
end
else
Button16.Enabled:=true;
end;
end.