FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Equivalente de arreglos TXBrose
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Equivalente de arreglos TXBrose
Posted: Sat Mar 15, 2014 06:47 PM
Hola buenas tardes, en vista que nadie me respondieron de mi pregunta anterior, tuve que ver en todos los ejemplos y adaptarlo a mi codigo de TXBrowse,ahora se me presenta un detalle, cual es el equivalente o metodo ,que al seleccionar equis elementro dentro de un ARRAY, que me muestre informacion como referencia de datos a buscar para desplegar movimientos a detalles, ya que en cada cuenta de la balanza de comprobacion es acumulativa, y la quiero mostrar para el usuario vea a detalle la cuenta seleccionada por ejemplo 1020-0001-0001-0001

Espero haberme explicado adjunto codigo y la imagen.

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

STATIC oDlg,oBrw2
Static S08, S09, S10,S12, S13 // Alias de base de datos
STATIC nTCarg,nTCred
STATIC lSelSeg,NivBal
STATIC SdoMesAnt,SdoIni,Cta1,Cta2,Cta3,Cta4,nReg,nCol,aSum, aTot // Reportes
STATIC aDato,aClrRowBack

MemVar oWnd, oMOpc, nNumEmp, cDescrEmp, Mes_Per, Ano_Per, nStation

//------------------------------------------------------------------------------
FUNCTION MOD_PBAS()
 LOCAL oItem:=oMOpc,oBrw

 lSelSeg:= .F.
 NivBal := 4
 aTot   := {{0,0,0,0}}
 nReg   := 0
 aDato  := {}
 aDato  := CargaDatos()

 DEFINE DIALOG oDlg RESOURCE "CONSBALANZ" TITLE 'Listado de P贸lizas y Movimientos'
  REDEFINE XBROWSE oBrw ID 101 ;
            HEADERS 'Cuentas','Descripci贸n','Sdo Ant','Cargo','Abono','Sdo Act' ;
            COLSIZES 112,260,85,85,85,85;
            PICTURES "@!","@!","999,999,999.99","999,999,999.99","999,999,999.99","999,999,999.99";
            OF oDlg ARRAY aDato FOOTERS AUTOCOLS LINES CELL

  oBrw:lColDividerComplete := .F.
  [b]oBrw:bChange             := { || MovDet(oBrw) }               // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos 2010-0001-0001-0001
  oBrw:bKeyDown            := {| nKey| Val_nKey_C(nKey, oBrw) } // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos
  oBrw:bLDblClick          := {|| CaptDatos(.F.,oBrw) }         // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos[/b]

 ACTIVATE DIALOG oDlg CENTERED // ON INIT Refresca(oBrw,oBrw2)

 oItem:Enable() // Cerramos
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION CargaDatos()
 LOCAL cCtas

 S08 := Abre_Dbf(8,8)   // ABRE CATCTAxA.DBF
 S12 := Abre_Dbf(12,12) // Abre: POLZxMxA.DBF
 S13 := Abre_Dbf(13,13) // Abre: MOVTxMxA.DBF

 nTCarg := 0
 nTCred := 0

 (S08)->(DbGoTop())

 SdoMesAnt:= ("SALD"+TSTR(Mes_Per - 1))
 cCtas    := SUBS((S08)->CUENTAS,1,4)

 DO WHILE (S08)->(!EOF())
     IF cCtas <> SUBS((S08)->CUENTAS,1,4)
         *AADD( aDato, { "" } )
         AADD( aDato, Nil )
     ENDIF

     (S08)->(DbSetOrder(1))
     (S08)->(DbSeek((S08)->CUENTAS))

     SdoIni := (S08)->(&SdoMesAnt)

     (S13)->(DbSetOrder(3))
     (S13)->(SetSeek((S08)->CUENTAS))

     nCol:= NivCol(nCol)

     aSum := {{0,0,0}}

     DO WHILE FUNNIV(lSelSeg,S08,S10,S13,Cta1,Cta2,Cta3,Cta4) .AND. (S13)->(!EOF())
          aSum[1,1] := aSum[1,1] + (S13)->MV_CARG // Suma CARGOS
          aSum[1,2] := aSum[1,2] + (S13)->MV_ABON // Suma ABONOS

         (S13)->(DbSkip())
     ENDDO

     aSum[1,3] := (SdoIni + aSum[1,1]) - aSum[1,2]

     IF ( (S08)->TIPONAT = 'D' )
         aTot[1,1] := aTot[1,1] + SdoIni    // Total Saldos iniciales
         aTot[1,2] := aTot[1,2] + aSum[1,1] // Total de Cargos
         aTot[1,3] := aTot[1,3] + aSum[1,2] // Total DE Abonos
     ENDIF

     IF ( (S08)->NIVSUM <= NivBal )
          IF SdoIni <> 0 .OR. aSum[1,1] <> 0 .OR. aSum[1,2] <> 0
              AADD( aDato, { (Ext_xNiv(LTRIM((S08)->CUENTAS))),nCol+(S08)->DESCRIP, SdoIni,aSum[1,1],aSum[1,2],aSum[1,3] } )
          ENDIF
     ENDIF

     cCtas := SUBS((S08)->CUENTAS,1,4)

     (S08)->(DbSkip())
 ENDDO
RETURN (aDato)

//------------------------------------------------------------------------------
STATIC FUNCTION NivCol(nCol)
 DO CASE
    CASE (S08)->NIVSUM = 1
          nCol := ""

    CASE (S08)->NIVSUM = 2
          nCol = " "

    CASE (S08)->NIVSUM = 3
          nCol = "  "

    CASE (S08)->NIVSUM = 4
          nCol = "   "
 ENDCASE
RETURN(nCol)

//------------------------------------------------------------------------------
[b]STATIC FUNCTION MovDet(oBrw)
 MsgInfo( "aqui que muestre el paso de la referecia 1020-0001-0001-001,cada que seleccione las cuentas de detalle"+CRLF+;
          " lo usare para buscar en un seek,para que muestre detalles de la cuenta seleccionada" +CRLF+;
          "ya que tendre browse de multiseleccion,cual es el equivalente")
RETURN NIL[/b]






Saludos y buen dia.!
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Equivalente de arreglos TXBrose
Posted: Sat Mar 15, 2014 07:19 PM
ACC69 wrote:Hola buenas tardes, en vista que nadie me respondieron de mi pregunta anterior, tuve que ver en todos los ejemplos y adaptarlo a mi codigo de TXBrowse,ahora se me presenta un detalle, cual es el equivalente o metodo ,que al seleccionar equis elementro dentro de un ARRAY, que me muestre informacion como referencia de datos a buscar para desplegar movimientos a detalles, ya que en cada cuenta de la balanza de comprobacion es acumulativa, y la quiero mostrar para el usuario vea a detalle la cuenta seleccionada por ejemplo 1020-0001-0001-0001

Espero haberme explicado adjunto codigo y la imagen.

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

STATIC oDlg,oBrw2
Static S08, S09, S10,S12, S13 // Alias de base de datos
STATIC nTCarg,nTCred
STATIC lSelSeg,NivBal
STATIC SdoMesAnt,SdoIni,Cta1,Cta2,Cta3,Cta4,nReg,nCol,aSum, aTot // Reportes
STATIC aDato,aClrRowBack

MemVar oWnd, oMOpc, nNumEmp, cDescrEmp, Mes_Per, Ano_Per, nStation

//------------------------------------------------------------------------------
FUNCTION MOD_PBAS()
聽LOCAL oItem:=oMOpc,oBrw

聽lSelSeg:= .F.
聽NivBal := 4
聽aTot 聽 := {{0,0,0,0}}
聽nReg 聽 := 0
聽aDato 聽:= {}
聽aDato 聽:= CargaDatos()

聽DEFINE DIALOG oDlg RESOURCE "CONSBALANZ" TITLE 'Listado de P贸lizas y Movimientos'
聽 REDEFINE XBROWSE oBrw ID 101 ;
聽 聽 聽 聽 聽 聽 HEADERS 'Cuentas','Descripci贸n','Sdo Ant','Cargo','Abono','Sdo Act' ;
聽 聽 聽 聽 聽 聽 COLSIZES 112,260,85,85,85,85;
聽 聽 聽 聽 聽 聽 PICTURES "@!","@!","999,999,999.99","999,999,999.99","999,999,999.99","999,999,999.99";
聽 聽 聽 聽 聽 聽 OF oDlg ARRAY aDato FOOTERS AUTOCOLS LINES CELL

聽 oBrw:lColDividerComplete := .F.
聽 [b]oBrw:bChange 聽 聽 聽 聽 聽 聽 := { || MovDet(oBrw) } 聽 聽 聽 聽 聽 聽 聽 // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos 2010-0001-0001-0001
聽 oBrw:bKeyDown 聽 聽 聽 聽 聽 聽:= {| nKey| Val_nKey_C(nKey, oBrw) } // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos
聽 oBrw:bLDblClick 聽 聽 聽 聽 聽:= {|| CaptDatos(.F.,oBrw) } 聽 聽 聽 聽 // Cual es el equivalente pasar como referencia la cuenta y refrescar los datos[/b]

聽ACTIVATE DIALOG oDlg CENTERED // ON INIT Refresca(oBrw,oBrw2)

聽oItem:Enable() // Cerramos
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION CargaDatos()
聽LOCAL cCtas

聽S08 := Abre_Dbf(8,8) 聽 // ABRE CATCTAxA.DBF
聽S12 := Abre_Dbf(12,12) // Abre: POLZxMxA.DBF
聽S13 := Abre_Dbf(13,13) // Abre: MOVTxMxA.DBF

聽nTCarg := 0
聽nTCred := 0

聽(S08)->(DbGoTop())

聽SdoMesAnt:= ("SALD"+TSTR(Mes_Per - 1))
聽cCtas 聽 聽:= SUBS((S08)->CUENTAS,1,4)

聽DO WHILE (S08)->(!EOF())
聽 聽 聽IF cCtas <> SUBS((S08)->CUENTAS,1,4)
聽 聽 聽 聽 聽*AADD( aDato, { "" } )
聽 聽 聽 聽 聽AADD( aDato, Nil )
聽 聽 聽ENDIF

聽 聽 聽(S08)->(DbSetOrder(1))
聽 聽 聽(S08)->(DbSeek((S08)->CUENTAS))

聽 聽 聽SdoIni := (S08)->(&SdoMesAnt)

聽 聽 聽(S13)->(DbSetOrder(3))
聽 聽 聽(S13)->(SetSeek((S08)->CUENTAS))

聽 聽 聽nCol:= NivCol(nCol)

聽 聽 聽aSum := {{0,0,0}}

聽 聽 聽DO WHILE FUNNIV(lSelSeg,S08,S10,S13,Cta1,Cta2,Cta3,Cta4) .AND. (S13)->(!EOF())
聽 聽 聽 聽 聽 aSum[1,1] := aSum[1,1] + (S13)->MV_CARG // Suma CARGOS
聽 聽 聽 聽 聽 aSum[1,2] := aSum[1,2] + (S13)->MV_ABON // Suma ABONOS

聽 聽 聽 聽 聽(S13)->(DbSkip())
聽 聽 聽ENDDO

聽 聽 聽aSum[1,3] := (SdoIni + aSum[1,1]) - aSum[1,2]

聽 聽 聽IF ( (S08)->TIPONAT = 'D' )
聽 聽 聽 聽 聽aTot[1,1] := aTot[1,1] + SdoIni 聽 聽// Total Saldos iniciales
聽 聽 聽 聽 聽aTot[1,2] := aTot[1,2] + aSum[1,1] // Total de Cargos
聽 聽 聽 聽 聽aTot[1,3] := aTot[1,3] + aSum[1,2] // Total DE Abonos
聽 聽 聽ENDIF

聽 聽 聽IF ( (S08)->NIVSUM <= NivBal )
聽 聽 聽 聽 聽 IF SdoIni <> 0 .OR. aSum[1,1] <> 0 .OR. aSum[1,2] <> 0
聽 聽 聽 聽 聽 聽 聽 AADD( aDato, { (Ext_xNiv(LTRIM((S08)->CUENTAS))),nCol+(S08)->DESCRIP, SdoIni,aSum[1,1],aSum[1,2],aSum[1,3] } )
聽 聽 聽 聽 聽 ENDIF
聽 聽 聽ENDIF

聽 聽 聽cCtas := SUBS((S08)->CUENTAS,1,4)

聽 聽 聽(S08)->(DbSkip())
聽ENDDO
RETURN (aDato)

//------------------------------------------------------------------------------
STATIC FUNCTION NivCol(nCol)
聽DO CASE
聽 聽 CASE (S08)->NIVSUM = 1
聽 聽 聽 聽 聽 nCol := ""

聽 聽 CASE (S08)->NIVSUM = 2
聽 聽 聽 聽 聽 nCol = " "

聽 聽 CASE (S08)->NIVSUM = 3
聽 聽 聽 聽 聽 nCol = " 聽"

聽 聽 CASE (S08)->NIVSUM = 4
聽 聽 聽 聽 聽 nCol = " 聽 "
聽ENDCASE
RETURN(nCol)

//------------------------------------------------------------------------------
[b]STATIC FUNCTION MovDet(oBrw)
聽MsgInfo( "aqui que muestre el paso de la referecia 1020-0001-0001-001,cada que seleccione las cuentas de detalle"+CRLF+;
聽 聽 聽 聽 聽 " lo usare para buscar en un seek,para que muestre detalles de la cuenta seleccionada" +CRLF+;
聽 聽 聽 聽 聽 "ya que tendre browse de multiseleccion,cual es el equivalente")
RETURN NIL[/b]






Saludos y buen dia.!



https://imageshack.com/i/mj9gzyj
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Equivalente de arreglos TXBrose
Posted: Sat Mar 15, 2014 09:05 PM
Prueba asi:
Code (fw): Select all Collapse
cCta := oBrw:aArrayData[oBrw:nArrayAt,1] 聽 聽//valor de la columna 1, segun linea se帽alada actualmente.

Saludos.
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Equivalente de arreglos TXBrose
Posted: Sat Mar 15, 2014 11:59 PM

Quizas te sea menos complicado hacer un Tree en el Browse
Hay varios ejemplos en el foro

viewtopic.php?f=3t=25910hilit=XBrowse+Tree#p142190

y un buen ejemplo tambien en el directorio Samples
xbrwtree.prg

&&

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: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Equivalente de arreglos TXBrose
Posted: Sun Mar 16, 2014 06:24 PM
Este codigo puede servirte de gu铆a. Lo he extra铆do de un sistema que hice para una micro-financiera. Es de entorno MDI
La tabla clientes podria representar a tu tabla Balanza, y la tabla creditos, a tus movimientos.
Utilizo CDX.
Aqui se incluye, en la parte izquierda a todos los clientes, y en la derecha a cada uno de sus prestamos con sus saldos.
Espero te ayude en algo.

Code (fw): Select all Collapse
//-------------------------------------
Function ClteCredito(cCodigo,cCredNum,cCliente,cMoneda)
local oDlg, oBigFont, oBrw1, oBrw2, n, cAlias1, cAlias2
local cOldSele:=Select(), cOrdAntCred
local oTextBusc, cTextBusc

local aGradBarSelFocus:= { { 1, RGB(252,232,171) 聽 , RGB(248,195, 34) } }
local aGradBarSel:= {{1, RGB(252,235, 184), RGB(251,222,88)}}

DbSelectArea("CLIENTES")
cAlias1:=Alias()

DbSelectArea("CREDITOS")
cAlias2:=Alias()
cOrdAntCred:= Creditos->(OrdSetFocus())
CREDITOS->(ORDSETFOCUS("CODCTPTM")) 聽//Codigo de Clte +codigo de Ptmo

聽 聽cCodigo:=Space(len(Creditos->CodClte))
聽 聽cCredNum:=Space(len(Creditos->Ptmo))
聽 聽cCliente:=Space(len(Creditos->cliente))
聽 聽cMoneda:=Space(len(Creditos->moneda))

DEFINE FONT oBigFont NAME "TAHOMA" SIZE 0,-22 ITALIC BOLD

DEFINE DIALOG oDlg RESOURCE "CLTEPTMO" TRANSPARENT

REDEFINE SAY ID 4001 OF oDlg FONT oBigFont
REDEFINE SAY ID 4002 OF oDlg
REDEFINE BITMAP RESOURCE "LUPA" ID 500 OF oDlg

聽 聽XbrNumFormat( 'A', .t. )

//PRIMER BROWSE
REDEFINE XBROWSE oBrw1 ID 118 OF oDlg ;
聽 聽 聽 聽 聽COLUMNS "Codigo", "Nombre", "Apellido","CedulaIde" ;
聽 聽 聽 聽 聽SIZES 60,170,170,170 ;
聽 聽 聽 聽 聽ALIAS (cAlias1) FOOTERS LINES CELL 


聽 聽AEval( oBrw1:aCols, { |o| o:nEditType := 0 ,; 聽 //No editables
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 o:nHeadStrAlign := 2 } ) 聽//texto encab/col centrado

聽 聽WITH OBJECT oBrw1
聽 聽 聽 :nMarqueeStyle 聽 聽:= MARQSTYLE_HIGHLROW 聽//_HIGHLROWMS
聽 聽 聽 :nColDividerStyle:=LINESTYLE_LIGHTGRAY
聽 聽 聽 :nRowDividerStyle:=LINESTYLE_LIGHTGRAY
聽 聽 聽 //:bClrStd 聽 聽 聽 := {|| { nRGB( 聽0, 聽0, 聽0), nRGB(255,248,220) } } 聽// colores para lineas normales
聽 聽 聽 :bClrSel 聽 聽 聽 := {|| { nRGB( 聽0, 聽0,255), aGradBarSel } } 聽// para barra de linea selecc cuando el control no tiene el foco
聽 聽 聽 :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } } 聽 聽 // para barra de linea selecc cuando el control tiene el foco
聽 聽 聽 :lKinetic 聽 聽 聽:= .f.
聽 聽 聽 :lContrastClr 聽:= .f. 聽//para que no cambie color de texto automaticamente segun intensidad del fondo

聽 聽 聽 :bKeyDown := {|nTecla| if(nTecla==VK_RETURN, (oBrw2:SetFocus(),oBrw2:Refresh()),) }
聽 聽 聽 :bChange := {|| PonerScope(cAlias1,cAlias2,oBrw2) }

聽 聽 聽 :bGotFocus:= {|| dbSelectArea("Clientes") }

聽 聽 聽 :Codigo:cSortOrder 聽 := "CLIENTES" 
聽 聽 聽 :nombre:cSortOrder 聽 := "NOMBCLTE" 
聽 聽 聽 :apellido:cSortOrder := "APELCLTE" 
聽 聽 聽 :cedulaide:cSortOrder:= "CEDULIDE" 
聽 聽END


聽 聽REDEFINE SAY oTextBusc PROMPT cTextBusc ID 4003 OF oDlg UPDATE
聽 聽oTextBusc:cTooltip:= {"Click sobre cabecera de columna para busqueda respectiva","BUSQUEDA INCREMENTAL 聽 聽 聽 聽 聽"}

聽 聽oBrw1:bSeek := {|c| Clientes->( DbSeek(UPPER(c),.t.) ) }
聽 聽oBrw1:oSeek := oTextBusc


//SEGUNDO BROWSE
REDEFINE XBROWSE oBrw2 ID 119 OF oDlg ;
聽 聽 聽 聽 聽COLUMNS "Ptmo","Moneda","MontoPtmo" ;
聽 聽 聽 聽 聽HEADERS "Prestamo","Moneda","Principal";
聽 聽 聽 聽 聽SIZES 54,80,100;
聽 聽 聽 聽 聽ALIAS (cAlias2) FOOTERS LINES CELL 

聽 聽AEval( oBrw2:aCols, { |o| o:nEditType := 0 ,; 聽 //No editables
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 o:nHeadStrAlign := 2 } ) 聽//texto encab/col centrado

聽 聽WITH OBJECT oBrw2
聽 聽 聽 :nMarqueeStyle 聽 聽:= 聽MARQSTYLE_HIGHLROW 聽//_HIGHLROWMS
聽 聽 聽 :nColDividerStyle:=LINESTYLE_LIGHTGRAY
聽 聽 聽 :nRowDividerStyle:=LINESTYLE_LIGHTGRAY
聽 聽 聽 //:bClrStd 聽 聽 聽 := {|| { nRGB( 聽0, 聽0, 聽0), nRGB(255,248,220) } } 聽// colores para lineas normales
聽 聽 聽 :bClrSel 聽 聽 聽 := {|| { nRGB( 聽0, 聽0,255), aGradBarSel } } 聽// para barra de linea selecc cuando el control no tiene el foco
聽 聽 聽 :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } } 聽 聽 // para barra de linea selecc cuando el control tiene el foco
聽 聽 聽 :lKinetic 聽 聽 聽:= .f.
聽 聽 聽 :lContrastClr 聽:= .f. 聽//para que no cambie color de texto automaticamente segun intensidad del fondo
聽 聽 聽 :nStretchCol 聽 聽 聽 聽 聽 聽:= STRETCHCOL_LAST

聽 聽 聽 :bLDblClick := {|| cMoneda:=(cAlias2)->Moneda,cCodigo:=(cAlias2)->CodClte, cCredNum:=(cAlias2)->Ptmo, cCliente:=(cAlias2)->Cliente, oDlg:End() }
聽 聽 聽 :bKeyDown := {|nTecla| if(nTecla==VK_RETURN, (cMoneda:=(cAlias2)->Moneda,cCodigo:=(cAlias2)->CodClte, cCredNum:=(cAlias2)->Ptmo, cCliente:=(cAlias2)->Cliente, oDlg:End()),) }

聽 聽 聽 :bGotFocus:= {|| dbSelectArea("Creditos") }
聽 聽END


聽 聽ACTIVATE DIALOG oDlg CENTERED ;
聽 聽 聽 聽 聽 聽 ON INIT ( oBrw1:SetFocus(), PonerScope(cAlias1,cAlias2,oBrw2) )

聽 聽dbSelectArea(cOldSele)

聽 聽CREDITOS->(ORDSETFOCUS(cOrdAntCred))

聽 聽oBigfont:End()
return nil
//-------------------------------------
Function PonerScope(cAlias1,cAlias2,oBrw)
(cAlias2)->(OrdScope(TOPSCOPE,(cAlias1)->Codigo))
(cAlias2)->(OrdScope(BOTTOMSCOPE,(cAlias1)->Codigo))
(cAlias2)->(DbGotop())
聽oBrw:Refresh()
Return nil

Saludos.
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Equivalente de arreglos TXBrose
Posted: Mon Mar 17, 2014 02:09 PM
Otra opci贸n:
Agregar un BUTTON al campo Cuentas
En el siguiente browse un button en el campo Banco


Code (fw): Select all Collapse
 聽 WITH OBJECT oBrw:aCols[1]
聽 聽 聽 :cHeader 聽 := "Cuenta"
聽 聽 聽 :nWidth 聽 聽:= 50
聽 聽 聽 :nEditType := EDIT_BUTTON
聽 聽 聽 :AddResource( "bmp_Bank" ) 聽 聽 // tu 铆cono p/el boton
聽 聽 聽 :nBtnBmp := 1

聽 聽 聽 :bstrData 聽:= {|| field->cuentas }   // en tu caso
聽 聽 聽 :bEditBlock:= {|| MuestraDetalle() } 聽 // llama a una funcion que abre un Dlg y muestra el Detalle
聽 聽END
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Equivalente de arreglos TXBrose
Posted: Mon Mar 17, 2014 04:04 PM
MarioG wrote:Otra opci贸n:
Agregar un BUTTON al campo Cuentas
En el siguiente browse un button en el campo Banco


Code (fw): Select all Collapse
 聽 WITH OBJECT oBrw:aCols[1]
聽 聽 聽 :cHeader 聽 := "Cuenta"
聽 聽 聽 :nWidth 聽 聽:= 50
聽 聽 聽 :nEditType := EDIT_BUTTON
聽 聽 聽 :AddResource( "bmp_Bank" ) 聽 聽 // tu 铆cono p/el boton
聽 聽 聽 :nBtnBmp := 1

聽 聽 聽 :bstrData 聽:= {|| field->cuentas } 聽 // en tu caso
聽 聽 聽 :bEditBlock:= {|| MuestraDetalle() } 聽 // llama a una funcion que abre un Dlg y muestra el Detalle
聽 聽END


Hola buenos dias como estan, y gracias por sus respuestas y su atencion y la informacion que necesito.

Hola Ing. CNavarro, aun no tengo mucha experiencia en la clase de tree que a lentitud le ando buscando con la clase nativa de TXBrowse,por el momento lo hare abriendo tres browses y no complicarme mas, y de todas maneras gracias por las respuestas CNavarro al igual a Francisco y a Mario.

Les envio cordial saludos y gusto saludarles.

Atte: Adrian C. C.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Equivalente de arreglos TXBrose
Posted: Mon Mar 17, 2014 04:51 PM

Adrian
El ejemplo que te indico de samples esta hecho con TXBrowse
Solo tienes que "armar" el array con los datos Maestro-Detalle
Un saludo

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: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Equivalente de arreglos TXBrose
Posted: Tue Mar 18, 2014 05:25 PM
cnavarro wrote:Adrian
El ejemplo que te indico de samples esta hecho con TXBrowse
Solo tienes que "armar" el array con los datos Maestro-Detalle
Un saludo


Gracias Ing. Cristobal, estudiare el ejemplo del codigo y adaptarlo a mis necesidades, gracias de nuevo.

Saludos .
Atte: Adrian C. C.

Continue the discussion