![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
![]() Si te das cuenta con eso no necesitas codificar nada en los eventos OnExit o OnEnter. ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#2
|
|||
|
|||
|
Hola.
No es eso. El taborder está bien. Si reproduces el ejemplo verás que no va por ahí la consulta. A ver, el tema es el siguiente: - A partir del valor de un campo edit, se trata de habilitar o deshabilitar el siguiente edit en la secuencia. - Si este primer edit tiene un valor, por ejemplo, "S" entonces se habilita el segundo edit, pero si no permanece deshabilitado. - El problema es que al comprobar el valor en el OnExit, y habilitar el segundo edit, este no recibe el foco, a pesar de estar habilitado. Un saludo. |
|
#3
|
||||
|
||||
|
Cita:
..un poco mejor .Lo que puedes hacer es no usar el evento OnExit de tu primer Edit sino mas bien el evento OnChange del primer Edit y colocar (segun lo que mencionas) éste codigo: . Con eso ya solucionas tu problema. ![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#4
|
|||
|
|||
|
Hola. Efectivamente podría hacerse así, pero este es un ejemplo muy simplificado del problema.
La cuestión es que el valor del campo "edit1" se debe comprobar con una consulta a una base de datos. Por eso se hace la comprobación al salir, y entonces se decide, en función del valor del edit1 si se debe habilitar y se puede escribir en el edit2 o no. Si lo pongo en el onchange, entonces estaría lanzando muchas consultas SQL inútiles a la base de datos. No es la solución. |
|
#5
|
||||
|
||||
|
Entiendo tu dilema pero siempre hay algo que se puede hacer, lo bueno de delphi es que te brinda muchas posibilidades de resolver los problemas,pero hay que ser conciente de no aferrarse a resolver los problemas con una sola alternativa,hay que ver otras tambien.Lo que trato de decirte es que entonces puedes hacer una combinación de eventos, es decir usar ambos eventos del primer edit tanto el OnChange, y como el OnExit; el evento OnChange lo utilizas para habilitar o deshabilitar el edit2 y el evento OnExit para hacer(según dices)tu consulta a tu base de Datos.
.Bueno es solo una sugerencia que te puedo hacer. Saludos.. y ojalá te sea de utilidad. ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#6
|
||||
|
||||
|
Cita:
sur-se, te recomiendo compilar tu aplicación con la opción Use debug DCUs y colocar un punto de ruptura dentro del evento OnExit. Entonces ejecútala haciendo que se detenga en ese punto y luego abre la ventana de pila de llamadas (Call Stack) del depurador. Ahí observarás el camino que siguió el programa desde que se disparó el mensaje wm_NextDlgCtl. Varios de los métodos ahí listados —y también algunos de los que éstos llaman— son de tipo virtual y otros de tipo mensaje, lo cual significa que pueden ser redefinidos (reescritos), algunos en tu clase formulario y otros quizá en la clase de componente que has creado. Hay muchas posibilidades de conseguir la tabulación de captura que deseas redefiniendo alguno de esos métodos. Saludos. Al González. ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Origen de datos | vascomulc | Conexión con bases de datos | 1 | 19-03-2008 22:23:07 |
| Origen del and per se and (&) | marcoszorrilla | La Taberna | 0 | 17-01-2007 22:35:12 |
| Origen de los jefes | Casimiro Noteví | La Taberna | 9 | 11-07-2006 22:26:12 |
| Origen de un Correo | AMG | Internet | 0 | 14-05-2003 23:02:45 |
|