FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Para MMercado TSBrowse
Posts: 205
Joined: Wed Sep 02, 2009 03:11 AM
Para MMercado TSBrowse
Posted: Mon Sep 28, 2009 11:04 PM

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.

Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 05:49 AM

Hola José:

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

Manuel Mercado Gómez.

manuelmercado at prodigy dot net dot mx
Posts: 205
Joined: Wed Sep 02, 2009 03:11 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 09:27 AM
  • 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 ?

Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 05:59 PM
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 (fw): Select all Collapse
// 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.
manuelmercado at prodigy dot net dot mx
Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 06:03 PM
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.
manuelmercado at prodigy dot net dot mx
Posts: 205
Joined: Wed Sep 02, 2009 03:11 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 06:52 PM

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

Posts: 205
Joined: Wed Sep 02, 2009 03:11 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 08:08 PM

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 ?

Posts: 782
Joined: Wed Dec 19, 2007 07:50 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 08:57 PM
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 :-) 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.
manuelmercado at prodigy dot net dot mx
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 09:12 PM

Mercado 'Sempai' :lol:

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 205
Joined: Wed Sep 02, 2009 03:11 AM
Re: Para MMercado TSBrowse
Posted: Tue Sep 29, 2009 10:16 PM

Listo Manuel

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

Continue the discussion