Ho creato una classe per gestire un file XML di configurazione della mia soluzione. Questa classe la richiamo per leggere le configurazioni da file e quando premo un tasto Salva nella maschera per gestire le configurazioni stesse.
Public Class Configurazioni
Private _file As String
Private strSQLUsr As String
Private strSQLPwd As String
Private strDirIcone As String
Private xmlConfig As System.Xml.XmlDocument
Private Sub ReadConfig(ByVal elem As System.Xml.XmlNode)
Dim node As System.Xml.XmlNode
For Each node In elem.ChildNodes
If node.HasChildNodes Then ReadConfig(node)
Select Case node.Name
Case "SQLUsr"
strSQLUsr = node.InnerText
Case "SQLPwd"
strSQLPwd = ppw.Decripta(node.InnerText)
Case "Icone"
strDirIcone = node.InnerText
End Select
Next
End Sub
Private Sub WriteConfig(ByVal elem As System.Xml.XmlNode)
Dim node As System.Xml.XmlNode
For Each node In elem.ChildNodes
If node.HasChildNodes Then WriteConfig(node)
Select Case node.Name
Case "SQLUsr"
node.InnerText = strSQLUsr
Case "SQLPwd"
node.InnerText = ppw.Cripta(strSQLPwd)
Case "Icone"
node.InnerText = strDirIcone
End Select
Next
End Sub
Sub New(ByVal file As String)
_file = file
'Costruttore della classe
'Legge il file configurazioni
xmlConfig = New System.Xml.XmlDocument
'Apertura file XML
xmlConfig.Load(_file)
ReadConfig(xmlConfig.DocumentElement)
End Sub
Sub Save()
'Legge il file configurazioni
xmlConfig = New System.Xml.XmlDocument
'Apertura file XML
xmlConfig.Load(_file)
'Aggiorna i nodi, scive il file e lo rilegge
WriteConfig(xmlConfig.DocumentElement)
xmlConfig.Save(_file)
ReadConfig(xmlConfig.DocumentElement)
End Sub
ReadOnly Property FileConfig() As String
Get
Return _file
End Get
End Property
Property User() As String
'Proprietà UTENTE CONNESSIONE
Get
Return strSQLUsr
End Get
Set(ByVal Value As String)
strSQLUsr = Value
End Set
End Property
Property Password() As String
'Proprietà PASSWORD CONNESSIONE
Get
Return strSQLPwd
End Get
Set(ByVal Value As String)
strSQLPwd = Value
End Set
End Property
Property DirIcone() As String
Get
Return strDirIcone
End Get
Set(ByVal Value As String)
strDirIcone = Value
End Set
End Property
End Class
Nel costruttore apro il file XML e leggo il contenuto attraverso la Sub ReadConfig e tutto funziona correttamente.
Quello che mi pare strano è che per scrivere il file (Sub WriteConfig) devo riaprire il file (che non è mai stato chiuso in precedenza).
Stò sbagliando qualcosa? Eventualmente come si chiude il file?
Grazie per le dritte!!!
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole