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 :

Permissions sur un répertoire

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2023
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Developpeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 41
    Points : 34
    Points
    34
    Par défaut Permissions sur un répertoire
    Bonjour à tous !

    Je souhaite tester la possibilité d'écrire dans un répertoire avec Qt.
    Pour connaître les droits en écriture sur un fichier existant c'est facile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QFileInfo("PathFile").isWritable()
    Mais si le fichier n'existe pas, ça ne fonctionne pas, il faut tester les droits en écriture dans le répertoire.
    Or pour un répertoire je n'ai rien trouvé d'aussi simple.
    Voici ce que j'ai trouvé et qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        QDir d(s); // 's' est le path vers un fichier du répertoire à tester, disons '/home/sylvain/Documents/toto.txt'
        d.cdUp();  // 'd' pointe maintenant sur '/home/sylvain/Documents/'
        QStringList dirName;
        dirName << d.dirName();  // 'Documents' est placé dans 'dirName'
        d.cdUp(); // 'd' pointe maintenant sur '/home/sylvain/'
        QFileInfoList l = d.entryInfoList(dirName); // 'l.at(0)' contient un QFileInfo sur '/home/sylvain/Documents/'
        if (!l.at(0).isWritable()){ // Enfin, test des droits en écriture sur '/home/sylvain/Documents/'
            erreur_ecriture = tr("Ce répertoire est protégé en écriture");
            return false;
        }
    C'est bien lourd...
    Il y a un autre moyen ?

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Developpeur amateur
    Inscrit en
    Juillet 2023
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Developpeur amateur

    Informations forums :
    Inscription : Juillet 2023
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Bon, rassurez-vous, je n'ai pas passé un mois et demi la-dessus.
    Il semblerait que ceci fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     QFileInfo fi(QFileInfo(s).path());
        if (!fi.isWritable()){
            erreur_ecriture = tr("Ce répertoire est protégé en écriture");
            return false;
        }

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

Discussions similaires

  1. Permission sur des commandes
    Par glmrenard dans le forum Administration
    Réponses: 8
    Dernier message: 26/02/2007, 16h06
  2. [Répertoire] permissions sur les dossiers crée
    Par kespy13 dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2006, 14h59
  3. Permissions sur un fichier
    Par p_ping dans le forum Général Python
    Réponses: 3
    Dernier message: 28/02/2006, 17h10
  4. [C#] Acces / Permissions sur un fichier ?
    Par pikifou dans le forum Windows Forms
    Réponses: 4
    Dernier message: 11/04/2005, 12h15
  5. Permission sur un dossier
    Par Bjorn dans le forum C
    Réponses: 6
    Dernier message: 25/06/2002, 13h56

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