Buenas!
Para no mezclar los dos temas en el que en uno explicas los settings y en el otro como aprovecharlos
para almacenar un archivo imagen.
A modo de mejora, se puede mejorar el método de llenado del área de texto.
Aunque puede resultar más confuso, elimina líneas de código.
Código:
Public Sub LlenarAreaDeTexto()
With TextArea1
'En el campo font es necesario que sea texto
.Font = Font[Settings["fontProject", Application.Font.ToString()]]
.Background = Settings["clbBackGround", Color.TextBackground]
.Foreground = Settings["clbForeGround", Color.TextForeground]
End With
$Prefs = Settings["Preferences", $Prefs]
' If Not $Prefs["Texto"] Then
' TextArea1.Text = "Texto por defecto"
' txtboxTitulo.Text = "Título por defecto"
' Else
' txtboxTitulo.Text = $Prefs["Titulo"]
' TextArea1.Text = $Prefs["Texto"]
' Endif
'Código equivalente:
TextArea1.Text = IIf(Not $Prefs["Texto"], "Texto por defecto", $Prefs["Texto"])
txtboxTitulo.Text = IIf(Not $Prefs["Titulo"], "Título por defecto", $Prefs["Titulo"])
End
¿ Eliminaste el Settings.Write en el evento Close del formulario por algún motivo ?
( Es como si ese método se usase más para alguna cosas ). Naturalmente no puede faltar el Save.
Código:
Public Sub Form_Close()
'Settings.Write(Me)
$Prefs["Texto"] = TextArea1.Text
$Prefs["Titulo"] = txtboxTitulo.text
Settings["Preferences"] = $Prefs
Settings.Save()
End
Como nota de la ayuda de Gambas sobre el método Save.
Cita:
Since Gambas 3.7, only the modified settings are really saved. That allows to share the same settings file between two applications running simultaneously.
Esto lo vimos con la misma aplicación y distinto formulario ( elegir colores, fondo y color del texto, tipos de letras ).
Y esto:
Cita:
Warning.
When you quit the program the settings are automatically saved but if your program is running in the background and your computer is shutdown it will hard exit and not save the settings. so if your program is likely to exit because of a system shutdown and not manually then you should use this function to Save() the settings as they are changed and not leave it for when the program exits normally as it won't exit normally.
Según Google Translator:
Cita:
Advertencia.
Cuando sale del programa, las configuraciones se guardan automáticamente, pero si el programa se está ejecutando en segundo plano y su computadora está apagada, se cerrará automáticamente y no se guardarán las configuraciones. Por lo tanto, si es probable que su programa se cierre debido a un apagado del sistema y no de forma manual, debe usar esta función para guardar las configuraciones a medida que se modifican y no dejarlas para cuando el programa se cierre normalmente, ya que no se cerrará normalmente.
¿ Esta diciendo que se debería guardar las configuraciones "antes" y no esperar a que el programa se cierre con normalidad ( por si las moscas ) ?
Saludos