• Lunes 18 de Noviembre de 2024, 07:45

Autor Tema:  Leer Eventode El Telcado  (Leído 1508 veces)

claudiorene

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Leer Eventode El Telcado
« en: Jueves 2 de Noviembre de 2006, 18:57 »
0
Hola amigos, toy diseñando , todavia, el sistemita de facturacion y lo que deseo hacer es poder leer eventos del teclado,  uso el PUSH KEY  y ON KEY LABEL F3, pero el tema que con esa tecla quiero llamar a otro formulario, por ejemplo ON KEY LABEL F3 do form Articulos.scx, pero me captura cualquier tecla del telcado, ademas me ejecuta tos del codigo que esta dentro del metodo KeyPress.

Espero me eyuden, y i hay otra maneramas facila de leer los ventos del telcado, mejor, pero simpre con la idea de utilizar una determinada tecla para invocar al formulario en cuestion.

Ha y otra cosa, cuando creamos un cursor con la sentencia CREATE CURSOR DATOS (campo1 tipo1,campo2, tipo2...etc), osea en el voy agregando lops datos del detalle de la factura, es mejor hacerlo en el metodo LOAD del formulario o en el metodo INIT, nada mas, gracias y espero una mano amiga....

luishoracio

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Leer Eventode El Telcado
« Respuesta #1 en: Jueves 2 de Noviembre de 2006, 19:26 »
0
Buenas tardes,

para el manejo del teclado usa el evento keypress preguntando el resultado a la variable NKEYCODE=-2 asi:

if nkeycode=-2
   do form articulos
endif

para lo del curosr es mejor en el load, la instruccion sería así:

en el evento load del formulario

CLOSE TABLES ALL

CREATE CURSOR <NOMBRE DEL CURSOR> (CAMPO1,...CAMPOn)

*--si vas a asociar el cursor a un listbox sería así:

THISFORM.LISTBOX.ROWSOURCE=<NOMBRE DEL CURSOR>

THISFORM.LISTBOX.ROWSOURCETYPE=2

Y  en el diseño del formulario le colocas al objeto listbox en numero de columnas que  quieres mostrar

hasta pronto

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Leer Eventode El Telcado
« Respuesta #2 en: Miércoles 15 de Noviembre de 2006, 20:47 »
0
Citar
pero me captura cualquier tecla del telcado, ademas me ejecuta tos del codigo que esta dentro del metodo KeyPress.
Recuerda que cada ves que presionas una tecla se activa el evento keyPress de la ventana cualquiera que sea la tecla. lo que puedes hacer es dividir tu codigo
el push key y el on key label lo colocas en el init del formulario  para que al iniciar el formulario cree la pila de las teclas que vas a usar durante que se mantenga abierta la sesion de ese form o desde que destrullas la pila de teclas. y

Citar

ademas me ejecuta tos del codigo que esta dentro del metodo KeyPress

y el codigo extra puedes crearte un metodo y para usarlo y llmarlo en donde lo necesites.



Citar
cuando creamos un cursor con la sentencia CREATE CURSOR DATOS (campo1 tipo1,campo2, tipo2...etc), osea en el voy agregando lops datos del detalle de la factura, es mejor hacerlo en el metodo LOAD del formulario o en el metodo INIT


el metodo load se es implementado primero que el init. El load al implementarse todavia no se han cargado los objetos del form y el init se ejecuta cuando ya están todos los objetos cargados del form. Asi que si durante la creacion del tabla temporal no necesitas ni un valor o algo asi que reposa en algun objeto quedaria bien en el load, aunque tambien seria bueno considerar las especificaciones de la maquina para el cual vas hacer la aplicacion, debido a que si cargas mucho el metodo load en procesos puede demorar un poco en aparecer la forma y un usuario inexperto o tambien con conocimiento puede desesperarse y empezar a dar clic a lo loco porque no le sale la pantalla. :blink:

Otra cosa que podrias hacer para no estar creando siempre el cursor seria verificar si existe, si no existe entonces lo creas y si existe lo rellenas.
seria algo asi.

Código: Text
  1. if file('datos')
  2.     &&rellenar con los datos
  3. else
  4.     &&crearlo
  5. endif
  6.  
  7.  

bueno espero te sirva de algo
saludos,
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com