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 ?
Hallo, für was ist die lokale Variable 'Anzahl'? Zum Thema: Leg z.B. eine boolsche Klassenvariable an (im private Deklarationsteil). Setz diese auf true, wenn Du das erste Komma setzt.
Code:
procedure TForm1.SpeedButtonkommaClick(Sender: TObject); if bKomma then exit; ...... ...... end;
Oder nutze ein TMaskEdit... -- "Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."
Bis dann... UweDieser Post wurde am 19.06.2007 um 16:29 Uhr von Uwe editiert.
procedure TForm1.SpeedButtonkommaClick(Sender: TObject); begin if pos( ',', Edit1.Text ) = 0 then edit1.Text:=edit1.Text+','; if pos( ',', Edit1.Text) = 1 then edit1.Text:='0,'; end;