En el evento OnKeyPress del edit
procedure TFContabilidad.EMetalicoKeyPress(Sender: TObject; var Key: Char);
var
i : integer;
begin
//controlar entrada solo números
if ( StrScan('0123456789.,'+chr(7)+chr(8), Key) = nil ) then Key := #0;
//cambiar punto decimal por coma
if key = '.' then key := ',';
//controlar entrada una sola coma
for i := 1 to length(EMetalico.Text) do
if ( copy(EMetalico.Text,i,1) = ',' ) and not ( StrScan(',', Key) = nil ) then Key := #0;
end;
...
De nada.