Moin,
ich muss in vielen INI-Datein Einträge suchen und ersetzen. Einfachste Lösung für mich war einfach alle Datein Zeile für Zeile zu durchsuchen und zu ersetzen:
Einfacher wäre es natürlich die INI-Funktionen zu nutzen, hat aber mehrere Probleme:
Der Eintrag der ersetzt wird steht in Verschiedenen Keys und Sektionen, ist mal klein und mal groß geschrieben.
Leider führt mein Code dazu, dass aus Ändern ein Ã̏̐̏̏̏,,ndern wird, aus Löschen ein LÃ̏̐̏̏̏schen, aus verfügbar ein verfÃ̏̐̏̏̏¼gbar usw.
Wie verhindere ich das? Oder: Gibt es eine einfachere Möglichkeit?
ich muss in vielen INI-Datein Einträge suchen und ersetzen. Einfachste Lösung für mich war einfach alle Datein Zeile für Zeile zu durchsuchen und zu ersetzen:
VB.NET-Quellcode
- For Each Datei As String In My.Computer.FileSystem.GetFiles(My.Settings.NWDir, FileIO.SearchOption.SearchAllSubDirectories, "*.uni", "*.ini")
- Dim text() As String = System.IO.File.ReadAllLines(Datei)
- Dim zeile As String
- For i As Integer = 0 To text.Count - 1
- zeile = text(i).ToLower
- If zeile.Contains(NWDirOld.ToLower) Then
- 'MsgBox(text(i))
- text(i) = text(i).ToLower.Replace(NWDirOld.ToLower, tbNWDir.Text)
- Exit For
- End If
- Next
- System.IO.File.WriteAllLines(Datei, text)
- Next
Einfacher wäre es natürlich die INI-Funktionen zu nutzen, hat aber mehrere Probleme:
Der Eintrag der ersetzt wird steht in Verschiedenen Keys und Sektionen, ist mal klein und mal groß geschrieben.
Leider führt mein Code dazu, dass aus Ändern ein Ã̏̐̏̏̏,,ndern wird, aus Löschen ein LÃ̏̐̏̏̏schen, aus verfügbar ein verfÃ̏̐̏̏̏¼gbar usw.
Wie verhindere ich das? Oder: Gibt es eine einfachere Möglichkeit?