Zwei Fragen :-)

01/02/2009 - 14:12 von Maximilian Tescher | Report spam
Hallo zusammen,

ich hàtte wieder mal zwei Fragen.

Folgendes möchte ich erreichen:
-auslesen eines bestimmten Verzeichnisses in der obersten Struktur,
dabei sind darinn liegende Verzeichnisse und Dateien wichtig

-im zweiten Schritt möchte ich dann die erste Liste durchgehen und wen
der Eintrag ein Verzeichniss ist, dieses mit allen darunter liegenden
Verzeichniss-Namen und Dateien in eine zweite Liste laden

-Ausgabe des aktuellen Verzeichniss/Datei auf dem Formular (dort ist
ein label1 angelegt), dabei möchte ich das erste Verzeichnis ganz,
dann ... gefolgt vom letzten Verzeichnis/Datei anzeigen. Leider ist
die Lànge der ganzen Zeile oft lànger als mein Formular breit ist

Ich habe jetzt mit DirectoryInfo als auch mit FileSystemInfo
gearbeitet, aber komme damit nicht so weiter.

Da aus der ersten Liste mehrere weitere Listen (für jedes
Unterverzeichnis aus der ersten Liste) entstehen, denke ich an ein
DataTable pro Eintrag aus der ersten Liste, damit kann ich spàter die
gleichen Angaben ablegen bzw nachbearbeiten.

Wie macht Ihr das? Das beste war DirectoryInfo mit subfolder, aber
hier bekomme ich nur die Dateien aber nicht die Eintràge als
jeweiliges Verzeichnis.

Vieleicht denke ich nur zu kompliziert, zumindest habe ich erst mal
alle Versuche wieder gelöscht da nicht damit nicht zufrieden war :-))
und fange gerade nochmals neu an...

Wàre Euch für einen Ruck in die richtige Richtung dankbar.


Viele Grüsse,
Maxi
 

Lesen sie die antworten

#1 hkshk
01/02/2009 - 14:40 | Warnen spam
Hallo Maximilian,

erzeuge ein Form mit 2 Listboxen (Listbox1, Listbox2), einer Textbox
(Textbox1) und einer Schaltflàche (Button1). Dann füge folgenden Code
ein (aufpassen bei Zeilenumbrüchen):

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
TextBox1.Text = "C:\"
Button1.Text = "Ausführen"
End Sub

Private Sub VerzeichnisAuflisten(ByRef lst As ListBox, ByVal
VerzeichnisPfad As String)
Dim Verz As New System.IO.DirectoryInfo(VerzeichnisPfad)
Dim Verzeichnisse() As System.IO.DirectoryInfo = Verz.GetDirectories
Dim Dateien() As System.IO.FileInfo = Verz.GetFiles
Dim VerzInfo As System.IO.DirectoryInfo
Dim DatInfo As System.IO.FileInfo
lst.Items.Clear()
For Each VerzInfo In Verzeichnisse
lst.Items.Add(VerzInfo)
Next

For Each DatInfo In Dateien
lst.Items.Add(DatInfo)
Next
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
VerzeichnisAuflisten(ListBox1, TextBox1.Text)
End Sub

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ListBox1.SelectedIndexChanged
Dim VerzInfo As System.IO.DirectoryInfo
Dim DatInfo As System.IO.FileInfo

If ListBox1.SelectedIndex > 0 Then
If TypeOf ListBox1.SelectedItem Is System.IO.DirectoryInfo Then
VerzInfo = CType(ListBox1.SelectedItem, System.IO.DirectoryInfo)
VerzeichnisAuflisten(ListBox2, VerzInfo.FullName)
Else
DatInfo = CType(ListBox1.SelectedItem, System.IO.FileInfo)
VerzeichnisAuflisten(ListBox2, DatInfo.FullName)
End If
End If
End Sub


Beste Grüße,

Martin

On 01.02.2009 14:12, Maximilian Tescher wrote:
Hallo zusammen,

ich hàtte wieder mal zwei Fragen.

Folgendes möchte ich erreichen:
-auslesen eines bestimmten Verzeichnisses in der obersten Struktur,
dabei sind darinn liegende Verzeichnisse und Dateien wichtig

-im zweiten Schritt möchte ich dann die erste Liste durchgehen und wen
der Eintrag ein Verzeichniss ist, dieses mit allen darunter liegenden
Verzeichniss-Namen und Dateien in eine zweite Liste laden

-Ausgabe des aktuellen Verzeichniss/Datei auf dem Formular (dort ist
ein label1 angelegt), dabei möchte ich das erste Verzeichnis ganz,
dann ... gefolgt vom letzten Verzeichnis/Datei anzeigen. Leider ist
die Lànge der ganzen Zeile oft lànger als mein Formular breit ist

Ich habe jetzt mit DirectoryInfo als auch mit FileSystemInfo
gearbeitet, aber komme damit nicht so weiter.

Da aus der ersten Liste mehrere weitere Listen (für jedes
Unterverzeichnis aus der ersten Liste) entstehen, denke ich an ein
DataTable pro Eintrag aus der ersten Liste, damit kann ich spàter die
gleichen Angaben ablegen bzw nachbearbeiten.

Wie macht Ihr das? Das beste war DirectoryInfo mit subfolder, aber
hier bekomme ich nur die Dateien aber nicht die Eintràge als
jeweiliges Verzeichnis.

Vieleicht denke ich nur zu kompliziert, zumindest habe ich erst mal
alle Versuche wieder gelöscht da nicht damit nicht zufrieden war :-))
und fange gerade nochmals neu an...

Wàre Euch für einen Ruck in die richtige Richtung dankbar.


Viele Grüsse,
Maxi

Ähnliche fragen