¿como Se Leen Archivos Con La Clase Settings?


Objetivo: ¿como Se Leen Archivos Con La Clase Settings?
Estoy intentado leer el archivo .project de una proyecto de gambas

Su formato es de este tipo:
# gambas Project File 3.0
# Compiled with gambas 3.3.4
Title=8reinas
Startup=FMain
Icon=dama.png
Version=0.0.1
Component=gb.image
Component=gb.gui
Component=gb.form
TabSize=2
Translate=1
Language=es
Packager=1


¿es posible leerlo con la clase settings?

Lo estoy intentando, pero no lo consigo:

Public miVariableSettings As Settings
....


miVariableSettings = New Settings(DirChooser1.Value & "/.project")
nombreicono = miVariableSettings["Icon"]
If nombreicono <> "" Then PictureBoxIcono.Picture(DirChooser1.Value & "/" & nombreicono)
descripcion = miVariableSettings["Description"]
TextLabelDescripcion.text = descripcion
nombreaplicacion = miVariableSettings["Title"]
LabelNombreAplicacion.text = nombreaplicacion


¿sabeis en que me estoy equivocando?

Saludos

Objetivo: Re: ¿como Se Leen Archivos Con La Clase Settings?
Pues que es archivo .project no tiene el formato Key/Value de un fichero Settings.

Los ficheros settings tiene una Llave y un Valor:

[llave]
Valor=loquesea


Cuando lees un valor de Settings, lo haces indicando la llave, una barra de división y el nombre del valor, todo entre comillas:

mivalor = Settings["llave/Valor"]


De todos modos (se me acaba de ocurrir) prueba esto, que lo he visto en los fuentes de gambas: pon una barra al principio del valor y dinos si funciona:

descripcion = Settings["/Description"]


Por cierto, la clase settings se puede usar de manera estática, como una función, no hace falta instanciarla normalmente. En el caso que nos ocupa es correcta la forma de hacerlo.

Saludos

Perfil MP  
Objetivo: Re: ¿como Se Leen Archivos Con La Clase Settings?
jguardon:

Citar:
prueba esto, que lo he visto en los fuentes de gambas: pon una barra al principio del valor y dinos si funciona:

No, no funciona...

He estado buscando (más bien buceando en el código fuente del ide de gambas3), y lo lee sin usar settings:

clase: CProjectInfo

Private Sub ReadProject()

Dim hFile As File
Dim sIcon As String
Dim sLine As String
Dim iPos As Integer
Dim sKey As String
Dim sVal As String

If $bRead Then Return
$bRead = True

If Not $sPath Then Return

$aComponents = New String[]

hFile = Open $sPath &/ ".project"

For Each sLine In hFile.Lines
sLine = Trim(sLine)
If Not sLine Then Continue
If Left(sLine) = "#" Then Continue

iPos = InStr(sLine, "=")
If iPos = 0 Then Continue

sKey = Lower$(Trim(Left$(sLine, iPos - 1)))
sVal = Trim(Mid$(sLine, iPos + 1))

Select Case sKey

Case "title"
$sTitle = sVal

Case "version"
$sVersion = sVal

Case "description"
$sDescription = UnQuote(sVal)

Case "authors"
$aAuthors = Split(UnQuote(sVal), "\n")

Case "icon"
sIcon = sVal

Case "startup"
$sStartup = sVal

Case "component"
$aComponents.Add(sVal)

End Select

Next

Close #hFile

If sIcon Then
$sIcon = $sPath &/ sIcon 'Project.StretchIcon(sPath &/ sIcon, 58)
Else
$sIcon = "img/logo/project.png"
Endif

End


Por cierto, la busqueda , funciona "regulin" con proyecto grandes, parece que se confunda al 100%

busquedas2

Objetivo: Re: ¿como Se Leen Archivos Con La Clase Settings?
Yo encontré comportamientos "impredecibles" con esa clase.
Dejé de usarla y me hice la mía propia.
La idea es muy buena, pero...

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.4893s (PHP: -79% SQL: 179%)
Consultas SQL: 45 - Debug off - GZIP Activado