unit rechner;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Math, Menus;
type
TForm1 =
class(TForm)
Taste1: TButton;
Taste2: TButton;
Taste4: TButton;
Taste5: TButton;
Taste6: TButton;
Taste8: TButton;
Taste9: TButton;
Taste0: TButton;
Taste7: TButton;
clr: TButton;
Taste3: TButton;
Ausgabe: TEdit;
plus: TButton;
minus: TButton;
mal: TButton;
geteilt: TButton;
Komma: TButton;
ergebnis: TButton;
potenzieren: TButton;
wurzel: TButton;
Vorzeichen: TButton;
sinus: TButton;
Cosinus: TButton;
Tangens: TButton;
MainMenu1: TMainMenu;
ProgrammWhlen1: TMenuItem;
aschenrechner1: TMenuItem;
procedure Taste1Click(Sender: TObject);
procedure plusClick(Sender: TObject);
procedure Taste2Click(Sender: TObject);
procedure Taste3Click(Sender: TObject);
procedure Taste4Click(Sender: TObject);
procedure Taste5Click(Sender: TObject);
procedure Taste6Click(Sender: TObject);
procedure Taste7Click(Sender: TObject);
procedure Taste8Click(Sender: TObject);
procedure Taste9Click(Sender: TObject);
procedure Taste0Click(Sender: TObject);
procedure KommaClick(Sender: TObject);
procedure ergebnisClick(Sender: TObject);
procedure minusClick(Sender: TObject);
procedure malClick(Sender: TObject);
procedure geteiltClick(Sender: TObject);
procedure potenzierenClick(Sender: TObject);
procedure clrClick(Sender: TObject);
procedure wurzelClick(Sender: TObject);
procedure VorzeichenClick(Sender: TObject);
procedure sinusClick(Sender: TObject);
procedure CosinusClick(Sender: TObject);
procedure TangensClick(Sender: TObject);
procedure aschenrechner1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c :double;
bplus,bminus,bmal,bgeteilt,bpotenzieren,bwurzel,bsinus,bcosinus,btangens :boolean;
implementation
{$R *.dfm}
procedure TForm1.Taste1Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
1';
end;
procedure TForm1.plusClick(Sender: TObject);
begin
bplus := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.Taste2Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
2';
end;
procedure TForm1.Taste3Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
3';
end;
procedure TForm1.Taste4Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
4';
end;
procedure TForm1.Taste5Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
5';
end;
procedure TForm1.Taste6Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
6';
end;
procedure TForm1.Taste7Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
7';
end;
procedure TForm1.Taste8Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
8';
end;
procedure TForm1.Taste9Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
9';
end;
procedure TForm1.Taste0Click(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
0';
end;
procedure TForm1.KommaClick(Sender: TObject);
begin
Ausgabe.Text := Ausgabe.text+'
,';
end;
procedure TForm1.ergebnisClick(Sender: TObject);
var
ergebnis: extended;
begin
b := StrToFloat(Ausgabe.Text);
if bplus = true
then
c := a + b;
if bminus = true
then
c := a - b;
if bmal = true
then
c := a * b;
if bgeteilt = true
then
c := a / b;
if bpotenzieren = true
then begin
ergebnis := Power(a, b);
c := ergebnis;
if bsinus = true
then
c := sin(Pi*a/180);
end;
if bwurzel = true
then begin
ergebnis := Power(a, 1/b);
c := ergebnis;
end;
if bsinus = true
then begin
c := sin(Pi*a/180);
end;
if bcosinus = true
then begin
c := cos(Pi*a/180);
end;
if btangens = true
then begin
c := tan(Pi*a/180);
end;
Ausgabe.text := floattostr(c);
bplus := false;
bminus := false;
bmal := false;
bgeteilt := false;
bpotenzieren := false;
bwurzel := false;
bsinus := false;
end;
procedure TForm1.minusClick(Sender: TObject);
begin
bminus := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.malClick(Sender: TObject);
begin
bmal := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.geteiltClick(Sender: TObject);
begin
bgeteilt := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.potenzierenClick(Sender: TObject);
begin
bpotenzieren := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.clrClick(Sender: TObject);
begin
a := 0;
b := 0;
c := 0;
ausgabe.Text := '
';
end;
procedure TForm1.wurzelClick(Sender: TObject);
begin
bwurzel := true;
a := StrToFloat(Ausgabe.Text);
ausgabe.Text := '
';
end;
procedure TForm1.VorzeichenClick(Sender: TObject);
begin
ausgabe.Text := floattostr(-1 * strtofloat(ausgabe.text));
end;
procedure TForm1.sinusClick(Sender: TObject);
begin
bsinus := true;
a := StrToFloat(Ausgabe.Text);
end;
procedure TForm1.CosinusClick(Sender: TObject);
begin
bcosinus := true;
a := StrToFloat(Ausgabe.Text);
end;
procedure TForm1.TangensClick(Sender: TObject);
begin
btangens := true;
a := StrToFloat(Ausgabe.Text);
end;
procedure TForm1.aschenrechner1Click(Sender: TObject);
begin
end;
end.