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

Qt Discussion :

Listage des répertoires et fichiers - Technique utilisée par Qt?


Sujet :

Qt

  1. #1
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut Listage des répertoires et fichiers - Technique utilisée par Qt?
    Bonjour,

    J'ai besoin de lister tous les répertoires présents sur un disque. J'ai donc utilisé QDir. Cette méthode me paraît longue. J'imagine que QDir passe par l'api de windows avec des fonctions qui permettent d'avoir des infos sur les fichiers.

    Je voudrais savoir s'il ne serait pas plus rapide de passe par la MFT par exemple? Mis à part le coté non portable de cette solution.

    Merci pour votre aide

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968

  3. #3
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    Je sais comment faire pour lister les fichiers, et pour preuve le programme fonctionne déjà

    Non, ce que je voulais savoir c'est si la méthode utilisé par QDir est efficace, ou du moins, aussi efficace que d'aller chercher directement dans la MFT?

  4. #4
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    QDir passe par FindFirstFile & co. A part le très léger overhead dû au wrapper que sont QDir et QDirIterator, je ne vois pas trop comment tu pourrais aller plus vite que l'api Win32 recommandée pour le parcours de répertoire (et en plus tu y perds le support des wildcards, mais ça je suppose que tu peux t'en passer si tu poses cette question).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Je sais pas si ce que tu demande c'est sa mais a priori sa marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    QStringList *liste = new QStringList;
    liste->append("chemin");
    liste->append("chemin");
    liste->append("...");

  6. #6
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Salut,

    QDir passe par FindFirstFile & co. A part le très léger overhead dû au wrapper que sont QDir et QDirIterator, je ne vois pas trop comment tu pourrais aller plus vite que l'api Win32 recommandée pour le parcours de répertoire (et en plus tu y perds le support des wildcards, mais ça je suppose que tu peux t'en passer si tu poses cette question).
    Je n'ai pas compris l'histoire des wildcards. Puisque qu'on ne peux pas être plus efficace que l'api Win32, la perte de temps doit se situer au niveau de mon algo.

    Citation Envoyé par Mawine Voir le message
    Je sais pas si ce que tu demande c'est sa mais a priori sa marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    QStringList *liste = new QStringList;
    liste->append("chemin");
    liste->append("chemin");
    liste->append("...");
    Encore une fois mon programme fonctionne parfaitement le problème vient juste de l'optimisation. Merci quand même.

    Après avoir vérifié le programme a listé les répertoires de mon disque de 120 Go en 3 sec, donc en fait je pense que QDir est efficace.

  7. #7
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par Nykoo Voir le message
    Je n'ai pas compris l'histoire des wildcards. Puisque qu'on ne peux pas être plus efficace que l'api Win32, la perte de temps doit se situer au niveau de mon algo.
    Bah si tu voulais lire les records MFT, tu aurais dû ajouter le support des wildcard toi même si tu en avais le besoin ; c'est pas inclus la dedans, c'est du bonus des api.

Discussions similaires

  1. [XL-2010] Copier une partie des répertoires et fichiers d'un dossier
    Par HERVE57 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/01/2012, 19h56
  2. [MySQL] Sécuriser le listage des répertoires
    Par Alcius dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/02/2010, 20h04
  3. [ZF 1.8] Manipuler des répertoires et fichiers
    Par guiyomh dans le forum Autres composants
    Réponses: 2
    Dernier message: 30/07/2009, 16h51
  4. Comment créer des répertoires et fichiers.
    Par killysui dans le forum ASP.NET
    Réponses: 4
    Dernier message: 11/06/2008, 19h54
  5. récupérer des nom de fichiers en utilisant *.ext
    Par drinkmilk dans le forum ASP
    Réponses: 11
    Dernier message: 15/12/2004, 09h21

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