Wie speichert man den Inhalt einer ListBox? Und wie kann ich eine Datei ineine ListBox einlesen? Das Ganze natürlich unter VB:NET Starten Sie ein neues Projekt und platzieren Sie eine ListBox und dreiButtons darauf. Die Buttons benennen Sie der Übersichtlichkeit halber wiefolgt:
Damit wir in der Liste etwas stehen haben, das wir auch speichern können, wird sie zuerst mal mit Einträgen gefüllt: Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Listbox mit Einträgen füllen ListBox1.Items.Add("Eintrag 1") ListBox1.Items.Add("Eintrag 2") ListBox1.Items.Add("Eintrag 3") ListBox1.Items.Add("Eintrag 4") ListBox1.Items.Add("Eintrag 5") End Sub Nun benötigen wir für die Speichern- und Lesen-Funktion diesen Code: Public Sub ListBox_Save(ByVal ListBox As ListBox, _ ByVal sFile As String) ' Inhalt einer ListBox speichern Dim oStream As IO.StreamWriter Dim i As Short oStream = New IO.StreamWriter(sFile) For i = 0 To ListBox.Items.Count - 1 oStream.WriteLine(ListBox.Items(i)) Next oStream.Close() End Sub 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 Für den Aufruf kommen jetzt unsere drei Buttons zum Einsatz: Private Sub cmdSave_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdSave.Click ' ListBox speichern Dim sFile As String sFile = Application.StartupPath & "\Liste.dat" ListBox_Save(ListBox1, sFile) End Sub Private Sub cmdClear_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdClear.Click ' Inhalt der ListBox löschen ' (dient nur zur besseren Demonstration) ListBox1.Items.Clear() End Sub Private Sub cmdRead_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdRead.Click ' ListBox einlesen Dim sFile As String sFile = Application.StartupPath & "\Liste.dat" ListBox_Read(ListBox1, sFile) End Sub Starten Sie Ihr Projekt und klicken sie nacheinander auf Speichern, löschen, einlesen. Diese Seite wurde bereits 48.396 mal aufgerufen. |
Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Buchempfehlung Tipp des Monats Dezemeber 2024 Roland Wutzke MultiSort im ListView-Control Dieses Beispiel zeigt, wie sich verschiedene Sortierfunktionen für ein ListView Control realisieren lassen. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |