Avatar billede jobb Nybegynder
19. januar 2003 - 17:15 Der er 7 kommentarer og
1 løsning

text < list

Hej med jer alle sammen jeg er ny og det er det første ? jeg har stillet.
jeg har et problem med VB. som jeg nu gerne vil have lidt hjælp med. jeg er i gang med at lave et DVD katalog og har lavet en liste med filmne i og en textbox hvor man kan søge efter filmene.
jeg vil gerne have at man kan søge på alt som starter med et givent bogstav eller ord som man intaster i textboxen
jeg har prøvet med : InStr(List1.List(i), Text1.Text) > 0 Then List2.AddItem List1.List(i) men den finder alt som indeholder det intastet er der nogle der kan hjælpe mig med det
Avatar billede bernhof Nybegynder
19. januar 2003 - 17:40 #1
Måske er dette, hvad du leder efter:

Private Sub Text1_Change()
    List2.Clear
    Dim I As Long
    List2.Visible = False
    For I = 0 To List1.ListCount - 1
        If LCase(List1.List(I)) Like "*" & LCase(Text1.Text) & "*" Then
            List2.AddItem List1.List(I)
        End If
    Next
    List2.Visible = True
End Sub

Ovenstående kode løber alle filmene i List1 igennem og undersøger, hvilke film der passer til søgeteksten i tekstfeltet, Text1. Dette sker hver gang du ændrer i søgningen.

Sig til, hvis der er problemer eller koden ikke virker efter hensigten.
Avatar billede bernhof Nybegynder
19. januar 2003 - 17:42 #2
Her er en lille bitte smule forbedret udgave:

Private Sub Text1_Change()
    List2.Clear
    Dim I As Long
    List2.Visible = False
    For I = 0 To List1.ListCount - 1
        If LCase(List1.List(I)) Like "*" & LCase(Replace(Text1.Text, " ", "*")) & "*" Then
            List2.AddItem List1.List(I)
        End If
    Next
    List2.Visible = True
End Sub
Avatar billede jobb Nybegynder
19. januar 2003 - 17:53 #3
jo men den skulle gerne fjerne vidre hvis der bliver tastet vidre
Avatar billede jobb Nybegynder
19. januar 2003 - 17:59 #4
den tager både bogstaver midt i orderne og i begyndelse det skulle gerne kun være de or dre starter med det intastet.
eks. taster man h kommer der nogle med k hvor der er h i og også dem med h
Avatar billede bernhof Nybegynder
19. januar 2003 - 18:00 #5
Okay:

Private Sub Text1_Change()
    List2.Clear
    Dim I As Long
    List2.Visible = False
    For I = 0 To List1.ListCount - 1
        If LCase(List1.List(I)) Like LCase(Replace(Text1.Text, " ", "*")) & "*" Then
            List2.AddItem List1.List(I)
        End If
    Next
    List2.Visible = True
End Sub
Avatar billede jobb Nybegynder
19. januar 2003 - 18:09 #6
Hold da Bip det virker jo bare. ej i er for seje her inde takker 10.000 gange.
det er ikke sidste gang jeg vil spørge eksperterne. :-)
Avatar billede jobb Nybegynder
19. januar 2003 - 18:10 #7
øhh er det så LUKKER man siger.
Avatar billede bernhof Nybegynder
19. januar 2003 - 18:14 #8
Hehe, det var så lidt .. Tak for points
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester