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.091 mal aufgerufen. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Buchempfehlung Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||||
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. |