Leer valores columnas de un browse(LISTBOX)

Leer valores columnas de un browse(LISTBOX)

Postby jvtecheto » Thu May 30, 2019 1: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: Select all  Expand view

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: Select all  Expand view

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: Select all  Expand view

MsgInfo("Valor coordenada [3] " + Str(oBrowse:AcolSizes[3]) )
 

Y sale 63 ,
para cargar los datos del ini lo hago cuando activo la ventana
Code: Select all  Expand view

 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
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Re: Leer valores columnas de un browse(LISTBOX)

Postby jvtecheto » Sat Jun 01, 2019 4: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: Select all  Expand view

//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
User avatar
jvtecheto
 
Posts: 592
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 27 guests