begin process at 2012 02 17 08:26:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > LISTER LES FICHIERS CONTENUES DANS UN DOSSIER ET SES SOUS-DOSSIERS

LISTER LES FICHIERS CONTENUES DANS UN DOSSIER ET SES SOUS-DOSSIERS


 Information sur la source

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Débutant Date de création :21/10/2004 Vu :7 030

Auteur : At0mIc

Ecrire un message privé
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

À l'aide de DriveListBox, DirListBox et FileListBox, ce code affiche dans un debug tous les fichiers contenues dans le dossier sélectionné (En appuyant sur le bouton) et ses sous-dossiers

Source

  • Private Sub Command1_Click()
  • lireDossier Dir1.Path ' Appel de la commande pour lister les fichiers
  • End Sub
  • Private Sub Dir1_Change()
  • File1.Path = Dir1.Path ' Affiche le contenue du dossier sélectionné
  • End Sub
  • Private Sub Drive1_Change()
  • Dir1.Path = Drive1.Drive ' Le dossier devient le lecteur sélectionné
  • End Sub
  • Private Function lireDossier(dossier As String)
  • Dim dossierPrecedent As String
  • Dim i As Integer
  • Dim j As Integer
  • dossierPrecedent = CStr(Dir1.Path) ' Sauvegarde le dossier précédent
  • Dir1.Path = dossier ' Se place dans le dossier à lire
  • For i = 0 To (Dir1.ListCount - 1) ' Pour chaque dossier présent
  • File1.Path = Dir1.List(i) ' Place le path dans le FileList
  • For j = 0 To (File1.ListCount - 1) ' Pour chaque fichier du FileList
  • Debug.Print File1.List(j) ' L'affiche dans debug
  • Next j
  • lireDossier CStr(Dir1.List(i)) ' Affiche le contenue du dossier sélectionné
  • Next i
  • Dir1.Path = dossierPrecedent ' Se replace au dossier précédent
  • End Function
Private Sub Command1_Click()
    lireDossier Dir1.Path ' Appel de la commande pour lister les fichiers
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path ' Affiche le contenue du dossier sélectionné
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive ' Le dossier devient le lecteur sélectionné
End Sub
Private Function lireDossier(dossier As String)
    Dim dossierPrecedent As String
    Dim i As Integer
    Dim j As Integer
    
    dossierPrecedent = CStr(Dir1.Path) ' Sauvegarde le dossier précédent
    Dir1.Path = dossier ' Se place dans le dossier à lire
    For i = 0 To (Dir1.ListCount - 1) ' Pour chaque dossier présent
        File1.Path = Dir1.List(i) ' Place le path dans le FileList
        For j = 0 To (File1.ListCount - 1) ' Pour chaque fichier du FileList
            Debug.Print File1.List(j) ' L'affiche dans debug
        Next j
        lireDossier CStr(Dir1.List(i)) ' Affiche le contenue du dossier sélectionné
    Next i
    Dir1.Path = dossierPrecedent ' Se replace au dossier précédent
End Function



 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

Commentaires et avis

Commentaire de econs le 21/10/2004 17:39:29 administrateur CS

Un bel exemple de récursivité. Propre et commenté.

Je ne l'ai pas essayé, mais à vue de nez, çà me semble pas mal.

C'est loin d'être l'algo le plus rapide pour rechercher des fichiers, mais en utilisant des contrôles DirListBox et FileListBox, çà doit être ce qui se fait de mieux.

Commentaire de clafouti le 21/10/2004 20:53:16

La fonction ne liste pas les fichiers du répertoire racine.
Voici une correction :

Private Function lireDossier(dossier As String)
    Dim dossierPrecedent As String
    Dim i As Integer
    Dim j As Integer
    
    dossierPrecedent = CStr(Dir1.Path) ' Sauvegarde le dossier précédent
    Dir1.Path = dossier ' Se place dans le dossier à lire
    For i = 0 To (Dir1.ListCount - 1) ' Pour chaque dossier présent
        File1.Path = Dir1.List(i) ' Place le path dans le FileList
        For j = 0 To (File1.ListCount - 1) ' Pour chaque fichier du FileList
            Debug.Print File1.Path & "\" & File1.List(j) ' L'affiche dans debug
        Next j
        lireDossier CStr(Dir1.List(i)) ' Affiche le contenue du dossier sélectionné
    Next i
    If Dir1.Path = dossierPrecedent Then
        'lit les fichiers du répertoire racine
        File1.Path = Dir1.List(i) ' Place le path dans le FileList
        For j = 0 To (File1.ListCount - 1) ' Pour chaque fichier du FileList
            Debug.Print File1.Path & "\" & File1.List(j) ' L'affiche dans debug
        Next j
    End If
    Dir1.Path = dossierPrecedent ' Se replace au dossier précédent
End Function

Commentaire de SpOrTiF le 21/10/2004 22:05:25

hey atomic:p

C'est un bon code ;o)

PaT

Commentaire de TheLordFreddy le 22/10/2004 13:06:17

Un air de déja vu, bien commenté tout de même

Commentaire de mrtrampo le 02/11/2004 15:54:41

il y a quelques temps déjà j'ai fait un programme de recherche comme windows en utilisant la même technique (il n'affiche pas les icônes mais est quand même 4x plus rapide)
J'ai un problème: mon prog ne voit pas les dossiers cachés et leurs sous dossiers (dans les DirListBox il n'y a pas de filtres comme pour FileListBox)

Ton prog voit-il les dossiers et sous-dossiers cachés?

Commentaire de At0mIc le 02/11/2004 17:37:00

Non, mais pense à ajouter un:
Dir(dossier,type)
Le type de fichier peut être:
   - 0 Normal
   - 1 Lecture seule
   - 2 Fichier caché
   - 4 Fichier système
   - 8 Nom de volume ; si cette valeur est indiquée, le répertoire est ignoré
   - 16 Répertoire
   - 32 Archive

Cela te retourne le premier trouver. Utilise ensuite "Dir" pour avoir les suivants.

Commentaire de mrtrampo le 02/11/2004 18:30:26

ok merci
je n'arrivais pas à trouver dans les api une fonction qui faisait ça pour les dossiers

il y a findfirstfile pour les fichiers je crois
on trouve les suivants avec findnext ou un truc comme ça...

en tout cas encore merci
alex

Commentaire de malako le 29/03/2007 10:40:11

cmt va=, dite moi y a qq 1 qui sait comment on ouvre le fichier pour le lire?

Commentaire de Renfield le 29/03/2007 10:45:46 administrateur CS

ça va bien, et toi ?

soyons sérieux ! Ce n'est pas un chat ici, et encore moins le Forum.
si tu veux poser une question, c'est là bas que ca se passe !!!
http://www.vbfrance.com/infomsg.aspx?ajout=1

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales