Feedback

VB - File List

Veröffentlicht von am 15.08.2010
(1 Bewertungen)
Erstellen Sie eine Dateiliste in einer ListBox.
Die Dateiliste in einer ListBox anzeigen:
z.B.: FileList(ListBox1, "C:\")
GFU-Schulungen  [Anzeige]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

    Private Function FileList(ByVal Output As ListBox, ByVal Dir As String)
        For Each Directory As String In My.Computer.FileSystem.GetDirectories(Dir, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
            Dim Folder As String = Directory.Replace(Dir, "")
            Output.Items.Add("[" & Folder & "]")
        Next

        For Each File As String In My.Computer.FileSystem.GetFiles(Dir, FileIO.SearchOption.SearchTopLevelOnly, "*.*")
            Output.Items.Add(File)
        Next
    End Function
Abgelegt unter file, list, dir, directory, vb, vb .net, listbox.

2 Kommentare zum Snippet

Martin Stühmer schrieb am 19.10.2011:
Hallo,

deine Variante hat ein paar kleinere Fehler und würde bei Ordnern mit sehr vielen Unterordnern deutlich an Performance verlieren.

.NET 4.0

Private Sub FileList(ByRef Output As ListBox, ByVal Dir As String)
Dim Directory As New DirectoryInfo(Dir)

For Each subDirectory As DirectoryInfo In Directory.EnumerateDirectories("*.*", SearchOption.TopDirectoryOnly)
Output.Items.Add(subDirectory.Name)
Next

For Each subFile As FileInfo In Directory.EnumerateFiles("*.*", SearchOption.TopDirectoryOnly)
Output.Items.Add(subFile.Name)
Next
End Sub
hackman schrieb am 27.10.2011:
@Martin Stühmer
quatsch, deine methode würde auch keinen deut schneller laufen - die Add funktion ist jetzt nicht so wirklich eine der langsamen funktionen, bei denen sich eine asynchrone ausführung lohnen würde.

ein beginupdate und endupdate bei einer listview würde da viel mehr helfen, oder eine virtuelle auflistung ....

vor allem würde es mich interessieren, wie ordner mit vielen unterordnern das ganze verlangsamen, wenndie "SearchTopLevelOnly" option da noch mit drin ist ...
 

Logge dich ein, um hier zu kommentieren!