Есть решение попроще. На первом edit пишешь:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8:;
'.',',': begin
Key := DecimalSeparator;
if Pos(DecimalSeparator, TEdit(Sender).Text)<>0 then Key := #0;
end;
else Key:= #0;
end;
end;
А у остальных в событиях OnKeyPress кидаешь ссылку на эту процедуру.