Listbox durchsuchen

  • Allgemein

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Teps.

    Listbox durchsuchen

    Moin,

    ich hab mal wieder ein Problem das eigentlich gar nicht so schwer ist - bekomme es aber leider nicht gelöst.

    Ich habe Zwei Listboxen. Eine enthält mehrere Pfadangaben (z.B \data\datei.txt) und die andere nur den Dateinamen (datei.txt)

    Die Listbox mit den Pfadangaben enthält die Gesamtheit der verfügbaren Daten und die mit den Dateinamen nur eine Auswahl davon.

    Jetzt möchte ich in der dritten Listbox zu der ausgewählten datei den passenden Pfad ergänzen.

    Ich hab das schon mit Listbox2.Contains() etc. versucht - das funktioniert aber nur wenn es komplett übereinstimmt. Wie kann ich jetzt die Listbox durchsuchen und bei einer Teilweisen Übereinstimmung das Item hinzufügen?

    lg

    VB.NET-Quellcode

    1. Dim oDir As New System.IO.DirectoryInfo(sPath)
    2. Dim oFiles As System.IO.FileInfo() = oDir.GetFiles("*.mp3")
    3. Dim oFile As System.IO.FileInfo
    4. For Each oFile In oFiles
    5. Dim x = oFile.Name
    6. Dim y = oFile.Fullname
    7. Next


    ... usw --> hier einfach mal das Intellisense testen und die
    Eigenschaften durchgehen -> da kommst du in jeden Fall auf den vollen
    Path, auf den Filename, und auf den übrig gebliebenen Path, wenn der
    Filename nicht dasteht

    Optional kannst du via Replace: .Replace(oFile.Fullname,oFile.Name,"")
    das dir auch schnell so anzeigen lassen.

    Ich glaub aber du willst die das selektierte Listitem wählen oder? :D

    ListBox1.SelectedItem
    Gehe die liste durch und vergleich jedes Item mit .Contains() ob es mit deiner Suchanfrage übereinstimmt.
    erstelle eine neue liste und .add() dann jedes mal wen .Contains() ein true auswirft und das ergebnis ist eine liste mit den Pfadangaben wo der
    Dateiname nachdem du gesucht hast drin ist.


    gibt bestimmt ne elegantere Methode aber ich würde es so machen :D
    Den kompletten Pfadnamen hab ich ja schon - nur in der anderen Listbox - ich möchte quasi nur die Listbox durchsuchen bis in einem Item der Dateiname vorkommt und dann das Item auswählen. Mit .Contains geht das leider nur wenn alles überein stimmt - nicht nur ein Teil.

    lg

    //EDIT: ErfinderDesRades - Ich schaus mir mal an.
    Gehe die liste durch und vergleich jedes Item mit .Contains() ob es mit deiner Suchanfrage übereinstimmt.
    erstelle eine neue liste und .add() dann jedes mal wen .Contains() ein true auswirft und das ergebnis ist eine liste mit den Pfadangaben wo der
    Dateiname nachdem du gesucht hast drin ist.
    Das geht 110% , und für Contains muss es nicht das selbe sein

    VB.NET-Quellcode

    1. "C:\Test\img1.png".Contains("img1") = TRUE