Hi Smog,
tut mir leid, ich war ein paar Tage unterwegs.
Mein Beispiel funktioniert auch mit XML, wie hier auch schon andere vorgeschlagen haben.
Der vereinfachte Code, Du musst ihn nur noch anpassen. Entsprechende Stellen im Code sind Fett markiert
Hier noch mal, wie es für Dich funktional wäre:
Imports System.IO
Imports System.IO.IsolatedStorage
Imports System.Xml
Imports System.Xml.Serialization
Public Class INIfile
[color=green] 'Hier Deine Variablen, die Du in der INI einfügen möchtest, in
' der Struktur deklarieren
Public Class IniStructure
Public Status As boolean
End Class
Private IniData As Object
[color=green] 'Hier Deine Variablen nochmals deklarieren , diese werden im
' Objekt öffentlich verwendet, um sie zur Runtime anpassen zu können
Public Status As Boolean
Public Sub LoadXMLClientConfig()
Dim isf As File
Dim isfs As FileStream
Dim sr As StreamReader
Try
[color=green] 'Deinen Konfigurationsdatei öffnen hier: "AppData.cfg", kannst _
Du auch mit Pfadangaben eintragen, Name ist frei[/color]
isfs = isf.OpenRead("AppData.cfg")
sr = New StreamReader(isfs, System.Text.Encoding.UTF8)
Dim xmlser As New XmlSerializer(GetType(IniStructure))
IniData = CType(xmlser.Deserialize(sr), IniStructure)
Catch ex As Exception
' Init Einstellungen beim ersten Aufruf
IniData = New IniStructure
IniData.Status = 0
Finally
If Not sr Is Nothing Then sr.Close()
If Not isfs Is Nothing Then isfs.Close()
End Try
[color=green] Nach dem Einlesen noch die Daten an Deine Variablen _
zuweisen[/color]
If Not IniData Is Nothing Then
Status = IniData.Status
End If
End Sub
Public Sub SaveXMLClientConfig()
If IniData Is Nothing Then Exit Sub
Dim isf As File
Dim isfs As FileStream
Dim sw As StreamWriter
Try
[color=green] 'Deine Konfigurationsdatei schreiben hier: "AppData.cfg", kannst _
Du auch mit Pfadangaben eintragen, Name ist frei[/color]
isfs = isf.Create("AppData.cfg")
sw = New StreamWriter(isfs, System.Text.Encoding.UTF8)
' Parametereinstellungen ermitteln für Speicherung
[color=green] 'Hier Deine Variablen in der INI-Struktur speichern
IniData.Status = Status
Dim xmlser As New XmlSerializer(GetType(IniStructure))
xmlser.Serialize(sw, IniData)
Catch ex As System.Exception
MsgBox("Einstellungen konnten nicht gepeichert werden: " + ex.Message, _
MsgBoxStyle.Exclamation, "ACHTUNG")
Finally
If Not sw Is Nothing Then sw.Close()
If Not isfs Is Nothing Then isfs.Close()
End Try
End Sub
End Class
[color=green] Über Button oder bei Programmstart bzw FormLoad die Konfiguration _
lesen[/color]
Public Sub Button1_Click Handles Button1.Click
Dim Configuration as New INIFile
Dim MyStatus as Boolean
'Datei einlesen
Configuration.LoadXMLClientConfig()
'Variablen auslesen
MyStatus = Configuration.Status
End Sub
[color=green] Über Button oder bei Programmende bzw FormClosing die _
Konfiguration speichern[/color]
Public Sub Button2_Click Handles Button2.Click
Dim Configuration as New INIFile
Dim MyStatus as Boolean
'Variablen im IniObjekt speichern
Configuration.Status = MyStatus
'Datei einlesen
Configuration.SaveXMLClientConfig()
End Sub Und schon hast Du Deine erste XML-Datei erstellt/gelesen.
Ciao
J?rgen
PS: geht nicht gibt's nicht |