Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt3] QFtp et droits de fichiers

Salut,
pour mon projet de client Ftp (http://scythia.buggynet.org/news.fr.php), j'utilise le signal listInfo(QUrlInfo &i) pour connaitre la liste des fichiers sur le ftp. Seulement les droits des fichiers ne sont pas bon, tout est en lecture seul, alors que j'ai effectivement le droit de les modifier.

Je récupère ces droits avec les fonctions isWritable(), isReadable(), isExecutable() de QUrlInfo. Je me demande donc s'il existe une autre manère de les récupérer afin d'avoir les bon droits de fichiers.

Merci d'avance.

Réponses

  • Du code! Du code!

    Et oui, comment veut tu que l'on puisse t'aider sans?
  • Mettre du code facilement compréhensible va être difficile... Voici déja le code du fichier en entier (relativement compliqué... Il faut passer du temps pour comprendre mes myftp.h et myftp.cpp): http://scythia.buggynet.org/cgi-bin/viewcvs.cgi/scythia/src/myftp.cpp?rev=1.19&content-type=text/vnd.viewcvs-markup

    En gros, la commande list de myftp envoi plein de signal listInfo(QUrlInfo &i)
    J'enregistre chacun de ses QUrlInfo dans une liste chainée (j'ai donc la liste de tout les fichiers). Jusque là, il est inutile de vous préocupé du code, je suis certains que tout fonctionne bien (testé et retesté)

    Ensuite, avec les listes des QUrlInfo sauvegardés, je parcour un par un ces QUrlInfo et les test :
      // Parcourt la liste des fichiers et les affiche un par un
    for (FileList * tmp = lastFile; tmp != NULL; tmp = tmp->before)
    {
    // Droits du fichier
    QString droits = "";
    if (tmp->ui.isReadable ())
    droits = "-lecture-";
    if (tmp->ui.isWritable ())
    droits += "-écriture-";
    if (tmp->ui.isExecutable ())
    droits += "-executable-";
    Le problème intervient ici, la variable droits ne contient à chaque fois que "-lecture-" et non "-lecture--écriture-". Et pourtant mon QFtp est bel et bien logué correctement, avec login et mot de passe correct...
    De plus, je suis sur que tout les fichiers sont passé par la boucle puisque leur affichage se trouve dedans et que tout les fichiers sont affichés.

    Voila, j'espère que mettre bien fait comprendre...
  • De manière général, je ne pense pas avoir fait de bétise dans le code. Je pense que les QUrlInfo passé par listInfo() ne gardent réelement pas les droits. Je cherche donc une autre technique pour les avoirs.
Connectez-vous ou Inscrivez-vous pour répondre.