Public Function ReadLikeIni(ByVal Filex As String, ByVal Key As String) As String
Dim read As New IO.StreamReader(Filex)
Dim code As String = read.ReadToEnd
read.Close()
Dim Lines() As String = Split(code, vbNewLine)
For i = 0 To UBound(Lines)
Dim pos As Integer = Lines(i).IndexOf("=")
If pos > 0 Then
Dim inLine() As String = Split(Lines(i), "=")
If inLine(0) = Key Then
Return inLine(1)
End If
End If
Next i
Return "Wert nicht gefunden."
End Function
Alles anzeigen
Wie ihr sehen könnt wird folgendes gemacht ...
1. Datei komplett auslesen
2. Datei zerlegen auf einzelne Linien
3. Suchen nach dem Zeichen ,,=´´ als Gleichzeichen
4. Wenn vorhanden nochmal zerlegen auf ,,=´´
5. Den ersten Wert abfragen & schauen ob er mit dem Schlüsselnamen übereinstimmt
6. Wenn ja Wert2 zurückgeben und Fertig ist
7. Da eine Rückgabe vorhanden ist wird die Funktion beendet
... Genau so das schreiben ....
Public Sub WriteLikeIni(ByVal Filex As String, ByVal Keyname As String, ByVal value As String)
Dim gefunden As Boolean = False
Dim Append_s As Boolean = False
Dim read As New IO.StreamReader(Filex)
Dim code As String = read.ReadToEnd
read.Close()
Dim Lines() As String = Split(code, vbNewLine)
For i = 0 To UBound(Lines)
If i < 1 Then
Append_s = False
Else
Append_s = True
End If
Dim pos As Integer = Lines(i).IndexOf("=")
If pos > 0 Then
Dim inLine() As String = Split(Lines(i), "=")
If inLine(0) = Keyname Then
Lines(i) = Keyname & "=" & value
gefunden = True
End If
End If
Dim write As New IO.StreamWriter(Filex, Append_s)
write.WriteLine(Lines(i))
write.Close()
Next i
If gefunden = False Then
Dim writex As New IO.StreamWriter(Filex, True)
writex.WriteLine(Keyname & "=" & value)
writex.Close()
End If
End Sub
Alles anzeigen
1. Ich definiere mir Variablen die Später anzeigen ob der wert schon gefunden wurde
& die 2. Append_s , soll zurückgeben ob die Datei in dem Modus schreiben soll das sie
überschrieben oder ob dazu geschrieben wird
2. Datei wird erneut geöffnet
3. Linien werden wieder zerlegt
4. In einer schleifen gehe ich alle Linien wieder durch und prüfe ob nicht schon
ein Schlüssel mit dem Namen vorhanden ist, da ich ihn nicht doppelt haben möchte
5. Wenn er vorhanden ist , wird die Linie also die variable wo diese Linie vorhanden
ist ersetzt durch den gleichen Schlüsselnamen & einem beliebigen Wert,
gefunden wird auf 1 gestellt also auf true damit er Später nichts dazu schreibt
6. Nun wird der rest noch zu Ende bearbeitet und als nächstes nochmal abgefragt ob
ein Wert mit dem Namen gefunden wurde, wenn nicht schreibt er ihn mit dazu.
7. Fertig, das Simple Ini Format ist erschaffen
Für einige mag das schwer aussehen aber ist im Endeffekt einfacher als man denkt ,
man muss sich nur mit dem Möglichkeiten & Funktionen dieser Sprache auskennen.
So kann man sich selbst eigene Dateiformat leicht erstellen und nach eigenen Regeln gestalten.
Ich wünsche Viel Spaß