VB 5/6-Tipp 0283: Ganze Laufwerksstruktur im Treeview darstellen
von ActiveVB
Beschreibung
Dieser Tip liest ein ganzes Laufwerk rekursiv mittels FSO ein. Danach kann beliebig anhand des TreeViews darin geblättert werden.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- ' Die Komponente 'Microsoft Windows Common Controls 5.0 (SP2) (comctl32.ocx)' wird benötigt. ' Es muss ein Verweis auf 'Microsoft Scripting Runtime' gesetzt werden. '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Baumansichtsteuerelement "TreeView1" ' Steuerelement: Festplattenauswahlliste "Drive1" ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Beschriftungsfeld "Label2" ' Steuerelement: Beschriftungsfeld "Label1" 'Autor: Jürgen Hardt 'E-Mail: juergen.hardt@web.de 'Funktioniert nur wenn die Scripting Runtime vorhanden ist Option Explicit Private Sub Form_Load() TreeView1.LabelEdit = tvwManual TreeView1.Style = tvwTreelinesPlusMinusText End Sub Private Sub Command1_Click() MousePointer = vbHourglass Command1.Enabled = False ChDir Left$(Drive1.Drive, 2) & "\" Call Start(Left$(Drive1.Drive, 2)) Command1.Enabled = True MousePointer = vbDefault End Sub Private Sub Start(Path As String) Dim UserNode As Node Dim FSO As New FileSystemObject TreeView1.Visible = False TreeView1.Nodes.Clear Set UserNode = TreeView1.Nodes.Add(, , "c1", Path) UserNode.Sorted = True Call ReadFolders(FSO.GetFolder(Path), FSO, _ TreeView1.Nodes.Count, 1) Label1.Caption = " " & TreeView1.Nodes.Count & " Ordner" TreeView1.Visible = True End Sub Private Sub ReadFolders(SourceFolder As Folder, FSO As _ FileSystemObject, Index&, Parent&) Dim UserNode As Node, SubFolder As Folder Dim memParent& For Each SubFolder In SourceFolder.SubFolders Index = Index + 1 memParent = Parent Set UserNode = TreeView1.Nodes.Add("c" & memParent, tvwChild, _ "c" & CStr(Index), _ SubFolder.Name) UserNode.Sorted = True Parent = Index Call ReadFolders(SubFolder, FSO, Index, Parent) Parent = memParent If TreeView1.Nodes.Count Mod 25 = 0 Then Label1.Caption = " " & TreeView1.Nodes.Count & " Ordner" Label1.Refresh End If Next SubFolder End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 2 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von HaidelBert am 13.02.2004 um 16:06
Hat jemand eine Lösung wie man Dateien auf einem anderen Rechner (zN im Netzwerk) empfängt und in einem Treeview speichert. Würdet mir sehr helfen, danke im Voraus. Alex
Kommentar von Toast78 am 08.07.2002 um 17:54
Gibts das auch als Zugriff auf die API-Funktionen?