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 :

SysUtils.FindFirst et faDirectory


Sujet :

Langage Delphi

  1. #1
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 494
    Points : 3 129
    Points
    3 129
    Par défaut SysUtils.FindFirst et faDirectory
    Bonjour,

    Pour moi, le code suivant devrait me renvoyer uniquement les noms de dossier:

    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
     
        if SysUtils.FindFirst(PathFile + '*.*', faDirectory, searchRec) = 0 then
        begin
          try
     
            repeat
              if (SearchRec.Attr And faDirectory =  faDirectory) and (searchRec.name[1] <> '.') then
              begin
                ResultList.Add(PathFile + searchRec.name);
                if Recurse then
                  GetDirsList(IncludeTrailingPathDelimiter(PathFile + searchRec.name), ResultList, True);
              end;
     
            until SysUtils.FindNext(searchRec) <> 0;
          finally
            SysUtils.FindClose(searchRec);
          end;
        end;
    Pourtant, "SysUtils.FindNext" renvoi aussi les noms de fichiers.

    C'est normal ?

    Papy !

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 812
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 812
    Points : 13 527
    Points
    13 527
    Par défaut
    Oui, au niveau FindFirst/FindNext c'est normal. Ces commandes renvoient au minimum les fichiers sans attribut particulier.
    A ceux-ci s'ajoutent les fichiers contenant les attributs passés en paramètre (dans ton cas faDirectory).

    D'où le test SearchRec.Attr And faDirectory = faDirectory pour ne renvoyer que les répertoires

  3. #3
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 494
    Points : 3 129
    Points
    3 129
    Par défaut
    J'aurais trouvé plus logique qu'il conserve le filtre. :-)

    Merci pour cette précision !

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

Discussions similaires

  1. FindFirst et 2000, xp et 2003 (Delphi 5)
    Par Eric Boisvert dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2005, 21h07
  2. Réponses: 8
    Dernier message: 13/06/2005, 13h48
  3. [Kylix] Kylix 3 C++ et SysUtils
    Par bohort dans le forum EDI
    Réponses: 1
    Dernier message: 15/09/2004, 14h54
  4. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  5. Réponses: 8
    Dernier message: 31/10/2003, 16h21

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