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

Discussion :

Récupérer la liste des dossiers d'un répertoire

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut Récupérer la liste des dossiers d'un répertoire
    Bonjour,

    je souhaite récupérer la liste des dossiers d'un répertoire depuis une appli c++. Pour cela, j'ai pensé utiliser un QProcess. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    QString l_command = "cmd /K dir /OD /TW /AD " + l_path.replace( "/" , "\\" ) ;
    QProcess l_process;
    l_process.start(l_command);
    Quand je tape cette ligne de commande dans "Démarrer/Exécuter", j'obtiens bien la liste voulue. Depuis mon code, par contre, je n'ai pas l'impression que ça fonctionne...

    J'ai donc deux questions :
    - Pourquoi, ça ne fonctionne pas ?
    - Ce que je souhaite au final, c'est lire le flux de sortie et je me demande si QProcess est alors adapté. Je sais qu'il l'est quand il s'agit de lancer un exécutable mais en ce qui concerne les commandes MSDOS ...

    Merci pour vos réponses.

    Madeline

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut
    En me balladant un peu plus sur le net, j'ai vu que l'utilisation de Qdir était mieux adapté à mon problème de liste de répertoires.

  3. #3
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Je suis d'accord avec toi regarde du cote de la méthode QDir::entryInfoList().
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035

  5. #5
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut

    Oui Yan a raison c'est QDir::entryList() que tu dois regarder et non QDir::entryInfoList(). Désolé
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par superjaja Voir le message
    Oui Yan a raison c'est QDir::entryList() que tu dois regarder et non QDir::entryInfoList(). Désolé
    c'était pas en réponse a toi ta posté pendant que j' écrivait.
    Ta méthode est tout aussi bonne (c'est pas comme çi j'avais copié ta QR pour répondre)
    Tout dépend des informations voulue

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 49
    Par défaut
    Oui merci ! J'ai pu faire ce que je voulais ! Et en très peu de lignes en plus !
    Je mets le code pour ceux qui auraient éventuellement le même besoin à l'avenir et tomberaient sur cette discussion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    QStringList AmpBuilderHelpers::getDirectoriesOrderedByDate(const QString& p_path)
    {
    	QDir l_path(p_path);
    	l_path.setFilter(QDir::AllDirs); // On ne récupère que les dossiers
    	l_path.setSorting(QDir::Time); // On trie les données par date : du plus récent au plus ancien
    	return l_path.entryList();
    }
    J'ai une autre question maintenant ! Mais je vais créer une nouvelle discussion pour ça...

    Madeline

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

Discussions similaires

  1. récupérer la listes des dossiers de mon pc
    Par agnaou dans le forum ASP.NET
    Réponses: 10
    Dernier message: 19/07/2009, 20h40
  2. Récupérer la liste des fichiers d'un dossier donné
    Par Narann dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 16/02/2009, 18h13
  3. Liste des dossier répertoire
    Par cjacquel dans le forum MFC
    Réponses: 2
    Dernier message: 26/11/2007, 14h34
  4. Réponses: 4
    Dernier message: 04/01/2007, 19h30
  5. Récupérer la liste des répertoires d'un répertoire
    Par oursblanc dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2005, 14h36

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