unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, math;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Edit1: TEdit;
Button7: TButton;
Button8: TButton;
Button9: TButton;
procedure BtnAlleClick(Sender: TObject);
procedure OpSpeicher(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
zeichen:char;
operand:char;
opspeicher:char;
ergebnis:double;
zkam:boolean;
zahl:double;
zeichenkette:
string;
implementation
{$R *.dfm}
procedure TForm1.BtnAlleClick(Sender: TObject);
begin
if sender = button1
then zeichen :='
1';
if sender = button2
then zeichen :='
2';
if sender = button3
then zeichen :='
3';
if sender = button4
then zeichen :='
4';
if sender = button5
then zeichen :='
5';
if sender = button6
then zeichen :='
6';
if zkam = true
then
begin
zeichenkette := zeichen;
zkam := false;
end
else
zeichenkette := zeichenkette + zeichen;
Edit1.Text := zeichenkette;
zahl := StrToFloat(zeichenkette);
end;
procedure TForm1.OpSpeicher(Sender: TObject);
begin
if sender = button7
then operand :='
+';
if sender = button8
then operand :='
-';
if sender = button9
then operand :='
=';
zkam := true;
if opspeicher = '
0'
then ergebnis := zahl;
if opspeicher = '
+'
then ergebnis := ergebnis + zahl;
if opspeicher = '
-'
then ergebnis := ergebnis - zahl;
Edit1.Text := FloatToStr(ergebnis);
opspeicher := operand;
end;
end.