FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour txBrowse SaveState RestoreState
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
txBrowse SaveState RestoreState
Posted: Thu Aug 28, 2008 12:45 PM

La clase txBrowse en los ultimos tiempos se ha visto mejorada y ampliada en muchisimos aspectos.

Entre los cambios veo que en el metodo SaveState, se ha a帽adido el nombre de columna(oCol:cHeader). Supongo que esto nos puede permitir cambiar el titulo de la columna dinamicamente (aunque desconozco el metodo, si es que esta implementado).

Esto, me genera dos problemas:
Primero incompatibilidad con las cadenas que se tenian guardadas en versiones previas, ya que ese dato no se grababa y al recuperar con RestoreState me coloca en el cHeader el valor 'H','S' dependiendo de oCol:lHide.

Segundo, hasta la fecha lo guardaba en una entrada de un fichero INI, al guardarse los titulos, cuando hay uno que es multinilena, salta de linea, luego al hacer el Get del ini solo me recupera hasta el primer CRLF.

Como puedo solucionar ambos dos problemas con el menor impacto posible, tanto de programaci贸n como para el usuario final.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
txBrowse SaveState RestoreState
Posted: Sat Aug 30, 2008 07:03 PM

Bueno ante la falta de sugerencias, he obatado por crear una clase nueva heredada de txBrowse, adaptando los metodos SaveState y RestoresState.

De esta manera, soluciono el problema, y ademas no tengo que modificar la clase txBrowse.

No se si ser谩 la mejor, pero funciona.No puedo usar comandos del tipo @ <nRow>, <nCol> XBROWSE ..., pero la verdad es que no suelo usarlos.

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
txBrowse SaveState RestoreState
Posted: Sun Aug 31, 2008 06:33 PM

Biel,

Que cambios has hecho en SaveState() y RestoresState() ? gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
txBrowse SaveState RestoreState
Posted: Mon Sep 01, 2008 08:43 AM

Antonio,
el objetivo principal era mantener compatibilidad con versiones antiguas de xBrowse. Para ello era suficiente quitar del proceso de grabacion y recuperacion cHeader.

Pero para no alejarme mucho de la version actual, lo que he hecho, es cambiar la posicion de cHeader y pasarlo al final(que entiendo hubiera sido lo correcto, en lugar de insertarlo) , asi consigo que se respete el orden del formato antiguo. Y en la recuperaci贸n evaluar si realmente existe informacion grabada para la cabecera.

Cabe tener en cuenta que al a帽adiir cHeader en el sting de grabacion, este puede contener la cadena ":" o ";" usados como separador, con lo que la recuperacion de datos puede ser erronea.

Para poder seguir usando fichheros INI, reemplazo los CRLF que encuentro cHeader por una combinacion de caracteres($&) suficientemente estra帽a, y en recuperaci贸n ejecuto el proceso inverso.

Si realemente es util, y queremos grabar el titulo de la columna, creo que deberia revisarse el tema de ";:".

Saludos desde Mallorca
Biel Maim贸
http://bielsys.blogspot.com/
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
txBrowse SaveState RestoreState
Posted: Mon Sep 01, 2008 10:07 AM

Biel,

Gracias por la explicaci贸n :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion