PDA

Ver la Versión Completa : ayuda con keypress PLIS!!!


korex
09-07-2005, 22:01:15
hola tengo un pequeño formulario done pide el ingreso del numero de una mesa y su capacidad y luego el boton ingresar y borrar
el boton ingresar:
envia los datos a una base de datos sql server
y el boton borrar elimina una mesa

como puedo hacer q al precionar enter me ingese la mesa???

gracias
P.D.: he revisado casi todos los hilos con respecto a esto perono me resulta ninguno por eso postie otro a ver sime puede quedar mas claro

gracias

dec
09-07-2005, 22:19:26
Hola,

Puedes usar los eventos OnKeyPress, OnKeyUp y OnKeyDown. Para que los dos últimos surtan efecto tendrás que poner a "true" la propiedad "KeyPreview" del formulario en cuestión.

La verdad es que en la ayuda de Delphi se describen los eventos que refiero y, en la misma ayuda, puedes ver ejemplos de uso de los mismos.

En todo caso, para comprobar que el usuario pulsó la tecla "ENTER" podría hacerse más o menos así si utilizas los eventos OnKeyUp u OnKeyDown:


if Key = VK_RETURN then
begin
// Lo que tengas que hacer...
end;


Si te decantas por el evento OnKeyPress podrías hacer algo similar a esto:


if Key = #13 then { RETURN }
begin
// Lo que tengas que hacer...
end;

kalisto
10-07-2005, 11:13:02
No hace falta complicarse tanto la vida. Simplemente dando true a la propiedad default del boton ingresar.

dec
10-07-2005, 11:48:15
Hola,

Sin embargo, la propiedad "Default" del "TButton" no es del todo infalible: no digo que no pueda usarse en este o en otros casos, pero, habría que tener en cuenta lo siguiente:


Moreover, any button that has focus becomes the Default button temporarily; hence, if the user selects another button before pressing Enter, the selected button’s OnClick event handler executes instead.

Claro que, si utilizamos los eventos mencionados más arriba también habrá que tener en cuenta otras circunstancias... ¡vamos que al cabo hay que complicarse un poco la vida! Y es que ya lo dicen REM (http://www.remhq.com/) en alguna canción suya: Nothing is easy.

korex
10-07-2005, 19:15:03
muchas gracias por las respuestas, ye logre que resulte , muchas gracais

roman
10-07-2005, 22:13:41
Voy de acuerdo con kalisto. No hay que complicar las cosas que son sencillas.

La existencia de un botón "Deafult" junto con la excepción indicada por dec es parte de la interfaz estándar de Windows. Si el usuario selecciona previamente otro botón, la más de las veces será porque su intención es usar dicho botón y no el "default".

Por otra parte, haciendo una prueba como la que indica dec, obtengo el mismo resultado (pero más complicado): se ejecuta el código del botón seleccionado y no el del eveto OnKey... Así que no hay ganancia.

// Saludos