In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Sobre el uso de SetKey

Foro público de Xailer en español
Responder
fredy[1]
Mensajes: 218
Registrado: Mar Mar 08, 2005 2:03 am

Sobre el uso de SetKey

Mensaje por fredy[1] »

Hola,
Estoy mirando el uso de la función SetKey() y cuanto más lo pienso más me
convenzo de que lo chulo serí­a tener un método SetKey() dentro de la clase
TControl.
Por qué? Porque en la práctica totalidad de los casos el SetKey está asociado
a un formulario en concreto o a un control. Por ejemplo, al pulsar <sup>
que me borre el registro seleccionado en el browse que tiene el foco, o al
fulsar control+L lanzar los listados correspondientes.
Muy pocas veces se necesita un SetKey() a nivel de aplicación, tal vez alt+F4
para cerrar un formulario, pero ese ya lo gestiona windows.
No sé, ¿qué os parece a vosotros?
Otras dos cosicas
1.- El uso de la clase TAppData
¿qué hace? ¿Crear property dentro de la clase Application?
2.- ¿Cómo era aquello de las clases Xnoseque que permití­an derivar de las
clases principales o algo así­?
Un saludico,
Fredy
http://xailer.5win.info
---
avast! Antivirus: Saliente mensaje limpio.
Base de datos de Virus (VPS): 0511-1, 17/03/2005
Comprobado en: 20/03/2005 3:55:11
avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
http://www.avast.com
Guest

Sobre el uso de SetKey

Mensaje por Guest »

Fredy,
Yo opino que el evento OnKeyDown es el más apropiado para hacerlo y si
tienes en cuenta que el IDE te escribe más de la mitad del codigo al hacer
doble-click sobre el evento, creo que no merece la pena hacer un setkey a
nivel de control.
AppData es un objeto publico cuyo proposito general es contener información
de usuario debido a su facilidad de creación de nuevos miembros.
Mira el documento introduccion.txt en el directorio Doc
Saludos
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=5994632468877075347232@news.ozs.com...]5994632468877075347232@news.ozs.com...[/email]
> Hola,
>
> Estoy mirando el uso de la función SetKey() y cuanto más lo pienso más me
> convenzo de que lo chulo sería tener un método SetKey() dentro de la clase
> TControl.
> Por qué? Porque en la práctica totalidad de los casos el SetKey está
> asociado a un formulario en concreto o a un control. Por ejemplo, al
> pulsar <sup> que me borre el registro seleccionado en el browse que tiene
> el foco, o al fulsar control+L lanzar los listados correspondientes.
> Muy pocas veces se necesita un SetKey() a nivel de aplicación, tal vez
> alt+F4 para cerrar un formulario, pero ese ya lo gestiona windows.
> No sé, ¿qué os parece a vosotros?
>
> Otras dos cosicas
> 1.- El uso de la clase TAppData
> ¿qué hace? ¿Crear property dentro de la clase Application?
>
> 2.- ¿Cómo era aquello de las clases Xnoseque que permitían derivar de las
> clases principales o algo así?
>
>
> Un saludico,
> Fredy
> http://xailer.5win.info
>
>
>
>
> ---
> avast! Antivirus: Saliente mensaje limpio.
> Base de datos de Virus (VPS): 0511-1, 17/03/2005
> Comprobado en: 20/03/2005 3:55:11
> avast! tiene los derechos reservados (c) 1988-2004 ALWIL Software.
> http://www.avast.com
>
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Sobre el uso de SetKey

Mensaje por jfgimenez »

Fredy,
> Estoy mirando el uso de la función SetKey() y cuanto más lo pienso más me
> convenzo de que lo chulo sería tener un método SetKey() dentro de la clase
> TControl.
> Por qué? Porque en la práctica totalidad de los casos el SetKey está
> asociado a un formulario en concreto o a un control. Por ejemplo, al
> pulsar <sup> que me borre el registro seleccionado en el browse que tiene
> el foco, o al fulsar control+L lanzar los listados correspondientes.
> Muy pocas veces se necesita un SetKey() a nivel de aplicación, tal vez
> alt+F4 para cerrar un formulario, pero ese ya lo gestiona windows.
> No sé, ¿qué os parece a vosotros?
Como te ha comentado Ignacio, lo más apropiado en ese caso es usar el evento
OnKeyDown u OnChar de los controles o del formulario. Te aclaro que las
teclas que no las procese el control que tenga el foco pasan al formulario,
por lo que ahí puedes controlar las teclas que quieras tener activas para
todo el formulario. P.ej. supón que quieres utilizar la tecla F9 para hacer
un listado, independientemente del control sobre el que estés. Pues sólo
tendrías que asignar el evento OnKeyDown del formulario:
METHOD FormKeyDown( oSender, nKey, nFlags ) CLASS TForm1
IF nKey == VK_F9
// Listado
ENDIF
RETURN Nil
Por otro lado, la finalidad de SetKey() es precísamente procesar teclas de
toda la aplicación. Imagínate que quieres usar Alt+C para activar la
calculadora en toda la aplicación. Pues sólo tienes que poner:
SetKey( Asc( "C" ), FALT, {|| Calculator() } )
De otra forma, tendrías que asignar el evento OnKeyDown de todos y cada uno
de los formularios de la aplicación.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder