FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Validando datos con el evento OnExit en un TEdit de Firemonkey
Hola.
Necesito hacer un pequeño programa con firemonkey para una consulta a una base de datos. Estoy haciendo unas pruebas introduciendo un valor en un Edit, en el evento "exit" hago la búsqueda en la base de datos y si no existe doy un mensaje y vuelvo a poner el foco en el Edit. El problema es que el foco se va al siguiente Edit y curiosamente no permite luego "picar" en él con el ratón pero si coge el foco si pulso "Shift+Tab". Imagino que esto en firemonkey tendrá un tratamiento distinto pero no doy con él. ¿Alguna idea? Código de prueba que pongo en el "exit" del primer Edit:
Gracias y un saludo
__________________
Be water my friend. |
#2
|
||||
|
||||
Hola a todos,
Confirmo, que, en Firemonkey, ocurre lo que describes, mientras que, con la VCL, todo funciona como esperas. Según esta información, puede tratarse de un "bug" en Firemonkey, o, tal vez, simplemente, no sea posible hacer algo así con Firemonkey. Yo investigaría sobre los eventos de los "TEdit" (precisamente, nuevos en Firemonkey) "OnValidate" y "OnValidating", aunque, he probado a hacer lo mismo (dar el foco, básicamente, al control que nos interesa) con estos eventos, y, tampoco parece funcionar. La posible solución, como también comentan en el artículo que enlazo en el primer párrafo, pasa por usar un "botón" que se encargue de la validación de los datos. Partiendo del evento "Click" de dicho botón, ya sí, podrás dar el foco al "TEdit" que precises, sin problemas. Se menciona además en el artículo algo con lo que estoy de acuerdo: tal vez sea una buena idea usar este botón, y, no hacerlo como tú lo planteas. En todo caso, sí que podrían aprovecharse los eventos mencionados, para proporcionar "feedback" al usuario, a la vez que proporciona los datos de entrada, esto es, antes incluso del "Click" en el botón. |
#3
|
||||
|
||||
Pues no sé qué decirte, antes de colgar este hilo probé a poner la validación del dato pulsando un botón, pero claro, necesito llamarlo desde el "exit" del componente y al final hace exactamente lo mismo. El tema es que pienso introducir el dato desde un lector de código de barras que, al recibir la tecla "Enter" después de leer el número, valide el dato de forma automática.
Esto es tan básico que tiene que tener algún tipo de solución. Gracias y un saludo
__________________
Be water my friend. |
#4
|
|||
|
|||
Saludos a todos...
Prueba esto
Me había encontrado con un problema similar en una aplicación android con el showmessage y lo resolví de esta forma Te dejo un enlace Saludos Última edición por manelb fecha: 24-11-2018 a las 22:52:45. |
#5
|
||||
|
||||
Manelb.
Gracias por tu respuesta. Efectivamente este código me viene bien y fíjate que esa página que me indicas la había visto y había hecho algunas pruebas con esta instrucción pero, no sé por qué, sin resultado. Veo que cuando sale el cartel del aviso, por debajo el programa sigue su ejecución. Imagino que no se podrá parar la ejecución hasta que no aceptes en el mensaje. ¿Es así? Gracias de nuevo y un saludo.
__________________
Be water my friend. |
#6
|
||||
|
||||
Hola a todos,
Además de lo que te ha comentado el compañero, ¿has probado a hacer lo que necesitas (si no me equivoco, dar el foco al control si su contenido no es el esperado) en el evento "OnKeyUp"? No sé si en tu caso particular te serviría, pero, lo siguiente, sí que parece funcionar como se espera, es decir, en caso de error, el foco acaba en el "Edit1":
|
#7
|
|||
|
|||
Precisamente, lo que a mi me había pasado en Android era eso. El showmodal no detenía la ejecución del programa y se ejecutaban las sentencias posteriores al showmodal antes de aceptar el mensaje.
|
#8
|
||||
|
||||
Cita:
Negativo. Paso el foco al "Edit1" pero "selasopla" y se va al siguiente. Cita:
Bueno... es un mal menor, ya le buscaremos solución. Gracias a los dos
__________________
Be water my friend. |
#9
|
||||
|
||||
Hola a todos,
En Windows sí que funciona... lo que pasa es que ahí estamos pulsando la tecla ENTER de veras... o sea, no sé si funcionará en dispositivos móviles, pero, en Windows funciona... |
#10
|
||||
|
||||
Cita:
Andalaleche.... pues llevas razón. He vuelto a probar y si que funciona. En la prueba que había hecho no me salía del evento y al continuar, después de coger el foco el "edit" hacía un retorno de carro y se iba otra vez al siguiente. Gracias y un saludo
__________________
Be water my friend. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Declarar evento OnExit en StringGrid | newtron | OOP | 8 | 11-05-2012 18:01:16 |
Evento onExit() | rodno | C++ Builder | 2 | 20-12-2010 22:44:20 |
Evento 'OnExit' del Form | Wellnic | OOP | 3 | 10-04-2007 20:08:51 |
Problemas con evento OnExit | santi33a | Varios | 4 | 15-04-2006 14:30:50 |
Evento OnExit de un Edit | Caro | OOP | 1 | 03-02-2006 18:57:01 |
|