IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Appeler une fonction avec des paramètres dans un BackGroundWorker


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 412
    Par défaut Appeler une fonction avec des paramètres dans un BackGroundWorker
    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.

  2. #2
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim worker As New BackgroundWorker()
            AddHandler worker.DoWork, Sub(obj, e) ChercherFichiers(New DirectoryInfo("Path"), {"extention1", "extention2"})
            worker.RunWorkerAsync()

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    Moi je mettrais la fonction de recherche dans une class, je mettrais ces deux paramètre en variable privée de la class que j'initialiserais via le constructeur et je lancerais la recherche via la fonction de recherche sans paramètre...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/10/2010, 18h07
  2. [AC-2003] Comment appeler une fonction avec deux paramètres. Erreur '=' attendu
    Par nirG95 dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/09/2009, 10h53
  3. Accéder à une page avec des paramètres dans l'url
    Par *alexandre* dans le forum JSF
    Réponses: 3
    Dernier message: 11/03/2009, 20h53
  4. appel de fonction avec des espaces dans un paramètre
    Par jjnoui dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2008, 13h44
  5. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo