FolderBrowserDialog - nur definierte Ordner anzeigen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von singu.

    FolderBrowserDialog - nur definierte Ordner anzeigen

    Hallo, obwohl ich schon gesucht habe (hier und bei Google) hab ichs net gefunden und ist bestimmt ganz einfach.

    Ich mache hier eine Ordnerauswahl mit:

    Quellcode

    1. ...
    2. Public Pfad As New FolderBrowserDialog
    3. ...
    4. Pfad.SelectedPath = "C:\Users\Admin\Desktop"
    5. Pfad.Description = "Wähle ein Verzeichnis aus"
    6. If Pfad.ShowDialog() = _
    7. Windows.Forms.DialogResult.OK Then
    8. ...

    Klappt auch.

    Jetzt würde ich aber gerne nur spezielle Ordner angezeigt bekommen, z.B. nur Ordner die den String "Test"drin haben, also z.B. Ordner wie "Test1" oder "BlablaTest512".
    So Versuche wie

    Quellcode

    1. Pfad.SelectedPath = "C:\Users\Admin\Desktop\*Test*"

    funktionieren nicht.
    Weiss jemand wie ich es richtig machen kann?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Alex“ ()

    Da musst du die "Ordner Such Funktion" benutzen. Die gibt es oft bei Google (Ich frage mich was du da eingegeben hast?) :cursing:

    Versuch es doch mal mit einer Rekursiven Funktion!

    Hier:

    VB.NET-Quellcode

    1. Public StartPath As String = "C:\Windows"
    2. Public SearchAt as String = "*.vb"
    3. Public arFiles() As String
    4. Public nCountFound As Long
    5. Public nCountAr As Long
    6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
    7. System.EventArgs) Handles Button1.Click
    8. Dim x As Long
    9. MyGetFiles(StartPath, SearchAt, True)
    10. ReDim Preserve arFiles(nCountAr)
    11. MessageBox.Show("es wurden " & arFiles.Length - 1 & " Dateien in " & _
    12. StartPath & " gefunden!")
    13. End Sub
    14. Private Sub MyGetFiles(ByVal MyPath As String, ByVal SearchString As _
    15. String, Optional ByVal isFirst As Boolean = False)
    16. If isFirst = True Then
    17. nCountAr = 0
    18. nCountFound = 0
    19. End If
    20. Dim x As Long
    21. Dim arCurrentFolders() As String = System.IO.Directory.GetDirectories( _
    22. MyPath)
    23. For x = 0 To arCurrentFolders.Length - 1
    24. MyGetFiles(arCurrentFolders(x), SearchString)
    25. Next
    26. Dim arCurrentFiles() As String = System.IO.Directory.GetFiles(MyPath, _
    27. SearchString)
    28. For x = 0 To arCurrentFiles.Length - 1
    29. If nCountFound = nCountAr Then
    30. nCountFound += 10
    31. ReDim Preserve arFiles(nCountFound)
    32. End If
    33. arFiles(nCountAr) = arCurrentFiles(x)
    34. nCountAr += 1
    35. Next
    36. End Sub


    Da wird der Startordner den du Oben angibst plus alle unterordner nach der gesuchten Dateiendung durchforscht!
    Kannst es ja noch erweitern, wenn du noch Wünsche offen hast :rolleyes:
    :saint: