RSS
StartseiteKnowledge LibraryTop 10Impressum

5.2 Wie speichert man ListBox-Einträge?

VB4-VB6

Von:  [Home]

Ein sehr einfacher Weg, alle Einträge einer ListBox abzuspeichern ist folgender:

Dim i      As Integer
Dim ToSave As String

With List1
  For i = 0 To .ListCount - 1 
    ToSave = ToSave & .List(i) & ";" ' Trennzeichen definieren 
  Next
End With

SaveSetting "Meine Anwendung", "Optionen", "ListBox1", Left$(ToSave, Len(ToSave) - 1)

Hier wird eine Zeichenkette erstellt, die alle Einträge der ListBox, getrennt mit dem Semikolon (;) enthält. Diese wird dann in die Windows-Registrierung geschrieben. Wenn man nun die ListBox wieder mit dem vorherigen gespeicherten Werten füllen möchte, kann man den Wert wieder aus der Registrierung lesen und ihn mit der ab VB6 enthaltenden Split-Funktion aufteilen, wie folgender Code zeigt:

Dim MyString As Variant
Dim i        As Integer

MyString = GetSetting("Meine Anwendung", "Optionen", "ListBox1") 
  
MyString = Split(MyString, ";") ' Trennzeichen definieren

With List1
  For i = LBound(MyString) To UBound(MyString) 
    .AddItem MyString(i) 
  Next
End With

Der Code ist natürlich nur ein Ansatz. Es gibt sehr viele Möglichkeiten, genau dieses Ziel zu erreichen.

Hinweis: Bei diesem Beispiel ist zu beachten, dass die Einträge in der ListBox selbst kein Semikolon beinhalten dürfen. Ansonsten werden die Werte falsch eingelesen und falsch angezeigt. Das Trennzeichen kann selbstverständlich auch geändert werden, dazu werden die zwei Zeilen mit den Kommentaren angepasst.