[Ejemplo] Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save


Objetivo: [Ejemplo] Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save
Hola
los siguiente codigos guardan y cargan el contenido de un texbox, pero mi intención es que el usuario pueda guardar y cargar la configuración del programa, es decir si dejaron algunos checkboxes checkeados, combox, etc donde se utiliza el comando "Settings" ejemplo: Settings["Opciones/Audio"]=checkbox1.value.

quiero que el usuario puede guardar y cargar su propia configuración cuando lo desea.
podrian ayudarme con esto.

gracias

codigo para guardar
Public Sub btnSave_Click()
Dialog.Filter = ["*.txt", "Archivo de mapeo"]
If Dialog.SaveFile() Then Return
File.Save(Dialog.Path, textbox1.text)
Catch
Message.Info(Error.Text)
End


codigo para abrir
Public Sub btnOpen_Click()
Dialog.Title = "Seleccione un archivo"
Dialog.Filter = ["*.txt", "Archivo de mapeo", "*", "Todos los archivo"]
If Dialog.OpenFile() Then Return
textbox1.text = File.Load(Dialog.path)
Catch
Message.Info(Error.Text)

End


[ACTUALIZADO]
Bueno encontré la solución a prueba y error (así es como se aprende) y pues creo que este post ahora se va a convertir en una guía, aquí dejo el codigo:

Básicamente lo que se necesita del Dialog.openfile es solo obtener la dirección el archivo, para luego hacer cambiar la dirección del "settings" y proceder a cargar la información. Las variables son las misma en ambos procesos porque son locales, no hay conflicto en usarlas.
Public Sub abrir_Click()
Dim directorio_abrir As String
Dim direccion_setting As Settings

Dialog.Filter = ["*.conf", "Archivo de mapeo", "*", "Todos los archivo"]
If Dialog.OpenFile() Then Return
directorio_abrir = Dialog.Path & ".conf"
direccion_setting = New Settings(directorio_abrir)
CheckBox1.Value = direccion_setting["Opciones/checkbox", CheckBox1.Value]
Catch
Message.Info(Error.Text)

End


con el codigo del Dialog.save file, es los mismo lo que necesitamos es solo obtener el nombre del archivo y dirección donde el usuario desea guardar el archivo, pero básicamente no se esta guardando nada, ya que el archivo lo guardará el comando "settings".
Public Sub Button2_Click()
Dim directorio_guardar As String
Dim direccion_setting As Settings

Dialog.Filter = ["*.conf", "Archivo de mapeo", "*", "todos los archivos"]
If Dialog.SaveFile() Then Return
directorio_guardar = Dialog.Path & ".conf"
direccion_setting = New Settings(directorio_guardar)
direccion_setting["Opciones/checkbox"] = CheckBox1.Value

Catch
Message.Info(Error.Text)

End

última edición por obedlink el Martes, 08 Abril 2014, 18:31; editado 1 vez
Perfil MP  
Objetivo: Re: Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save
Hace un tiempo quise utilizar esa clase para lo mismo que tú dices, pero me dio muchos problemas: claves que desaparecían al reiniciar la aplicación de manera aparentemente aleatoria etc.
Es una clase muy cómoda de manejar, pero que tiene un comportamiento muy suyo... (siendo honrado no he vuelto a intentar usarla, que el gato escaldado del agua fría huye)
Ahora prefiero usar una base sqlite en la que puedo guardar no sólo configuraciones, sino todo tipo de cosas (caminos, imágenes, etc.)

Suerte.

Perfil MP  
Objetivo: Re: Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save
Hola Obedlink.

Hace poco he pasado un programa que tenía en VB a gambas, y me he encontrado con algunos problemas a la hora de la carga de un fichero .conf (que es lo más parecido que hay al manejo de ficheros .ini en VB, de hecho la estructura es la misma). Mira este enlace que ya conocerás: http://gambasdoc.org/help/comp/gb.settings?es).
Primero y lógico, en propiedades hay que elegir el componente gb.settings. Después me dí de bruces al intentar sacar de la carpeta ".config/gambas3/" el fichero .conf (la razón es porque el path por defecto de los archivos .conf es la carpeta .config/gambas3/). Leyendo en el foro descubrí la forma de hacer que ese fichero esté en la carpeta de nuestro programa. Para ello debes crear una nueva instancia de la clase settings:

Public mysettings As Settings

mysettings = New Settings(Application.path &/ "XXXX.conf")


A partir de ahí puedes hacer lo que quieras.......

Para leer valores.........
checkbox1.value= mysettings["Opciones/Audio"]


Para guardar valores......
mysettings["Opciones/Audio"]= checkbox1.value
save


Otro problema y no gordo que me encontré, fue que en determinadas variables me salían cosas raras..... Todo ello se debía a la codificación del fichero de texto (ya que partía de un fichero .conf hecho a mano con un editor de texto en güindous). Bien, tuve que abrir con Open Office, meterle el filtro ascii de escritura occidental, ver los símbolos extraños y eliminar aquellos símbolos raros que no eran saltos de carro. Luego guardar los cambios.

Te paso el programa. Comentarte que solo carga valores de ese fichero .conf:

Espero que te sea de ayuda.

última edición por kitoko el Martes, 08 Abril 2014, 11:01; editado 2 veces

gnroBoletus-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: gnroBoletus-0.0.2.tar.gz
Tamaño: 51.79 KB
Descargado: 18 veces
gnroBoletus-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: gnroBoletus-0.0.2.tar.gz
Tamaño: 51.79 KB
Descargado: 18 veces
gnroBoletus-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: gnroBoletus-0.0.2.tar.gz
Tamaño: 51.79 KB
Descargado: 18 veces

Perfil MP  
Objetivo: Re: Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save
obedlink:

Siguiendo con la explicacion y el ejemplo que te ha puesto kitoko, he hecho une ejemplo para tener en cuenta a varios usuarios, lo podeis descargar en : Curso de Gambas: gb.settings


settingperfilusuario_png

Objetivo: Re: Guardar Y Cargar Archivo De Configuración SETTINGS Por Medio De Dialog.Open Y Dialog.save
Hermano muchas gracias por comentar y publicar ese código ya que me fue de mucha ayuda en una aplicación que estaba realizando.. Saludos y Suerte ..

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4574s (PHP: -72% SQL: 172%)
Consultas SQL: 49 - Debug off - GZIP Activado