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 :

QSettings (repertoire Windows)


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 72
    Par défaut QSettings (repertoire Windows)
    Bonjour à toute la communauté,

    depuis un certain temps, je rencontre un problème dont je n'ai pas pu trouver des solutions sur les posts d'autres membres du club.
    En effet, je cherche à créer un fichier ".ini" via un QSettings dans le repertoire de Windows.
    Pour cela, je procède comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    QSettings settings("C:/Windows/configDatei.ini", QSettings::IniFormat);
    malheuresement, le fichier n'est pas du tout crée. Si par contre je ne precise pas de chemin absolut, c-a-d

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QSettings settings("configDatei.ini", QSettings::IniFormat);
    alors le fichier est bel et bien crée pourtant je veux que cela se fasse dans le repertoire Windows.

    Y aurait-il peut être une autre facon de procéder ?
    Je vous remercie d'avance.

  2. #2
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    Je ne développe pas sous Windows mais la question se pose peut-être : as tu les droits d'écriture sur ce dossier système?

    Ne faut-il pas de "\" plutôt que des "/" (avec le caractère d'échappement : "\\")?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Salut,

    tu peux déplacer le répertoire courant avec la méthode statique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QDir::setCurrent(QString monChemin);
    Puis tu cree ton fichier, puis tu reviens dans ton repertoire precedent.

    Sinon ta méthode doit être bonne, mais essaie peut être avec des \ au lieu des / .

    G.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 72
    Par défaut
    Merci pour vos suggestions.
    dès que j'essaye tout ca ce soir, je vous tiens informé.
    @@@@++++

  5. #5
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 72
    Par défaut
    Je viens d'essayer toutes vos propositions, mais aucune ne marche.
    Pour cette raison, j'ai donc décider d'enrégistrer mon fichier d'initialisation dans le repertoire temporaire "temp".
    pour cela je procède ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QString path = QDir::tempPath() + "/configFile.ini" ;
    QSettings settings(path, QSettings::IniFormat);
    et cela marche très bien. Par contre, si j'effectue

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QSettings settings("C:/Users/Admin/AppData/Local/Temp/configFile.ini", QSettings::IniFormat);
    // le premier paramètre est le chemin du repertoire temporaire sur mon poste de travail
    alors plus rien ne marche. Je ne comprends toujours pas quelle est la cause.

    @@@++++

  6. #6
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    Tentes ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QSettings settings("C:\\Users\\Admin\\AppData\\Local\\Temp\\configFile.ini", QSettings::IniFormat);
    Je suppose bien entendu que tu es sûr et certain de ton chemin?

    genre si tu créé un fichier toto.txt dans ce repertoire, la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(QFile::exists(C:\\Users\\Admin\\AppData\\Local\\Temp\\toto.txt))
      qDebug() << "OK !";
    te renvoie en console "OK !"

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Bonjour.

    Je crois que si tu n'écris rien dans ce fameux fichier, alors il ne sera pas créé.
    Essai ce que tu avais fait au début, ajoutes y une section et une clé, et regarde ce que ça donne.

    Logiquement, ça devrait être bon.

    Cordialement,
    PKO

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

Discussions similaires

  1. Programmation : Lier le repertoire windows avec fichier Excel
    Par infocroco dans le forum Windows XP
    Réponses: 3
    Dernier message: 13/04/2012, 17h33
  2. parcourir des repertoires windows en php et js (opendir)
    Par maladev dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/04/2011, 09h59
  3. interdire acces aux repertoires windows
    Par niro75 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/11/2008, 09h58
  4. suppression de repertoire windows
    Par youcef81 dans le forum Windows XP
    Réponses: 3
    Dernier message: 18/08/2006, 18h17
  5. Réponses: 1
    Dernier message: 29/11/2005, 17h06

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