FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda con XBROWSE
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Ayuda con XBROWSE
Posted: Thu Sep 12, 2019 03:25 PM
Hola :

Practicamente he migrado mi vieja aplicacion a la nueva version de Fivewin con exito pero me gustaria cambiar los
antiguos LISTBOX por XBROWSE.

Tengo este codigo que funciona perfecto.
Code (fw): Select all Collapse
 @ 2, 0 LISTBOX Empw ;
   FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ], Emp->codigo, Emp->Nombre, Emp->Ano ;
   Alias cAlias HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
   ON DBLCLICK EditEmpres( Empw, .F. ) WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) UPDATE OF oWndEmp


Como seria utilizando XBROWSE

Gracias por vuestra ayuda.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Ayuda con XBROWSE
Posted: Sun Sep 15, 2019 05:46 PM
Por si aun no lo has hecho, aqui tienes un ejemplo.
Code (fw): Select all Collapse
Function Lbx2Brw()
local Empw, cAlias, Emp, oWndEmp

if !File(".\Emp.dbf")
dbCreate(".\Emp",{ { "Cerrada", "L",  1,0 } ,;
                   { "Activo" , "L",  1,0 } ,; 
                   { "Codigo" , "C",  2,0 } ,; 
                   { "nombre" , "C", 35,0 } ,;
                   { "Ano"    , "N",  4,0 } } )
DBUsearea(.t.,,"Emp","Emp",.t.)
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "01" 
   field->nombre := "EMPRESA NUMERO UNO" ; field->ano := 2019
dbappend()
   field->cerrada := .f. ; field->activo := .t. ; field->codigo := "02"
   field->nombre := "EMPRESA NUMERO DOS" ; field->ano := 2019
dbappend()
   field->cerrada := .T. ; field->activo := .F. ; field->codigo := "03"
   field->nombre := "EMPRESA NUMERO TRES" ; field->ano := 2018
Emp->(dbcloseArea())
endif

DBUsearea(.t.,,"Emp","Emp",.t.)
cAlias:=Alias()

   DEFINE DIALOG oWndEmp SIZE 600,400 PIXEL TITLE "FiveWin Version 1204"

   @ 2, 0 XBROWSE Empw OF oWndEmp PIXEL ;
          SIZE 280,140 ;
          DATASOURCE cAlias ;
          COLUMNS "Cerrada", "Activo", "Codigo", "Nombre", "Ano" ;
          HEADERS "E", "A", "CODIGO", "NOMBRE", "AÑO TRABAJO" ;
          FOOTERS CELL LINES ;
          ON DBLCLICK EditEmpres( Empw, .F. ) ;
          WHEN ( IF( Select( cAlias ) > 0, Emp->( LastRec() ) > 0, .F. ) ) ;
          VALID ( SaveIniCol( Empw, cAlias ), .T. ) ;
          UPDATE 

   WITH OBJECT Empw 
      :nColDividerStyle := LINESTYLE_LIGHTGRAY
      :nRowDividerStyle := LINESTYLE_LIGHTGRAY

      :aCols[ 1 ]:addResource("aceptar")
      :aCols[ 1 ]:addResource("cancelar")
      :aCols[ 1 ]:bBmpData := {|| IF( Emp->Cerrada, 2,1 ) }

      :aCols[ 2 ]:addResource("checked")
      :aCols[ 2 ]:addResource("unchecked")
      :aCols[ 2 ]:bBmpData := {|| IF( Emp->Activo , 1,2 ) }
   END

   Empw:CreateFromCode()

   ACTIVATE DIALOG oWndEmp CENTERED   ON INIT Empw:Move(40,20)

   (cAlias)->(DbCloseArea())
   Ferase(".\Emp.dbf")

RETURN NIL

Function EditEmpres( oBrw, lLogico ) 
Return MsgInfo("EditEmpres()"+CRLF+;
               oBrw:codigo:Value +"   "+ oBrw:nombre:value )

Function SaveIniCol( oBrw, cAlias )
Return .t.


Saludos
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Ayuda con XBROWSE
Posted: Wed Sep 18, 2019 04:21 PM
Hola FranciscoA.

En primer lugar muchas gracias por tu interes.

Me funciona bien pero no consigo que me muestre los bitmaps como antiguamente con este codigo.

Code (fw): Select all Collapse
FIELDS aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ], aDbfBmps[ IF( Emp->Activo, 1, 2 ) ]


Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.

Pruebo con esto y no lo muestra
Code (fw): Select all Collapse
:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }

mira la pantalla.



Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.

Saludos amigo.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Ayuda con XBROWSE
Posted: Wed Sep 18, 2019 09:00 PM
jvtecheto wrote:
Yo tengo en el arreglo aDbfBmps cargados los bitmaps que tengo que usar y segun sea aDbfBmps[3] ó aDbfBmps[4] me muestra uno u otro.
Pruebo con esto y no lo muestra
Code (fw): Select all Collapse
:aCols[ 1 ]:bBmpData := {|| aDbfBmps[ IF( Emp->Cerrada, 4, 3 ) ] }

Jose.


Jose:
La unica forma que conozco es agregando los recursos en cada col en que los vas a utilizar.
Prueba lo siguiente (siempre agregando los recursos a las cols):

Code (fw): Select all Collapse
local aDbfBmps:={"aceptar","cancelar","checked","unchecked"}
...
...
      :aCols[1]:AddResource( aDbfBmps )
      :aCols[1]:bBmpData := {|| IF( Emp->Cerrada, 2, 1 ) }

      :aCols[2]:AddResource( aDbfBmps )
      :aCols[2]:bBmpData := {|| IF( Emp->Activo, 3, 4 ) }

Si existe forma similar o igual a la que expones, traslademos la consulta a los maestros de FiveWin.

Saludos.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Ayuda con XBROWSE
Posted: Wed Sep 18, 2019 09:03 PM
jvtecheto wrote:
Tambien me gustaria que la linea apareciera toda resaltada y no solo un campo.
Jose.


Si te refieres a sobre-iluminar la fila prueba con esto
Code (fw): Select all Collapse
   :nMarqueeStyle    := MARQSTYLE_HIGHLROW   //ilumina toda la linea

Si te refieres a resaltar los datos (fuente), intenta asi:
Code (fw): Select all Collapse
   AEval(oBrw:aCols,{|o| o:DataFont := if(Emp->Activo, oFont2, oFont1 ) } )

Saludos
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Ayuda con XBROWSE
Posted: Wed Sep 18, 2019 09:09 PM
Intenta definiendo el tipo de columna
Code (fw): Select all Collapse
:aCols[ 1 ]:cDataType := 'F'
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: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Ayuda con XBROWSE
Posted: Thu Sep 19, 2019 05:46 PM

Hola:

Gracias a los 2, por ahora me funciona me quedan unos flecos que resolver pero prefiero estudiar un poco mas la clase.
Creia que el cambio era mas automatica pero al ser una clase con muchas mas opciones es mas complicado.

dentro de unos dias posteo de nuevo.

Muchisimas gracias.

Jose.

Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64

Continue the discussion