Boujour,
J'ai un problème de dans mon programme depuis un certain temps et j'aimerai le résoudre.
Mon programme est un petit outil de recherche, on fonction du nom que l'on introduit ou extention du fichier, tout les ficher sans lister dans une listBox
voici le code qui permet de faire la recherche et ensuite les insérer dans la listeBox
Code :
- public void searchButton_Click(object sender, EventArgs e)
- {
- try
- {
- //recherche tout les fichier du repétoire et du nom demandé et les stock dans la variable files
- var files = from file in Directory.EnumerateFiles(directoryTextBox.Text, searchTextBox.Text,SearchOption.AllDirectories)
- select new
- {
- File = file
- };
-
- foreach (var f in files)
- {
- //f.File name affiche le nom complet du fichier c'est-à-dire qu'il prend le chemin du fichier avec le fichier
- //j'ai rajouter un subtring pour pouvoir prendre que le nom du fichier en fonction d'ou est placé le dernier "\" du chemin
- //et le LastIndexOf me permet de connaitre la position de se dernier "\"
- fileListBox.Items.Add(f.File.Substring(f.File.LastIndexOf("\\" )+1));
- //ajoute tout les chemin des fichier dans un tableau pour ensuite les utilisé dans la fonction fileListBox_SelectedIndexChanged
- arrayFile[y] = f.File;
-
- y++;
- }
-
-
- }
- //si j'ai pas l'accès au fichier
- catch (UnauthorizedAccessException UAEx)
- {
- // message qui me dit accès refusé au dossier XXX
- MessageBox.Show(UAEx.Message);
- }
- catch (PathTooLongException PTLEx)
- {
- MessageBox.Show(PTLEx.Message);
- }
-
- }//fin searchButton_Click
|
le problème dans se code c'est dès qu'un dossier n'est pas accessible le programme se stop, Par exemple si je fait une recherche dans le C:\ et qu'il y a 3dossier, 1-toto,2-toto,3-toto et que le dossier 2-toto n'est pas accessible, mon code va répertorier tous se qu'il y a dans 1-toto et ensuite il va arrivé dans 2-toto et stoper le programme car il n'est pas accessible donc la recherche ne s'effectura pas dans 3-toto.
J'aimerai savoir si il serai possible d'avoir un test qui me disent si dossier pas accesible, tu le passe et tu prend le dossier suivant. Ou alors que mon try/catch ne stop pas mon programme et que je puissent continuer a executer mon code une fois que je recois le message comme quoi XXX(le dossier) n'est pas accessible.