Hilfe beim Einlesen von XML Datei Verfasst am: 29.01.2010, 19:24
Hallo liebes Forum,
ich habe auf meiner Form 1 vier Labels die ich über einer Richtextbox fülle und diese Inhalte
werden wenn ich auf meinen Speichern Button drücke in eine XML Datei geschrieben.
'Schreiben erstes Element
.WriteStartElement("Textfeld_Eins")
.WriteString(Text1_Anzeige)
.WriteEndElement()
'Schreiben zweites Element
.WriteStartElement("Textfeld_Zwei")
.WriteString(Text2_Anzeige)
.WriteEndElement()
'Schreiben drittes Element
.WriteStartElement("Textfeld_Drei")
.WriteString(Text3_Anzeige)
.WriteEndElement()
'Schreiben viertes Element
.WriteStartElement("Textfeld_Vier")
.WriteString(Text4_Anzeige)
.WriteEndElement()
'Funktion schliesen
.Close()
End With
End Sub
Jetzt habe ich folgendes Problem wenn ich mein Programm beende und wieder starte sind die Labels natürlich
wieder leer. Ich will aber die Texte die ich vorher in die XML Datei geschrieben hab wieder zurück in die
Labels holen am besten gleich mit Form1_Load oder wenn nicht nehmen ich auch einen weiteren Button.
Habe schon fleisig gegoogelt habe aber nichts gefunden wo mich weiterbringt vielleicht könntet ihr mir
helfen
Vielen Dank Schonmal im Voraus
Daniel _________________
snaut Newbie
Anmeldedatum: 30.01.2010 Beiträge: 3
Verfasst am: 30.01.2010, 11:14
Hallo Daniel_L,
warum nimmst du nicht My.Settings?
In den Projekteigenschaften unter Einstellungen fügst du 4 Felder vom Typ String hinzu (z.B. TextLabel1, Textlabel2, usw...).
Dann kannst du über My.Settings.TextLabel1 darauf zugreifen.
Im Form_Load fügst du ein:
Label1.Text = My.Settings.TextLabel1
usw...
Und da, wo die Einträge gespeichert werden sollen:
My.Settings.TextLabel1 = Label1.Text
...
My.Settings.Save
Mit My.Settings wird eine (xml) Datei abgelegt, die diese Einstellungen enthält. Wo die Datei abgelegt werden soll, kannst du auch festlegen.
Gruß, Snaut
Daniel_L Newbie
Anmeldedatum: 29.01.2010 Beiträge: 3
Verfasst am: 30.01.2010, 12:47
Hallo Snaut
hab das jetz mal probiert also komme in diesem Punkt auch nicht so recht weiter die Labels habe ich erstellt aber ich finde
keinen Datei wo das gespeichert ist bzw irgendwas wie es einstellen kann wo er die Datei hinspeichern soll. Ich hätte die Datei
gerne da wo meine .exe Datei ist.
Kannst du mir da kein Code Beispiel schreiben das ich mal einen Anhaltspunkt habe weil was ich so über Google finde da steige ich nicht durch
Danke
Daniel
snaut Newbie
Anmeldedatum: 30.01.2010 Beiträge: 3
Verfasst am: 30.01.2010, 13:34
Die Datei wird automatisch gespeichert wenn du My.Settings.Save aufrufst. Die Datei wird standardmäßig im Benutzerprofil gespeichert (C:\User\<Benutzerprofil>\AppData\Local\<Anwendungsname>\...). Mit Bereich oder auch Scope kannst du das verändern. Bedenke aber, dass unter Vista und Win7 im Programm Verzeichnis administrative Rechte benötigt werden damit etwas geschrieben werden kann.
also das Speichern und wieder einlesen klappt echt super und wenn mann mal dahinter gestiegen ist wie es funtioniert ist es auch finde ich einfach (Danke für den Tipps mit my.settings)
Aber so wie ich es vorher gemacht habe hatte ich den Inhalt der Labels in einen xml Datei geschrieben die immer da war wo meinen .exe Datei war so hätte ich das jetzt auch gerne wieder. Weil dann kann das Programm auch vom USB Stick aus nutzen.
Hast du da einen Tipp wie ich das einstellen kann das er immer dahin schreibt wo meine .exe Datei liegt oder ist das ganz unmöglich? Auf den Seiten war ich auch schon habe aber nichts gefunden wo mir hilft, aber Mir geht es nur noch drum den Speicherort selbst zu bestimmen.
Einfacher ist in diesem Fall wohl aber eine Klasse für deine Einträge anzulegen die du dann serialisierst. Dabei kannst du dann selbst festlegen, wo die Datei gespeichert werden soll.
Hier ein Beispiel:
http://www.activevb.de/tipps/vbnettipps/tipp0025.html