unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TEingabemodus = (emAusgabe,emLoeschen,emZahleneingabe);
type
TRechenmodus = (rmAdd,rmSub,rmMult,rmDiv);
type
TForm1 = class(TForm)
txt_rechnung: TEdit;
cmd_7: TButton;
Label1: TLabel;
cmd_clear: TButton;
cmd_div: TButton;
cmd_gleich: TButton;
cmd_0: TButton;
cmd_komma: TButton;
cmd_1: TButton;
cmd_2: TButton;
cmd_3: TButton;
cmd_mul: TButton;
cmd_6: TButton;
cmd_5: TButton;
cmd_4: TButton;
cmd_add: TButton;
cmd_9: TButton;
cmd_8: TButton;
cmd_sub: TButton;
procedure cmd_clearClick(Sender: TObject);
procedure cmd_1Click(Sender: TObject);
procedure cmd_2Click(Sender: TObject);
procedure cmd_3Click(Sender: TObject);
procedure cmd_4Click(Sender: TObject);
procedure cmd_5Click(Sender: TObject);
procedure cmd_6Click(Sender: TObject);
procedure cmd_7Click(Sender: TObject);
procedure cmd_8Click(Sender: TObject);
procedure cmd_9Click(Sender: TObject);
procedure cmd_0Click(Sender: TObject);
procedure cmd_divClick(Sender: TObject);
procedure cmd_mulClick(Sender: TObject);
procedure cmd_subClick(Sender: TObject);
procedure cmd_addClick(Sender: TObject);
procedure ZahlenMerken;
procedure ZahlNeu;
private
{ Private-Deklarationen }
EingabeModus : TEingabeModus;
RechenModus : TRechenModus;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
Zahl1, Zahl2, Zahl3: Integer;
implementation
{$R *.dfm}
procedure TForm1.cmd_0Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(0);
end;
procedure TForm1.cmd_1Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(1);
end;
procedure TForm1.cmd_2Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(2);
end;
procedure TForm1.cmd_3Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(3);
end;
procedure TForm1.cmd_4Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(4);
end;
procedure TForm1.cmd_5Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(5);
end;
procedure TForm1.cmd_6Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(6);
end;
procedure TForm1.cmd_7Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(7);
end;
procedure TForm1.cmd_8Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(8);
end;
procedure TForm1.cmd_9Click(Sender: TObject);
begin
txt_rechnung.Text := txt_rechnung.Text + IntToStr(9);
end;
procedure TForm1.cmd_addClick(Sender: TObject);
begin
label1.Caption := '+';
ZahlenMerken;
txt_rechnung.Text := IntToStr(zahl1 + Zahl2);
end;
procedure TForm1.cmd_clearClick(Sender: TObject);
begin
txt_rechnung.Clear;
end;
procedure TForm1.cmd_divClick(Sender: TObject);
begin
label1.Caption := '/' ;
end;
procedure TForm1.cmd_mulClick(Sender: TObject);
begin
label1.Caption := '*' ;
end;
procedure TForm1.cmd_subClick(Sender: TObject);
begin
label1.Caption := '-' ;
end;
procedure TForm1.ZahlenMerken;
begin
if Eingabemodus = emZahleneingabe then
Zahl1 := strToInt(txt_rechnung.text);
Eingabemodus := emLoeschen;
if Eingabemodus = emZahleneingabe then
Zahl2 := strToInt(txt_rechnung.text);
Eingabemodus := emLoeschen;
end;
procedure TForm1.ZahlNeu;
begin
if Eingabemodus = (emLoeschen) then
begin
txt_rechnung.Text := '';
end;
Eingabemodus := emZahleneingabe;
end;
end.
das isser