PDA

Ver la Versión Completa : Edit monetario, solo numeros , limitar decimales.


look
11-05-2017, 03:11:53
Que tal amigos, tengo el siguiente codigo, este me permite ingresar solo numeros en un edit, algo asi : "99999.9999", lo que quiero es liminar la cantidad de decimales, y tambien agregar el simbolo de miles "," en la posicion correcta mientras se escribe en el edit...


procedure TFrmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8, '0'..'9', '-', '.']) then
begin
Key := #0;
end
else
if ((Key = '.') or (Key = '-')) and (Pos(Key, (Sender as TEdit).Text) > 0) then
begin
Key := #0;
end
else
if (Key = '-') and ((Sender as TEdit).SelStart <> 0) then
begin
Key := #0;
end;

end;

olbeup
11-05-2017, 09:23:28
Hola Look,

Limitar el número de decimales lo tienes bien facil, miralo Aquí (http://www.clubdelphi.com/foros/showpost.php?p=516483&postcount=20)

Lo de poner la coma (,) como separador de millares en un Edit es un error, a la hora de asignar el valor del Edit en alguna variable numérica o grabar en la BBDD te dara error, seria mejor que conforme vayas escribiendo lo pusiera en un StaticText ya separado.

Un saludo

look
12-05-2017, 01:03:30
Hola Look,

Limitar el número de decimales lo tienes bien facil, miralo Aquí (http://www.clubdelphi.com/foros/showpost.php?p=516483&postcount=20)

Lo de poner la coma (,) como separador de millares en un Edit es un error, a la hora de asignar el valor del Edit en alguna variable numérica o grabar en la BBDD te dara error, seria mejor que conforme vayas escribiendo lo pusiera en un StaticText ya separado.

Un saludo

hola amigo, gracias por tu ayuda, probe el ejemplo que me pasaste y en efecto funciona , solo que hay un pequenio detalle, al precionar la tecla "." el pone una coma es decir yo trato de ingresar "9.99", pero me pone "9,99", tambien , no puedo ingresar una cantidad de mas de dos digitos...

olbeup
12-05-2017, 08:16:24
hola amigo, gracias por tu ayuda, probe el ejemplo que me pasaste y en efecto funciona , solo que hay un pequenio detalle, al precionar la tecla "." el pone una coma es decir yo trato de ingresar "9.99", pero me pone "9,99", tambien , no puedo ingresar una cantidad de mas de dos digitos...

Hola look,

1ª Pregunta
probe el ejemplo que me pasaste y en efecto funciona , solo que hay un pequenio detalle, al precionar la tecla "." el pone una coma es decir yo trato de ingresar "9.99", pero me pone "9,99"
Pues lo tienes bastante fácil, sólo tienes que quitar la primera línea donde comprueba que si la "Key = WVK_POINT"

2ª Pregunta
tambien , no puedo ingresar una cantidad de mas de dos digitos...
Pues revisa 1ª Pregunta, sólo tienes que quitar la línea donde comprueba el número de decimles o subir el número de decimales que quieres.

Un saludo