GET Y TECLA F1

GET Y TECLA F1

Postby Maggiro » Thu Jul 09, 2015 4:05 pm

Buenos dias Amigos del Foro:

En el siguiente código:

Code: Select all  Expand view


#include 'fivewin.ch'

FUNCTION Prueba()
   LOCAL DiSale,GeSale,din
   din=SPAC(11)
   DEFINE DIALOG DiSale FROM 1,1 TO 20,50 ;
                                    TITLE 'Probando F1 Help para GET'
      @ 1,1 GET GeSale VAR din OF DiSale PICTURE '99999999999'
      @ 2,1 BUTTON 'ACEPTAR' OF DiSale ACTION DiSale:End()
   ACTIVATE DIALOG DiSale
RETU nil

 


1) Si tengo el foco en el GET y pulso F1 no hay respuesta.
2) Si tengo el foco en el BUTTON o en cualquier parte del dialogo que no sea el GET
y pulso F1 me aparece la frase "No Help file available"

La pregunta:
Puede el GET comportarse igual que cualquier otra parte del dialogo?
Puede el Get también responder "No Help file available" cuando se pulsa F1 en su foco?

Agradecido por vuestras respuestas
Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 en Evaluación
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: GET Y TECLA F1

Postby Antonio Linares » Fri Jul 10, 2015 11:28 am

Julio,

En la versión actual de FWH 15.05 al pulsar F1 sobre el GET el mensaje también aparece correctamente.

Para la versión 6.12 que estais evaluando prueba asi:

Code: Select all  Expand view
#include 'fivewin.ch'

FUNCTION Prueba()
   LOCAL DiSale,GeSale,din
   din=SPAC(11)
   DEFINE DIALOG DiSale FROM 1,1 TO 20,50 ;
                                    TITLE 'Probando F1 Help para GET'
      @ 1,1 GET GeSale VAR din OF DiSale PICTURE '99999999999'
     
      GeSale:bKeyDown = { | nKey | If( nKey == 112, GeSale:Help(),) }
           
      @ 2,1 BUTTON 'ACEPTAR' OF DiSale ACTION DiSale:End()
   ACTIVATE DIALOG DiSale
RETU nil
regards, saludos

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

Re: GET Y TECLA F1

Postby Maggiro » Sat Jul 11, 2015 4:05 pm

Buenos dias Sr. Antonio:

El keydown del GET solo reconoce teclas del F2 al F9 y del F11 al F12
No reconoce la pulsacion de F1 y F10
Otra sugerencia puede haber??
Muchas Gracias por su respuesta

Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 en Evaluación
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: GET Y TECLA F1

Postby Antonio Linares » Sat Jul 11, 2015 4:09 pm

Julio,

Desfortunadamente la versión 6.12 de FWH no ofrece esa posibilidad.

La versión actual si lo ofrece. Si quieres puedo enviarte tu prg construido con FWH 15.05 para que lo pruebes.
regards, saludos

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

Re: GET Y TECLA F1

Postby Maggiro » Mon Jul 13, 2015 2:24 am

Sr. Antonio:
Gracias por responder, de momento no lo necesito, solo buscaba la posibilidad de enlazar
tablas para ser invocadas al pulso de F1 en determinados GETS con entrada por algun tipo
de codigo. Seguiré explorando otras características en su producto que me permitan definir
un estilo de programación agil y muy predecible para que el usuario se adapte rápido y de
forma que el sistema no le pregunte nada o casi nada en los procesos, sinó lo guie de forma
autocontenida en su tarea ...
De nuevo, Gracias !!!

Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 en evaluación
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: GET Y TECLA F1

Postby Armando » Mon Jul 13, 2015 3:26 pm

Julio César:

Dale una mirada a la clase BTNGET, esa te permite salir a mostrar otra
DBF desde el get.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: GET Y TECLA F1

Postby Maggiro » Tue Jul 14, 2015 4:48 pm

Buenos Dias Armando:
Estuve mirando el BtnGet, un código bastante interesante ...
Por curiosidad, intenté compilar el ejemplo contenido TEST.PRG ...
y me dió por respuesta, que el programa necesita enlazar
unas librerias y archivos cabecera de CANALFIVE que no poseo ...
Luego me puse a indagar por la red ...
ni rastros de los enlace rapidshare (pagina eliminada) ...
A CanalFive se lo tragó la tierra ...

Sabes qué pasó con ésas utilidades y donde se encuentran ahora?

Muchas Gracias por su Repuesta !!

Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 en evaluación
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: GET Y TECLA F1

Postby Armando » Tue Jul 14, 2015 5:20 pm

Julio César:

Hasta donde yo se, la clase BTNGET es nativa de FW, desconozco si la versión que tienes
ya la incluye.

Te pongo un ejemplo de cómo la uso

Code: Select all  Expand view

        REDEFINE BTNGET aGets[ 5] VAR cAOrign ID 104 OF oDlg;
            PICTURE "@!K";
            RESOURCE "Buscar" UPDATE;
            ACTION (cAOrign := BrwCiu(oDlg,aGets),oDlg:UPDATE());
            MESSAGE "Ciudad orígen del viaje"
 


En la clausula RESOURCE se define el nombre del BMP con la imagen que aparecerá
sobre el botón.

En la clausula ACTION estoy definiendo ir a la función BrwCiu() donde muestro en otra
ventana el catálogo de ciudades desde donde el usuario elije la ciudad y la función regresa
la clave de la ciudad elegida que se almacena en la variable cAOrign

La clase BTNGET también permite teclear la clave si es que el usuario se la sabe de memoria
y no tiene que ir a mostrar el catálogo de todas las ciudades posibles.

A ver si Antonio nos ilustra para saber si tu versión de FW tiene la clase o tal vez es uno de
los muchos motivos para actualizar tu FW.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: GET Y TECLA F1

Postby ACC69 » Tue Jul 14, 2015 6:01 pm

Maggiro wrote:Buenos dias Amigos del Foro:

En el siguiente código:

Code: Select all  Expand view


#include 'fivewin.ch'

FUNCTION Prueba()
   LOCAL DiSale,GeSale,din
   din=SPAC(11)
   DEFINE DIALOG DiSale FROM 1,1 TO 20,50 ;
                                    TITLE 'Probando F1 Help para GET'
      @ 1,1 GET GeSale VAR din OF DiSale PICTURE '99999999999'
      @ 2,1 BUTTON 'ACEPTAR' OF DiSale ACTION DiSale:End()
   ACTIVATE DIALOG DiSale
RETU nil

 


1) Si tengo el foco en el GET y pulso F1 no hay respuesta.
2) Si tengo el foco en el BUTTON o en cualquier parte del dialogo que no sea el GET
y pulso F1 me aparece la frase "No Help file available"

La pregunta:
Puede el GET comportarse igual que cualquier otra parte del dialogo?
Puede el Get también responder "No Help file available" cuando se pulsa F1 en su foco?

Agradecido por vuestras respuestas
Julio César Gómez Cortéz
Godryc Experiencias
Lima Perú
FWH 6.12 en Evaluación


Hola buenas tardes Julio Cesar,intenta de esta manera, con el codigo y funciona en cada get que le asignes cada instruccion,te pongo el ejemplo es nativo de FW:

Code: Select all  Expand view
REDEFINE GET oG_C[03]  VAR cConcept1          ID 104 OF oDlg2 BITMAP "AYUDA";
                                                                    PICT "@X"    WHEN lNew VALID V_Concep(cConcept1) ACTION (ListCat(@cConcept1,S08,"cConcept1",oG_C[03]))

      oG_C[03]:bKeyDown := { |nKey| IIF( nKey == VK_F2,(oG_C[03]:Assign(),Eval( oG_C[03]:bAction )),"" ) }
      oG_C[03]:cToolTip := "Presiona F2"


Saludos cordiales .!

Atte: Adrian C. C.
acc69@hotmail.com
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm

Re: GET Y TECLA F1

Postby Antonio Linares » Tue Jul 14, 2015 6:11 pm

El comando BTNGET no es de FWH.

Lo idóneo sería usar la claúsula ACTION del GET:

REDEFINE GET ... ACTION ...

ó

@ ..., ... GET ... ACTION ...

desafortunadamente esta capacidad no está soportada en la versión demo de FWH 6.12
regards, saludos

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

Re: GET Y TECLA F1

Postby Maggiro » Tue Jul 14, 2015 6:58 pm

Veamos:
Armando, ántes de que me comentes lo del BTNGET,
Para la migración, probé así:

Code: Select all  Expand view

 #include 'fivewin,ch'
 
 MEMVAR depacodi,depadeno,uvf
 
 STATIC DiDepa
 
 FUNCTION Main()
    LOCAL GeDepa
    depacodi=SPAC(2)
    depadeno=SPAC(15)
    DEFINE DIALOG DiDepa FROM 1,1 TO 30,70 TITLE 'Probando Get y Tablas'
       @ 1,1 GET GeDepa VAR depacodi OF DiDepa PICTURE '99' ;
                                               UPDATE ;
                                               VALID Gettabla(DiDepa)
       @ 2,1 GET GeDepa VAR depadeno OF DiDepa UPDATE READONLY
       @ 3,1 BUTTON 'Aceptar' OF DiDepa ACTION DiDepa:End()
    ACTIVATE DIALOG DiDepa CENTERED
 RETU nil
 
 FUNCTION Gettabla(DiDepa)
    uvf=.F.
    abre(13,'depa00',2,1,'00')   && abre es una funcion que abre dbfs en red
    IF depacodi=SPAC(2)
       Depa00()  && El programa contenedor de la tabla
       IF !EOF() .AND. !GETKEYSTATE(VK_ESC) .OR. !BOF() .AND. !GETKEYSTATE(VK_ESC)
          depacodi=13->dp
          depadeno=OEMTOANSI(13->depa)
          uvf=.T.
       ENDI
   ELSEIF depacodi>SPAC(2)
      depacodi=ALLTRIM(depacodi)
      IF LEN(depacodi)<2
         depacodi='0'+depacodi
      ENDI
      SEEK depacodi
      IF EOF()
         msgrun('Escriba el número de Ciudad Asociada ...','Número Inválido.')
         depacodi=SPAC(2)
      ELSE
         depadeno=OEMTOANSI(13->depa)
         uvf=.T.
      ENDI
   ENDI
   USE
   SELE 10
   DiDepa:UPDATE()
RETU uvf
 


Ahora Adrian:
Esta rutina, al pulso de ENTER sin escribir nada en el GET,
invoca la tabla para elegir.
Yo podría hacer lo mismo invocando cualquier tecla de función
que capture el KEYDOWN del GET ...

Pero ...
Alguna vez han recibido un mensaje de cualquier cliente migrado
indicandoles "no molestes, deja las teclas como estaban"
eso me pasaria a mi, con los exigentes, ya los acostumbré a usar el
F! para invocación de tablas.
User avatar
Maggiro
 
Posts: 84
Joined: Thu Oct 14, 2010 3:26 am
Location: LIMA - PERU

Re: GET Y TECLA F1

Postby ACC69 » Tue Jul 14, 2015 7:11 pm

Maggiro wrote:Veamos:
Armando, ántes de que me comentes lo del BTNGET,
Para la migración, probé así:

Code: Select all  Expand view

 #include 'fivewin,ch'
 
 MEMVAR depacodi,depadeno,uvf
 
 STATIC DiDepa
 
 FUNCTION Main()
    LOCAL GeDepa
    depacodi=SPAC(2)
    depadeno=SPAC(15)
    DEFINE DIALOG DiDepa FROM 1,1 TO 30,70 TITLE 'Probando Get y Tablas'
       @ 1,1 GET GeDepa VAR depacodi OF DiDepa PICTURE '99' ;
                                               UPDATE ;
                                               VALID Gettabla(DiDepa)
       @ 2,1 GET GeDepa VAR depadeno OF DiDepa UPDATE READONLY
       @ 3,1 BUTTON 'Aceptar' OF DiDepa ACTION DiDepa:End()
    ACTIVATE DIALOG DiDepa CENTERED
 RETU nil
 
 FUNCTION Gettabla(DiDepa)
    uvf=.F.
    abre(13,'depa00',2,1,'00')   && abre es una funcion que abre dbfs en red
    IF depacodi=SPAC(2)
       Depa00()  && El programa contenedor de la tabla
       IF !EOF() .AND. !GETKEYSTATE(VK_ESC) .OR. !BOF() .AND. !GETKEYSTATE(VK_ESC)
          depacodi=13->dp
          depadeno=OEMTOANSI(13->depa)
          uvf=.T.
       ENDI
   ELSEIF depacodi>SPAC(2)
      depacodi=ALLTRIM(depacodi)
      IF LEN(depacodi)<2
         depacodi='0'+depacodi
      ENDI
      SEEK depacodi
      IF EOF()
         msgrun('Escriba el número de Ciudad Asociada ...','Número Inválido.')
         depacodi=SPAC(2)
      ELSE
         depadeno=OEMTOANSI(13->depa)
         uvf=.T.
      ENDI
   ENDI
   USE
   SELE 10
   DiDepa:UPDATE()
RETU uvf
 


Ahora Adrian:
Esta rutina, al pulso de ENTER sin escribir nada en el GET,
invoca la tabla para elegir.
Yo podría hacer lo mismo invocando cualquier tecla de función
que capture el KEYDOWN del GET ...

Pero ...
Alguna vez han recibido un mensaje de cualquier cliente migrado
indicandoles "no molestes, deja las teclas como estaban"
eso me pasaria a mi, con los exigentes, ya los acostumbré a usar el
F! para invocación de tablas.



Hola de nuevo, puedes pulsar ENTER, sin invocar ninguna ayuda de tabla o catalogo de productos, solo presionaras F2 al cual invocaras a la tabla mencionada. Yo lo uso en cada get que tenga catalogo de productos, cuentas, proveedores, etc etc .

Al menos que valides al dar enter y te abra la tabla por eso existe la clausula ACTION que a su vez invoca a la tecla F2 .

Saludos .!
Atte: Adrian C. C.
ACC69
 
Posts: 632
Joined: Tue Dec 12, 2006 7:34 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 60 guests