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

C# Discussion :

Thread et recherche recursive


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 4
    Par défaut Thread et recherche recursive
    Bonjour, je developpe un programme pour lequel je dois scanne mes dossiers afin de localiser des fichiers vidéo
    J’aichoisis l'approche de creation de thread,afin d’éviter un souci de fige pendant la recherche au niveau du programme et de la liste contenant les fichiers
    voici ou j'en suis .
    j'ai un bouton qui permet de sélectionner l'emplacement des répertoires contenant les films
    Voici le code qui si rapporte
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     private void Bemplacement_Click_1(object sender, EventArgs e)
            {
                //Creation folderbrowser
                FolderBrowserDialog folderDlg = new FolderBrowserDialog();
     
                folderDlg.ShowNewFolderButton = true;
     
                // Montre le FolderBrowserDialog.
     
                DialogResult result = folderDlg.ShowDialog();
                // Si le bouton selectionnez est ok >
                if (result == DialogResult.OK)
                {
     
                    Trepertoire.Text = folderDlg.SelectedPath;
     
                    Environment.SpecialFolder root = folderDlg.RootFolder;
     
                    //Effacement de la liste
                    emplacement = null;
                    //lance la recherche recursive
                    recherche = new Thread(new ThreadStart(ThreadMethod));
                   recherche.Start();
     
                   }
     
     
     
     
            }
    ce bouton créée donc un thread qui va lancé la recherche , je pensais derrière avec un timer cloner la liste ou autre car je dois gérer la presence ou pas du fichier NFO

    Mais voila ou je bloque j'effectue une recherche recursive, donc j'ai modifie et allége le code de la recherche

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    private void ThreadMethod()
            {
                string sdir = Trepertoire.Text;
                string pattern = "*.avi";
                try
                {
     
                    foreach (string f in Directory.GetFiles(sdir, pattern))
                    {
     
                     emplacement.Add(f);
     
                    }
     
                    foreach (string d in Directory.GetDirectories(sdir))
                    {
                       //VOILA LE PROBLEME 
     
                      DirSearch(d, pattern);
     
     
                    }
                }
                catch (System.Exception excpt)
                {
                    MessageBox.Show(excpt.Message);
                }
            }
    Le souci se situe au niveau de la recursivité de la recherche, est ce que je dois cree un tread par recherche?? deja que je pense en cree deux en parallele pour gere l'extention du fichier et dans ce cas la comment les incrementer?

    merci de vos reponse

  2. #2
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    bonjour;
    essaye plutôt de faire de ton methode

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    private void ThreadMethod(string path)
            {
                string sdir = path;
                string pattern = "*.avi";
                try
                {
     
                    foreach (string f in Directory.GetFiles(sdir, pattern))
                    {
     
                     emplacement.Add(f);
     
                    }
     
                    foreach (string d in Directory.GetDirectories(sdir))
                    {
                       //VOILA LE PROBLEME 
     
                      ThreadMethod(d);
     
     
                    }
                }
                catch (System.Exception excpt)
                {
                    MessageBox.Show(excpt.Message);
                }
            }
    et pour l'appelle de votre méthode faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ThreadMethod( Trepertoire.Text);

Discussions similaires

  1. Recherche recursive sur tous les disques
    Par cellendhyll dans le forum Général Python
    Réponses: 13
    Dernier message: 15/12/2009, 14h19
  2. recherche recursive de fichier par extension-date-heure
    Par grundraisin dans le forum VBScript
    Réponses: 10
    Dernier message: 16/09/2009, 12h48
  3. Recherche Recursive Depuis chaines de caractères
    Par quentingsc dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/12/2006, 18h56
  4. Ksh, recherche récursive
    Par Soria17 dans le forum Linux
    Réponses: 9
    Dernier message: 15/11/2006, 18h45
  5. Recherche recursive à l'aide des expressions reguliére
    Par titoff dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2005, 16h42

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