ayuda con inkey()

ayuda con inkey()

Postby Gerardo Farfan » Thu Aug 03, 2006 8:58 pm

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.
Gerardo Farfan
 
Posts: 52
Joined: Fri Oct 28, 2005 3:42 pm
Location: Mexico, D.F.

Postby Antonio Linares » Fri Aug 18, 2006 9:19 pm

Gerardo,

Inkey() no se usa en FiveWin.

Abres una ventana desde esa opción del menú ? O una caja de diálogo ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42117
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Gerardo Farfan » Fri Aug 18, 2006 10:14 pm

Antonio:

Efectivamente, abro desde una opcion del menu un dialogo con cierta informacion dependiendo si el usuario presiono Alt+171, de lo contrario muestro otro tipo de informacion.


gracias.
Gerardo Farfan
 
Posts: 52
Joined: Fri Oct 28, 2005 3:42 pm
Location: Mexico, D.F.

Postby Antonio Linares » Sat Aug 19, 2006 12:24 am

Gerardo,

Le has asignado el acelerador Alt+171 ( ½ ) a una opción del menú ?

Como lo pulsa el usuario ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42117
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Gerardo Farfan » Mon Aug 21, 2006 8:35 pm

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
Gerardo Farfan
 
Posts: 52
Joined: Fri Oct 28, 2005 3:42 pm
Location: Mexico, D.F.

Postby Antonio Linares » Mon Aug 21, 2006 8:40 pm

Gerardo,

Y no es más simple preguntarle directamente ?
Code: Select all  Expand view  RUN
If MsgYesNo( "¿ Quiere factura ?" )
   ...
else
   ...
endif
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42117
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby manuramos » Tue Aug 22, 2006 4:41 pm

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.
Nos Gusta Programar
manuramos
 
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 28 guests