PDA

Ver la Versión Completa : validar edit con formato de precio


Lizette
18-11-2008, 16:19:40
Como puedo validar un edit correspondiente a precio, es decir, debe aceptar un sólo punto, despúes del punto, sólo debe aceptar 2 digitos y antes del punto 3 digitos?

Ya le intente pero nomas me hice enredos..

luisgutierrezb
18-11-2008, 17:02:29
porque no usas un componente ya hecho como los jedi o algun otro?

ContraVeneno
18-11-2008, 17:21:34
Lo más recomendable es usar un control diseñado para tal caso, es decir, manejar datos monetarios.

Las Jedi (JVCL) tienen uno muy bueno llamado TjvValidateEdit, al cuál le defines dos propiedades y listo, no tienes que programar nada. las JVCL son gratis y muy recomendables.

cHackAll
19-11-2008, 01:33:01
Hola (http://www.clubdelphi.com/foros/showthread.php?t=52866)

ContraVeneno
19-11-2008, 16:16:33
...Las Jedi (JVCL) tienen uno muy bueno llamado TjvValidateEdit, al cuál le defines dos propiedades y listo, no tienes que programar nada. las JVCL son gratis y muy recomendables.
Y agrego: Y no tienes que hacer conversiones de texto a número o viceversa, ya viene preparado para que puedas utilizar: ValidateEdit.AsInteger, AsFloat, AsCurrency o AsString, según necesites.

En pocas palabras: con un control diseñado para tal caso, no tienes que programar nada y no tienes que hacer conversiones.

fidel
19-11-2008, 19:21:32
En el evento OnKeyPress del edit
//entrar solo números ECantidad
procedure TFContabilidad.ECantidadKeyPress(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(ECantidad.Text) do
if ( copy(ECantidad.Text,i,1) = ',' ) and not ( StrScan(',', Key) = nil ) then Key := #0;
end;

cHackAll
19-11-2008, 20:18:13
Hola...Las Jedi (JVCL) tienen uno muy bueno llamado TjvValidateEdit, al cuál le defines dos propiedades y listo, no tienes que programar nada. las JVCL son gratis y muy recomendables.Y agrego: Y no tienes que hacer conversiones de texto a número o viceversa, ya viene preparado para que puedas utilizar: ValidateEdit.AsInteger, AsFloat, AsCurrency o AsString, según necesites.

En pocas palabras: con un control diseñado para tal caso, no tienes que programar nada y no tienes que hacer conversiones.

Solo saludaba :o

ContraVeneno
19-11-2008, 20:22:56
yo nada más decía :D:D

Lizette
19-11-2008, 21:01:52
Si, gracias por sus ideas. Lo logre hacer..:)