Datei Explorer

  • VB.NET

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

    Datei Explorer

    Hi zusammen, ich bin auf der Suche nach Rat. Ich will einen Datei Explorer erstellen. Ich hab auch mal bei Youtube ein Tutorial gesehen, dass genau das gemacht hat, was ich wollte. Kanns nur leider nicht wieder finden.

    Hab leider nicht mal den Ansatz wie der Typ das gemacht hat. Mir ist es wichtig, dass wenn ich einen Ordner öffne, wo nur noch Dateien sind, über der ersten Datei zum Beispiel drei Punkte sind, die einen wieder aus dem Ordner rausbringen in den Ordner davor. Hoffe ihr versteht was ich meine. Und so will ich durch alle Ordner und Unterordner navigieren können.

    Muss ich da mit der Treeview arbeiten? Oder doch Listbox? Oder Listview? Oder Webbrowser? Ich dreh durch................................................................
    Mhm, meinste nicht, dass, wenn er sich die Grundlagen aneignen möchte (schließlich ist er im Grundlagen-Forum) und dafür ein kleines Projekt ausprobiert, er von deiner Website nicht ziemlich erschlagen wird? Entweder er sucht einen fertigen Explorer, den er wie auch immer in sein weitumfassenderes Projekt einarbeiten will, dann könnte der Link ihm vllt. helfen, oder aber er ist ein ziemlicher Anfänger und hakt nach 3 kurzen Blicken in den Code dort die Idee eines Dateibrowsers direkt wieder ab.

    Aber zurück zum Thema: Ich denke es ist durchaus möglich jede deiner genannten Möglichkeiten zu nutzen (selbst beim WebBrowser würde mir was Beklopptes einfallen), aber damit du wirklich dabei lernst, solltest du nicht ein Tutorial benutzen, dass direkt dein Ziel (nen Dateibrowser) behandelt. Beschäftige dich erstmal intensiver mit TreeViw, ListBox Und ListView und versuche dann zu entscheiden, was du am einfachsten umzusetzen vermagst. Denn so lernst du am Meisten. Zumindest hast du schon mal halbwegs konkrete Vorstellungen was dein Programm "auch" können soll bzw. wie es funktioniert.

    lukekogv schrieb:

    ...oder aber er ist ein ziemlicher Anfänger und hakt nach 3 kurzen Blicken in den Code dort die Idee eines Dateibrowsers direkt wieder ab.

    Auch bei einem solchem Ergebnis tätich den Link als zur Entscheidungsfindung sehr hilfreich ansehen.
    Ein brauchbarer DateiBrowser ist halt ein sehr umfangreiches Projekt auf höchstem Programmier-Niveau.
    Danke an euch, denke ihr beide irgendwo recht.

    @ ErfinderDesRades: Deine Seite scheint sehr gut zu sein, nur leider auf Englisch ;) Natürlich werde ich mir das ganze trotzdem anschauen und versuchen zu verstehen.

    @ lukekogv: Ja, du hast Recht. Ich bin ein absoluter Neuling. Bisher hab ich es mit dem Galileo Buch für Einsteiger versucht, jedoch hilft mir das nicht wirklich weiter.


    Hoffe ich kann die Tage meine Entscheidung und meine Fortschritte posten. Dann wäre ich natürlich über konstruktive Kritik sehr dankbar.

    Edit: So konnte heute auf Arbeit doch mehr "tun" als erwartet ;) Hab mich für die Listview entschieden. Die Listbox ist ja etwas älter und hat, wenn ich das richtig verstanden habe,
    nicht so einen großen Umfang wie die Listview. Der Treeview geht ja mehr in die Richtung vom Windows Explorer mit den Plus Zeichen vor Ordnern.

    Jetzt ist halt nur noch die Frage wie am Besten. Sollte ich hier mit einer Rekrusiven Suche arbeiten? (die müsste ich dann erstmal verstehen) und wie sieht es mit der Pfad Übergabe aus, wenn ich eine Datei öffnen will? Wird der mit übergeben? Ich will ihn auf keinen Fall angezeigt haben. Denn wenn nicht, dachte ich an ein Label, welches versteckt den Pfad der ausgewählten Datei führt.

    Meint ihr so kann man das gut bewerkstelligen?

    Edit2: So hab jetzt mal so angefangen. Kommentare und Verbesserungsvorschläge erwünscht.

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Label1.Text = "d:\Music"
    3. For Each Directory As String In My.Computer.FileSystem.GetDirectories(Label1.Text, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    4. ListView1.Items.Add("Directory")
    5. Next
    6. For Each file As String In My.Computer.FileSystem.GetFiles(Label1.Text, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    7. ListView1.Items.Add(file)
    8. Next
    9. End Sub
    10. Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
    11. On Error Resume Next
    12. If ListView1.FocusedItem.Text.ToString = "[..]" Then
    13. Dim mypos As Integer, neudir As String
    14. mypos = InStrRev(Label1.Text, " \ ", , CompareMethod.Text)
    15. neudir = Mid(Label1.Text, 1, mypos - 1)
    16. Label1.Text = neudir
    17. Else
    18. If Mid(ListView1.FocusedItem.Text.ToString, 1, 1) = "[" Then
    19. Label1.Text = Mid(ListView1.FocusedItem.Text.ToString, 2, Len(ListView1.FocusedItem.Text.ToString) - 2)
    20. Else : End If
    21. End If
    22. ListView1.Items.Clear()
    23. If Len(Label1.Text) > 2 Then
    24. ListView1.Items.Add("[..]")
    25. Else : End If
    26. For Each directory As String In My.Computer.FileSystem.GetDirectories(Label1.Text, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    27. ListView1.Items.Add("[" & directory & "]")
    28. Next
    29. For Each file As String In My.Computer.FileSystem.GetFiles(Label1.Text, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
    30. ListView1.Items.Add(file)
    31. Next
    32. End Sub

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