Hier möchte ich Euch zeigen, wie man anhand simplen Codes eine Konfigurationsdatei für ein Programm in Visual Basic erstellt anhand einer
Schritt-Für-Schritt Anleitung.
Der Code ist auf
Visual Basic 2008 Ebene erstellt worden.
Das
Beispiel, die Konfigurationsdatei, ist natürlich demnach selbst auch sehr "simple", tut aber ihren Zweck und kann verwendet werden.
Zuerst erstellt Ihr eine Textdatei, und bennent diese anschliessend in .cfg um:
[DeinPfad]\config.cfg
Durch den Simplen Code werden auch keine sogennanten "Strings" geschrieben, also Zeilen. Diese müssen Manuell erstellt werden. Fügt folgendes einfach in Eure Konfigurationsdatei ein:
[Konfigurationsdatei Beispiel]
//Hier kann man einen beliebigen Slogan einfügen wie "DO NOT MODIFY"
[Beispiel 1] //Zur Übersichtlichkeit schreibe ich immer eine Überschrift, wozu die folgenden Codes gehören
## Vorname
Chris
## Nachname
Thompson
[Beispiel 2]
## Geburtsdatum
16.05.1991
Öffnet Euer Visual Basic und erstellt eine Form wie diese:
Bennent das
Grüne Feld:
vorname
Das
Türkise nachname
Und das letzte, dass
Blaue gdatum
Mit folgender Funktion könnt ihr sogennante "Strings" abfragen und einbeziehen.
Dim Zeile() As String = IO.File.ReadAllLines("Dein Pfad")
Beachtet!
Die
Erste Zeile im Windows-Editor wird sozusagen von der
Funktion, also der
ReadAllLines Funktion, als Zeile "0" erkannt.
Wenn Ihr also Beispielsweise im Editor die
Zeile 6 einlesen wollt, ist diese im Grunde genommen bei der Funktion
die Zeile 5.
D.h man muss sozusagen immer "1 abziehen", wenn man aus dem Editor die Zeile lesen will bzw. einem anderen Schreibprogramm.
Als
erstes werden wir die Zeilen aus der Textdatei
Abrufen. Dies geschieht in diesem Beispiel per Start der Anwendung. Geht auf
Ansicht > Code und gebt folgendes ein:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Zeile() As String = IO.File.ReadAllLines("C:\Config.cfg") 'In diesem Beispiel wurde C:\config.cfg als die
'Konfigurationsdatei genommen.
vorname.Text = Zeile(4) ' Wie ich erklärt habe, man muss sozusagen immer Eins abziehen.
nachname.Text = Zeile(6)
gdatum.Text = Zeile(10)
End Sub
Das ganze sollte nach dem
Ausführen so aussehen:
Damit wäre
Schritt 1 schonmal abgeschlossen, nämlich wie man aus "Konfigurations"-Dateien Zeilen abliest und wiedergiebt.
Jetzt befassen wir uns mit dem
"Schreiben in eine Konfigurationsdatei"
Die Funktion ist nahezu identisch wie mit der Lesefunktion. Fügt folgendes in den Code ein:
Private Sub Form1_Exit(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.FormClosed
Dim Zeile() As String = IO.File.ReadAllLines("C:\Config.cfg") 'In diesem Beispiel wurde C:\config.cfg als die
'Konfigurationsdatei genommen.
Zeile(4) = vorname.Text ' Zeile & Text müssen jetzt vertauscht werden, damit auch Die Zeile dem Text in dem Textfeld gleich ist und nicht 'andersherum.
Zeile(6) = nachname.Text
Zeile(10) = gdatum.Text
IO.File.WriteAllLines("c:\config.cfg", Zeile)
End Sub
Dies bewirkt, das die Eingabe des Textfeldes sozusagen in die jeweilige Zeile der Textdatei übertragen wird.
Man muss nur Zeile und Text vertauschen, da man ja bewirken will, dass das Programm den Text an die Konfigurationsdatei überträgt und nicht andersherum.
IO.File.WriteAllLines("c:\config.cfg", Zeile) muss ans Ende gesetzt werden, damit die jeweiligen Zeilen auch übertragen werden.
Darauf schließt Ihr das Programm wieder, und öffnet Eure Konfigurationsdatei. In den jeweiligen Zeilen sollte jetzt das stehen was Ihr z.b in das Textfeld "Vorname" eingegeben habt.
Beim nächsten Programm start bzw. "Ausführen der Form" sollten diese dann wieder richtig in das Textfeld eingelesen werden.
Ihr könnt übrings die Konfigurationsdatei beliebig erweitern, jedoch
nichts mehr dazwischen einfügen, da sonst die Zeilen durcheinander gewürfelt werden, und Visual Basic dies nicht wahrnehmen kann
Ich hoffe jetzt das die meisten, die ein wenig Ahnung von Visual haben, dieses Prinzip des Schreiben und Lesen von Strings anhand des Konfigurationsdatei Beispiel verstanden haben, und dies auch zukünftig anwenden können, wenn es benötigt wird 
Weitere Fragen sind natürlich erwünscht und können jeder Zeit gestellt werden ^^
MfG.