resulta que en clipper (modo DOS) me funciona el siguiente ejemplo:
proceso:=iif(inkey(5)=171,"A","B")
pero en fivewin siempre me manda a "B".
esto lo uso cuando, desde el menu se selecciona x opcion y espera 5 seg a que se precione ALT+171, para hacer x o si no se presiona nada haga y , pero no me da el mismo resultado que clipper puro.
por su ayuda muchas gracias.
ayuda con inkey()
-
- Posts: 52
- Joined: Fri Oct 28, 2005 3:42 pm
- Location: Mexico, D.F.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 52
- Joined: Fri Oct 28, 2005 3:42 pm
- Location: Mexico, D.F.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
-
- Posts: 52
- Joined: Fri Oct 28, 2005 3:42 pm
- Location: Mexico, D.F.
el usuario lo usa asi
entra a la opcion del menu de ventas (por decir algo) y a la opcion ventas,
aqui espera 5 seg. a que el usuario presione Alt+171 para que haga una remision (y no calcule impuestos), si el usuario no tecleo nada, entonces se hara una factura (calculando sus respectivos impuestos).
puedo mandarte a tu correo privado el porque necesito esto???
de antemano muchas gracias
entra a la opcion del menu de ventas (por decir algo) y a la opcion ventas,
aqui espera 5 seg. a que el usuario presione Alt+171 para que haga una remision (y no calcule impuestos), si el usuario no tecleo nada, entonces se hara una factura (calculando sus respectivos impuestos).
puedo mandarte a tu correo privado el porque necesito esto???
de antemano muchas gracias
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Gerardo,
Y no es más simple preguntarle directamente ?
Y no es más simple preguntarle directamente ?
Code: Select all
If MsgYesNo( "¿ Quiere factura ?" )
...
else
...
endif
Gerardo, porqué no sustituyes la opción de ventas por dos:
- OPCION DE VENTA SIN CALCULO DE IMPUESTO
- OPCION DE VENTAS CON CALCULO DE IMPUESTO.
O el título que tu veas. Es que en Windows el evento de captura del teclado no se gestiona como se hacía en MS-DOS. Supongo que habrás un buffer intermedio de teclado, pero ten en cuanta que en Windows, el fluo del programa no se detiene en un punto concreto del código fuente, entonces ¿dónde le ordenarías al programa que revise el teclado?
Se me ocurre que quizá podría utlilizar esto al principio del módulo (primer códio tras pulsar la opción):
SysWait( 50 )
IF GetKeyState( VK_CONTROL )
...
PROCESO PREPARATORIO CALCULO DE IMPUESTOS
...
ENDIF
Si el usuario pulsó "CONTROL" al entrar en el módulo de ventas, se bifurcaría por ahí.
Si quieres controlar ALT+171, tendrás que systutiuir GetKeyState( VK_CONTROL ) por GetKeyState( valor de la tecla ALT+171 )
Un saludo.
- OPCION DE VENTA SIN CALCULO DE IMPUESTO
- OPCION DE VENTAS CON CALCULO DE IMPUESTO.
O el título que tu veas. Es que en Windows el evento de captura del teclado no se gestiona como se hacía en MS-DOS. Supongo que habrás un buffer intermedio de teclado, pero ten en cuanta que en Windows, el fluo del programa no se detiene en un punto concreto del código fuente, entonces ¿dónde le ordenarías al programa que revise el teclado?
Se me ocurre que quizá podría utlilizar esto al principio del módulo (primer códio tras pulsar la opción):
SysWait( 50 )
IF GetKeyState( VK_CONTROL )
...
PROCESO PREPARATORIO CALCULO DE IMPUESTOS
...
ENDIF
Si el usuario pulsó "CONTROL" al entrar en el módulo de ventas, se bifurcaría por ahí.
Si quieres controlar ALT+171, tendrás que systutiuir GetKeyState( VK_CONTROL ) por GetKeyState( valor de la tecla ALT+171 )
Un saludo.
Nos Gusta Programar