Clipper/FiveWin - Lastkey()

 
Vista:

Lastkey()

Publicado por Santa (6 intervenciones) el 08/10/2003 23:02:54
Tengo un problema para tomar algunas teclas, quiero que al apretar el F10 salga de un bucle Ej.

#INCLUDE "INKEY.CH"
.
READ
IF LASTKEY() = K_ESC
RETURN
ELSEIF LASTKEY() = K_F10
PROCEDIMIENTO
ENDIF

Pero cuando pulso el F10 no pasa nada.
Les agradeceria mucho si me pueden ayudar con esto. Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Lastkey()

Publicado por Armando Estrada Bucio (167 intervenciones) el 09/10/2003 02:23:35
Santa:

No me queda claro que es lo pretendes hacer, podrías explicarmelo mejor ?.

Saludos, Armando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Lastkey()

Publicado por Gustavo Alvarez Gambini (274 intervenciones) el 09/10/2003 09:00:04
Santa, por lo que veo creo que es cuando estás en un get.
Te aconsejaría que utilices el SET KEY K_F10 TO .... o mejor aun
SETKEY( K_F10, { || Procedimiento() } )
y luego lo deshabilitas antes de irte.
Saludos.
Gustavo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lastkey()

Publicado por probaco (154 intervenciones) el 09/10/2003 20:28:03
Gustavo interpreto que estas en un get a la espera de una accion.Yo interpreto que estas dentro de un bucle (do while.. o for..next y que necesitas ir a una funcion especifica si el usuario presiona alguna tecla..

Si es asi, yo utilizaria en combinacion con el lastkey() el nextkey()

Ej:
Do while .not. eof()

if(lastkey()=27.or.nextkey()=27,salir(), )
dbskip()
enddo

func Salir
...
.....
return

Saludos
Cesar
Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Lastkey()

Publicado por Gustavo Alvarez Gambini (274 intervenciones) el 09/10/2003 20:33:20
Cesar, creo que falta un poco de info de Santa pero yo me baso en que el código que pone como ejemplo tiene:
Include "INKEY.CH"
...
READ // Este read supongo que antes tiene un get. sino tendría inkey() o algo similar.
IF ......

Santa: Si nos das mas información quizás te podamos ayudar mejor.
Saludos.
Gustavo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lastkey()

Publicado por Santa (6 intervenciones) el 10/10/2003 13:57:27
Muchachos yo tengo estoy ingresando datos por intermedio de un
DO WHILE .T.
@..,..GET
READ
IF LASTKEY() = 27
CLOSE DATA
RETURN
ENDIF
ENDDO
Pero yo quiero que cuando termino de hacer los ingresos pulsando F10
salga del bucle y me procese los datos ingresados.
Les agradeceria cualquier ayuda, desde ya gracias. SANTA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lastkey()

Publicado por probaco (154 intervenciones) el 10/10/2003 15:38:44
Santa, entonces lo que te esta indicando Gustavo, es lo correcto,

Proba esto:

cls
set key -9 to quit
var:=0
do while .t.
@2,2 say "tomo dato" get var
read
if lastkey()=27
exit
endif
enddo

Func quit
Local Getlist:={}
**hago procedimientos
keyboard chr(27)
return

Saludos
Cesar
Argentina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Lastkey()

Publicado por Jorge Daniel Galati (1 intervención) el 22/02/2007 01:48:15
******************************************************************************
* Programa: Clave1.prg
* Subprog.: h6.prg
* Fecha : 18/07/06
* Autor : Jorge D. Galati
* Nota : Programa de ayuda por Tipo de Comisiones
******************************************************************************
PARAMETERS CALL_PRG,LINE_NUM,INPUT_VAR
IF call_prg="h6"
return
ENDIF

DO CASE
CASE CALL_PRG="ACHOF".AND.INPUT_VAR="VTIPOCOMISI"
do A6
ENDCASE
RETURN

PROCEDURE A6
private indico,screen,ver_e1[2],ver_p1[2],alto_win,ver_t1[2]
use tipocomi
index on tipocomisi to tipocomisi
do ver_oxc6
indico = .f.
save screen to screen
alto_win=iif(reccount()<=04,reccount(),16)
@11,51 clear to alto_win+2,54
@11,50 to alto_win+2,55
go top
skip-alto_win
dbedit(12,51,alto_win,25,ver_e1,"point6",ver_p1,ver_t1,"-")
IF M->INDICO
M->VTIPOCOMISI=TIPOCOMISI
ENDIF
RESTORE SCREEN FROM SCREEN
return

FUNCTION POINT6
PARAMETERS MODE,FLD_PRT
DO CASE
CASE MODE < 4
return 1
CASE LASTKEY()=13
indico=.t.
return 0
CASE LASTKEY()=27
indico=.f.
return 0
OTHERWISE
return 1
ENDCASE
RETURN 1

procedure ver_oxc6
ver_e1[1]="tipocomisi"
ver_e1[2]="desccomisi"
ver_p1[1]=repli("@!",1)
ver_p1[2]=repli("@!",15)
ver_t1[1]="C¢d."
ver_t1[2]="Descripci¢n"
return
return
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar