Validación coma y decimales Keypress
Buen día.
Quisiera saber si me pueden colaborar, tenía este código que encontre en un foro en el evento keypress de un edit y funciona correctamente me valida que solo deje ingresar dos decimales y que si escribo un punto lo modifique y lo cambie por una coma, como necesito realizar esta validación para varios edits quise hacerlo como un procedimiento, pero al hacerlo no me realiza la validación correctamente (no me cambia el punto por la coma y no lo muestra en el edit). Alguien que me pueda ayudar a corregir o decirme el motivo por el cual no me funciona. Gracias.
|
Creo que el problema esta en la línea:
En esa línea de codigo haces referencia directa al objeto Edit. Prueba a cambiarla de esta forma para hacerlo más genérico:
|
Buen día.
Lo probe de la manera que planteas pero al compilarlo me saler un error y dice que tipos incompatibles y señala la parte del código donde dices (Sender as TrDBEdit). Gracias espero puedas colaborarme y decirme como organizarlo. |
Cita:
Cita:
|
Cita:
|
y entrega el valor correcto a la función que te lanza el error
|
Cita:
|
Cita:
El error es generado en la función Copy. Ya que la función requiere un texto con el que trabajar Al hacer el cast
A la función le estás pasando es un objeto no el texto del objeto lo que obtendrías con
Recomendación: Ya que al parecer estás usando un control de base de datos, podrías validar el valor almacenado en el campo en lugar al del control.
|
Cita:
Es que lo que tengo en el procedure funciona correctamente si es invocado directamente desde el keypress del edit, me explico sin invocar un procedimiento externo sino aplicar todo el código ahi, pero como lo necesito para varios edits por eso decidí volverlo un procedure pero al hacer esto como te comento no me realiza correctamente la validación. |
Cita:
LineComment Saludos |
Hola.
Cita:
Saludos :) |
Cita:
|
Cita:
|
Y ¿por qué manejas dos componentes TrDBEdit e el mismo procedimiento? ¿Cuál es la relación entre Edit y Sender?
Es que, de verdad, no se entiende lo que quieres hacer. Hablas de validar la entrada en un Edit pero en el procedimiento con el que quieres hacer la validación se involucra otro Edit. Trata de ser más explícito y detallado. LineComment Saludos |
Cita:
|
Entonces, tu procedimiento debe tener sólo dos parámetros:
y lo invocas pasando el Sender AS TrDBEdit:
y modifica tu procedimiento acordemente. LineComment Saludos |
Cita:
|
Pon el código final del procedimiento.
LineComment Saludos |
Cita:
|
Hola Soa Pelaez,
Sólo quieres controlar si al pulsar un (.) se cambie por una (,) y delimitar el número de decimales que puedes introducir, pues yo utilizo esto. Y la llamada lo hacemos asi. O Un saludo. |
La franja horaria es GMT +2. Ahora son las 00:36:35. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi