unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
//Selbstdefinierter Typen
type {für Ausgabe, ZahlLöschen und eine Zahleingabe}
TEingabemodus = (emLoeschen,emZahleneingabe,emGedr);
type
TForm1 =
class(TForm)
Edit1: TEdit;
bt1: TButton;
bt2: TButton;
BtPlus: TButton;
bt3: TButton;
btgleich: TButton;
btMinus: TButton;
BtClear: TButton;
Button1: TButton;
Button3: TButton;
Button2: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
MainMenu1: TMainMenu;
Datei1: TMenuItem;
Beenden1: TMenuItem;
procedure bt1Click(Sender: TObject);
procedure bt2Click(Sender: TObject);
procedure bt3Click(Sender: TObject);
procedure BtPlusClick(Sender: TObject);
procedure btMinusClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure btgleichClick(Sender: TObject);
procedure Beenden1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
EingabeModus : TEingabeModus;
//Meine Proceduren
procedure ZahlNeu;
Procedure Rechenarten;
procedure Zahlenmerken;
public
{Public-Deklarationen}
end;
var
Form1: TForm1;
Zahl1, Zahl2: integer;
implementation
{$R *.dfm}
//Selbstdefinierte Procedure
procedure TForm1.ZahlNeu;
begin
If Eingabemodus = (emLoeschen)
then
begin
edit1.text := '
';
{Bei EmLöschen wird Edit leer}
end;
Eingabemodus := emZahleneingabe;
{normaler Eingabemodus}
end;
//Selbstdefinierte Procedure - Soll sich die Beiden Zahlen merken
procedure TForm1.Zahlenmerken;
//Hier müsste irgendwas falsch sein, aber ich weiß nicht was!?
begin
if Eingabemodus = emZahleneingabe
then {Bei Eingabe merkt sich Zahl1 die Zahl in Edit}
Zahl1 := strToInt(Edit1.text);
Eingabemodus := emLoeschen;
{Zahl wird gelöscht}
if Eingabemodus = emZahleneingabe
then {das gleiche wie mit Zahl1}
Zahl2 := strToInt(Edit1.text);
Eingabemodus := emLoeschen;
end;
//Zahlentasten
procedure TForm1.bt1Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
1';
end;
procedure TForm1.bt2Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
2';
end;
procedure TForm1.bt3Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
4';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
5';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
6';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
7';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
9';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
ZahlNeu;
edit1.text:= edit1.text + '
0';
end;
//Ende der Zahlentasten
//Plustaste
procedure TForm1.BtPlusClick(Sender: TObject);
begin
Zahlenmerken;
Edit1.text := intTostr(Zahl1 + Zahl2);
end;
end.