Ich brauche dringend eure Hilfe.
Wir sollen in der Schule einen Taschenrechner programmieren, aber ich bekomme ganz viele Kleinigkeiten nicht auf die Reihe.
Zum Beispiel, bei der clear-Taste werden zwar beide Felder geleert, aber beim erneuten eingeben von Zahlen stehen die Alten wieder da..
Dann das herausgeben vom Ergebnis, Plus, Minus, Durch und Mal , weiss nicht so wirklich wie, beim Komma das selbe..
Code: Alles auswählen
unit u_taschenrechner;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
b_eins: TButton;
b_null: TButton;
b_clear: TButton;
b_komma: TButton;
b_plus: TButton;
b_minus: TButton;
b_mal: TButton;
b_durch: TButton;
b_gleich: TButton;
b_zwei: TButton;
b_3: TButton;
b_4: TButton;
b_5: TButton;
b_6: TButton;
b_7: TButton;
b_8: TButton;
b_9: TButton;
e_1: TEdit;
e_2: TEdit;
procedure b_3Click(Sender: TObject);
procedure b_4Click(Sender: TObject);
procedure b_5Click(Sender: TObject);
procedure b_6Click(Sender: TObject);
procedure b_7Click(Sender: TObject);
procedure b_8Click(Sender: TObject);
procedure b_9Click(Sender: TObject);
procedure b_clearClick(Sender: TObject);
procedure b_durchClick(Sender: TObject);
procedure b_einsClick(Sender: TObject);
procedure b_gleichClick(Sender: TObject);
procedure b_malClick(Sender: TObject);
procedure b_minusClick(Sender: TObject);
procedure b_nullClick(Sender: TObject);
procedure b_plusClick(Sender: TObject);
procedure b_zweiClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
zahl: integer;
a: boolean;
d: string;
erg:integer;
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.b_einsClick(Sender: TObject);
begin
zahl:=1;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_gleichClick(Sender: TObject);
begin
erg:= zahl+zahl;
e_2.text:=inttostr(erg);
end;
procedure TForm1.b_malClick(Sender: TObject);
begin
d:=d+'*';
e_1.text:=(d);
end;
procedure TForm1.b_minusClick(Sender: TObject);
begin
d:=d+'-';
e_1.text:=(d);
end;
procedure TForm1.b_nullClick(Sender: TObject);
begin
zahl:=0;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_3Click(Sender: TObject);
begin
zahl:=3;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_4Click(Sender: TObject);
begin
zahl:=4;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_5Click(Sender: TObject);
begin
zahl:=5;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_6Click(Sender: TObject);
begin
zahl:=6;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_7Click(Sender: TObject);
begin
zahl:=7;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_8Click(Sender: TObject);
begin
zahl:=8;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_9Click(Sender: TObject);
begin
zahl:=9;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
procedure TForm1.b_clearClick(Sender: TObject);
begin
e_1.text:='';
e_2.text:='';
end;
procedure TForm1.b_durchClick(Sender: TObject);
begin
d:=d+'/';
e_1.text:=(d);
end;
procedure TForm1.b_plusClick(Sender: TObject);
begin
d:=d+'+';
e_1.text:=(d);
end;
procedure TForm1.b_zweiClick(Sender: TObject);
begin
zahl:=2;
d:=d+inttostr(zahl);
e_1.text:=(d);
end;
end.
Hoffe Ihr könnt mir helfen, möchte es ja auch verstehen.
Dake vor ab.