Delphi-Quellcode:
procedure DoKeyPress (aEdit : TEdit; Var aKey : Char);
Begin
if not (aKey in [#48..#57,#8,#44]) then aKey:=#0;
if (aKey in[',']) and (aEdit.Text='') then
begin
aEdit.Text:= '0,';
aEdit.Selstart:=Length(aEdit.Text);
end;
if (Key in[',']) and (pos(',',aAdit.Text)>0) then
aKey:=#0;
End;
procedure TSatzdesPytagoras.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
DoKeyPress(Edit1, Key);
end;
procedure TSatzdesPytagoras.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
DoKeyPress(Edit2, Key);
end;
procedure TSatzdesPytagoras.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
DoKeyPress(Edit3, Key);
end;
Geht aber noch kürzer (Der 'Sender' ist jeweils das TEdit-Control, in dem eine Taste gedrückt wurde).