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 :

Problème de création de fichier

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut Problème de création de fichier
    Bonjour,

    Je travaille sur un projet informatique et dans celui-ci, je dois créer un programme qui permet de créer, éditer, sauvegarder et supprimer des fichiers.xml

    Je bloque actuellement sur la création.


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    void ihm_tapis::on_Creer_clicked()
    {
     bool ok = false;
        QString NomFichier = QInputDialog::getText(this, "Creer", "Entrez le nom du fichier a  creer (avec le .xml)", QLineEdit::Normal, QString(), &ok);
        QFile file (NomFichier);
    
          if (ok && !NomFichier.isEmpty())
          {
              if( !file.exists() )
              {
    
                     QMessageBox::information(this, "Creer", "Echec creation");
              }
    
              else
              {
                  QMessageBox::information(this, "Creer", "Fichier " + NomFichier + " cree ");
              }
    
              file.close();
              ihm_tapis fp;
              close();
              fp.exec();
          }
    
    
          else
          {
              QMessageBox::critical(this, "Creer", "Annulation");
              ihm_tapis fp;
              close();
              fp.exec();
          }
    }
    Quand je rentre un nom de fichier (text.xml par exemple), je me retrouve avec le message "Echec création". Je suppose qu'il y a une erreur quelque part mais je n'arrive pas à voir où. La compilation se passe très bien.

    En vous remerciant

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Hello

    je te conseil de regarder du côté de QFileDialog (http://qt.developpez.com/doc/latest/qfiledialog.html) ça va t'aider (regarde pas les exemples sinon c'est trop simple :p).

    bonne chance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut
    Hello Knives07.

    Merci de ta réponse mais ma galère n'a pas réellement changé. Je vais t'avoué que je rame complet en anglais.

    Je pense que le problème vient de
    QFile file (NomFichier);
    (d'où ton lien) mais j'ai l'impression qu'il ne prend pas le "NomFichier"

    Si t'as une piste légèrement plus précise, je devrais réussir à me démerder.

    Merci ^^

  4. #4
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    A aucun moment tu n'ouvres ton fichier, si tu regardes dans l'exemple, on crée l'objet avec le nom de fichier puis on appelle la fonction open avec le mode voulu (lecture, écriture...) :
    http://qt.developpez.com/doc/4.7/qfile/#details

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Hello

    Je pense que tu interprète mal le file.exist (http://qt.developpez.com/doc/latest/qfile/#exists-2) en gros ca retourne vrai si le fichier spécifier existe et si tu entre le nom d'un fichier qui n'existe pas ca va retourner faux.

    pour créer c'est plustot avec open

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (!file->open(QIODevice::WriteOnly | QIODevice::Text))
                {
                    QMessageBox::critical(0, "Erreur", QString("Erreur à l'ouverture du fichier " + filename));
                }
    après cette méthode (avec ces paramètres) écrasera le fichier existant.

    j'espère que cela va t'aidé

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Par défaut
    Yop,

    désolé du temps de réponse.

    Merci Knives07 pour le bout de code. Il marche, ça m'affiche bien le message de création mais niveau création en soi, niet.

    Je vais aller chercher de mon coté voir si je trouve quelque chose

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Hello

    Alors je suis pas sûr a 100% mais je crois que tu ouvrir un flux pour que le fichier ce créer "physiquement" avec par exemple QTextStream et il faut bien faire un fichier.close() à la fin

    Bonne suite

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 26
    Par défaut
    Citation Envoyé par mika84 Voir le message
    Yop,

    désolé du temps de réponse.

    Merci Knives07 pour le bout de code. Il marche, ça m'affiche bien le message de création mais niveau création en soi, niet.

    Je vais aller chercher de mon coté voir si je trouve quelque chose
    avec Qsettings pour que le fichier soit effectivement créer il faut écrie quelque chose dedans (quitte a le supprimer après) c'est peut être le même problème ici.

Discussions similaires

  1. Problème de création de fichier XML
    Par TheReturnOfMuton dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/12/2007, 13h56
  2. Problème de création de fichier
    Par Frenchguy dans le forum VBA Access
    Réponses: 5
    Dernier message: 15/05/2007, 15h57
  3. Petit problème de création de fichier
    Par cajie dans le forum Ada
    Réponses: 2
    Dernier message: 29/12/2006, 11h32
  4. Problème de création de fichier
    Par dani22 dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2006, 17h50
  5. [Delphi 2005] Débutant avec problème de création de fichier
    Par Patcdc dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/06/2005, 18h41

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