Ir al contenido


Foto

Edit monetario, solo numeros , limitar decimales.


  • Por favor identifícate para responder
1 respuesta en este tema

#1 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 10 mayo 2017 - 04:53

Hola amigos, tengo el siguiente codigo, me permite ingresar solo numeros en un TEdit, ahora lo que requiero es liminar un numero de decimales , tambien me gustaria agregar el simbolo de miles en la posicion correcta... 

 

 

Me ayudan?


delphi
  1. procedure TFrmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
  2. begin
  3. if not (Key in [#8, '0'..'9', '-', '.']) then
  4. begin
  5. Key := #0;
  6. end
  7. else
  8. if ((Key = '.') or (Key = '-')) and (Pos(Key, (Sender as TEdit).Text) > 0) then
  9. begin
  10. Key := #0;
  11. end
  12. else
  13. if (Key = '-') and ((Sender as TEdit).SelStart <> 0) then
  14. begin
  15. Key := #0;
  16. end;
  17.  
  18. end;


  • 0

#2 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 829 mensajes
  • LocationMisiones, Argentina

Escrito 11 mayo 2017 - 01:28

Buenas tardes Look.

 

Lo que parece que quieres hacer es una máscara de edición.

Creo que es preferible evitar el ingreso de caracteres no deseados, pero hacer la comprobación de otra manera, Con la cadena completa, por ejemplo.

 

Ahora no puedo escribir un ejemplo, pero es posible que lo haga mañana si no logras solucionarlo antes.

 

Yo recorrería la cadena completa y si aun aceptando la entrada del caracter hay error, anulo el ingreso del mismo con abort.

 

Saludos


Editado por cram, 11 mayo 2017 - 01:28 .

  • 0