Parcourir des fichiers

Résolu
Signaler
Messages postés
6
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
24 avril 2011
-
Messages postés
6
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
24 avril 2011
-
bonjour les amis;
je suis débutant.je cherche de l'aide pour une petite application qui cherche des images sur mon disque dur et les afficher ou d 'ouyvrir le dossier contenant a partir de de son emplacement par exemple c:/client/"nom de client"/image.jpg telque :
je classe l image dans un dossier sur c:/nom(chaque client avec son nom)
merci d avance

5 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
50
Salut

Pour récupérer la liste des images :
string[] tableauCheminImage = Directory.GetFiles(@"C:\Nom", "*.jpg", SearchOption.AllDirectories);

Attention que ça peut être très très très long si le dossier C:\Nom contient de nombreux sous-dossiers (en gros, si tu fais ça sur C:\ uniquement, ça te prendra plusieurs dizaines de minutes probablement.

Pour les afficher :
maPictureBox.Image = Image.FromFile(cheminImage);


Pour ouvrir le dossier contenant :
string dossier = cheminImage.Remove(cheminImage.LastIndexOf(@""));
System.Diagnostics.Process.Start(dossier);


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
50
Pour éviter l'exception, tu as deux solutions. Soit tu fais un try/catch, soit tu vérifies que le dossier existe.

Première méthode :
try
{
    string t = "C:\" + textBox1.Text;
    Process.Start(t);
}
catch // équivalent de catch(Exception) ou de catch(Exception e)
{
    MessageBox.Show("Le dossier n'existe pas");
}


Deuxième méthode :
string t = "C:\" + textBox1.Text;
if(Directory.Exists(t))
{
    Process.Start(t);
}
else
{
    MessageBox.Show("Le dossier n'existe pas");
}


Le try/catch est une solution passe partout assez simple, mais pas très performante. S'il est possible de l'éviter, c'est une meilleure chose (en l'occurrence, il vaut mieux utiliser ma deuxième méthode que ma première).

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
6
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
24 avril 2011

merci mon ami.petite question si ça vous dérange pas.je cherche a explorer(avec file directory) un dossier sous c:/client/"..." avec le trois points seront remplacé par un mot pris d'un textbox.
Messages postés
6
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
24 avril 2011

voila
string t=@"C:";
t += textBox1.Text;
System.Diagnostics.Process.Start(t);


mais le probleme ds l"exception si le dossier n 'existe pas
Messages postés
6
Date d'inscription
jeudi 17 décembre 2009
Statut
Membre
Dernière intervention
24 avril 2011

merci amigos