Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB List

Shogun [09.07.2003 22:16:06]

#

Miten saan timerin käymään list1:sen läpi että jos siellä on joku item kahteen tai useampaan kertaan niin se jättää niistä jäljelle vain yhden. Muut poistaa?

Antti Laaksonen [09.07.2003 23:54:03]

#

Tässä on toimiva aliohjelma, joka tallentaa jo käsitellyt rivit merkkijonomuuttujaan ja poistaa rivin useampien samojen arvojen sattuessa kohdalle.

Sub PoistaKaksoisKappaleet(lista As ListBox)
    Dim rivit As String, i As Integer

    For i = lista.ListCount - 1 To 0 Step -1
        If InStr(rivit, lista.List(i) & vbCrLf) > 0 Then
            lista.RemoveItem i
        End If
        rivit = rivit & lista.List(i) & vbCrLf
    Next
End Sub

Private Sub Form_Load()
    List1.AddItem "Audi"
    List1.AddItem "Mazda"
    List1.AddItem "Mazda"
    List1.AddItem "Mazda"
    List1.AddItem "Toyota"
    List1.AddItem "Toyota"
End Sub

Private Sub Timer1_Timer()
    PoistaKaksoisKappaleet List1
End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta