vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Virtuelles Verzeichnis 
Autor: LarsThorwald
Datum: 25.06.07 19:59

Hm, ich hoffe ich verstehe dich richtig. Wenn Du z.B die Datei "C:\Programme\MeinProgramm\Del.EXE" brennen möchtest, willst Du dann auch den ganzen Pfad als Ordnerstruktur, sprich C:\Programme\MeinProgramm abbilden? Wenn ja, könntest Du es als Beispiel so realisieren:

Füger dem Formular 2 Buttons und ein Treeview hinzu. Gib dem Treeview den Namen "trvDir"

Imports System.IO
Public Class Form1
   Private m_Depth As Int32 = 0 'Verzeichnistiefe
   Private m_Counter As Int32 = 0 'Aktuelle Verzeichnistiefe, in welche man 
   ' sich gerade befindet
   Private files As New Generic.List(Of FileInfo)
   Private m() As String
 
   ' ---> Senario: 3 Dateien aus unterschiedlichen Verzeichnissen sollen mit 
   ' deren Ordnerstruktur
   '      im Treeview abgebildet werden
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles Button1.Click
      files.Add(New IO.FileInfo("C:\Programme\MyProgramm\Del.Log"))
      files.Add(New IO.FileInfo( _
        "C:\Programme\Office\Templates\Year\Counter\Result.xls"))
      files.Add(New IO.FileInfo( _
      "C:\WINDOWS\system32\SoftwareDistribution\Setup\ServiceStartup\wups.dll\" & _
      ".8.0.2469\wups.dll"))
   End Sub
 
   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles Button2.Click
      For Each f As FileInfo In files
         m_Counter = 0
 
         'Verzeichnistiefe ermitteln
         m = Split(f.DirectoryName, "\")
         m_Depth = m.Length - 1
 
         '---> Der erste Teil in m()ist die Root!
         'Existiert bereits das Laufwerk im Treeview?
 
         Dim tn As TreeNode = trvDir.Nodes(m(0)) 'Knoten über "Key" ermitteln
 
         If IsNothing(tn) Then 'Root anlegen
            tn = trvDir.Nodes.Add(m(0), m(0)) '"Key",Text 
         End If
 
         m_Counter += 1 'Verzeichnistiefe festhalten
         Call ReadRekursivPathInTreeview(tn)
      Next
   End Sub
 
   Private Sub ReadRekursivPathInTreeview(ByVal tn As TreeNode)
      If m_Counter > m_Depth Then Exit Sub
      Dim xn As TreeNode
 
      'Feststellen, ob der nächste Ordner sich bereits schon im Treeview 
      ' befindet
      For Each vn As TreeNode In tn.Nodes
         If vn.Text = m(m_Counter) Then
            xn = vn
            Exit For
         End If
      Next
 
      If IsNothing(xn) Then 'Treenode existiert noch nicht
         xn = tn.Nodes.Add(m(m_Counter))
      End If
 
      m_Counter += 1 'Verzeichnistiefe festhalten
 
      'Rekurisver Aufruf
      Call ReadRekursivPathInTreeview(xn)
   End Sub
End Class
Du mußt die Verzeichnisse halt rekursiv durchgehen

Übrigens darf die Root natürlich nicht z.B C:\ heißen. Könnte sonst Schwierigkeiten geben Die Root wird im Treeview sowieso über die Eigenschaft "Key" des Treenodes identifiziert.

Gruß
Lars

Visual Basic Express 2010, C# Express 2010
Intel? i7 Core 920@2.63 Ghz, 6 GByte DDR3, 1024 MB ATI? Radeon? 5870, Windows 7 Prof. 64 Bit
Gibson SG 61' Reissue ; Ibanez Prestige RG 2550 E, Marshall Valvestate VS100 + Modell Vs412 (4 x 12''), Cubase Studio

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Virtuelles Verzeichnis1.060TheCrowOfSorrow22.06.07 09:47
Re: Virtuelles Verzeichnis835LarsThorwald23.06.07 17:55
Re: Virtuelles Verzeichnis732TheCrowOfSorrow25.06.07 07:48
Re: Virtuelles Verzeichnis734LarsThorwald25.06.07 19:59
Re: Virtuelles Verzeichnis764TheCrowOfSorrow26.06.07 10:51
Re: Virtuelles Verzeichnis686LarsThorwald26.06.07 11:09
Re: Virtuelles Verzeichnis720TheCrowOfSorrow26.06.07 11:13
Re: Virtuelles Verzeichnis686LarsThorwald26.06.07 11:31
Re: Virtuelles Verzeichnis657TheCrowOfSorrow26.06.07 13:19
Re: Virtuelles Verzeichnis777TheCrowOfSorrow26.06.07 16:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel