FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Que estoy haciendo mal ??? (xBrowse) - SOLUCIONADO!!!
Posts: 328
Joined: Fri May 19, 2006 04:08 PM
Que estoy haciendo mal ??? (xBrowse) - SOLUCIONADO!!!
Posted: Wed Jun 11, 2014 05:41 PM
Amigos, hace ya como seis horas que estoy con esto.... y no hay forma, no descubro que pasa con xBrowse.
Una funci贸n carga un array que se la pasa a otra funci贸n para que la muestre y devuelva un valor.
Este valor puede ser el numero de elemento seleccionado o su valor. Si el array es unidimensional, todo bien.
Ahora cuando es multidimensional, si doy doble click o escape me devuelve el valor correcto, ahora si doy Enter me devuelve el valor de la pr贸xima celda.
EJ. {{"Elemento 01" , "A01" , "B01" , "C01"}
{"Elemento 02" , "A02" , "B02" , "C02"}
{"Elemento 03" , "A03" , "B03" , "C03"} , etc
Si esta seleccionado "Elemento 01" y doy enter me devuelve "A01" , si estoy en "A01" me devuelve "B01" y as铆 sucesivamente.
Adjunto c贸digo de muestra a ver que no estoy viendo o que estoy haciendo mal.
Desde ya much铆simas gracias.
Un gran abrazo.

FTDN Febrero 2014 (FWH 14.02)

Code (fw): Select all Collapse
#include "FiveWin.ch"

REQUEST DbfCdx

Function Main()
聽Local aArray1:= Array(12)
聽Local aArray2:= Array(12)
聽Local A

聽For A:= 1 to 12
聽 聽 聽aArray1[A]:= "Elemento : " + StrZero(A,4)
聽 聽 聽aArray2[A]:= {"Elemento : " + StrZero(A,4) , "AA " + StrZero(A,4), "BB "+ StrZero(A,4) , "CC "+ StrZero(A,4)}
聽Next A
聽
聽MsgInfo(GMsgList(aArray1,"Numero de Elemento"))
聽MsgInfo(GMsgList(aArray1,"Numero de Elemento",2))
聽MsgInfo(GMsgList(aArray2,"Multidimensional",2))
聽
Return Nil

//
//----------------------------------------------------------------------------------------------------------
Static Function GMsgList(aArray,cTitulo,nValor)
聽Local oDlg, oBrw, oFont
聽Default cTitulo:= "Seleccione Item"
聽Default nValor:= 1

聽Define Font oFont Name 'SEGOE UI' Size 0,-16
聽Define Dialog oDlg Size 640,440 Pixel ;
聽 聽 Title cTitulo ;
聽 聽 Font oFont
聽
聽@ 10,10 xBrowse oBrw Size 300,200 Pixel OF oDlg //AUTOCOLS//NOBORDER
聽
聽 聽 WITH OBJECT oBrw
聽 聽 聽 聽//:nStretchCol 聽:= STRETCHCOL_WIDEST
聽 聽 聽 聽:lHeader 聽 = .F.
聽 聽 聽 聽:lVScroll 聽= .F.
聽 聽 聽 聽:bKeyChar 聽:= { |nKey| If( nKey == VK_RETURN, ( oDlg:End() , oBrw:End() ), nil ) }
聽 聽 聽 聽:bLDblClick:= { || oDlg:End() , oBrw:End() }
聽 聽 聽 聽:SetArray(aArray)
聽 聽 聽 聽:CreateFromCode()
聽 聽 END
聽
聽 聽Activate Dialog oDlg Center
聽 聽Release Font oFont
聽
Return If( nValor == 1 , oBrw:nArrayAt , 聽If( Len(oBrw:aCols) > 1 , aArray[oBrw:nArrayAt,oBrw:nColSel] , oBrw:aArrayData[oBrw:nArrayAt] ) )
FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Wed Jun 11, 2014 07:09 PM

Quizas definiendo

oCol:nMoveType:= MOVE_NONE

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 328
Joined: Fri May 19, 2006 04:08 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Wed Jun 11, 2014 07:44 PM
cnavarro wrote:Quizas definiendo

oCol:nMoveType:= MOVE_NONE


Gracias por responder, pero no, sigue igual.
Abrazo.
Miguel
FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Wed Jun 11, 2014 08:03 PM
Prueba definiendo el bKeyChar
Code (fw): Select all Collapse
      :bKeyChar         := { |nKey| if ( nKey == VK_RETURN .and. oBrw:nLen > 0,;
                                         oBrw:SelectedCol(), nil ) }
      // Es un ejemplo
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Wed Jun 11, 2014 08:13 PM
Si lo pruebas asi, tal vez te de una pista. A mi me mostro bien el dato en el mismo evento del bKeyDown
Code (fw): Select all Collapse
Static Function GMsgList(aArray,cTitulo,nValor)
 Local oDlg, oBrw, oFont, i
 Default cTitulo:= "Seleccione Item"
 Default nValor:= 1

 Define Font oFont Name 'SEGOE UI' Size 0,-16
 Define Dialog oDlg Size 640,440 Pixel ;
    Title cTitulo ;
    Font oFont
 
 @ 10,10 xBrowse oBrw Size 300,200 Pixel OF oDlg //AUTOCOLS//NOBORDER
 
    WITH OBJECT oBrw
       //:nStretchCol  := STRETCHCOL_WIDEST
       :lHeader   = .F.
       :lVScroll  = .F.
       :bKeyChar  := { |nKey| (MsgInfo(Eval(oBrw:aCols[oBrw:nColSel]:bstrdata)),If( nKey == VK_RETURN, ( oDlg:End() , oBrw:End() ), nil )) } // Aca esta el msg
       :bLDblClick:= { || oDlg:End() , oBrw:End() }
       :SetArray(aArray)
       :CreateFromCode()
       :nMoveType := 5
    END
 
   Activate Dialog oDlg Center
   Release Font oFont
 
Return nil
Posts: 328
Joined: Fri May 19, 2006 04:08 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Wed Jun 11, 2014 09:22 PM

Gracias Cristobal y cmsoft.
Cristobal no funciona.
cmsoft (como es tu nombre???) es verdad, con tu sugerencia lo muestra bien en el evento bKeyDown. Voy a seguir investigando.

Gracias a los dos por la gran ayuda que me dieron.
Un gran abrazo.
Miguel

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Mon Jun 16, 2014 12:23 AM
Please try
Code (fw): Select all Collapse
Static Function GMsgList(aArray,cTitulo,nValor)

   Local oDlg, oBrw, oFont, uRet

   Default cTitulo:= "Seleccione Item"
   Default nValor:= 1

   Define Font oFont Name 'SEGOE UI' Size 0,-16
   Define Dialog oDlg Size 640,440 Pixel ;
      Title cTitulo ;
      Font oFont

   @ 10,10 xBrowse oBrw Size 300,200 Pixel OF oDlg ;
     DATASOURCE aArray AUTOCOLS NOBORDER

      WITH OBJECT oBrw
         //:nStretchCol  := STRETCHCOL_WIDEST
         :lHeader   = .F.
         :lVScroll  = .F.

         :bLDblClick:= { || uRet := If( nValor == 1, oBrw:nArrayAt, oBrw:SelectedCol():Value ), oDlg:End() }
         :bKeyChar  := { |nKey| If( nKey == VK_RETURN, Eval( oBrw:bLDblClick ), nil ) }

         :CreateFromCode()
      END

     Activate Dialog oDlg Center
     Release Font oFont

Return uRet
Regards



G. N. Rao.

Hyderabad, India
Posts: 328
Joined: Fri May 19, 2006 04:08 PM
Re: Que estoy haciendo mal ??? (xBrowse)
Posted: Mon Jun 16, 2014 10:25 AM

Rao, funciona perfecto !!! :D :D :D

Much铆simas gracias !!!
Un gran abrazo. Miguel

FWH 32/64 14.04

Harbour 3.2.0 (r1306211258)

PellesC

Continue the discussion