vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · ListBox & ComboBox   |   VB-Versionen: VB2005, VB200803.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 OtterBewertung:     [ Jetzt bewerten ]Views:  21.667 
www.tools4vb.deSystem:  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")