pepe1973   29-03-2025, 00:53
#1
¿Sirven las variables de Entorno de las propiedades de Proyecto como variables de Configuración?

Hola, dentro de las Propiedades del Proyecto hay un apartado etiquetado como Entono en el que puedes definir algunas variables.

Por ejemplo he creado 2 variables llamadas PISTA1 con el valor True y PISTA2 con el valor False

Desde código he podiodo acceder a su valor tal como sigue:

CheckBox1.Value = Val(Application.Env["PISTA1"])
CheckBox2.Value = Val(Application.Env["PISTA2"])

Y esto ha funcionado bien
Mi duda es si se puede modificar desde código su valor de manera que la próxima vez que se ejecute el programa carguen el nuevo valor, y no he encontrado la manera de hacerlo.

Application.Env["PISTA1"]="False"

Esto no me ha funcionado. No se si es porque en la fase de desarrollo no funciona y si lo hace al instalar el programa, o lo mas probable es que no sea así como debe escribirse el código.

Gracias por vuestra ayuda
Shordi   29-03-2025, 11:18
#2
No. Estas variables son para comprobar y/o simular el entorno de ejecución del proyecto. Así puedes ver cómo se comportaría si en el entorno de ejecución el Path del sistema, por ejemplo, incluyese tal o cual directorio o si el entorno gráfico es QT o GTK, etc. Puedes ver el entorno en la consola de linux con el comando env del sistema operativo.

Para almacenar configuraciones del sistema y modificarlas añadirlas o eliminarlas en tiempo de ejecución debes usar la clase Settings.
Enlaza tu proyecto con el componente gb.settings y luego en tu código puedes usar la sintáxis:

Código:
CheckBox1.Value = Settings["PISTA1"]

Si al grabar el contenido del formulario interesa grabar esa configuración basta con

Código:
Settings["PISTA"] = CheckBox1.value
Settings.Save()

y quedará salvado para siguientes ejecuciones o para una nueva lectura dentro de la misma ejecución.

Para borrar una entrada en Settings basta con establecerla a Null

Interesante la capacidad de Settings de almacenar la geometría de los objetos gráficos (formularios, paneles, etc) de manera que en la siguiente ejecución del programa aparezcan en el lugar y con el tamaño que se cerraron la última vez. Métodos Settings.Read[objeto] y Settings.Save[objeto]

Por defecto dichas configuraciones las tienes dentro de user.home&/".config/gambas3"&/ Application.Name &/ ".conf", pero tú puedes crear las instancias que quieras y donde quieras de la clase.

Puedes almacenar ahí, casi todo tipo de valores, alfabéticos, numéricos, Arrays, Collection, etc.

Personalmente la utilizo prácticamente en todos mis proyectos.


Saludos
Última modificación: 29-03-2025, 11:19 por Shordi.

No podemos regresar
pepe1973   29-03-2025, 21:11
#3
Muchas gracias por la respuesta tan detallada.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.