Rubrik: Controls · ListBox & ComboBox | VB-Versionen: VB2005, VB2008 | 03.06.09 |
ListBox-Inhalt in Datei speichern und wieder auslesen Zwei Funktionen, mit denen sich der Inhalt einer ListBox als (Text-)Datei speichern und wieder einlesen lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 21.717 |
www.tools4vb.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Heute möchten wir Ihnen zwei Funktionen vorstellen, mit denen sich der Inhalt einer ListBox als (Text-)Datei speichern und wieder einlesen lässt.
''' <summary> ''' Speichert den Inhalt der ListBox in eine Datei ''' </summary> ''' <param name="ListBox">ListBox-Control</param> ''' <param name="Filename">Dateiname der (Text-)Datei</param> ''' <returns>True, wenn erfolgreich, andernfalls False.</returns> Public Function ListBoxSave(ByVal ListBox As ListBox, ByVal Filename As String) As Boolean Dim oStream As IO.StreamWriter = Nothing Dim bResult As Boolean = False Try ' Stream-Objekt zum Speichern erstellen oStream = New IO.StreamWriter(Filename, False, System.Text.Encoding.Default) With ListBox.Items ' Liste durchlaufen und zeilenweise speichern For i As Integer = 0 To .Count - 1 oStream.Write(.Item(i) & IIf(i < .Count - 1, vbCrLf, "")) Next End With bResult = True Catch ex As Exception Finally ' Stream-Objekt schließen If Not IsNothing(oStream) Then oStream.Close() End Try Return (bResult) End Function
''' <summary> ''' Liest die angegeben Datei aus und füllt die ListBox mit dem Inhalt der Datei ''' </summary> ''' <param name="ListBox">ListBox-Control</param> ''' <param name="Filename">Dateiname der (Text-)Datei</param> ''' <returns>True, wenn erfolgreich, andernfalls False.</returns> Public Function ListBoxRead(ByVal ListBox As ListBox, ByVal Filename As String) As Boolean Dim bResult As Boolean = False ' Existiert die angegeben Datei? If IO.File.Exists(Filename) Then Try With ListBox.Items ' ListBox-Inhalt löschen .Clear() ' Gesamten Inhalt der Datei auslesen ' und als String-Array an die ListBox übergeben .AddRange(My.Computer.FileSystem.ReadAllText( _ Filename, System.Text.Encoding.Default).Split(vbCrLf)) End With bResult = True Catch ex As Exception End Try End If Return (bResult) End Function
Aufrufbeispiel:
' ListBox-Inhalt speichern ListBoxSave(ListBox1, "d:\myList.dat")
' ListBox-Inhalt einlesen ListBoxRead(ListBox1, "d:\myList.dat")