Solicito ayuda para setkey

Solicito ayuda para setkey

Postby juan_arroyo_t » Sat Dec 12, 2009 6:21 am

Por favor si alguien pudiera ayudarme

Esto es parte de mi programa :

Code: Select all  Expand view
# include "Fivewin.ch"
# include "TcBrowse.ch"
# include "Inkey.ch"

STATIC cCodIni, cCodFin, cFamil

FUNCTION CamPre()
    LOCAL oDlg, oBAce
    LOCAL oGet1, oGet2, oGet3
   
    USE fam INDEX famcve NEW
    USE cat INDEX catmod NEW
   
    cCodIni := cCodFin := SPACE(16)
    cFamil := SPACE(5)
   
    DEFINE DIALOG oDlg RESOURCE "CamPre"
   
    REDEFINE GET oGet1 VAR cCodIni ID 101 OF oDlg ;
        PICTURE "@!"
       
    REDEFINE GET oGet2 VAR cCodFin ID 102 OF oDlg ;
        PICTURE "@!"
           
    REDEFINE GET oGet3 VAR cFamil  ID 103 OF oDlg ;
        PICTURE "@!"
           
    REDEFINE BUTTON oBAce ID 104 OF oDlg ;
        ACTION Filtro(), CambiaPrecios(),oDlg:End()
   
    ACTIVATE DIALOG oDlg CENTERED
        CLOSE DATABASES
   
RETURN NIL


Pretendo por ejemplo que en el get1 al teclear parte del código inicial, me abra un browse y vaya directamente a la clave o a la clave mas cercana

Quiero utilizar F2 para los tres gets

Intuyo que debo utilizar algún bloque de codigo para este propósito pero no lo he conseguido

De antemano muchas gracias

Juan Arroyo
México
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Solicito ayuda para setkey

Postby Manuel Aranda » Sat Dec 12, 2009 10:31 am

Tal vez pueda servirte esta explicación sobre el autocontemplado de nuestro amigo José Luis Sanchez Navarro en su blog avemundi:

http://www.avemundi.com/?cat=4
Un saludo,
Manuel

xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
User avatar
Manuel Aranda
 
Posts: 602
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Re: Solicito ayuda para setkey

Postby juan_arroyo_t » Mon Dec 14, 2009 3:08 am

Gracias Manuel

Ya estoy consultando

Saludos

Juan
México
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Solicito ayuda para setkey

Postby sysctrl2 » Tue Dec 15, 2009 12:08 am

quetal juan yo lo hago de esta forma:

Code: Select all  Expand view
@ 10, 10 SAY "[F2] Cliente : " OF ::oBox pixel
@ 20, 10 GET oGet[ 1 ] VAR ::oVentas2:Cliente of ::oBox SIZE 50, 10  PICTURE "@!k" PIXEL UPDATE

oGet[1]:bKeyDown := { | nKey | ::MiFunGet1( nKey )  }   // tecleas de funcion

METHOD MiFunGet1(   nKey  ) CLASS Especiales
case nKey == VK_F2 //buscar
        msginfo('buscar')
return nil


espero haberte dado la idea,

saludos...
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 951
Joined: Mon Feb 05, 2007 7:15 pm

Re: Solicito ayuda para setkey

Postby Patricio Avalos Aguirre » Tue Dec 15, 2009 12:57 pm

Hola

puedes usarlo de esta manera tambien


Code: Select all  Expand view
SetKey( VK_F2, { |handle, n, oGet| ;
            iif( lok .and. oGet:nID = id_rut1 .and. Clientes->( dbSeek( oIng:Rut1 ) ), (lok:= .f., Ingclientes( oIng:Rut1 ), lOk:= .t.), NIL ),;
            iif( lok .and. oGet:nID = id_rut2 .and. Clientes->( dbSeek( oIng:Rut2 ) ), (lok:= .f., Ingclientes( oIng:Rut2 ), lOk:= .t.), NIL ),;
            iif( lok .and. oGet:nID = id_dec3rut .and. Clientes->( dbSeek( oIng:dec3rut ) ), (lok:= .f., Ingclientes( oIng:dec3rut ), lOk:= .t.), NIL )} )
 
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Solicito ayuda para setkey

Postby juan_arroyo_t » Mon Feb 22, 2010 3:20 am

Muchas gracias a los miembros del foro que me han contestado, siento que necesito algo mas simple tengo poco que pasé de clipper a fivewin

Voy a exponer de otra forma mi petición

Esto es parte del codigo de mi aplicacion, cuando pulso F2 se abre mi browse al principio de dbf, yo quiero que vaya directamente a la linea de producto buscada, cuando esto pasa si pulso ESC y nuevamente F2, entonces si voy al registro deseado
cLinea es una variable local, y la estoy pasando por referencia. No se si debiera utilizar una variable statica o una publica

Que estoy haciendo mal ?

Adjunto imagen de mi browse


Code: Select all  Expand view
STATIC FUNCTION AltInv(oBrw)
    LOCAL oDlg, oIco
    LOCAL obAce, obSal, oCbx
    LOCAL cCodigo := SPACE(16)
    LOCAL cNumAlm := SPACE(2)
    LOCAL cNomAlm := SPACE(20)
    LOCAL cLinea  := SPACE(5)
    LOCAL cNomLin := SPACE(25)
    LOCAL cDesc   := SPACE(40)
       
    LOCAL oGet1, oGet2, oGet3, oGet4, oGet5, oGet6, oGet7
    LOCAL oGet8, oGet9, oGet10, oGet11, oGet12
       
    DEFINE ICON oIco FILENAME "cimesa.ico"

    DEFINE DIALOG oDlg RESOURCE "AltInv" OF oDlg ;
        ICON oIco
   
    REDEFINE GET oGet1 VAR cCodigo ID 101 OF oDlg ;
        PICTURE "@!" ;
        VALID OkCodigo(cCodigo)
        oGet1:cToolTip := "Introduzca un código"
               
    REDEFINE GET oGet4 VAR cLinea ID 104 OF oDlg ;
        PICTURE "@!" ;
        VALID OkLin(oGet4,oGet5,cLinea,cNomLin,oDlg)
        oGet4:bGotFocus := {||SetKey( VK_F2, { || VerLin( @cLinea ) })}
        oGet4:bLostFocus := {||SetKey( VK_F2, nil )}
    ---
    ---
    ---
    ACTIVATE DIALOG oDlg CENTERED
        oBrw:Refresh()
        oBrw:SetFocus()
               
RETURN NIL

STATIC FUNCTION VerLin( linea )
    LOCAL oDlg, oLbx, cLinea
    SELECT lin
    lin->(DBSEEK(linea))

    DEFINE DIALOG oDlg RESOURCE "BrwLin" ;
        TITLE "Catálogo de líneas"
   
    REDEFINE LISTBOX  oLbx ;
        FIELDS lin->linea, lin->nombre ;
        HEADER "Clave","Nombre" ;
        ID 101 OF oDlg ;
        ON DBLCLICK( cLinea := lin->linea, oDlg:End() )
        oLbx:cToolTip := "Seleccione con doble click o con Enter"
        oLbx:bKeydown := {|nKey| IIF(nKey = 13, cLinea := lin->linea,), ;
        oDlg:End()}
       
    ACTIVATE DIALOG oDlg CENTER
        IF !EMPTY(cLinea)
            KEYBOARD cLinea
        ENDIF
RETURN NIL

 


Image
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Solicito ayuda para setkey

Postby Francisco Horta » Mon Feb 22, 2010 11:27 pm

Juan
yo utilizo btnget, este viene configurado automaticamente para ejecutar F2, te explicoy
tengo mi get, pulso F2 y me abre un browse para buscar algun nombre, en este caso me carga mi catalogo y conforme voy escribiendo si observas en la parte inferior derecha del browse aparece lo que tecleas y se va posicionando automaticamente, una vez encontrado con ENTER carga al get el valor, es importante tener activo el SET SOFTSEEK ON

Image

aki el codigo:

Code: Select all  Expand view

REDEFINE BTNGET   oDato[7] VAR aDato[7] ID 105 OF oDlg PICTURE "@k 9999" UPDATE WHEN lNew ;
               RESOURCE "FIND2" ACTION Sel_Emp(7,oDato,@aDato) ;
               VALID ( lRet:=Sel_Emp(7,oDato,@aDato),;
                         IF(lRet,.T.,.F.) )


function sel_emp
........
REDEFINE LISTBOX oBrwE ;
         FIELDS "","",""    ;
         HEADER "","Numero", "Nombre del Empleado" ;
         SIZES  20,70,489 ;
         ALIAS (oDEmp)->(Alias()) ID 110 OF oDls

      oBrwE:bSeek         := {|lRet| oBrwE:DbfSeek(.T.) }
      oBrwE:bUpdateBuffer := {|| UpdateBuffer( oDls:oMsgBar, ;
                                             cDefaultMsg, oBrwE:cBuffer ) }


      ACTIVATE DIALOG oDls CENTERED ;
           ON INIT MsgBarra(oDls,cDefaultMsg)


FUNCTION MsgBarra(oDlg,cDefaultMsg)
    SET MESSAGE OF oDlg TO cDefaultMsg NOINSET
RETURN Nil

 

crea una msgbar en el on init del dialogo
es todo
saludos

saludos

paco
____________________
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Solicito ayuda para setkey

Postby juan_arroyo_t » Tue Feb 23, 2010 9:22 pm

Paco

Muchas gracias por tu respuesta

Voy a intentar ponerlo en práctica y ya te estaré informando

Y de paso quiero agradecer a todos los miembros del foro que como tú, comparten generosamente sus conocimientos a los que como yo empezamos con fivewin

Saludos
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 88 guests