Ich bin mit meinem kleinem Projekt ( Laufwerke nach bestimmten Dateitypen durchsuchen und zippen ) nun schon etwas weiter.
Nachdem nun einige Hürden genommen sind habe ich eine Suchfunktion eingebaut.
Fragen:
In einigen Teilen kann ich Variabeln nur mit Labels übergeben in anderen Teilen geht es direkt mit der Variable.
Beispiel die Variable " DriveLetter "
Beim ersten Aufruf kann ich Laufwerk und Dateityp auswählen und die Suche starten.
Daten werden auch aufgelistet. Siehe Bild
Beim 2ten klick auf den Suchbutten passieren seltsame Dinge je nachdem auf welchem Laufwerk ich suche; bis hin zum Abbruch bzgl "Keine Rechte "
Ich hoffe wieder auf nette Hilfe. Bin ja noch am lernen
Danke schonmals.
PS: Einiges habe ich schon an Fehlern beseitigen können.
Hier der Code:
Nachdem nun einige Hürden genommen sind habe ich eine Suchfunktion eingebaut.
Fragen:
In einigen Teilen kann ich Variabeln nur mit Labels übergeben in anderen Teilen geht es direkt mit der Variable.
Beispiel die Variable " DriveLetter "
Beim ersten Aufruf kann ich Laufwerk und Dateityp auswählen und die Suche starten.
Daten werden auch aufgelistet. Siehe Bild
Beim 2ten klick auf den Suchbutten passieren seltsame Dinge je nachdem auf welchem Laufwerk ich suche; bis hin zum Abbruch bzgl "Keine Rechte "
Ich hoffe wieder auf nette Hilfe. Bin ja noch am lernen
Danke schonmals.
PS: Einiges habe ich schon an Fehlern beseitigen können.
Hier der Code:
VB.NET-Quellcode
- Option Strict On
- Public Class mainWin
- Private Property Path As Object
- Private dtype As String
- Private ReadOnly DriveInfos As New List(Of DriveInfo)
- Private Sub mainWin_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown
- For Each drive As IO.DriveInfo In IO.DriveInfo.GetDrives
- If drive.DriveType = IO.DriveType.CDRom Then Continue For
- Dim NeueDriveInfoInstanz As New DriveInfo
- NeueDriveInfoInstanz.Name = drive.VolumeLabel
- NeueDriveInfoInstanz.DriveLetter = drive.Name
- DriveInfos.Add(NeueDriveInfoInstanz)
- Next
- DriveInfoBindingSource.DataSource = DriveInfos
- SetDriveViaDriveLetter("C:\")
- '2te Combobox füllen
- Dim dateityp As New List(Of String)
- cmb_datentypen.DataSource = "*.doc *.dat *.rtf".Split
- End Sub
- Private Sub SetDriveViaDriveLetter(DriveLetter As String)
- For i = 0 To DriveInfoBindingSource.Count - 1
- If DirectCast(DriveInfoBindingSource(i), DriveInfo).DriveLetter = DriveLetter Then DriveInfoBindingSource.Position = i : Return
- Next
- MessageBox.Show("Das Laufwerk " & DriveLetter & " konnte nicht gefunden werden.")
- End Sub
- 'Suche beginnen
- Public Sub cmd_datentypen_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_datentypen.SelectedIndexChanged
- dtype = cmb_datentypen.SelectedItem.ToString
- lb_type.Text = dtype
- End Sub
- Private Sub bt_suche_Click(sender As Object, e As EventArgs) Handles bt_suche.Click
- lstFiles.Items.Clear()
- Cursor.Current = Cursors.WaitCursor
- Dim suchDir As IO.DirectoryInfo
- suchDir = New IO.DirectoryInfo(lb_HDDs.Text) ' Hier das Label geht nicht mit der Variable DriveLetter
- For Each subdir In suchDir.GetDirectories()
- lb_HDDs.Text = subdir.FullName.ToString
- Try
- For Each sFile As String In My.Computer.FileSystem.GetFiles(lb_HDDs.Text, FileIO.SearchOption.SearchAllSubDirectories, dtype)
- lstFiles.Items.Add(sFile)
- Next
- Catch ua_ex As UnauthorizedAccessException
- Catch ex As Exception
- End Try
- Next
- Cursor.Current = Cursors.Default
- End Sub
- 'Suche ende
- Private Sub bt_ende_Click(sender As Object, e As EventArgs) Handles bt_ende.Click
- Me.Close()
- End Sub
- End Class
- Public Class DriveInfo
- Property DriveLetter As String
- Property Name As String
- ReadOnly Property FullName As String
- Get
- Return DriveLetter
- End Get
- End Property
- ReadOnly Property SndName As String
- Get
- Return DriveLetter & " [ " & Name & " ]"
- End Get
- End Property
- End Class
Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Amelie“ ()