Listez vos fichier facilement et rapidement

Description

Je pars du même constat que Jack a fait concernant sa source "REMPLACER DIR PAR UNE CLASSE DIR2 (AVANTAGES) "
http://www.vbfrance.com/code.aspx?ID=37859

Ce constat est le suivant:
Dir est rapide est simple à mettre en place pour énumérer une liste de fichiers / dossiers.
néanmoins, il ne peut être utiliser en récursion. Pas possible, donc, de lister facilement une arborescence.

FSO permet lui de lister toute une arborescence, mais est à proscrire dans vos programme, laissez le dans les Scripts, il a été
conçu pour ça. Et pour cause ! il est extrêmement lent...

Il s'agit d'une simple classe, qui permet de lister facilement et rapidement vos Fichier/Dossiers, comme le fais Dir
J'ai donc grandement remanié le code de Jack, que je vous poste maintenant.

Outre la manière de se servir de ma classe qui diffère de celle de Jack, j'ai ajouté la possibilité d'accéder aux dates et a la taille du fichier

Source / Exemple :


'# Son utilisation est fort simple :
Dim oItems As CDir
    Set oItems = New CDir
    oItems.Initialize "C:\MonDossier\"  '# Par défault, fichiers et dossiers vont être listés
    '# On boucle, tant qu'on n'est pas a la fin de la liste.
    Do Until oItems.EOF
        '# Si l'element en cours est un dossier ...
        If CBool(oItems.Attributes And vbDirectory) Then
            '# Pour l'exemple, on créé un noeud avec le dossier. la clé est le chemin complet vers
            '# le dossier. le texte du noeud est son nom
            Set oNode = CcTree.Nodes.Add(voParent, tvwChild, oItems.FullPath, oItems.Name)
            FillList oItems.FullPath & "\", oNode
        Else
            '# Ici, pour l'exemple, on ajoute le fichier dans une liste.
            '# On peut acceder a la date de creation/modification/accès du fichier
            '# (plus rapide que de faire un appel séparé à FileLen ou FileDateTime)
            AddFile oItems.FullPath, oItems.FileSize, oItems.LastWriteDate
        End If

        '# On passe a l'element suivant
        oItems.MoveNext
    Loop

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.