Mensajes: 29
Temas: 9
Gracias Recibidas: 10 en 5 posts
Gracias Dadas: 18
Registro en: Oct 2022
Pues o algo hago mal o Gambas3 se lía con los Settings y las Collection.
Puedes hace algo así:
GAMBAS
aCol = ["1":"aaaaaa", "2":"bbbbbbbbbb", "3":"cccccccc"]
Y funciona ok. Lo guarda como:
[Tipos]
Coleccion={"1": "aaaaaaa","2": "bbbbbbbbbb","3": "cccccccccc"}
Peeeeero. Luego no lo lee. Si haces
Da un error: "No coinciden los tipos: requerido Collection obtenido String"
Pues vaya!!!!!!
Mensajes: 29
Temas: 9
Gracias Recibidas: 10 en 5 posts
Gracias Dadas: 18
Registro en: Oct 2022
Me autorespondo con la solución que he encontrado:
Grabar:
GAMBAS
Settings["Tipos/Coleccion"] = JSON.
Encode(aColeccion
)
Leer:
GAMBAS
aColeccion
= JSON.
Decode(Settings["Tipos/Coleccion"])
y funciona.
Mensajes: 1,416
Temas: 202
Gracias Recibidas: 350 en 257 posts
Gracias Dadas: 258
Registro en: Jul 2020
Ya que usas colecciones sugiero que uses la clase
Config que hicimos entre TercoIDE y yo en lugar de settings.
La venimos usando desde hace bastante tiempo en todos nuestros programas y es muy cómoda para el desarrollo porque te permite agregar variables durante el desarrollo del programa de forma ordenada y luego podes acceder a ellas con el operador "."
Luego, con el método Save() guardas las variables y con el método Load() las recuperas.
1 Saludo.
Los siguientes 1 usuarios dice gracias a tincho por este post:1 usuarios dice Gracias! a tincho por este post
• gartumar2
Mensajes: 29
Temas: 9
Gracias Recibidas: 10 en 5 posts
Gracias Dadas: 18
Registro en: Oct 2022
12-11-2022, 17:58
(Última modificación: 12-11-2022, 18:55 por
gartumar2.)
Sí, ya le había echado un vistazo a la clase Config, pero la había descartado porque necesito algo muy sencillo. No obstante y viendo las limitaciones de Settings, creo que la voy a reconsiderar.
Al final resulta que la solución de JSON no me vale. Al hacer JSON.Decode si se encuentra, como es el caso, con un par como "boolean":"b" salta un error de que boolean es un token invalido.
He optado por una solución chapuza, pero que sí que funciona: separo la colección en dos arrays, una para las key y otra para los valores y guardo estos arrays en Settings. Luego cuando leo los settings vuelvo a crear la coleccion a partir de estos dos arrays.
Un saludo.
(12-11-2022, 15:51)tincho escribió: Ya que usas colecciones sugiero que uses la clase Config que hicimos entre TercoIDE y yo en lugar de settings.
La venimos usando desde hace bastante tiempo en todos nuestros programas y es muy cómoda para el desarrollo porque te permite agregar variables durante el desarrollo del programa de forma ordenada y luego podes acceder a ellas con el operador "."
Luego, con el método Save() guardas las variables y con el método Load() las recuperas.
Gracias, tincho.
Clase Config instada y en uso. Fácil y a la primera.
Un saludo.