unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Label1: TLabel;
Button19: TButton;
procedure Button1Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
zahl, ergebnis, f, w : real;
operator : Char;
komma : boolean;
i : integer;
implementation
{$R *.DFM}
procedure TForm1.Label1Click(Sender: TObject);
begin
zahl := 0;
ergebnis := 0;
f := 10;
operator := '
+';
label1.Caption := floattostr ( zahl);
label1.color := clgray;
label1.alignment := taRightJustify;
komma := false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 1;
end else begin
zahl := zahl + 1 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 2;
end else begin
zahl := zahl + 2 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 3;
end else begin
zahl := zahl + 3 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 4;
end else begin
zahl := zahl + 4 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 5;
end else begin
zahl := zahl + 5 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 6;
end else begin
zahl := zahl + 6 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 7;
end else begin
zahl := zahl + 7 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 8;
end else begin
zahl := zahl + 8 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 9;
end else begin
zahl := zahl + 9 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if komma = false
then begin
zahl := zahl * f + 0;
end else begin
zahl := zahl + 0 / f;
f := f * 10;
end;
label1.caption := floattostrf ( zahl, ffnumber,7,4);
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
+';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
-';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
*';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
/';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
%';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
'
h' :
begin
f := ergebnis;
ergebnis := 1;
for i := 1
to trunc(zahl)
do begin
ergebnis := ergebnis * f;
end;
end;
'
w' :
begin
w := ergebnis;
ergebnis := 0;
repeat
ergebnis := ergebnis + 0.00001;
f := 1;
for i := 1
to trunc (zahl)
do begin
f := f * ergebnis;
end;
until f >= w;
ergebnis := ergebnis - 0.00001;
end;
end;
zahl := 0;
operator := '
+';
label1.Caption := floattostr ( zahl);
label1.caption := floattostrf (ergebnis, ffnumber,7,4);
ergebnis := 0;
f := 10;
end;
procedure TForm1.Button19Click(Sender: TObject);
begin
komma := true;
f := 10;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
h';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
case operator of
'
+' : ergebnis := ergebnis + zahl;
'
-' : ergebnis := ergebnis - zahl;
'
*' : ergebnis := ergebnis * zahl;
'
/' : ergebnis := ergebnis / zahl;
'
%' : ergebnis := ergebnis * zahl / 100;
end;
zahl := 0;
operator := '
w';
label1.Caption := floattostrf ( zahl, ffnumber,7,4);
f:= 10;
komma := false;
end;
end.