[VB6] Listbox auf doppelte Einträge überprüfen

nicok

Erfahrenes Mitglied
Hi,

ich habe das Problem das ich eine Listbox habe die bis zu 30 Einträge haben kann.
Darunter sind oftmals 5-10 Einträge doppelt vorhanden.
Diese möchte ich jetzt gerne herrausfiltern..
Wie ist das möglich?
 
Hi,

die simpelste und schnellste Lösung wäre, dass du zwei Schleifen über die Listeneinträge laufen lässt. In der ersten gehst du einmal komplett durch die ganze Liste, in der zweiten gehst du immer vom aktuellen Element der ersten Schleife bis zum Ende der Liste und vergleichst die beiden Elemente auf Gleichheit. Stimmen die Einträge überein, kannst du sie aus der Liste löschen.

Achtung: Wenn du Elemente löschst, solltest du natürlich aufpassen, dass du nicht über das Ende der Liste hinaus gehst.

Beispiel (Pseudo-VB, habe gerade kein richtiges VB zum Ausprobieren installiert):
Visual Basic:
For i = 0 To List1.ItemCount
    For j = i + 1 To List1.ItemCount
        If List1.Item(i) = List1.Item(j)
            List1.RemoveItem j
        End If
    Next j
Next i

Grüße, D.
 
Zurück