Hallo Zusammen,
Ich habe da ein kleines Problem im Bezug mit Treeview und dem Auslesen eines Verzeichnisses.
Ich habe hier schon einen Code erstellt, mit dem ich in der Lage bin,
die ersten Ordner des angegebenen Verzeichnisses und deren Dateien im Treeviewer anzeigen zu lassen.
Leider habe ich noch keine kurze möglichkeit gefunden, auch die Unterverzeichnisse mit anzeigen zu lassen.
Hier in diesem beispiel existiert ein Ordner unter "C:\Test\". Dort gibt es .txt dateien
und auch unterordner Ordner1, Ordner2 und darunter Ordner1.1, Ordner1.2, Ordner2.1 .... usw.
Er zeigt mir aber halt nur Ordner1, Ordner2 und die darin enthaltenen Dateien an, aber nicht die Unterordner.
Jetzt habe ich gelesen, das ich mit einer Rekursiven abfrage weiter kommen soll.
Soweit wie ich es verstanden habe, geht man hin und lässt die For Each Schleife(ob es Ordner gibt) so lange durchlaufen,
bis es tatsächlich keine Unterverzeichnisse mehr gibt und mit dem selben Prinzip im anschluss dann die Dateien auslesen.
Allerdings habe ich bisher noch kein schönes Beispiel gefunden, wo es gut erklärt ist, wie genau das Funktioniert.
Habt ihr eine Idee, eine gute erklärung oder ein Schönes Code Beispiel?
Oder muss ich sogar nur an meinem Jetztigen Code eine kleinigkeit umändern?
Ich bin euch für jeden Tipp Dankbar
Mit freundlichen Grüßen Euer Immortel
hier mein Quellcode:
Ich habe da ein kleines Problem im Bezug mit Treeview und dem Auslesen eines Verzeichnisses.
Ich habe hier schon einen Code erstellt, mit dem ich in der Lage bin,
die ersten Ordner des angegebenen Verzeichnisses und deren Dateien im Treeviewer anzeigen zu lassen.
Leider habe ich noch keine kurze möglichkeit gefunden, auch die Unterverzeichnisse mit anzeigen zu lassen.
Hier in diesem beispiel existiert ein Ordner unter "C:\Test\". Dort gibt es .txt dateien
und auch unterordner Ordner1, Ordner2 und darunter Ordner1.1, Ordner1.2, Ordner2.1 .... usw.
Er zeigt mir aber halt nur Ordner1, Ordner2 und die darin enthaltenen Dateien an, aber nicht die Unterordner.
Jetzt habe ich gelesen, das ich mit einer Rekursiven abfrage weiter kommen soll.
Soweit wie ich es verstanden habe, geht man hin und lässt die For Each Schleife(ob es Ordner gibt) so lange durchlaufen,
bis es tatsächlich keine Unterverzeichnisse mehr gibt und mit dem selben Prinzip im anschluss dann die Dateien auslesen.
Allerdings habe ich bisher noch kein schönes Beispiel gefunden, wo es gut erklärt ist, wie genau das Funktioniert.
Habt ihr eine Idee, eine gute erklärung oder ein Schönes Code Beispiel?
Oder muss ich sogar nur an meinem Jetztigen Code eine kleinigkeit umändern?
Ich bin euch für jeden Tipp Dankbar
Mit freundlichen Grüßen Euer Immortel
hier mein Quellcode:
VB.NET-Quellcode
- Imports System.IO
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- ' Alle Verzeichnise auslesen, Pfadangabe anpassen !!!
- Dim dirs As String() = Directory.GetDirectories("C:\Test\")
- For Each dir As String In dirs
- ' Alles vor dem letzen "\" wegschneiden
- Dim dirName As String = dir
- If dirName.Contains("\") Then
- dirName = dirName.Substring(dirName.LastIndexOf("\") + 1)
- End If
- ' Node für das TreeView
- Dim node As New TreeNode(dirName)
- ' Alle Dateien im Verzeichnis
- Dim files As String() = Directory.GetFiles(dir)
- For Each file As String In files
- ' Die pfad Angabe von Dateinamen wegschneiden
- Dim fileName As String = file
- If fileName.Contains("\") Then
- fileName = fileName.Substring(fileName.LastIndexOf("\") + 1)
- End If
- ' SubNode
- Dim childNode As New TreeNode(fileName)
- ' SubNode hinzufügen
- node.Nodes.Add(childNode)
- Next
- ' Node zum TreeView hinzufügen
- Me.TreeView1.Nodes.Add(node)
- Next
- End Sub
- End Class
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Immortel“ ()