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

Langage Delphi Discussion :

Question sur la fonction pour lister fichiers


Sujet :

Langage Delphi

  1. #1
    Invité
    Invité(e)
    Par défaut Question sur la fonction pour lister fichiers
    Bonjour,

    Pour lister les fichiers d'un dossier j'utilise cette fonction.

    J'ai eu besoin de l'utiliser aujourd'hui et je me suis posé les questions suivantes :
    Pourquoi utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not((Info.Attr And faDirectory)=0)
    et pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (Info.Attr <> faDirectory)
    Est-ce pareil, ou est-ce qu'il y a une raison ?


    Ensuite, cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(Info.FindData.cFileName)
    pourrait être remplacé par celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.Items.Add(Info.Name)
    Encore une fois, est-ce la même chose ou l'une des solutions est-elle meilleure ?

    Merci d'avance de vos commentaires.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 388
    Points
    5 388
    Par défaut
    Bonjour,

    Info.Attr est un entier composé de plusieurs bits.
    faDirectory à la valeur $00000010 soit 10
    Mais l'élément que tu lis peut être un dossier caché, en lecture seul ou encore un dossier spécial
    Ce qui qui fait que Attr peut contenir un nombre totalement différent de faDirectory
    Par un exemple, pour un dossier caché et en lecture seul la valeur de Attr sera 13 soit $00000001 + $00000002 + $00000010
    On utilise donc la forme "If Not((Info.Attr And faDirectory)=0)" pour faire la comparaison bit à bit et ainsi prendre en compte tous les dossiers même s'il sont en lecture seul ou caché, ou...


    Info.Name contient lee nom de base du fichier, extension comprise.
    Suivant ton besoin ça peut suffire (quoi que je ne sais pas trop quel est son contenu sur un répertoire).
    En passant par FindData (attention, Windows seulement), on a des informations complémentaires comme le nom court, ou la date de création, etc.

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci beaucoup de tes explications.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/08/2016, 20h44
  2. Question sur la fonction Year() pour un débutant
    Par Laskar dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/09/2015, 14h03
  3. Réponses: 1
    Dernier message: 15/11/2010, 21h13
  4. Réponses: 5
    Dernier message: 06/03/2009, 14h07
  5. Réponses: 2
    Dernier message: 21/12/2005, 09h39

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