Page 1 of 1

Para MMercado TSBrowse

Posted: Mon Sep 28, 2009 11:04 pm
by JoseGS
Hola Sr. Manuel

Tengo algunos problemas con TSBrowse relacionados con el REFRESH:

Tengo 2 DBFs

1. Cuentas.DBF
2. TRANSAC.DBF


Utilizo 2 tsbrowse para mostrar en el de la izq. la lista de cuentas y en der. la lista de los movimientos de cada cuenta.
El primer BROWSE presenta la lista por medio de un arreglo y usando ON CHANGE tomo el valor del elemento correspondiente del arreglo para hacer un SCOPE de la base de datos de transacciones. He puesto un boton con un BROWSE() que me ha permitido comprobar que el SCOPE esta funcionando. El problema es que en el segundo TSBrowse la informacion no se presenta en forma correcta ya que aveces se muestra el 1er registro, otras veces los dos ultimos, etc.

// browse 1
REDEFINE BROWSE oBrw5 ID 101 OF oDlg ;
ON CHANGE TCRED->(OrdScope(0,aTCRED[oBrw5:nAt,2]),OrdScope(1,aTCRED[oBrw5:nAt,2]),DBGOTOP(),oBrw6:GOTOP(),oBrw6:REFRESH())
oBrw5:SetArray(aTCRED)
ADD COLUMN TO oBrw5 DATA ARRAY ELEMENT 1 HEADER "NOMBRE" ALIGN 0,1,1 SIZE 240
ADD COLUMN TO oBrw5 DATA ARRAY ELEMENT 3 HEADER "SALDO" ALIGN 2,1,1 SIZE 70

// browse 2
SELE TCRED
REDEFINE BROWSE oBrw6 ID 102 OF oFld3:aDialogs[3] ALIAS "TCRED"
ADD COLUMN TO oBrw6 DATA FieldWBlock('FECHA',SELECT()) HEADER 'FECHA' SIZE 70 ALIGN 1,1,1


La pregunta es: Esta es la forma correcta de hacer el refresh de la segunda dbf, existe alguna clausula que no este incluyendo.

Gracias por su valioso tiempo

PD. Este mismo problema lo tengo en varias secciones del programa. Antes cuando estaba en FW23 todo estaba de maravilla.

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 5:49 am
by mmercado
Hola José:

Dime por favor que versión de TSBrowse estás usando.

Manuel Mercado Gómez.

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 9:27 am
by JoseGS
* TSBrowse.ch Version 4.0 1/Jan/2002

He probado con listbox y el problema de refresh fue el mismo. Lo que he tenido que hacer me parece algo extremo:

oBrw6:GOTOP()
oBrw6:GOBOTTOM()
oBrw6:REFRESH()

asi si se ha refrescado correctamente. Antes luego de un SCOPE o SET FILTER solo era necesario GOTOP() que ha pasado ?

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 5:59 pm
by mmercado
Hola José:
JoseGS wrote:* TSBrowse.ch Version 4.0 1/Jan/2002
Te sugiero que descargues TSBrowse V.8.0 desde aquí:

Aquí te muestro un pequeño programa que hace lo que tú quieres:

Code: Select all

// 2Browses.prg

#include "c:\FWH\Include\FiveWin.ch"
#include "c:\TSBrowse\Include\TSBrowse.ch" // de ser necesario cambia las rutas | change paths if necessary

Request DBFCDX

Function Main()

   Local oDlg, oBrw[ 2 ], cTitle, ;
         aStates := {}

   Field State

   If File( "States.cdx" )
      FErase( "States.cdx" )
   EndIf

   If File( "Employee.cdx" )
      FErase( "Employee.cdx" )
   EndIf

   RddSetDefault("DBFCDX")
   Use Employee New Shared
   Index On State Tag Bystate To Employee

   Use States New Shared
   Index On State Tag Bycode To States

   While ! EoF()
      AAdd( aStates, { SubStr( States->State, 3 ), SubStr( States->State, 1, 2 ) } )
      DbSkip()
   EndDo

   DbSelectArea( "Employee" )

   Define Dialog oDlg Title "Two Browses 1.-Array  2.-Scoped Dbf"

   @  0,  0 Browse oBrw[ 1 ] Array aStates Of oDlg Size 70, 75 Pixel ;
            On Change { |o| cTitle := o:Proper( Trim( o:aArray[ o:nAt, 1 ] ) ), ;
                        Employee->( OrdScope( 0, o:aArray[ o:nAt, 2 ] ), OrdScope( 1, o:aArray[ o:nAt, 2 ] ), ;
                                    DbGoTop(), oBrw[ 2 ]:Reset() ) }

   Add Column To oBrw[ 1 ] Data Array Element 1 Title "State" Size 118

   @  0, 75 Browse oBrw[ 2 ] Alias "Employee" Of oDlg Size 80, 75 Pixel

   Add Column to oBrw[ 2 ] Data FieldWBlock( "First", Select() ) Title {||cTitle} Size 113
   Add Column to oBrw[ 2 ] Data FieldWBlock( "State", Select() ) Title "St" Size 25
   oBrw[ 2 ]:lNoHScroll := .T.

   Activate Dialog oDlg Centered

Return Nil
Después de haber creado la librería SBrowseX.lib guárdalo y compílalo en \TSBrowse\Samples así: Buildx 2browses

Un abrazo.

Manuel Mercado Gómez.

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 6:03 pm
by mmercado
mmercado wrote:Te sugiero que descargues TSBrowse V.8.0 desde aquí:
Perdón, olvidé el link, aquí lo tienes:

http://www.box.net/shared/jdkzu5paqu

Manuel Mercado Gómez.

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 6:52 pm
by JoseGS
Sr. Manuel, voy a descarcar lo que me indica y espero que tod vaya mejor.


Hasta pronto


Gracias por su ayuda


Saludos hasta Mexico desde Panama

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 8:08 pm
by JoseGS
Sr. Manuel,

he descargado la version que me indica pero en el TSBROWSE.CH leo que se trata de la version 4.... sera que me he equivocado de archivo ?

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 8:57 pm
by mmercado
Hola José:
JoseGS wrote:he descargado la version que me indica pero en el TSBROWSE.CH leo que se trata de la version 4.... sera que me he equivocado de archivo ?
Mea culpa :oops: no he actualizado la versión y la fecha en el archivo TSBrowse.ch, checa por favor la versión en TSBrowse.prg.

Un abrazo.

Manuel Mercado Gómez.
P.D. Me sentiría más cómodo si me quitas el "Señor" y me tuteas (igual que yo a tí), o sea Manuel a secas.

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 9:12 pm
by ADBLANCO
Mercado 'Sempai' :lol:

Re: Para MMercado TSBrowse

Posted: Tue Sep 29, 2009 10:16 pm
by JoseGS
Listo Manuel


se me olvidaba que aqui todos somos amigos, casi hermanos... :D