VB.NET - Ordnerinhalt in TreeView CTL anzeigen

Nabend :D
ALso folgendes, für ein privates Projekt hab ich mri vorgestellt, folgendes:

Ich habe einen Ordner mit Logfiles die nach Datum in eigenen Ordner gespeichert sind.

Praktisch folgende Ordnerstruktur:

- Logfiles

-- 01-01-2008
--- Log_1514Uhr.txt
--- Log_1637Uhr.txt

-- 06-01-2008
--- Log_0123Uhr.txt
--- Log_2045Uhr.txt
--- Log_2300Uhr.txt

Wobei Logfiles dann ja der oberste Knoten wäre, und 01-01-2008 &
06-01-2008 wären dann die Knoten der 1. Ebene und die Dateien die letzte Ebene.

Wie aber kann ich en Inhalt auslesen, dann den Ordnerinhalt per FS auslesen, die Ordnernamen dann als Knoten der ersten Ebene dynamisch in den TreeView packen und dann daruf hin in diesen Ordner gehen und um dann dort den Ordnerihalt, also die TXT's einzulesen und deren namen als Letzten Knoten in den Treevie knallen.

Also der Pseudocode in meinem opf scheint logisch und plausibel. Jedoch scheitert es an der Umsetzung :/

Ich hoffe Ihr habt so einiger Maßen verstanden was ich von euch wissen möchte :D

Mit Freundlichen Grüßen
Der Wahnsinn :D
 
Hi,

10 Zeillen code sagen ja bekanntlich mehr als 1000 worte:

Code:
' Alle Verzeichnise auslesen, Pfadangebe anpassen !!!
Dim dirs As String() = System.IO.Directory.GetDirectories("c:\Programme\")

For Each dir As String In dirs
	' Alles vor dem letzen "\" wegschneiden
        If dir.Contains(@"\") Then
        	Dim dirName As String = dir.Substring(dir.LastIndexOf(@"\") + 1)
        End If
	' Node für das TreeView
	Dim node As New TreeNode(dirName)
	' Alle Dateien im Verzeichnis
	Dim files As String() = System.IO.Directory.GetFiles(dir)

	For Each file As String In files
		' Die pfand Angabe von Dateinamen wegschneiden
                If file.Contains(@"\") Then
        		Dim fileName As String = file.Substring(file.LastIndexOf(@"\") + 1)
                End If
		' Dateiendung wegschneiden
		If fileName.Contains(".") Then
			fileName = fileName.Remove(fileName.LastIndexOf("."))
		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

MfG
 
hab das mal eingebaut jedoch mekkert VS2005 bei jedem @
BeiZeile 10 über das dirName, es sei nicht deklariert
und ab Zeile 20 bei ejdem fileName, dass diese Var auch nicht deklariert sei ôo
find ich komisch, zumal im Code vorher fileName deklariert wird ôo
 
Code:
' Alle Verzeichnise auslesen, Pfadangebe anpassen !!!
Dim dirs As String() = System.IO.Directory.GetDirectories("c:\Programme\")

        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() = System.IO.Directory.GetFiles(dir)

            For Each file As String In files
                ' Die pfand Angabe von Dateinamen wegschneiden
                Dim fileName As String = file
                If fileName.Contains("\") Then
                    fileName = fileName.Substring(fileName.LastIndexOf("\") + 1)
                End If
                ' Dateiendung wegschneiden
                If fileName.Contains(".") Then
                    fileName = fileName.Remove(fileName.LastIndexOf("."))
                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

;)
 
Hi,

sorry für die Fehler im Code, nächste mal kompile ich es vorher.
Aber AaFreak war ja so nett und hat es korrigiert :]

MfG
 
funktioniert bestens danke :)
aber mal ne Frage, geht das, dass man den Nodes (Ordner im FS) auch nen Ordner Symbol gibt und den letzten Knoten (Dateien) auch nen txt Icon?

Edit:
Habs gefunden. Geht mit:

node.SelectedImageIndex = 1
node.ImageIndex = 1
 
Zurück
Oben