![]() |
No funciona boton
Hola amigos:
Estoy peleandome con un form en el cual tengo un boton para salir, el cual se inhabilita (no funciona) cuando entro en un TEdit en el cual tengo un codigo como este en el evento OnExit Código Delphi [-] procedure TFprincipal.ECuentaExit(Sender: TObject); begin If (Length((Sender As TEdit).Text) < 10) OR ((Sender As TEdit).Text='') Then (Sender As TEdit).SetFocus; end; ¿Como puedo hacer que no se inhabilite el boton y pueda salir del formulario aunque este en este Edit, ya que usuario se queja que tiene que rellenar los datos y luego pulsar el boton salir. Gracias por vuestra ayuda.:D |
btSalir es el boton qe usas para la salida, lo escribi de memoria pero deberia funcionar
|
Si con "se inhabilita" te refieres a que pierde el foco, pues creo que con el ratón podría hacerle clic.
Sino, prueba con esto:
Quito lo de Text='' porque lógicamente si no tiene texto, Lenght es menor que diez seguro :D Salu2. ;) |
Hola...
A mi me parece que estás haciendo en un mal lugar tu validación de datos... Podrías hacerla desde el evento OnCloseQuery de la forma o si es para base de datos, en el evento BeforePost del DataSet que vayas a afectar. Saludos... |
Parece que eduarcol se me adelantó... esta lenta conexión...
Por cierto, eduarcol, uno de los debería estar atento a los mensajes de enecumene.... :D |
Cita:
|
Yo tendría cuidado con ese Edit, por el nombre, igual guarda el número de cuenta bancaria, contabilidad, etc, si no se escribe al completo puedes guardar inconsistencias en la BD
Lo más fácil, dejar que pulse el botón, si el Edit tiene menos de 10 letras, avisas al usuario en el OnCloseQuery y abortas el guardado del registro. Saludos |
Hola amigos:
gracias por las ideas. cuando digo se inhabilita quiero decir que al pulsar click con el raton no funciona. O sea no cierra el formulario. En cuanto a lo de inconsistencias no habra ninguna ya que en este caso quiero salir sin grabar, simplemente quiero salir del formulario encontrandome en la edicion del TEdit, cosa que no me deja y solo puedo salir pulsando la tecla <ESC> Ya se que no es grave pero me gustaria darle una solucion elegante.:D Tambien podria dejar que introdujera los caracteres que le de la gana y al final realizar la comprobacion, es otra posibilidad. |
Creo que la solución de Lepe es la mejor. Quitas eso de que Length<10 y haces una comprobación antes de salir. Si le das al botón salir, pues sencillamente no comprueba nada: sale y punto. Y si le da al botón "Grabar", pues comprueba que todos los datos son correctos.
Salu2. |
Ok.
Esta hecho asi, creo que no tendre problemas Gracias pro las ideas aportadas. :D |
| La franja horaria es GMT +2. Ahora son las 05:20:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi