Einzelnen Beitrag anzeigen

24karatboy

Registriert seit: 12. Jun 2007
61 Beiträge
 
#1

Operation nur einmal ausführen!!

  Alt 19. Jun 2007, 10:05
Guten Morgen und zwar hab ich folgendes problem:

ich hab denn taschenrechner hier geschrieben

Delphi-Quellcode:
var
  Form1: TForm1;
  zwischenerg: double;
  operation: integer;

implementation

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin
edit1.SetFocus;
end;

procedure TForm1.SpeedButton0Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton0.caption;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton1.caption;
end;

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton2.caption;
end;

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton3.caption;
end;

procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton4.caption;
end;

procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton5.caption;
end;

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton6.caption;
end;

procedure TForm1.SpeedButton7Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton7.caption;
end;

procedure TForm1.SpeedButton8Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton8.caption;
end;

procedure TForm1.SpeedButton9Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+speedbutton9.caption;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.Text:='';
edit1.SetFocus;
end;

procedure TForm1.SpeedButton10Click(Sender: TObject);
begin
zwischenerg:=strtofloat(edit1.Text);
operation:=1;
edit1.Text:='';
edit1.setfocus;
end;

procedure TForm1.SpeedButton11Click(Sender: TObject);
begin
zwischenerg:=strtofloat(edit1.Text);
operation:=2;
edit1.Text:='';
edit1.setfocus;
end;

procedure TForm1.SpeedButton12Click(Sender: TObject);
begin
zwischenerg:=strtofloat(edit1.Text);
operation:=3;
edit1.Text:='';
edit1.setfocus;
end;

procedure TForm1.SpeedButton13Click(Sender: TObject);
begin
zwischenerg:=strtofloat(edit1.Text);
operation:=4;
edit1.Text:='';
edit1.setfocus;
end;

procedure TForm1.SpeedButtongleichClick(Sender: TObject);
begin
case operation of
1: edit1.Text:=floattostr(zwischenerg+strtofloat(edit1.text));
2: edit1.Text:=floattostr(zwischenerg-strtofloat(edit1.text));
3: edit1.Text:=floattostr(zwischenerg*strtofloat(edit1.text));
4: begin
    if strtofloat(edit1.text)=0 then begin
    showmessage('Division durch Null nicht teilbar');
    edit1.Text:='';
    zwischenerg:=0;
    end
    else
    edit1.Text:=floattostr(zwischenerg/strtofloat(edit1.text));
    end;

end;
end;
procedure TForm1.SpeedButton14Click(Sender: TObject);
begin
edit1.text:='';
end;

procedure TForm1.SpeedbuttonbackClick(Sender: TObject);
var hilf:string;

begin
hilf:=edit1.text;
Delete(hilf, length(edit1.Text), 1);
edit1.Text:=hilf;
end;

procedure TForm1.SpeedButton15Click(Sender: TObject);
begin
zwischenerg:=strtofloat(edit1.text);
edit1.text:=floattostr(1/zwischenerg);
end;

procedure TForm1.SpeedButtonkommaClick(Sender: TObject);
var anzahl:integer;
begin
edit1.Text:=edit1.Text+',';
anzahl:=1;
end;

end.

und jetzt wollte ich die komma funktion einbauen klappt auch wunderbar nur ich kann öfters nen komma drücken und das darf nicht sein gibt es da irgendwie ein ereignis oder etwas was mit weiter helfen kann ?

danke
  Mit Zitat antworten Zitat