Bonjour,
je voudrais appeler une fonction de scan de fichiers récursive dans un BackGroundWorker mais cette fonction nécessite des paramètres ( en l’occurrence les extensions ) et je ne sais pas du tout comment faire parce que je ne peux pas créer la fonction dans ma fonction BackGroundWorker.
Voici le code de ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub ChercherFichiers(dossier As IO.DirectoryInfo, Extensions() As String)
        Try
            'pour chaque extension...
            For Each ext As String In Extensions
                '...on fait une liste des fichiers concernés...
                Dim f() As IO.FileInfo = dossier.GetFiles("*." & ext)
                '...et on ajoute les fichiers à la listbox
                For Each Fichier As IO.FileInfo In f
                    ListboxFichiersTrouvés.Items.Add(Fichier.FullName)
                Next
            Next
            'recherche des sous-dossiers...
            For Each d As IO.DirectoryInfo In dossier.GetDirectories
                'et recherche récursive des fichiers
                ChercherFichiers(d, Extensions)
            Next
        Catch ex As Exception
        End Try
    End Sub
Voici l'autre fonction où les paramètres sont définis ( mais ce n'est pas celle ci que je pense mettre dans mon BackGroundWorker ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Private Sub RécupérerFichiersImages()
        'recherche dans tous les disques
        For Each drive As IO.DriveInfo In IO.DriveInfo.GetDrives
            If drive.IsReady Then
                'ici je recherche les jpg, gif ...
                ChercherFichiers(New IO.DirectoryInfo(drive.RootDirectory.ToString), {"JPG", "GIF", "BMP", "DXF", "EPS", "PCX", "PICT", "PS", "TIFF", "WPG", "PNG", "MNG"})
            End If
        Next
    End Sub
Merci d'avance pour votre aide.