Vollständige Version anzeigen : [.NET] VB eigene Config erstellen (einfach)


Silentuser
27.10.2010, 22:11

Hi,

da ich heute selber lange nach so einer lösung gesucht habe, dacht ich mir ich mach mal ein kleines tut, evlt. braucht es ja jemand.

Visual Studio 2010 bietet ja die möglichkeit für seine Application Einstellungen zu setzen und zu speichern. Dabei gibt es zwei möglichkeiten, entweder diese Einstellungen beziehen sich auf den Benutzer oder auf die Anwendung (also das Programm). Das ist soweit schonmal recht schön und gut, das Problem jedoch ist das die Config für den Benutzer nicht an dem Ort der Anwenung gespeichert ist. Und die Config für die Anwendung leider nur Read Only ist. D;h. die einzelnen Einstellungen können wärend der Laufzeit nicht verändert werden.

Da ich aber eine Config haben wollte welche direkt in dem Ordner der Applikation liegt (damit Sie auch manuell geändert werden kann) und ich aber auch die möglichkeit brauchte wärend der Laufzeit des Programmes die Config zu bearbeiten. d;h einstellunge zu speichern, habe ich mir eine eigene kleine Config geschrieben.

Das ganze ist sehr einfach aufgebaut, ohne XML Serialisierung oder benutzung der Ini API!

Das ganze besteht eigendlich nur aus einer Text Datei welche ich auslese und/oder neu schreibe.
Der größte trick dabei ist wohl eine bestimmte Zeile auszulesen.

Jetzt aber zum Code:
(bei mir heißt die Config Datei config;config und benutzt habe ich ~net 3;5)


zuerst brauchen wir ein paar Variablen in welche wir die Daten der Config schreiben


Dim Setting1 as String
Dim Setting2 as String
Dim Setting3 as String
Dim Setting4 as String
Dim Setting5 as String
Dim Setting6 as String
Dim Setting7 as String
Beim Programm start überprüfen wir erstmal ob eine Config Datei bereits existiert:

' Programm start (hier wird die GroupBox1 geladen)
Private Sub GroupBox1_Enter(ByVal sender As System;Object, ByVal e As System;EventArgs) Handles GroupBox1;Enter



' Falls keine Config existiert eine erstellen ((Application;StartupPath = der Pfad aus
'welchem das Programm gestartet wurde

If My;Computer;FileSystem;FileExists(Application;StartupPath & "\Config;Config") = False Then

' Aufrufen des Subs CreateConfig (Bitte weiter unten weiterlesen)

CreateConfig()

End If

' Falls eine Config existiert dann auslesen

Dim reader As New StreamReader(Application;StartupPath & "\Config;Config")
Dim Zeilen As New List(Of String)

' jede zeile einer List hinzufügen
While Not reader;EndOfStream = True

Zeilen;Add(reader;ReadLine)

End While
reader;Close()

' Die bestimmten Zeilen aus dem Array in Varialben Speichern (Das Array beginnt mit 0, dh. 'Zeile 1 wäre Array 0 usw.
Setting1= Zeilen;ElementAt(1)
Setting2= Zeilen;ElementAt(4)
Setting3 = Zeilen;ElementAt(7)
Setting4 = Zeilen;ElementAt(10)
Setting5 = Zeilen;ElementAt(13)
Setting6 = Zeilen;ElementAt(16)
Setting7 = Zeilen;ElementAt(19)


'als beispiel:
'Text Felder mit Daten aus Config / Variablen füllen
TextBox_setting1;Text = Setting1
TextBox_setting2;Text = Setting2
TextBox_setting3;Text = Setting3
TextBox_setting4;Text = Setting4
TextBox_setting5;Text = Setting5
TextBox_setting6;Text = Setting6
TextBox_setting7;Text = Setting7


End Sub
Sub Config erstellen:


Public Sub CreateConfig()


' Hier wird die Config erstellt mit den Daten aus den Variablen (das False heißt das die Daten überschrieben werden und nicht angehängt werden)

Dim writer As New StreamWriter(Application;StartupPath & "\config;config", False)

writer;WriteLine("Einstellung 1")
writer;WriteLine(Setting1)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 2")
writer;WriteLine(Setting2)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 3")
writer;WriteLine(Setting3)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 4")
writer;WriteLine(Setting4)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 5")
writer;WriteLine(Setting5)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 6")
writer;WriteLine(Setting6)
writer;WriteLine("------------------")
writer;WriteLine("Einstellung 7")
writer;WriteLine(Setting7)
writer;WriteLine("------------------")

writer;Close()

End Sub
letzendlich kann noch ein Button eingebaut werden um die Einstellunge aus z;b. den Textfeldern zu Speichern, oder man macht dies beim beenden des Programms


'' Einstellungen Speichern
Private Sub Button9_Click(ByVal sender As System;Object, ByVal e As System;EventArgs) Handles Button9;Click


' Daten aus den Textfeldern erneut in den Variablen speichern

Setting1 = TextBox_setting1;Text
Setting2 = TextBox_Setting2;Text
Setting3 = TextBox_Setting3;Text
Setting4= TextBox_Setting4;Text
Setting5 = TextBox_Setting5;Text
Setting6 = TextBox_Setting5;Text
Setting7 = TextBox_Setting5;Text



' Config Datei neu erstellen

CreateConfig()

MsgBox("Configuration saved!")

End Sub
Das wars eigendlich schon im großen und ganzen, eigentlich recht einfach, und ein brauchbarer weg für eine Config Datei welche im Programmverzeichniss liegt und beschreibbar ist.

Die Variablen könnte man natürlich auch weg lassen und direkt die Textboxen oder was auch immer nehmen.

Die Config kann natürlich auf diesem weg beliebig gestaltet und erweitert werden.

Es ist sicher nicht die eleganteste Lösung, aber für viele Scenarien sollte es durch kleine anpassungen ausreichend sein.

Hasta Pronto
Silentuser

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [.NET] VB eigene Config erstellen (einfach)
  • [PC] Counter Strike 1.6 Config für mich erstellen
    Hay Leute habe gehört das config für cs 1;6 sau wichtig sein soll und deswegen wollte ich fragen ob für mich jemand eine erstellen kann weil ich mich da net auskenne habe schon einmal was falsch gemacht und will das net nochma machen pls kann mir jemand eine erstellen ich würde ihm sehr dankbar [...]

  • Gaming PC - Eigene Config vorhanden
    Hi Leute Ich will mir nen neuen PC kaufen.. Dazu hab ich mir schonmal einen rausgesucht.. Daten: - Mainboard Gigabyte GA-MA74GM-S2H (Chipsatz: AMD 740G/SB700) - CPU Kühler AMD zertifizierter Kühler - Gehäuse * Compucase Black Microtower (Schwarz) - Netzteil Midi * 550 Watt, OEM, norm [...]

  • Eigene oder Originale Pc-Sounds? -> Anweisung für Eigene erstellen
    Guten Tag RR-ler, Ich wollte nur mal so nachfragen, was ihr z;B. beim Hochfahren von Windows XP für Sounds habt? Ich habe: Hochfahren 'son Typ von Star Wars: ,,Womit kann ich euch zu Diensten sein mein Gebieter'' :D Fehlermeldung Ali: ''Chefe, Chefe, Ali nix Schuld'' :D Herunterfahren E [...]

  • [PC] [CSS Config] 2. Config erstellen, die geladen werden soll..
    high jungs und mädels, hab ma ne frage un zwar gehts um ne css config, also ich hab eine, die auch geladen wird usw.. nun will ich aber bunnyhop üben und wollte mein mausrad nach unten binden bind "MWHEELDOWN" "+jump" so, damit ich mit der leertaste immernoch springen kann und ebenso m [...]



raid-rush.ws | Imprint & Contact pr