Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: [VB 6.0] muuttuja jo ListBoxissa

Syntty [21.12.2008 21:59:06]

#

Eli miten voi tarkistaa että onko jo joku tietty teksti tai muuttaja jo ListBoxissa?

Grez [21.12.2008 22:05:55]

#

Käyt läpi listboxin rivit ja vertaat niitä ko. tekstiin tai muuttujaan.

Private Sub Etsi()
    Dim Teksti As String
    Dim i As Long

    Teksti = "Etsittävä teksti"

    For i = 0 To List1.ListCount - 1
        If List1.List(i) = Teksti Then Exit For
    Next
    If i < List1.ListCount Then
        List1.ListIndex = i
        MsgBox "Teksti löytyi. Rivi jolta löydettiin nyt valittuna"
    Else
        MsgBox "Tekstiä ei löytynyt"
    End If
End Sub

Toinen vaihtoehto on lähettää SendMessagella pyyntö löytää haluttu.

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As Long, ByVal wMsg As Long, _
     ByVal wParam As Long, lParam As Any) As Long

Private Const LB_FINDSTRING = &H18F
Private Const LB_FINDSTRINGEXACT = &H1A2


Private Sub Etsi2()

    Dim Teksti As String
    Dim i As Long

    Teksti = "Etsittävä teksti"

    i = SendMessage(List1.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Teksti)

    If i = -1 Then
        MsgBox "Tekstiä ei löytynyt"
    Else
        List1.ListIndex = i
        MsgBox "Teksti löytyi. Rivi jolta löydettiin nyt valittuna"
    End If

End Sub

Syntty [21.12.2008 22:07:20]

#

Kiitoksia! Kokeilen myöhemmin.

Vastaus

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

Tietoa sivustosta