FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour PROBLEMA CON TXBROWSE
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 02:34 PM

Hola

Uso el FWH 8.02 y necesito usar algo mas avanzado que el Listbox para editar algunas tablas, alguien tiene un ejemplo funcional del XBrowse ?, Altas, Bajas, Modificaciones etc.

Gracias

Luis Ponce
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 03:36 PM

Pasate por fwh\samples, hay varios ejemplos, tambien hay que saber que vas usar para almacenamiento de datos, DBF, ADO, MYSQL, etc., saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 08:27 PM

Gracias por responder Jose Luis

he puesto este codigo, con recursos, a partir de uno de los ejemplos de \Samples

REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
ALIAS "FTAlmacenes" ;
HEADERS "Tipo", "Número","Fecha","Concepto","Cargo","Abono","Fec Capt" ;
fields "A_TIPO", "A_NUMPOL", "A_FHAMOV", "LEFT(A_CONCEP,35)", ;
"A_TOTCARG", "A_TOTCRED", "F_ECALTA" ;
CELL LINES FOOTERS NOBORDER

con el fichero xbrowse.ch al inicio, y al compilar con el xharbour me da este error :

Error E0030 syntax error "Syntax error at 'XBROWSE' "

1 error

No code generade

Le he dado mil vueltas, y no encuentro la razon de este mensaje

Te agradezco

Luis Ponce
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 10:26 PM

Prueba este campo asi "A_CONCEP", como definistes el xbrowse en tu recurso.? debe ser de tipo custom, verifica y avisa...saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 10:55 PM
LuisPonce wrote:Gracias por responder Jose Luis

he puesto este codigo, con recursos, a partir de uno de los ejemplos de \Samples

REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
ALIAS "FTAlmacenes" ;
HEADERS "Tipo", "Número","Fecha","Concepto","Cargo","Abono","Fec Capt" ;
fields "A_TIPO", "A_NUMPOL", "A_FHAMOV", "LEFT(A_CONCEP,35)", ;
"A_TOTCARG", "A_TOTCRED", "F_ECALTA"
;
CELL LINES FOOTERS NOBORDER

con el fichero xbrowse.ch al inicio, y al compilar con el xharbour me da este error :

Error E0030 syntax error "Syntax error at 'XBROWSE' "

1 error

No code generade

Le he dado mil vueltas, y no encuentro la razon de este mensaje

Te agradezco



Buenas noches
Creo que los nombres de los campos de la base de datos no van entre comillas

REDEFINE XBROWSE oBrw ID 101 OF oDlg ;
COLUMNS "First", "Salary" ;
FIELDS (cAlias)->State, (cAlias)->Age ;
HEADERS nil, nil, "State", "AGE" ;
JUSTIFY .F., nil, .F., .T. ;
ALIAS cAlias AUTOSORT LINES CELL ;
BACKGROUND aGrad HORIZONTAL

Puede ser?
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: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 11:07 PM

Estoy probando como me aconsejan, quité el "LEFT(A_CONCEP,35)" puse el alias a los campos, y me sigue dando el mismo error de syntaxis...

el cosigo quedó asi:

REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
ALIAS "FTAlmacenes" ;
HEADERS "FL","Co","Almacen","Cantidad","Unidad" ;
FIELDS FTAlmacenes->FILIAL,FTAlmacenes->CODIGO,FTAlmacenes->ALMACEN,TRANS(FTAlmacenes->CANTIDAD,IMPMUM),FTAlmacenes->UNIDAD ;
CELL LINES FOOTERS NOBORDER

y el resultado es:

Error E0030 syntax error "Syntax error at 'XBROWSE' "

1 error

No code generade

Luis Ponce
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Mon Jan 07, 2013 11:25 PM

El ejemplo lo saqué de aqui:

viewtopic.php?f=6t=24706p=134157hilit=txbrowse#p134157

y lo acondiconé a mi necesidad :

uso una tabla con esta estructura:

FILIAL,C,2
CODIGO,C,2
ALMACEN,30
CANTIDAD,N,2
UNIDAD,C,3

FUNCTION EDITAFILE()
LOCAL oLbxAlmacenes,oFntArial,oFntArial2,oSayCod,oSayDes,oSayMar

  • Dialogo

DEFINE FONT oFntArial NAME "Arial" SIZE 0, -14
DEFINE FONT oFntArial2 NAME "Arial" SIZE 0, -14 BOLD
DEFINE BRUSH oBrush NAME "BMP_TECLAS2"
DEFINE DIALOG oDlgTraslado RESOURCE "CONS_TABLA" BRUSH oBrush OF oDlg TITLE "Stock en Almacenes"

REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
ALIAS "FTAlmacenes" ;
HEADERS "FL","Co","Almacen","Cantidad","Unidad" ;
FIELDS FTAlmacenes->FILIAL,FTAlmacenes->CODIGO,FTAlmacenes->ALMACEN,TRANS(FTAlmacenes->CANTIDAD,IMPMUM),FTAlmacenes->UNIDAD ;
CELL LINES FOOTERS NOBORDER

        oLbxAlmacenes:Concepto:cFooter      := "Prueba Adriano"
  • oLbxAlmacenes:aCols[ 5 ]:nFooterType := AGGR_SUM
  • oLbxAlmacenes:aCols[ 6 ]:nFooterType := AGGR_SUM
    oLbxAlmacenes:MakeTotals()

    REDEFINE BTNBMP ID 117 OF oDlgTraslado NAME "BMP_ACEPTAR" ACTION (lAceptar:=.T.,oDlgTraslado:End())
    REDEFINE BTNBMP ID 118 OF oDlgTraslado NAME "BMP_SALIR" ACTION (lAceptar:=.F.,oDlgTraslado:End())

ACTIVATE DIALOG oDlgTraslado CENTERED ON INIT (oLbxAlmacenes:SetFocus(.T.))

Select("FTAlmacenes")

IF lAceptar

  * ACCIONES

ENDIF

FTAlmacenes->(DbCloseArea())

oFntArial:End()
oFntArial2:End()

ENDIF

oLbxCompra:UpStable()
oLbxCompra:Refresh()

RETURN Nil

&&&

Luis Ponce
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: PROBLEMA CON TXBROWSE
Posted: Tue Jan 08, 2013 01:00 AM

Asi lo tengo y trabaja sin problema, solo que uso es un array, revisa como tienes definido tu xbrowse en el recurso, debe ser de tipo CUSTOM, saludos... :shock:

REDEFINE xBrowse oBrw ID 100 of oDlg ;
HEADERS "CODIGO", "DESCRIPCION", "UNIDAD", "CANTIDAD", "PRECIO", "DESC", "SUB-TOTAL" ;
COLUMNS 1, 2, 3, 4, 5, 6, 7 ;
COLSIZES 100, 200, 70, 70, 70, 70, 70 ;
JUSTIFY AL_LEFT, AL_LEFT, AL_LEFT, AL_RIGHT, AL_RIGHT, AL_RIGHT, AL_RIGHT ;
PICTURES , , , "@E 9,999,999", "@E 9,999,999.99", "@E 999.99%", "@E 9,999,999.99" ;
ARRAY aItems FASTEDIT LINES

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Tue Jan 08, 2013 02:52 AM

Gracias Jose Luis por el interes, lo probare como dices, pero el detalle esta que el error es en la compilacion, no en tiempo de ejecucion.

Gracias

Luis Ponce
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: PROBLEMA CON TXBROWSE
Posted: Tue Jan 08, 2013 07:02 PM
Hola Luis, prueba asi: (me funciona en FWH1204)
Code (fw): Select all Collapse
REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
ALIAS "FTAlmacenes" ;
COLUMNS "FILIAL","CODIGO","ALMACEN","CANTIDAD","UNIDAD" ;
HEADERS "FL","Co","Almacen","Cantidad","Unidad" ;
CELL LINES FOOTERS NOBORDER


Asi lo uso:
Code (fw): Select all Collapse
REDEFINE XBROWSE oBrw ID 118 OF oDlg ;
         COLUMNS "Codigo", "Nombre", "Apellido","CedulaIde" ; 
         HEADERS "Cod/Clte","Nombres","Apellidos","Cedula Id";
         SIZES 70,170,170,140 ;
         ALIAS (cAlias) FOOTERS LINES CELL

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

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: PROBLEMA CON TXBROWSE
Posted: Wed Jan 09, 2013 09:51 AM

Una pregunta, Luis, aunque parezca tonta, pero a veces por despiste me ha pasado.
¿Tienes puesto el fichero de definiciones, xbrowse.ch?

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Wed Jan 09, 2013 02:59 PM

Si pedro, ya revise ese pequeño detalle que a todos nos habrá pasado alguna vez....
El codigo queda asi :

include "FiveWin.ch"

include "IMAGE.ch"

include "xbrowse.ch"

FUNCTION EDITAFILE()
LOCAL oLbxAlmacenes,oFntArial,oFntArial2

  • Dialogo

DEFINE FONT oFntArial NAME "Arial" SIZE 0, -14
DEFINE FONT oFntArial2 NAME "Arial" SIZE 0, -14 BOLD
DEFINE BRUSH oBrush NAME "BMP_TECLAS2"
DEFINE DIALOG oDlgTraslado RESOURCE "CONS_TABLA" BRUSH oBrush OF oDlg TITLE "Stock en Almacenes"

REDEFINE XBROWSE oLbxAlmacenes ID 112 OF oDlgTraslado ;
COLUMNS "FILIAL", "CODIGO", "ALMACEN","CANTIDAD" ;
HEADERS "FL","CO","Almacen","Cantidad";
SIZES 70,170,170,140 ;
ALIAS "FTAlmacenes" FOOTERS LINES CELL

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

REDEFINE BTNBMP ID 117 OF oDlgTraslado NAME "BMP_ACEPTAR" ACTION (lAceptar:=.T.,oDlgTraslado:End())
REDEFINE BTNBMP ID 118 OF oDlgTraslado NAME "BMP_SALIR" ACTION (lAceptar:=.F.,oDlgTraslado:End())

ACTIVATE DIALOG oDlgTraslado CENTERED ON INIT (oLbxAlmacenes:SetFocus(.T.))

Select("FTAlmacenes")

IF lAceptar

  • ACCIONES

ENDIF

FTAlmacenes->(DbCloseArea())

oFntArial:End()
oFntArial2:End()

oLbxCompra:UpStable()
oLbxCompra:Refresh()

RETURN Nil

y sigue saliendo el mismo error de compilacion:

Error E0030 syntax error "Syntax error at 'XBROWSE' "

no encuentro la causa !!

Luis Ponce
Posts: 196
Joined: Tue Jul 01, 2008 06:34 PM
Re: PROBLEMA CON TXBROWSE
Posted: Wed Jan 09, 2013 03:04 PM

A lo mejor sirve de algo comertar lo siguiente... el numero de linea que me da el error como referencia va a:

linea 10978 = ALIAS "FTAlmacenes" FOOTERS LINES CELL

.prg (10978) Error E0030 syntax error "Syntax error at 'XBROWSE' "

lo he probado asi;

ALIAS "FTAlmacenes"

Y da lo mismo

Luis Ponce
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: PROBLEMA CON TXBROWSE
Posted: Wed Jan 09, 2013 03:47 PM

Podrias mostrar como haces la apertura de la DBF antes de mostrar el xBrowse, es decir, donde asiganas el ALIAS, nose si sera eso lo que te esta hechando broma, saludos... :shock:

Ejemplo totalmente funcional:

  DBSELECTAREA("jlalumno") // MAESTRO DE ALUMNOS
     jlalumno->( OrdSetFocus(2) )
     jlalumno->( DBGOTOP() )
  DATABASE oDbfALUM   // LECTURA Y CLONACION DE DBF ORIGINAL
     oDbfALUM:GOTOP()

oBrow:=TxBrowse():New( oWndAlu )

WITH OBJECT oBrow

  :bClrStd       := { || If( ( oBrow:nArrayAt % 2 ) == 0, { CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
  :bClrSel       := { || If( ( oBrow:nArrayAt % 2 ) == 0, { CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } ) }
  :nMarqueeStyle := 4
  :bRClicked    := { || msginfo(cvaltochar(recno())) }  // LLAMA MENU-POPUP CON BOTON DERECHO
  :nLeft := 203 // DISTANCIA DESDE EL BORDER IZQ.

  :nMarqueeStyle    := MARQSTYLE_HIGHLROW
  :nColDividerStyle := LINESTYLE_BLACK
  :nStretchCol      := STRETCHCOL_LAST
  :lColDividerComplete := .T.
  :nHeaderHeight := 30
  :l2007 := .T.
  :lFooter := .F.
  :lRecordSelector := .T.

END WITH
//COMIENZAN LAS COLUMNAS

*** COL.1
oCol := oBrow:AddCol()
oCol:bStrData := {|| IIF( LastRec() > 0 ,;
STRZERO( jlalumno->alu_codigo, 7 ), SPACE(10) ) }
oCol:cHeader := "Código"
oCol:nWidth := 70
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT

*** COL.2
oCol := oBrow:AddCol()
oCol:bStrData := {|| IIF( LastRec() > 0, jlalumno->alu_ape1, SPACE(250) ) }
oCol:cHeader := "Apellidos"
oCol:nWidth := 250
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT

*** COL.3
oCol := oBrow:AddCol()
oCol:bStrData := {|| IIF( LastRec() > 0, jlalumno->alu_nom1, SPACE(250) ) }
oCol:cHeader := "Nombres"
oCol:nWidth := 250
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT

*** COL.4
oCol := oBrow:AddCol()
oCol:bStrData := {|| IIF( LastRec() > 0 ,;
STRZERO( jlalumno->alu_cedula, 8 ), SPACE(10) ) }
oCol:cHeader := "Cédula"
oCol:nWidth := 70
oCol:nHeadStrAlign := AL_CENTER
oCol:nDataStrAlign := AL_LEFT

// TERMINAN LAS COLUMNAS

oBrow:cAlias := "jlalumno"
oBrow:SetRDD()
oBrow:Refresh( .T. )
oBrow:CreateFromCode()

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: PROBLEMA CON TXBROWSE
Posted: Wed Jan 09, 2013 06:47 PM
Luis,
Solo para informacion, los comandos que tratas de usar están disponibles desde la version AGOSTO/2008 (8.08), y vos indicas que utilizas la 8.02

* New: XBROWSE Commands:

1. @ 0,0 XBROWSE and REDEFINE XBROWSE:
Now list of columns, fields, headers, etc. can also be specified as arrays in line or array variables can be
used. Example:
REDEFINE XBROWSE <clauses> HEADERS 'First', 'Last', ....

can also be written as

REDEFINE XBROWSE <clauses> HEADERS aHdrs .... ( where aHdrs := { 'First', 'Last', .... } )

This applies to all lists in xbrowse creation commands.


PD: Revisando mas cuidadosamente WHATSNEW, estos comandos estan disponibles desde la 8.03
Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql