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 :

Comment lister les fichiers texte dans un répertoire et ses sous répertoires ?


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut Comment lister les fichiers texte dans un répertoire et ses sous répertoires ?
    Hello,

    je souhaite pouvoir afficher la liste des fichiers textes contenus dans un répertoire et ses sous répertoires. Pour le moment j'arrive à le faire pour le répertoire principal :

    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
            Dim fBrowser As New FolderBrowserDialog
            fBrowser.RootFolder = Environment.SpecialFolder.Desktop
            fBrowser.Description = "Sélectionnez un répertoire SVP"
            fBrowser.ShowDialog()
            If fBrowser.SelectedPath = String.Empty Then
                Label1.Text = "Pas de sélection"
            Else
                Label1.Text = fBrowser.SelectedPath
            End If
            fBrowser.Dispose()
     
            ' make a reference to a directory
            Dim di As New IO.DirectoryInfo(fBrowser.SelectedPath)
            Dim diar1 As IO.FileInfo() = di.GetFiles("*.txt")
            Dim dra As IO.FileInfo
     
            'list the names of all files in the specified directory
            For Each dra In diar1
                ListBox1.Items.Add(dra)
            Next
    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    A moins qu'il y a ait une fonction, ce qui m'étonnerait à première vue, faudra faire appel à la recursivité.

  3. #3
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 210
    Points : 103
    Points
    103
    Par défaut


    ok, première question : c'est quoi la recursivité ?

    seconde question : Comment faire ?

  4. #4
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    Comme je fais pas beaucoup de .NET je vais juste t'écrire l'algo pour que tu vois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void maFonctionRecTxt(unRepertoire, unArrayList) {
      Pour (chaque unElement de unRepertoire) {
        If (unElement est un fichier txt) Then
          unArrayList.add(unElement)
        End if
        If (unElement est un repertoire) Then
          maFonctionRecTxt(unElement, unArrayList) ' On rappelle la meme 
              ' fonction, c'est la recursivite
        End if
      }
    }
     
    ' Ailleurs dans le code
    maFonctionRecTxt(monRepertoireRoot, unArrayListVideMaisInitialise)
    Bon courage

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Il faut utiliser une fonction recursive :

    La récursivité consiste a appeler une fonction dans la meme fonction :

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub MaFonction(Rep as String) as String
     'code ici
      MaFonction("test") 'appelle de nouveau MaFonction
    End Sub
    Pour un exemple de listage d'un répertoire et de ses sous repertoire dans une ListBox ===> Go here
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Points : 121
    Points
    121
    Par défaut
    Sous VS 2005 Framework 2, il me semble qu'il y a plus simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    My.Computer.FileSystem.GetFiles(chemindetonrépertoire, FileIO.SearchOption.SearchAllSubDirectories, "*.txt")
    En boucle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For Each fichier As String In My.Computer.FileSystem.GetFiles(chemindetonrépertoire, _
    FileIO.SearchOption.SearchAllSubDirectories, "*.txt") 'tous les sous-dossiers sont pris
    'code
    next

Discussions similaires

  1. [XL-2007] Comment lister les fichiers contenus dans un répertoire Sharepoint
    Par Riri80 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2020, 08h50
  2. Comment lister les fichiers dans un répertoire ?
    Par PatricePatrice dans le forum Framework .NET
    Réponses: 18
    Dernier message: 04/01/2007, 10h15
  3. Réponses: 13
    Dernier message: 24/08/2006, 13h05
  4. Réponses: 5
    Dernier message: 16/07/2005, 00h01
  5. [CF][PPC/C#] Comment lister les fichiers d'un répertoire ?
    Par dady dans le forum Windows Mobile
    Réponses: 18
    Dernier message: 20/05/2005, 14h35

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