Unit Taschenrechner;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, Buttons;
type
TForm1 =
class(TForm)
Gleich: TButton;
Addieren: TButton;
Subtrahieren: TButton;
Multiplizieren: TButton;
Dividieren: TButton;
Edit1: TEdit;
Zahl1: TButton;
Zahl2: TButton;
Zahl3: TButton;
Zahl4: TButton;
Zahl5: TButton;
Zahl6: TButton;
Zahl7: TButton;
Zahl8: TButton;
Zahl9: TButton;
Label1: TLabel;
Zahl0: TButton;
Aus: TButton;
Rechenweg: TLabel;
C: TButton;
procedure Zahl1Click(Sender: TObject);
procedure AusClick(Sender: TObject);
procedure AddierenClick(Sender: TObject);
procedure SubtrahierenClick(Sender: TObject);
procedure MultiplizierenClick(Sender: TObject);
procedure DividierenClick(Sender: TObject);
procedure GleichClick(Sender: TObject);
procedure CClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
function getFormatted(value:
String; decPlaces: Integer): Real;
var toFormat: Real;
begin
decPlaces:=decPlaces * -1;
if value = '
'
then
toFormat:= 0
else
toFormat:= StrToFloat(value);
result:=toFormat* power(10,decPlaces);
//
end;
end;
var
Form1: TForm1;
LetzteZahl: Integer;
Zwischensumme: real;
Rechnung:
String;
implementation
{$R *.dfm}
procedure TForm1.Zahl1Click(Sender: TObject);
begin
Edit1.Text := Edit1.Text + (Sender
as TButton).Caption;
Rechenweg.Caption := Rechenweg.Caption + (Sender
as TButton).Caption;
end;
procedure TForm1.AusClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.AddierenClick(Sender: TObject);
begin
Rechenweg.Caption := Rechenweg.Caption + (Sender
as TButton).Caption;
LetzteZahl := StrToInt(Edit1.Text);
Edit1.Text := '
';
Rechnung := '
+';
GleichClick(
nil);
Zwischensumme := LetzteZahl;
end;
procedure TForm1.SubtrahierenClick(Sender: TObject);
begin
Rechenweg.Caption := Rechenweg.Caption + (Sender
as TButton).Caption;
LetzteZahl := StrToInt(Edit1.Text);
Edit1.Text := '
';
Rechnung := '
-';
end;
procedure TForm1.MultiplizierenClick(Sender: TObject);
begin
Rechenweg.Caption := Rechenweg.Caption + (Sender
as TButton).Caption;
LetzteZahl := StrToInt(Edit1.Text);
Edit1.Text := '
';
Rechnung := '
*';
end;
procedure TForm1.DividierenClick(Sender: TObject);
begin
Rechenweg.Caption := Rechenweg.Caption + (Sender
as TButton).Caption;
LetzteZahl := StrToInt(Edit1.Text);
Edit1.Text := '
';
Rechnung := '
/';
end;
procedure TForm1.GleichClick(Sender: TObject);
begin
if Zwischensumme <> 0
then
begin
if Rechnung = '
+'
then
begin
Zwischensumme := LetzteZahl + StrToFloat(Edit1.Text);
Label1.Caption := toFormat(Zwischensumme);
end;
if Rechnung = '
-'
then
begin
Zwischensumme := LetzteZahl - StrToFloat(Edit1.Text);
Label1.Caption := toFormat(Zwischensumme);
end;
if Rechnung = '
*'
then
begin
Zwischensumme := LetzteZahl * StrToFloat(Edit1.Text);
Label1.Caption := toFormat(Zwischensumme);
end;
if Rechnung = '
/'
then
begin
Zwischensumme := LetzteZahl / StrToFloat(Edit1.Text);
Label1.Caption := toFormat(Zwischensumme);
end;
Edit1.Text := toFormat(Zwischensumme);
end;
end;
procedure TForm1.CClick(Sender: TObject);
begin
Rechenweg.Caption := '
';
Edit1.Text := '
';
Label1.Caption := '
';
Zwischensumme := 0;
LetzteZahl := 0;
end;
end.