.ini einträge in Listbox
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Unwesen.
-
-
VB.NET-Quellcode
- Public Class IniParser
- Public Property Filename() As String
- Private Entries_ As List(Of IniEntry)
- Public Sub New(ByVal _Filename As String)
- Me.Filename = _Filename
- Me.Entries_ = New List(Of IniEntry)
- End Sub
- Public Sub Parse()
- Dim Section As String = "default"
- For Each Line As String In System.IO.File.ReadAllLines(Me.Filename)
- If Line.StartsWith("[") And Line.EndsWith("]")
- Section = Line.Substring(1, Line.Length - 2)
- Continue For
- End If
- If Not Line.Contains("=") Then Continue For
- Dim Splitted() As String = Line.Split("="c)
- Dim Key As String = Splitted(0)
- Dim ValueArray() As String
- Array.Copy(Splitted, 1, ValueArray, 0, Splitted.Length - 1)
- Dim Value As String = String.Join("=", ValueArray)
- Dim NewEntry As New IniEntry(Section, Key, Value)
- Me.Entries.Add(NewEntry)
- Next
- End Sub
- Public Function GetValue(ByVal Section As String, ByVal Key As String) As String
- For Each Entry As IniEntry In Me.Entries
- If Entry.Section = Section And Entry.Key = Key Then Return Entry.Value
- Next
- Return Nothing
- End Function
- Public Function GetEntries() As List(Of IniEntry)
- Return Me.Entries
- End Function
- End Class
- Public Class IniEntry
- Public Property Section() As String
- Public Property Key() As String
- Public Property Value() As String
- Public Sub New(ByVal Section_ As String, ByVal Key_ As String, ByVal Value_ As String)
- Section = Section_
- Key = Key_
- Value = Value_
- End Sub
- End Class
Mag nicht 100% performant sein, sollte aber das tun, was sie soll.
Hier ein Anwendungsbeispiel:Viel Spaß damit.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „haiyyu“ ()
-
-
Es gibt doch meines Wissens in der Kernel32.dll funktionen wie WritePrivateProfilString oder GetPrivateProfilString oder so, wenn du die verwendest sollte es eigentlich auch funktionieren..
Edit:
dotnet-snippets.de/dns/klasse-…n-ini-dateien-SID938.aspx
hier ist ein Anwendungsbeispiel.lg.
LucaWelker
-
-
-
-
-
Das auslesen von Einträgen aus einer DAT Datei ist einfacher:
Erst mal die ListBox_Read Eigenschaft setzen
VB.NET-Quellcode
- Public Sub ListBox_Read(ByVal ListBox As ListBox, _
- ByVal sFile As String)
- ' Inhalt einer ListBox speichern
- Dim oStream As IO.StreamReader
- Dim sLine As String
- ' ListBox löschen
- ListBox.Items.Clear()
- ' Existsiert die Datei?
- Dim oFile As New IO.FileInfo(sFile)
- If oFile.Exists() = True Then
- oStream = New IO.StreamReader(sFile)
- ' Datei zeilenweise auslesen
- Do
- sLine = oStream.ReadLine()
- If IsNothing(sLine) Then Exit Do
- ListBox.Items.Add(sLine)
- Loop
- oStream.Close()
- End If
- End Sub
Dann den Read Befehl für die Ausgewählte ListBox in Form.Load oder etc. setzen
Ich hoffe das hilft
Mit freundlichen Grüßen,
Aector -
-
Nicht getestet, aber Du könntest mal so versuchen:
VB.NET-Quellcode
- Private Sub ReadIniToListBox(iniFile As String, lstbox As ListBox)
- lstbox.Items.Clear()
- If Not IO.File.Exists(iniFile) Then
- MessageBox.Show("Ini-Datei nicht gefunden!")
- Return
- End If
- For Each zeile As String In IO.File.ReadAllLines(iniFile)
- If zeile.Trim Like "[*]" Then ' Bereich
- lstbox.Items.Add(zeile)
- Else
- Dim eintrag() As String = zeile.Split("="c)
- If eintrag.Length = 2 Then lstbox.Items.Add(eintrag(1))
- End If
- Next
- End Sub
-
Du könntest auch noch RegEx verwenden um die Strings zu filtern.
Oder einfach mit der Klasse String an sich, die ja einige Funktionen bereits mitliefert (.Contains, .IndexOf, SubString.......)
Und vorher hald einfach mit nem StreamReader zeilenweise lesen. -
-
Nazas schrieb:
Hallo,
ich will die einträge aus einer .ini in einer list box anzeigen lassen aber ohne den kram Wie z.B name = hans also das name = willl ich halt nicht haben sondern nur den namen und auch die region wo das gespeichert wird soll nicht angezeigt werden bitte um hilfe
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Unwesen“ ()
-
Ähnliche Themen
-
Black-Bird - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Gast (6)
- LucaWelker (3)
- haiyyu (3)
- xtts02 (1)
- NscMike (1)