Ejecutar Procedimiento con Tecla ENTER
Hello, bendiciones para todos.
Estoy trabajando con Delphi 2009 y Sql Server 2012. Tengo un modulo de inicio de sesion (login). En el boton aceptar tengo el procedimiento para validar los datos con la base de datos y dar entrada al sistema si los datos son correctos. Lo que deseo hacer es que cuando coloque la contraseña al presionar ENTER valide los datos sin tener que hacer clic en el boton aceptar. Lo que no quiero es pegar el codigo que tengo en el boton en el evento OnKeyPress. Me gustaria saber si puedo llamar el procedimiento del boton desde el evento OnKeyPress. Espero haberme explicado... Gracias de antemano por la ayuda brindada. |
Revisa las propiedades del Botón a ver si tienes "default" colocalo en true (no estoy seguro si requieres que esté modal el formulario)
|
A ver si te sirve esto
Saludos. |
Solucionado
Gracias por la ayuda brindada. Me arrojaron luz
La solucion fue llamar el procedimiento del boton:
|
Hola a todos,
Cita:
En todo caso, si quieres ejecutar el código del evento "OnClick" de un botón, y, no quieres separar el código del evento (que es lo recomendado), en lugar de ejecutar el evento en cuestión, usa el método "Click" del botón cuyo "OnClick" quieras ejecutar, por ejemplo:
|
Por otro lado, si cambias el TButton por un TBitBtn puedes poner la propiedad "Default" a True (como comentaba hal1967) y ese trabajo te lo hace de forma automática.
Saludos |
Cita:
+1 Se nota que habla la voz de la experiencia... ;) Si te acostumbras a llamar a los eventos (en los que se ha añadido código) directamente desde otros puntos del programa, lo que pasa luego es que pasado un tiempo empiezan a pasar "cosas raras" y resulta que cuando revisas la ejecución del programa te encuentras que "saltan eventos cuando no debería". Es decir, en este caso uno espera que cuando el código llega al evento Button1Click, es porque alguien ha pulsado un click de ratón. Luego investigas y resulta que ha sido al pulsar una tecla. Si esto lo generalizas al final te trae dolores de cabeza...:(:( |
Lo tomare en cuenta
Tomare en cuenta sus sugerencias, en especial la de Dec, de crear un procedimiento a parte o una funcion o un metodo.
Gracias.... |
Hola a todos,
Cita:
|
Me he llevado de sus sugerencias. He creado un procedimiento aparte. Coloco el codigo para ver si lo hice correctamente
Gracias por la ayuda brindada |
Hola a todos,
En principio, se trata de no depender del evento en cuestión, es decir, si el método que has puesto arriba no depende de evento alguno, entonces funcionará como se espera, independientemente de que se le ejecute desde el evento "OnClick" de un botón o desde cualquier otro sitio. ¿Podría aún irse un poco más allá? Lo diré sólo para hacerte pensar acaso... ahora mismo tu método puede no depender de un evento, pero, se trata de un método del formulario "Tfrmlogin", de modo que, en cierta medida, depende del formulario en cuestión. Ya depende de ti, o sea, de si estimas oportuno "separar" aún más el código en cuestión, por ejemplo, si fuese posible, podría ponerse dentro de un procedimiento en unidad aparte, y, bastaría con incluir dicha unidad en el formulario "Tfrmlogin" para utilizar el procedimiento en cuestión. De esa forma, podría también incluirse la unidad en cuestión en cualquier otro formulario, unidad, etc. P.S. Tal vez en este caso particular no sea necesario hacer esto último, puesto que en el método que has preparado (al menos ya separado del evento), cambias componentes que se encuentran en el formulario "Tfrmlogin", etc. En este caso particular tal vez no sea siquiera buena idea separar más el código, pero, espero que cogido la idea: separar, abstraer nuestro código cuanto sea posible, de forma que se pueda mantener y reutilizar más o menos sencillamente. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 10:49:48. |
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