5.2 Wie speichert man ListBox-Einträge?
VB4-VB6
Von: Tobias Schikora [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.