Clipper/FiveWin - ASIGANAR VARIAS TECLAS A UN GET ACTIVO

 
Vista:

ASIGANAR VARIAS TECLAS A UN GET ACTIVO

Publicado por Carlos Luis (22 intervenciones) el 06/04/2010 20:33:42
HOLA COLEGAS ESTOY BUSCANDO INFORMACION PARA ASIGNAR VARIAS TECLAS A LOS GET ACTIVOS EJEMPLO.

****************************************************
LOCAL UNO:= SPACE(10)
LOCAL DOS:= SPACE(10)
LOCAL TRES:= SPACE(10)

@10,15 SAY "INTODUZCA UNO:" GET UNO
@12,15 SAY "INTODUZCA DOS:" GET DOS
@14,15 SAY "INTODUZCA TRES:" GET TRES

ME GUSTARIA ASIGNARLES A CADA GET VARIAS TECLAS DE FUNCION PARA CUANDO ESTE UBICADO POR EJEMPLO EN EL GET CON EL CAMPO UNO Y TENGA ASIGNADA LAS TECLAS DE FUNCION (F1) - (F2) - (F3) Y LAS PULSE AUQNUE ESTE INGRESANDO DATOS AL GET O AUN ASI SI NO INGRESARA SE ACTIVARA EL PROCESO QUE COLOQUE EN ESAS TECLAS..

SI ME PUEDEN GUIAR DE ALGU COMANDO DE CLIPPER O ALGUNMANULA O EJEMPLO SE LOS AGRADECERIA

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:ASIGANAR VARIAS TECLAS A UN GET ACTIVO

Publicado por Antoni Masana (168 intervenciones) el 08/04/2010 07:51:36
Para poder utilizar las teclas de funcion dentro de un GET debes utilizar el comando SET KEY o la funcion SETKEY()

Para activar las teclas de función una para cara GET, es decir para el GET UNO la tecla F1, para el GET DOS la tecla F2 y para el GET TRES la tecla F3 se puede hacer de dos formas aunque la primera no me gusta por me resulta mas compleja.

1.- En la funcion que se ejecuta con cada tecla de función validar en que GET estas.

2.- Utilizar las opciones PreBlock y PostBlock del GetNew() para activar las teclas de funcion.

Esto es valido para CLIPPER 5.2 desconozco como si existe en versiones anteriores.

NOTA: el GETNEW() / READMODAL() es lo mismo que @ GET / READ pero con más opciones de control.
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:ASIGANAR VARIAS TECLAS A UN GET ACTIVO

Publicado por CARLOS LUIS (22 intervenciones) el 12/04/2010 21:24:05
GRACIAS ANTONIO BUENO NO HE LEIDO MUCHO SOBRE ESTOS COMANDOS PERO SI TIENES ALGUN EJEMPLO ME GUSTARIA MUCHISIMO ESA AYUDA.

ESTAS RUTINAS LAS NECESITO URGENTEMENTE.
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:ASIGANAR VARIAS TECLAS A UN GET ACTIVO

Publicado por Antoni Masana (168 intervenciones) el 13/04/2010 07:02:48
Esto es un resumen de lo que te explicaba.

Si lo compilas seguramente funcionara bien.

#xtranslate cBlockGet(<cV>) => ({|xV|IIF(PCOUNT()==0,<cV>,<cV>:=xV)})

#define CURSOR_SI SETKEY(22,{||SETCURSOR(Cursor())}); SETCURSOR(1)
#define CURSOR_NO SETKEY(22,NIL); SETCURSOR(0)

#define c_Clr "+W/N,+W/BG"

#include "inkey.ch"

* </> ------------------------------------------------------------------ </>
* </> ---&--- </> Mis tres Gets </> ---&--- </>
* </> ------------------------------------------------------------------ </>

Function Mis_3_Gets()
LOCAL o_Get[3], c_Uno:=" ", c_Dos:=" ", c_Tres:=" "

SETPOS(10,15); DISPOUT("INTODUZCA UNO :", "W/N")
SETPOS(12,15); DISPOUT("INTODUZCA DOS :", "W/N")
SETPOS(14,15); DISPOUT("INTODUZCA TRES:", "W/N")

o_Get[1]:=GetNew(10, 25,cBlockGet(c_Uno ),"C_Uno" ,"@!", c_Clr)
o_Get[2]:=GetNew(12, 25,cBlockGet(C_Dos ),"c_Dos" ,"@!", c_Clr)
o_Get[3]:=GetNew(14, 25,cBlockGet(c_Tres),"c_Tres","@!", c_Clr)

o_Get[1]:PreBlock := {|| Activa_SI( 1 ) }
o_Get[1]:PostBlock := {|| Activa_NO( 1 ) }
o_Get[2]:PreBlock := {|| Activa_SI( 2 ) }
o_Get[2]:PostBlock := {|| Activa_NO( 2 ) }
o_Get[3]:PreBlock := {|| Activa_SI( 3 ) }
o_Get[3]:PostBlock := {|| Activa_NO( 3 ) }

CURSOR_SI; READMODAL(o_Get)
CURSOR_NO
RETURN nil

* </> ------------------------------------------------------------------ </>
* </> ---&--- </> Activa las teclas de Funcion </> ---&--- </>
* </> ------------------------------------------------------------------ </>

static FUNCTION Activa_SI(n_Key)
DO CASE
CASE n_Key == 1 ; SetKey( K_F1, {||Tecla_F1()} )
CASE n_Key == 2 ; SetKey( K_F2, {||Tecla_F2()} )
CASE n_Key == 3 ; SetKey( K_F3, {||Tecla_F3()} )
ENDCASE
return .T.

* </> ------------------------------------------------------------------ </>
* </> ---&--- </> Desactiva las teclas de Funcion </> ---&--- </>
* </> ------------------------------------------------------------------ </>

static FUNCTION Activa_NO(n_Key)
DO CASE
CASE n_Key == 1 ; SetKey( K_F1, nil )
CASE n_Key == 2 ; SetKey( K_F2, nil )
CASE n_Key == 3 ; SetKey( K_F3, nil )
ENDCASE
return .T.

* </> ------------------------------------------------------------------ </>
* </> ---&--- </> Las teclas de Funcion </> ---&--- </>
* </> ------------------------------------------------------------------ </>

static FUNCTION Tecla_F1() ; ALERT(" Tecla F1 ") : RETURN nil
static FUNCTION Tecla_F2() ; ALERT(" Tecla F2 ") : RETURN nil
static FUNCTION Tecla_F3() ; ALERT(" Tecla F3 ") : RETURN nil

* </> ------------------------------------------------------------------ </>
* </> ---&--- </> F I N D E L E J E M P L O </> ---&--- </>
* </> ------------------------------------------------------------------ </>
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