![]() |
Validar campo
Buenas tardes, me podrian apoyar con esta sentencia, quiero validar un campo en el cual si el usuario escribe cualquier ya sea caracter o string de texto despliegue un mensaje. Debe admitir únicamente números ya sea enteros o decimales.
Gracias por su tiempo y apoyo. |
Hola.
Por "Validar un campo" te referís a un campo de base de datos? |
Validar antes de guardar en una Base de datos
Esta validación es despues de que el usuario ingresa el string y cambia de TDedit.text.
|
bien... podes hacer algo como:
Hasta luego. ;) |
Gracias de antemano por tu tiempo y apoyo, fíjate que ya lo probe colocando esta sentencia en el evento OnExit del campo para que me despliegue el mensaje derror al cambiar de campo pero me despliega el siguiente mensaje y truena el programa:
Project LibroVAE.exe raised exception class EConvertError with message "letra 'is not valid float value'. Ojala y me puedas seguir apoyando. Gracias nuevamente. |
Supongo que estas ejecutando la aplicación dentro del ide de delphi, y este salta por la excepción. Dado que no decis en que versión del mismo estas trabajando, no puedo indicarte cómo desactivar ese comportamiento... pero si corres tu aplicación desde fuera del ide, verás que funciona correctamente.
Es importante aprender a separar los mensajes del IDE de los de tu aplicación. Hasta luego. ;) |
También podrías usar la funcion TryStrToFloat.
Salud OS. |
Disculpa las molestias sabes, no se si tenga que ver la versión de Delphi estoy ocupando la 5, ya que al momento de compilarlo me despliega que no esta declarado TryStrToFloat.
Gracias por tu apoyo y tiempo. |
Vaya, pues no te queda mas remedio que usar StrtoFloat y cachar la excepcion, tal y como te lo mostró jachguate.
Salud OS |
Gracias, me comentas jachguate que dependiendo de la versión existe la forma de deshabilitar este comportamiento. Me podrias apoyar. Gracias de antemano a los dos.
|
Hola
Como dice jachguate se puede usar el try, fuera de delphi funcionara, pero dentro te dara error, siempre es mejor en my opinion buscar otras alternativas y las hay. saludos |
Pues solo podría decirte lo mismo que jachguate, el error que te muestra te va a aparecer siempre que ejecutes tu programa desde delphi, cuando lo ejecutas desde el ejecutable (perdón por el pleonasmo) no te lo va a mostrar y lo va a hacer correctamente mostrando solo el mensaje 'Debe ingresar un número válido!'.
Salud OS. |
Gracias por su apoyo y tiempo, quedo corriendo a todo dar. Corriendo desde fuera de Delphi.:)
|
Si es posible indicarle al ide de delphi las excepciones a la regla de parar cuando se producen las excepciones.. o bien que no queres que pare para nada.
Lamentablemente ya no tengo instalado nada mas viejo que bds 2006, así que lo diré de memoria: Tools/Debugger Options/LanguageExceptions Allí añadis la clase de excepción para la que no queres que pare; por ejemplo EConvertError, que es la que se dispara en este caso, o bien de-seleccionas el checkbox "Notify on language exceptions", en cuyo caso no parará independientemente de lo que ocurra... (no intentarlo si estas haciendo un programa que dispara misiles nucleares o formatea discos duros) ¡advertido estas! Hasta luego. ;) |
Cita:
Cita:
Como se aprende en el club. Salud OS. |
Gracias, fíjate que en realidad no he practicado el trabajar ejecutandolo fuera del ide de Delphi, abrire un nuevo. Pregunta ¿Abró otro hilo para salir de esta duda?
Saludos.:o |
Si es para este tema de las excepciones no lo veo necesario.
Salud OS. |
Muchas gracias y saludos
Exactamente como lo dijiste jachguate, que buena memoria, agregue está excepción y LISTO.
Gracias jachguate, egostar y Caral. Espero pronto poder estar en contacto con ustedes. Buena tarde.;) |
Hola
Tal vez este par de componentes te sirvan. Aqui lo tienes: Saludos |
Gracias Caral los voy a checar. Buen día.
:rolleyes:
|
La franja horaria es GMT +2. Ahora son las 07:45:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi