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 :

enregistrer fichier sous


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut enregistrer fichier sous
    Bonjour,
    je suis en train de faire une fonction pour enregistrer un fichier, mais elle n'a pas l'air de marcher.
    voici la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    void FenCodeGenere::enregistrer()
    {
     
            QString nomH = nom;
            nomH += ".h";
        QByteArray code= codeGene->toUtf8();
     
     
        QFile fichier(nomH);
     
       QDir::setPath( QFileDialog::getSaveFileName(this));
     
     
         fichier.open(QIODevice::WriteOnly);
     
     
            fichier.write(code);
           if (fichier.exist())
                  QMessageBox::information(this, "R�ussite de sauvegarde", "Vous venez de sauvegarder le code: "
            + nom +  ".h dans le dossier: " + dossier, QMessageBox::Close);
     
    }
    voilà, et la console affiche ça:
    Citation Envoyé par console
    FenCodeGenere.cpp: In member function «void FenCodeGenere::enregistrer()»:
    FenCodeGenere.cpp:90: erreur: cannot call member function «void QDir::setPath(const QString&)» without object
    FenCodeGenere.cpp:99: erreur: «dossier» was not declared in this scope
    make: *** [FenCodeGenere.o] Erreur 1
    Quelqu'un pourrait m'orienter svp...
    merci d'avance

  2. #2
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    La première erreur c'est que setPath n'est pas une fonction statique de QDir. Si je comprends bien le code, je pense que tu veux récupérer le dossier dans lequel enregistrer le ficher et le définir comme répertoire courant. Sauf que dans ce cas il faut utiliser getExistingDirectory() et setCurrent() (qui est statique elle). Ou plus simplement tu ouvres ce que renvoie getExistingDirectory() + nomH.

    La deuxième c'est que la variable dossier n'est pas définie (vu qu'il passe directement dans le setPath)

  3. #3
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    salut, j'ai l'impression que tu ne peux pas utiliser QDir::setPath() sans qu'il soit memebre d'un objet. Si tu regardes ladocumentation de QDir tu verras que la méthode que t'essaies d'appeler ne fait par partie des méthodes statiques.

    Quant à "dossier", ben tu l'as crées nulle part.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    oui en faite j'avais creer la variable dossier, puis j'avais essayer de modifier le setPath, en oubliant d'arranger le code;

    En faite je cherche à enregistrer sous..., mais je ne trouve pas coment faire, personne ne pourrait me mettre sur la piste, svp?

  5. #5
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QString nomFichier = QFileDialog::getSaveFileName(this); //voire d'autres paramètres
    QFile fichier(nomFichier);
    Comme ça, ça doit marcher

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    opss j'avais pas vu ta réponse

  7. #7
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    à une minute d'intervalle ça sent la réponse concurrente.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	QString path;
    	path = QFileDialog::getSaveFileName(this,"choisir le nom du fichier");
    pas sure si y a des erreurs mais ca devrais faire l'affaire

  9. #9
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 34
    Par défaut
    OK super, ça marche, merci à vous deux.

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

Discussions similaires

  1. [XL-2003] Enregistrer fichier sous
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/11/2010, 21h24
  2. Enregistrer fichier sous IE
    Par Nertios dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 04/09/2009, 15h22
  3. code pour enregistré un fichier sous different nom
    Par france38 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/10/2006, 13h31
  4. enregistrer lignes fichier sous condition
    Par makohsarah dans le forum Langage
    Réponses: 1
    Dernier message: 21/08/2006, 15h46
  5. Réponses: 7
    Dernier message: 20/09/2005, 17h47

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