FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Leer valores columnas de un browse(LISTBOX)
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Leer valores columnas de un browse(LISTBOX)
Posted: Thu May 30, 2019 01:25 PM
Hola amigos:

En la migracion de la aplicacion que estoy realizando he pensado leer los valores de las columnas de un browse (utilizo LISTBOX todavia, tengo que pasarlo a XBROWSE).
entonces para grabar los valores de las columnas utilizo este codigo. en el VALID de la ventana que tengo abierta.
Seria mejor incluir el codigo en otra parte.?
Code (fw): Select all Collapse
FUNCTION SaveIniCol( oBrowse, cAlias )

   LOCAL oIni,n

   INI oIni File "\GESTOBRAS\OBRAW.INI"

   FOR n := 1 TO Len( oBrowse:aColSizes )
      SET SECTION "PANTALLAS" ENTRY cAlias + Str( n,1 ) TO oBrowse:aColsizes[ n ] OF oIni
   NEXT

   ENDINI

   RETURN NIL

Yo creo que funciona bien ya que graba en el fichero .ini
estos datos
[PANTALLAS]
Emp1=15
Emp2=15
Emp3=63
Emp4=332
Emp5=108

despues para leerlo cuando voy a abrir la ventana otra vez y respete lo que se ha definido anteriormente utilizo este
codigo.
Code (fw): Select all Collapse
FUNCTION ReadIniCol( oBrowse, cAlias )

   LOCAL oIni, n

   INI oIni File "\GESTOBRAS\OBRAW.INI"

      FOR n := 1 TO Len( oBrowse:aColSizes )
         GET oBrowse:AcolSizes[n] SECTION "PANTALLAS" ENTRY cAlias + Str( n )  OF oIni
      NEXT

   ENDINI

   RETURN Nil


Creo que debe funcionar bien porque
Code (fw): Select all Collapse
MsgInfo("Valor coordenada [3] " + Str(oBrowse:AcolSizes[3]) )

Y sale 63 ,
para cargar los datos del ini lo hago cuando activo la ventana
Code (fw): Select all Collapse
 ON INIT ( ReadInicol(Empw,cAlias) )


Cuando pinta la ventana parcece que lo hace bien pero en 1 segundo me muestra solo la
ultima columna.

¿Que hago mal?

Gracias por vuestra inestimable ayuda, y perdon por lo largo del mensaje pero sino lo explico bien.

Jose.
Fwh 24.07 64 bits + Harbour 64 bits 3.2dev(r2407221137) + MSVC64
Posts: 607
Joined: Mon Mar 04, 2013 04:32 PM
Re: Leer valores columnas de un browse(LISTBOX)
Posted: Sat Jun 01, 2019 04:18 PM
Pues me respondo yo , ya que lo tengo solucionado .
añadiendo un , a este codigo de la funcion de lectura de los datos del INI

Code (fw): Select all Collapse
//Antes GET oBrowse:AcolSizes[n] SECTION "PANTALLAS" ENTRY cAlias + Str( n )  OF oIni
GET oBrowse:AcolSizes[n] SECTION "PANTALLAS" ENTRY cAlias + Str( n,1 )  OF oIni

Con esto lee correctamente. Pero me queda una cosa solamente , me gustaria volver a grabar los cambios solo cuando
de verdad se han dimensionado las columnas, ya ahora lo hago en el VALID del LISTBOX, creo que no tiene el
evento ON RESIZE , no lo veo en las instrucciones.
¿Que evento deberia utilizar para grabar solamente cuando se hayan redimensionado?

Gracias por vuestra ayuda.

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

Continue the discussion