Guten Morgen,
es gibt einige Forenthreads zu dem Thema, die mir leider trotzdem nicht geholfen haben,
weswegen ich es nochmal mit einem neuen Thread versuche.
Ich habe einen Button, der den Folderdialog öffnet. Nach Auswahl eines Ordners werden alle
Dateien aus diesem und seinen Unterordnern in eine Listbox geschrieben. Dabei filtere ich schon
doppelte Einträge heraus und gebe mir nur die Dateiendungen aus. (z.B. 5 PDFs und 2 Word ergeben in der Liste einmal
PDF und einmal Word). Funktioniert bestens. Nun soll das ganze aber in eine Datagridview und da stecke ich fest.
Ich schaffe es, alle Dateien (bzw. ihre Extensions) auszugeben, aber nicht die doppelten zu filtern.
Meine Idee war da mit sowas ranzugehen, was aber bisher nicht funzt.
es gibt einige Forenthreads zu dem Thema, die mir leider trotzdem nicht geholfen haben,
weswegen ich es nochmal mit einem neuen Thread versuche.
Ich habe einen Button, der den Folderdialog öffnet. Nach Auswahl eines Ordners werden alle
Dateien aus diesem und seinen Unterordnern in eine Listbox geschrieben. Dabei filtere ich schon
doppelte Einträge heraus und gebe mir nur die Dateiendungen aus. (z.B. 5 PDFs und 2 Word ergeben in der Liste einmal
PDF und einmal Word). Funktioniert bestens. Nun soll das ganze aber in eine Datagridview und da stecke ich fest.
Ich schaffe es, alle Dateien (bzw. ihre Extensions) auszugeben, aber nicht die doppelten zu filtern.
VB.NET-Quellcode
- Public Sub ListboxFuellen()
- lblFortschritt.Visible = True
- Application.DoEvents()
- Try
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
- Dim files() As IO.FileInfo = New IO.DirectoryInfo(FolderBrowserDialog1.SelectedPath).GetFiles("*.*", SearchOption.AllDirectories)
- 'Container für den Dateityp
- Dim ext As String = ""
- 'Progressbar setzen
- ProgressBar1.Maximum = files.Count
- ProgressBar1.Value = 0
- lblFortschritt.Visible = False
- Application.DoEvents()
- For Each fi In files
- ext = IO.Path.GetExtension(fi.Name)
- 'Setzt den Fortshritt der ProgressBar1
- ProgressBar1.PerformStep()
- 'Verhindert das Einfrieren
- Application.DoEvents()
- 'IndexOf ermittelt, ob der Dateityp schon vorhanden ist
- If ListBox1.Items.IndexOf(ext) = -1 Then
- ListBox1.Items.Add(ext)
- End If
- '......diese If-Schleife funktioniert gut für die Listbox und die müsste ich umformen auf die Datagrid und hänge da fest
- Next
- lblDateienGesamt.Text = "Anzahl: " & ListBox1.Items.Count & " Dateitypen gefunden"
- End If
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- End Sub
Meine Idee war da mit sowas ranzugehen, was aber bisher nicht funzt.