¿Algún ejemplo del uso de xBrowse?

Post Reply
User avatar
lagm
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

¿Algún ejemplo del uso de xBrowse?

Post by lagm »

Hola,

Ya estoy utilizando la versión FWH20.04, donde me encuentro con bastantes cambios respecto a versiones anteriores.
Estoy migrando una aplicación xHarbour modo consola, que maneja tablas dbf /cdx.

En estos días he cambiado la forma de trabajar las tablas dbf: como objetos.
Los registros los paso a arrays mediante FW_DbfToArray()
Los arreglos los trabajo con xBrowse.

Todo bien hasta este punto.

Lo que no he podido lograr (no encuentro un ejemplo claro), y esa es la ayuda que pido para poder seguir avanzando, es manejar una tabla de detalle, en donde
necesito contar con columnas de: código, descripción, precio, cantidad y total.

Entiendo que ya muchos programadores no usan dbf's pero debe quedar algún ejemplo actualizado para manejar tablas de detalle,
Agradezco su ayuda,

Luis Antonio
Curicó - Chile
Luis Antonio GM
Curicó-Chile
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: ¿Algún ejemplo del uso de xBrowse?

Post by Antonio Linares »

Luis Antonio,

Revisa el ejemplo samples\fivedbu.prg que te dará una visión amplia de como trabajar con tablas, browses, etc

Desde c:\fwh\samples haz:

buildh.bat fivedbu
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: ¿Algún ejemplo del uso de xBrowse?

Post by leandro »

Una idea

Code: Select all

    oBrwDoin := TXBrowse():New( oDlgDin )
    oBrwDoin:nMarqueeStyle         := MARQSTYLE_HIGHLROW
    oBrwDoin:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
    oBrwDoin:nColDividerStyle      := LINESTYLE_LIGHTGRAY
    oBrwDoin:nHeaderLines          := 1
    oBrwDoin:lColDividerComplete   := .t.
    oBrwDoin:lRecordSelector       := .t.
    oBrwDoin:nStretchCol           := STRETCHCOL_LAST
    oBrwDoin:l2007                 := .f.
    oBrwDoin:oFont                 := oFont1  

    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , Transform(detalle[oBrwDoin:nArrayAt]["id"],oLamcla:PIC9) ,"" ) }
    oCol:AddResource( "#8208" ) 
    oCol:cHeader  = "Item"
    oCol:nWidth   = 30
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT    
    oCol:oHeaderFont = oFont

    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , detalle[oBrwDoin:nArrayAt]["idproducto"] ,"" ) }
    oCol:cHeader  = "Codigo"
    oCol:nWidth   = 85
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT    
    oCol:oHeaderFont = oFont
    
    oCol          = oBrwDoin:AddCol()
    oCol:bStrData := {|| if(Len( detalle ) > 0 , detalle[oBrwDoin:nArrayAt]["nombreproducto"] ,"" ) }
    oCol:cHeader  = "Descripción"
    oCol:nWidth   = 180
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT    
    oCol:oHeaderFont = oFont
    oCol:cFooter      = "TOTALES"   
    oCol:oFooterFont = oFont3

   
    oBrwDoin:SetArray( detalle )
    oBrwDoin:CreateFromResource( 102 )  
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
lagm
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

Re: ¿Algún ejemplo del uso de xBrowse?

Post by lagm »

Gracias Antonio y Leandro,

Muy buenos ejemplos para seguir investigando hasta crear el módulo de mantenimiento encabezado detalle

Luis antonio
Luis Antonio GM
Curicó-Chile
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: ¿Algún ejemplo del uso de xBrowse?

Post by FranciscoA »

Hola.
Mira, en \samples, Yunus.prg, especificamente function EditInvoice( oRec ).
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ¿Algún ejemplo del uso de xBrowse?

Post by wilsongamboa »

buenos dias
aprovechando
como hago para si en la fila del browse tengo una fecha esta no sea editable en funcion de otro campo que tiene un valor digamos
campo = 'CD' ->edite la fecha de esa fila
campo = 'EF' ->no edite la fecha de esa fila
he probado con
oCol1:nEditType =0 para no editar o igual a otro valor para editar
PERO me deja editar o me bloquea TODA la columna
como o que uso para solo bloquear esa celda en esa fila
espero haberme explicado
muchas gracias por su ayuda
saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: ¿Algún ejemplo del uso de xBrowse?

Post by FranciscoA »

Wilson, aquí tienes un ejemplo probado en 1709.

Code: Select all

//----------------------------------------------------------//
// CELDA EDITABLE O NO  ( FAPSOFTWARE )
//---------------------------------------------------------//
Function CeldaDisable()
local oDlg, oBrw, n
LOCAL aAgenda := { {1,5,8,4,5,6,7} ,;
                   {1,4,9,4,5,6,7} ,;
                   {1,2,3,4,5,6,7} ,;
                   {1,5,0,4,5,6,7} ,;
                   {1,2,3,4,5,6,7} }

  DEFINE DIALOG oDlg  SIZE 450,200 PIXEL
  @5, 10 SAY "Celdas en Columna 3 son editables si valor en Columna 2 == 2" SIZE 200,10 PIXEL OF oDlg

  @ 20, 10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg  DATASOURCE aAgenda ;
           COLUMNS 1,2,3,4,5,6,7  HEADERS "LU","MA","MI","JU","VI","SA","DO";
           CELL LINES 

  WITH OBJECT oBrw:aCols[3]
     :nEditType := 1 
     :bEditWhen := {|| oBrw:aCols[2]:Value == 2 }  //Celda en col 3 es editable si valor celda en col 2 = 2
  END

  oBrw:CreateFromCode()

  AEVAL( oBrw:aCols,{|o| o:nWidth := 50 } )

  ACTIVATE DIALOG oDlg CENTERED
Return nil
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
lagm
Posts: 12
Joined: Sun Mar 22, 2020 5:49 pm

Re: ¿Algún ejemplo del uso de xBrowse?

Post by lagm »

FranciscoA wrote:Hola.
Mira, en \samples, Yunus.prg, especificamente function EditInvoice( oRec ).
Saludos.
Eso es precisamente lo que necesito.
Es fundamental contar con ejemplos así de claros para quienes estamos iniciando o retomando la programación con FiveWin,
y personas que amablemente comparten sus conocimientos y experiencias.

Muchas gracias Francisco,

Luis Antonio
Curicó-Chile
Luis Antonio GM
Curicó-Chile
User avatar
wilsongamboa
Posts: 439
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Re: ¿Algún ejemplo del uso de xBrowse?

Post by wilsongamboa »

Francisco que barbaro!! justo lo que necesito
muchas gracias !!
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: ¿Algún ejemplo del uso de xBrowse?

Post by FranciscoA »

Me alegra mucho que hayan resuelto.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
Post Reply