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

Windows Forms Discussion :

Directory - limiter le path


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 61
    Points : 27
    Points
    27
    Par défaut Directory - limiter le path
    Bonjour,

    Mon problème est simple et sa solution probablement de même.
    Mais je bloque car je m'y perd un peu dans les types/conversions...

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string mypath = "C://trucmachin";
    listBox1.Items.AddRange(Directory.GetDirectories(mypath));
    Ce qui donne dans la listbox :

    C://trucmachin//bidule
    C://trucmachin//folder2
    C://trucmachin//etdetrois

    Or je souhaite:

    bidule
    folder2
    etdetrois


    C'est à dire sans le début du path. Sauriez-vous comment faire s'il vous plaît ?
    Merci d'avance et bonne soirée

  2. #2
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    Salut.

    Je ne pense pas que tu pourras le faire en une instruction.
    Personnellement je parcourrai tous les répertoires trouvés et ajouterai le nom du répertoire.

  3. #3
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Regarde la class Path, tu devrai y trouver ton bonheur
    http://msdn.microsoft.com/en-us/libr...h_methods.aspx

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                DirectoryInfo baseDir = new DirectoryInfo("c:\\");
                foreach( DirectoryInfo  oChildDir in baseDir.GetDirectories())
                {
                    listBox1.Items.Add(oChildDir.Name);
     
                }

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    Je vous remercie tous, cela fonctionne

    Cependant, un dernier truc : comment faire pour ne montrer que les pdf par exemple ?
    C'est bien dommage que Add ne prenne qu'un seul argument

    Par exemple je veux faire ça mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    if (oChildDir.Name == "*.pdf" | oChildDir.Name == "*.dwfx")
                    {
                        listBox1.Items.AddRange(oChildDir.Name);
                    }

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    C'est bien dommage que Add ne prenne qu'un seul argument

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    Erreur 1 Aucune surcharge pour la méthode 'AddRange' ne prend d'arguments 2

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    polow, il faut vraiment te mâcher le boulot à ce point ?

    Lis la signature de la méthode, tu verra que le AddRange ne prend qu'un paramètre certes, mais qui est une collection...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    List<string> stringList = new List<string>();
                    string a = "a";
                    string b = "b";
                    stringList.AddRange(stringList);

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    Cependant, un dernier truc : comment faire pour ne montrer que les pdf par exemple ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
             DirectoryInfo baseDir = new DirectoryInfo("c:\\");
                foreach( DirectoryInfo  oChildDir in baseDir.GetDirectories("*.pdf"))
                {
                    listBox1.Items.Add(oChildDir.Name);
     
                }

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    Désolé, je sais que je pose beaucoup de questions facile mais je n'arrive pas à m'y faire avec tous ces mots: argument, evenements, types etc...


    Nah666 ton filtre pdf ne marche pas:

    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
    32
     
     
    // ...
     else if (selectedIndex != null) //c'est un repertoire
                        {
     
                            listBox1.Items.Clear();
                            string o =  path + selectedIndex;
                            o = o.Replace("/", "//") + "//";
     
                            DirectoryInfo obaseDir = new DirectoryInfo(o);
                            foreach (DirectoryInfo oChildDir in obaseDir.GetDirectories("*.pdf"))
                            {
                                listBox1.Items.Add(oChildDir.Name);
     
                            }
     
                           foreach (DirectoryInfo oChildDir in obaseDir.GetDirectories("*.dwfx"))
                            {
                                listBox1.Items.Add(oChildDir.Name);
     
                            }
     
      if (listBox1.Items.Count != 0)
                            {
                                listBox1.SelectedIndex = 0;
                            }
                            else
                            {
                                listBox1.Items.Add("This folder is empty.");
     
                            }
    J'ai toujours "This folder is empty"...
    C'est sur que c'est dans ton code vu qu'avec le basique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listBox1.Items.AddRange(Directory.GetFiles(o, "*.pdf"));
    ça marche très bien (sauf qu'il y a tout le path quoi)
    Bon promis, après ce problème, je réfléchis plus de 24h avant de poser une question

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juillet 2011
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 61
    Points : 27
    Points
    27
    Par défaut
    EDIT: trouvé ! C'était bête mais ce n'est pas Getdirectory mais bien Getfiles. Evidemment...

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

Discussions similaires

  1. [Active Directory] méthode FindAll() trop limitée
    Par rastamath69 dans le forum C#
    Réponses: 9
    Dernier message: 19/02/2010, 10h37
  2. [Directory.Exists] retourne false sur un path UNC
    Par joujoukinder dans le forum C#
    Réponses: 0
    Dernier message: 28/07/2009, 22h33
  3. [freebsd] Insecure directory in $ENV{PATH}
    Par gorgonite dans le forum Langage
    Réponses: 4
    Dernier message: 28/03/2008, 14h08
  4. test d'un directory path
    Par aharel dans le forum C#
    Réponses: 6
    Dernier message: 23/01/2008, 09h27
  5. Determiner Path (Directory or File)
    Par matt8-5 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/07/2007, 13h47

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