FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una prueba con xBrowse
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Una prueba con xBrowse
Posted: Fri Aug 09, 2013 03:44 PM

Saludos foro:

Intento en mis aplicaciones usar xbrowse, pero este es un simple ejemplo que no me funciona, podrian darme una mano?

 bPantl:=abrevent(0,0,24,80,'ejemplo de un xbrose') // crea el dialogo

 @ 0,0 XBROWSE oBrw SIZE 700,400 UPDATE FOOTERS LINES PIXEL OF bPant

 ADD COLUMN TO XBROWSE oBrw;
               TITLE 'Aplicacion';
               DATA {||PresentaApl(cat->apl_con)};
               SIZE 80;
               ALIGN LEFT;
               EDITABLE
 ADD COLUMN TO XBROWSE oBrw;
               TITLE 'dos';
               DATA {||cat->nom_apl};
               SIZE 300;
               ALIGN LEFT;
               EDITABLE

aAialogo(NIL,.t.) // activa el dialogo
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 03:46 PM

Perdon, el detalle del xbrowse que expongo es:

No visualiza en pantalla el browse, todo esta an blanco

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 1286
Joined: Mon Feb 25, 2008 02:54 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 04:29 PM
redefine xbrowse obrw id 4003 of odlg ;
columns 'codigo','nome';
headers 'Cód.' ,'Nome do Vendedor';
alias 'ttabven' ;
autosort autocols ;
cell lines update font oFonte
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 06:12 PM

Otra prueba y no funcional

cApl:=abrevent(0,0,24,80,'xbrowse')

n:= TXBrowse():New( cApl )

oCol := n:AddCol()
oCol:cHeader := "aplicacion"
oCol:bStrData := { ||cat->apl_con}
oCol:nWidth := 80
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

oCol := n:AddCol()
oCol:cHeader := "nombre"
oCol:bStrData := { ||cat->nom_apl}
oCol:nWidth := 400
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

adialogo(NIL,.t.)

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 06:39 PM
noe aburto wrote:Otra prueba y no funcional

cApl:=abrevent(0,0,24,80,'xbrowse')

n:= TXBrowse():New( cApl )

oCol := n:AddCol()
oCol:cHeader := "aplicacion"
oCol:bStrData := { ||cat->apl_con}
oCol:nWidth := 80
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

oCol := n:AddCol()
oCol:cHeader := "nombre"
oCol:bStrData := { ||cat->nom_apl}
oCol:nWidth := 400
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

adialogo(NIL,.t.)


Hola Noe Aburto ,te paso un ejemplo sencillo de dos browses,espero que te pueda ayudarte .

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

STATIC oDlg,oBrw2
STATIC S12, S13
STATIC nTCarg,nTCred,aSum

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

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

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

 nTCarg := 0
 nTCred := 0

 Refr_MovPol()

 DEFINE DIALOG oDlg RESOURCE "INTEGFACT" TITLE 'Listado de Pólizas y Movimientos'
   REDEFINE XBROWSE oBrw ID 101 OF oDlg ;
            ALIAS (S12)->(ALIAS()) ;
            HEADERS "Tipo", "Número","Fecha","Concepto","Cargo","Abono","Fec Capt" ;
            COLUMNS "A_TIPO","A_NUMPOL","A_FHAMOV","A_CONCEP", ;
                    "A_TOTCARG","A_TOTCRED", "FECALTA" ;
            COLSIZES 30,45,52,180,80,80,52 ;
            JUSTIFY .F., .T., .F., .F., .T., .T.,.T. ;
            CELL FOOTERS

*            // CONFIGURACION DEL xBROWSE
*            // Activa Footers
*            oBrw:lFooter := .T.
*            // Estilos de lineas
*            oBrw:nColDividerStyle := LINESTYLE_BLACK
*            *oBrw:nRowDividerStyle := LINESTYLE_BLACK
*            oBrw:nMarqueeStyle    := MARQSTYLE_HIGHLCELL
*            oBrw:lColDividerComplete := .T. // Completa pintado hasta el Footer cuando lineas no llenan todo ;
*                                            // el Browse Headers Y Footers

            oBrw:bChange:= { || Refr_MovDet() }

            oBrw:aCols[3]:nHeadStrAlign:= AL_CENTER
            oBrw:aCols[4]:nHeadStrAlign:= AL_CENTER
            oBrw:aCols[5]:nHeadStrAlign:= AL_CENTER
            oBrw:aCols[5]:nFootStrAlign := 1
            oBrw:aCols[5]:nTotal := 0 // TRANS(nTCarg,"99,999,999.99") // PARA TOTALIZAR COL.
            oBrw:aCols[6]:nHeadStrAlign:= AL_CENTER
            oBrw:aCols[6]:nFootStrAlign := 1
            oBrw:aCols[6]:nTotal := TRANS(nTCred,"99,999,999.99") // PARA TOTALIZAR COL.

            oDlg:bStart := { || oBrw:Setfocus(),oBrw:Refresh() }

   REDEFINE XBROWSE oBrw2 ID 102 OF oDlg ;
            ALIAS (S13)->(ALIAS()) ;
            HEADERS "Cuentas", "Segm","Fecha","Refer.","Concepto","Cargo","Abono" ;
            FIELDS EXT_xNIV((S13)->MV_NCTA),STR((S13)->SEGNEG),DTOC( (S13)->MV_FHAM ),(S13)->MV_REFE, ;
            SUBS((S13)->MV_CONC,1,35), TRANS( (S13)->MV_CARG,"99,999,999.99"),TRANS( (S13)->MV_ABON,"99,999,999.99") ;
            COLSIZES 112,35,52,85,180,80,80 ;
            JUSTIFY .F., AL_CENTER, .F., .F., ,.F.,.T., .T.

            // Activa Footers
            oBrw2:lFooter := .T.
            // Estilos de lineas
            oBrw2:nColDividerStyle := LINESTYLE_BLACK
            *oBrw2:nRowDividerStyle := LINESTYLE_BLACK
            oBrw2:nMarqueeStyle    := MARQSTYLE_HIGHLCELL
            oBrw2:lColDividerComplete := .T. // Completa pintado hasta el Footer cuando lineas no llenan todo ;
                                            // el Browse Headers Y Footers

            oBrw2:aCols[1]:nHeadStrAlign:= AL_CENTER
            oBrw2:aCols[3]:nHeadStrAlign:= AL_CENTER
            oBrw2:aCols[5]:nHeadStrAlign:= AL_CENTER
            oBrw2:aCols[6]:nHeadStrAlign:= AL_CENTER
            oBrw2:aCols[6]:nFootStrAlign := 1
            oBrw2:aCols[6]:lTotal := .T. // PARA TOTALIZAR COL.
            oBrw2:aCols[6]:nTotal := Trans( aSum[1,2],"99,999,999.99") // Total Cargo
            oBrw2:aCols[7]:nHeadStrAlign:= AL_CENTER
            oBrw2:aCols[7]:nFootStrAlign := 1
            oBrw2:aCols[7]:nTotal := Trans( aSum[1,3],"99,999,999.99") // Total Credito

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

 (S13)->( OrdScope(0,nil) )
 (S13)->( OrdScope(0,nil) )

 oItem:Enable()

RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Refr_MovDet()
 (S13)->(OrdScope( 0,(S12)->A_TIPO+STR((S12)->A_NUMPOL,5) ))
 (S13)->(OrdScope( 1,(S12)->A_TIPO+STR((S12)->A_NUMPOL,5) ))

 (S13)->(DbGoTop())

 Refr_MovPol()

 oBrw2:aCols[1]:nHeadStrAlign:= AL_CENTER
 oBrw2:aCols[1]:nTotal := STR(aSum[1,1])+" Mov(s)"          // Num de Movimientos
 oBrw2:aCols[6]:nTotal := Trans( aSum[1,2],"99,999,999.99") // Total Cargo
 oBrw2:aCols[7]:nHeadStrAlign:= AL_CENTER
 oBrw2:aCols[7]:nFootStrAlign := 1
 oBrw2:aCols[7]:nTotal := Trans( aSum[1,3],"99,999,999.99") // Total Credito

 oBrw2:Refresh()
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION TotCarAbo(nTCarg,nTCred)
 (S13)->(DbEval({|| nTCarg+=(S13)->MV_CARG},,,,,.f.))
 (S13)->(DbEval({|| nTCred+=(S13)->MV_ABON},,,,,.f.))

 SysRefresh()
RETURN NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Refr_MovPol()
 aSum := {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}

 (S13)->(DbSeek((S12)->A_TIPO+STR((S12)->A_NUMPOL,5)))

 DO WHILE (S13)->MV_TIPO = (S12)->A_TIPO .AND. (S13)->MV_NUMP = (S12)->A_NUMPOL .AND. (S13)->(!EOF())
     aSum[1, 1] := aSum[1,1] + 1 // Num de movimientos de partidas
     aSum[1, 2] += (S13)->MV_CARG
     aSum[1, 3] += (S13)->MV_ABON

     IF (S13)->TIPOMOV == "C"
         aSum[1, 4] += (S13)->IMPBS1
         aSum[1, 5] += (S13)->IVA_1
         aSum[1, 6] += (S13)->IMPBS2
         aSum[1, 7] += (S13)->IVA_2
         aSum[1, 8] += (S13)->T_0
         aSum[1, 9] += (S13)->T_EXENT
         aSum[1,10] += (S13)->OTROS
         aSum[1,11] += (S13)->IMPBS3
         aSum[1,12] += (S13)->T_Otras
         aSum[1,13] += (S13)->RET_IVA
         aSum[1,14] += (S13)->RET_ISR
     ENDIF

     (S13)->(DbSkip())

     SysRefresh()
 ENDDO

 *MsgInfo(aSum[1, 2])
 *MsgInfo(aSum[1, 3])

 (S13)->(DbGoTop())
 (S13)->(DbSeek((S12)->A_TIPO+STR((S12)->A_NUMPOL,5)))
Return NIL

//------------------------------------------------------------------------------
STATIC FUNCTION Refresca(oBrw,oBrw2)
 (S13)->(OrdScope( 0,(S12)->A_TIPO+STR((S12)->A_NUMPOL,5) ))
 (S13)->(OrdScope( 1,(S12)->A_TIPO+STR((S12)->A_NUMPOL,5) ))

 (S13)->(DbGoTop())

 oBrw2:aCols[1]:nHeadStrAlign:= AL_CENTER
 oBrw2:aCols[1]:nTotal := STR(aSum[1,1])+" Mov(s)"          // Num de Movimientos

 // Luego lo checo!
 *oBrw2:GoTop()
 *oBrw2:refresh()

 oBrw:SetFocus()
 oBrw2:SetFocus()

 oBrw:Refresh()
 oBrw2:Refresh()
RETURN Nil
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 06:59 PM

Gracias por su respuesta:

Alguien tendra un ejemplo de la clase manejando codeblock en la columas y usando ADD COLUMN

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 07:22 PM
noe aburto wrote:Gracias por su respuesta:

Alguien tendra un ejemplo de la clase manejando codeblock en la columas y usando ADD COLUMN


Hola Noe otra manera de browse..

Saludos.

Code (fw): Select all Collapse
//------------------------------------------------------------------------------
FUNCTION MOD_PBAS_OtraManera()
 LOCAL oItem:=oMOpc,oBrw,oBrw2,oCol,oCol2

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

 nTCarg := 0
 nTCred := 0

 TotCarAbo(@nTCarg,@nTCred)

 Refr_MovPol(oBrw2)

 DEFINE DIALOG oDlg RESOURCE "INTEGFACT" TITLE 'Listado de Pólizas y Movimientos'

   oBrw:= TXBrowse():New( oDlg )
   oBrw:lFooter := .T.
   oBrw:cAlias := (S12)
   // Estilos de lineas
   oBrw:nColDividerStyle := LINESTYLE_BLACK
   oBrw:nRowDividerStyle := LINESTYLE_BLACK
   oBrw:nMarqueeStyle    := MARQSTYLE_HIGHLCELL
   oBrw:lColDividerComplete := .T.  // Completa pintado hasta el Footer cuando lineas no llenan todo el Browse
   oBrw:nStretchCol := STRETCHCOL_LAST // Llenar espacio con ultima columna
   oBrw:lTransparent := .T.
   *oBrw:lContrastClr := .F. // Para que no cambie color de texto automaticamente segun intensidad del fondo

   //HEADERS Y FOOTERS
   *oBrw:nHeaderHeight := 30 //Altura cabeceras de col
   *oBrw:lRecordSelector := .t. //poner o no, COL de la flechita de la izq
   *oBrw:lAllowRowSizing := .f. // If true horizontal row sizing is allowed
   *oBrw:lAllowColSwapping := .f. // If true col swapping is allowed

   //COLORES (texto y fondo del texto)
   *oBrw:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
   *oBrw:bClrFooter := oBrw:bClrHeader
   oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } } // colores para lineas normales
   **oBrw:bClrSel := {|| { nRGB( 0, 0, 0), aGradRowSel } } // para barra de linea selecc cuando el control no tiene el foco
   **oBrw:bClrSelFocus := { || { CLR_BLACK, aGradBarSel } } // para barra de linea selecc cuando el control tiene el foco
   *oBrw:nRowHeight := 20 //altura entre lineas

   *oBrw:lHScroll := .F.
   *oBrw:lVScroll := .F.

   oBrw:bChange:= { || Refr_MovDet(oBrw2) }

   //COLUMNAS DEL BROWSE
   oCol:=oBrw:AddCol()
   oCol:cHeader  := 'Tipo'
   oCol:bStrData := { || (S12)->A_TIPO }

   oCol:=oBrw:AddCol()
   oCol:cHeader  := 'Número'
   oCol:bStrData := { || STR( (S12)->A_NUMPOL ) }

   oCol:=oBrw:AddCol()
   oCol:nHeadStrAlign:= AL_CENTER
   oCol:cHeader  := 'Fecha'
   oCol:nWidth := 52
   oCol:bStrData := { || DTOC( (S12)->A_FHAMOV ) }

   oCol:=oBrw:AddCol()
   oCol:nHeadStrAlign:= AL_CENTER
   oCol:cHeader  := 'Concepto'
   oCol:nWidth := 160
  * oCol:lAllowSizing := .T. // Para que sirve...
   oCol:bStrData := { || SUBS( (S12)->A_CONCEP,1,30 ) }

   oCol:=oBrw:AddCol()
   oCol:nHeadStrAlign:= AL_CENTER
   oCol:cHeader  := 'Cargo'
   oCol:nWidth = 80
   oCol:nDataStrAlign:= AL_RIGHT
   oCol:bStrData := { || TRANS( (S12)->A_TOTCARG,"99,999,999.99") }
   oCol:nFootStrAlign := 1
   oCol:bFooter := { ||TRANSFORM(nTCarg,"99,999,999.99")  }

   oCol:=oBrw:AddCol()
   oCol:nHeadStrAlign:= AL_CENTER
   oCol:cHeader  := 'Abono'
   oCol:nWidth = 80
   oCol:nDataStrAlign:= AL_RIGHT
   oCol:bStrData := { || TRANS( (S12)->A_TOTCRED,"99,999,999.99") }
   oCol:nFootStrAlign := 1
   oCol:bFooter := { ||TRANSFORM(nTCred,"99,999,999.99")  }

   oCol:=oBrw:AddCol()
   oCol:cHeader  := 'Fec Capt'
   oCol:nWidth := 52
   oCol:bStrData := { || DTOC( (S12)->FECALTA ) }

   oBrw:SetRDD()
   oBrw:CreateFromResource(101)
   oDlg:oClient:=oBrw

   oDlg:bStart := { || oBrw:Setfocus(),oBrw:Refresh() }

   * //  Detalle de Movimientos  \\ *
   oBrw2 := TXBrowse():New( oDlg )
   oBrw2:lFooter := .T.
   oBrw2:cAlias := (S13)
   oBrw2:nColDividerStyle := LINESTYLE_BLACK
   oBrw2:nRowDividerStyle := LINESTYLE_BLACK
   oBrw2:nMarqueeStyle    := MARQSTYLE_HIGHLCELL

   *oBrw2:gotop(),;
   *oBrw2:refresh(),;
   *oDlg:UpDate() )}

   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Cuentas'
   oCol2:nWidth = 114
   oCol2:bStrData := { || EXT_xNIV( (S13)->MV_NCTA ) }
   oCol2:nFootStrAlign := 1
   oCol2:bFooter := { || STR( aSum[1,1] )+" Mov(s)" }

   oCol2:=oBrw2:AddCol()
   oCol2:cHeader  := 'Segm'
   oCol2:bStrData := { || STR( (S13)->SEGNEG ) }

   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Fecha'
   oCol2:nWidth := 52
   oCol2:bStrData := { || DTOC( (S13)->MV_FHAM ) }

   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Refer.'
   oCol2:nWidth := 80
   oCol2:bStrData := { || (S13)->MV_REFE }

   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Concepto'
   oCol2:nWidth = 160
   oCol2:bStrData := { || SUBS( (S13)->MV_CONC,1,30 ) }

   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Cargo'
   oCol2:nWidth = 80
   oCol2:nDataStrAlign:= AL_RIGHT
   oCol2:bStrData := { || TRANS( (S13)->MV_CARG,"99,999,999.99") }
   oCol2:nFootStrAlign := 1
   oCol2:bFooter := { || Trans( aSum[1,2],"99,999,999.99")  }


   oCol2:=oBrw2:AddCol()
   oCol2:nHeadStrAlign:= AL_CENTER
   oCol2:cHeader  := 'Abono'
   oCol2:nWidth = 80
   oCol2:nDataStrAlign:= AL_RIGHT
   oCol2:bStrData := { || TRANS( (S13)->MV_ABON,"99,999,999.99") }
   oCol2:nFootStrAlign := 1
   oCol2:bFooter := { || Trans( aSum[1,3],"99,999,999.99")  }


   oBrw2:SetRDD()
   oBrw2:CreateFromResource(102)
   oDlg:oClient:=oBrw2

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

 (S13)->( OrdScope(0,nil) )
 (S13)->( OrdScope(0,nil) )

 oItem:Enable()

RETURN NIL
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 08:32 PM

Otra prueba y no funciona:

me veo en la necesidad de usar codeblock en los DATA

ADD COLUMN TO XBROWSE n TITLE 'uno' DATA {||PresentaApl(cat->apl_con)};
SIZE 80 ALIGN CENTER

ya que tengo una lib general para ventanas que funciona con ellos, lo unico que quiero cambiar en dicha, es el uso del tsbrowse por xbrowse.
pongo este ejemplo que no funciona (todo en blanco y no marca error), y aparenta estar todo bien.

DEFINE WINDOW cApl TITLE "New TXBrowse"
goto top

@ 00,00 XBROWSE oBrw SIZE 300,200;
UPDATE FOOTERS LINES CELL PIXEL OF cApl;
COLOR COLOR_NEGRO,COLOR_GRIS AUTOCOLS

oBrw:= TXBrowse():New( cApl )
oBrw:lFooter := .T.
oBrw:cAlias := 'cat'
// Estilos de lineas
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL
oBrw:lColDividerComplete := .T. // Completa pintado hasta el Footer cuando lineas no llenan todo el Browse
oBrw:nStretchCol := STRETCHCOL_LAST // Llenar espacio con ultima columna
oBrw:lTransparent := .T.
oBrw:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } } // colores para lineas normales
oCol:=oBrw:AddCol()
oCol:cHeader := 'cuenta'
oCol:bStrData := { || cat->apl_com }
oCol:=oBrw:AddCol()
oCol:cHeader := 'Nombre'
oCol:bStrData := { || cat->nom_apl }
oCol:nWidth := 300
oBrw:SetRDD()
cApl:oClient:=oBrw

activate window cApl

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 08:56 PM

Noe
Has probado a poner

oBrw:CreateFromCode() // :createfromresource() ¿?

Saludos

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: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 10:13 PM
Code (fw): Select all Collapse
   bColPrestamo := {|| IIf( PROG->NUM_PRES>0, PROG->NUM_PRES, "<N/D>" ) }

   DEFINE DIALOG oDlg NAME "DLG_REGDESEMBOLSOC" OF oMainWnd ICON GetIcon() FONT oFontD

   REDEFINE XBROWSE oBrw ID 101 OF oDlg ALIAS "PROG" ON DBLCLICK RegDesembolso_Editar( FALSE ) FONT oFontD FOOTERS

   ADD TO oBrw DATA PROG->ADESEMBOLSO TITLE "Des"                      SIZE 030 CENTER
   ADD TO oBrw DATA PROG->NUM_CLIE    TITLE "Nº cliente"               SIZE 070 PICTURE "@L 999999"  CENTER
   ADD TO oBrw DATA CLIE->NOMBRE      TITLE "Nombre de deudor"         SIZE 240
   ADD TO oBrw DATA bColPrestamo      TITLE "Nº prestamo"              SIZE 080 PICTURE "@L 999999"  CENTER
   ADD TO oBrw DATA PROG->FECHA_DESE  TITLE "Fecha"+FINL+"desembolso"  SIZE 080 PICTURE "@D"         CENTER
   ADD TO oBrw DATA PROG->PLAZO       TITLE "Plazo pago"+FINL+"(dias)" SIZE 065 PICTURE "9999"       CENTER
   ADD TO oBrw DATA PROG->MONTO_APRO  TITLE "Monto"+FINL+"Aprobado C$" SIZE 090 PICTURE "99,999,999.99"
   ADD TO oBrw DATA PRES->NUM_CUOTAS  TITLE "Cuotas"                   SIZE 050 PICTURE "9999"       CENTER
   ADD TO oBrw DATA PRES->VAL_CUOTA   TITLE "Cuota"+FINL+"diaria"      SIZE 060 PICTURE "99,999.99"
   ADD TO oBrw DATA PRES->FECHA_FIN   TITLE "Fecha"+FINL+"cancelación" SIZE 080 PICTURE "@D"         CENTER
   ADD TO oBrw DATA RUTA->NOMCOR      TITLE "Ruta"                     SIZE 040 CENTER
   ADD TO oBrw DATA CIUD->NOMCOR      TITLE "Ciudad"                   SIZE 042 CENTER
   ADD TO oBrw DATA PROG->ENTREGADO   TITLE "Entr"                     SIZE 040 CENTER
Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: Una prueba con xBrowse
Posted: Fri Aug 09, 2013 10:35 PM

Ok. creo que asunto arreglado: gracias a todos

oBrw:CreateFromCode()

Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Una prueba con xBrowse
Posted: Sun Aug 11, 2013 04:21 PM
noe aburto wrote:Otra prueba y no funcional

cApl:=abrevent(0,0,24,80,'xbrowse')

n:= TXBrowse():New( cApl )

oCol := n:AddCol()
oCol:cHeader := "aplicacion"
oCol:bStrData := { ||cat->apl_con}
oCol:nWidth := 80
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

oCol := n:AddCol()
oCol:cHeader := "nombre"
oCol:bStrData := { ||cat->nom_apl}
oCol:nWidth := 400
oCol:bClrSel := n:bClrSel
oCol:bClrSelFocus := n:bClrSelFocus

adialogo(NIL,.t.)


Please let us know the FWH version you are using.
Are you using Nov 2008 version? or August 2011 version?

OLD METHOD
----------

If you are createing xbrowse with the syntax "n := TXBrowse():New( cApl )", then
you should immedicately call
Code (fw): Select all Collapse
cat->( n:SetRDD( .f. )

before you start creating columns by n:AddCol() method.

AND

Call
Code (fw): Select all Collapse
n:CreateFromCode()

before ACTIVATING DIALOG/WINDOW.

USING COMMAND SYNTAX
--------------------
If your version supports command syntax, please always use command syntax
Your code can be written as:

Code (fw): Select all Collapse
@ 0,0 XBROWSE n SIZE 0,0 PIXEL OF cApl ALIAS "cat" COLUMNS "apl_con", "nom_apl" ;
  HEADERS "application", "nombre" COLSIZES 80,100

n:CreateFromCode()
adialogo( nil, .t. )
Regards



G. N. Rao.

Hyderabad, India

Continue the discussion