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 :

Impossible d'ouvrir un fichier par QFile

  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Impossible d'ouvrir un fichier par QFile
    Salut
    voila je developpe avec qt et j'ai besoin d'ouvrir un fichier mais c'est impossible voici mon code:
    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
     
    QFile file;
           file.setFileName("jquery.js");
           file.open(QIODevice::ReadOnly);
      QString     jQuery = file.readAll();
     
     
     
    view()->page()->mainFrame()->evaluateJavaScript("$(function() {$('[hidden]').hide(); });");
     
    if(!file.open(QIODevice::ReadOnly)){
        QMessageBox::critical(this, "Erreur a l'ouverture", "Impossible d'ouvrir le fichier en lecture.");
    }
     
    file.close();
    LE MESSAGE S'AFFICHE TOUJOURS DONC Y'A UN PROBLÈME.
    aidez moi SVP

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 626
    Points : 30 684
    Points
    30 684
    Par défaut
    Salut,

    Es tu, tout simplement, sur que le fichier en question (jquery.js) existe bel et bien et que le chemin d'accès vers ce fichier est correct
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 627
    Points : 43 608
    Points
    43 608
    Par défaut prob qfile
    pas sûr que ça vienne de QFile mais peut-être de ton fichier. Si tu l'ouvres avec les fonctions Posix ça fonctionne ?

    Tu ne donnes pas de chemin, ne serais-ce pas la source du prob. ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    non pas de probleme de fichier voici comment mon projet est organisé:
    -E:\QtSdk\Explora-build-desktop:
    -jquery.js
    Je compile en mode release

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Si je ne m'abuse, tu essaies de l'ouvrir deux fois à la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    file.open(QIODevice::ReadOnly); 
    if(!file.open(QIODevice::ReadOnly)){

  6. #6
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    meme avant que je mets le if sa ne marchait pas

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 626
    Points : 30 684
    Points
    30 684
    Par défaut
    Essayes un peu de placer le fichier jquery.js dans le dossier dans lequel se trouve ton executable (typiquement dans build/Release )

    Si le fichier existe mais que ton application ne sait pas l'ouvrir, c'est sans doute suite à un problème de chemin d'accès
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Tu peux tester file.exists() dès le début, déjà si ça renvoie false ce n'est pas la peine de continuer.

    Toujours le même genre de problème, là tu fais un chemin relatif au répertoire courant (ça fonctionne seulement si tu lances l'exécutable en te plaçant dans son répertoire). Il vaut mieux faire un chemin relatif au répertoire de l'exécutable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QFile file (QApplication::applicationDirPath() + "/jquery.js");

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 29
    Points : 41
    Points
    41
    Par défaut
    Personnellement je passe par les flux pour lire / écrire dans un fichier. Je trouve beaucoup plus pratique.

    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
    #include <QFile>
    #include <QTextStream>
    #include <QMessageBox>
     
    void MaFonctionLecture()
    {
        // Sélection du fichier en question.
        QFile Fichier("MonFichier.js");
        // Ouverture du fichier en lecture seule et en indiquant que le contenus et du texte.
        Fichier.open(QIODevice::Text | QIODevice::ReadOnly);
     
        // Si le fichier est correctement ouvert.
        if(Fichier.isOpen())
        {
             // Initialisation d'un accès direct au fichier par un Flux.
             QTextStream Flux(&Fichier);
             // Lecture du fichier au complet. Utiliser readLine() pour lire uniquement une ligne a la fois.
             QString Contenu = Flux.readAll();
     
             // Tes opérations sur le contenus du fichier.
        }   
        else    // Sinon un message d'avertissement comme quoi le fichier n'a pas été correctement ouvert est affiché.
            QMessageBox::warning(this, tr("Attention"), tr("Le fichier n'a pas été correctement ouvert"));
    }
    Je ne sais pas sur quel OS tu est mais lors de mon développement sous Windows (Windows 7 - 32 Bits) les fichiers que je voulais ouvrir dans mon application a partir du moment ou ils étaient dans le dossier source il étaient trouvés. Mais quand je suis passé sur Linux (Ubuntu 12.10 - 32 Bits) pour peaufiné le portage il a fallut que je déplace les fichiers en question dans les répertoires de compilations (Debug | Release) pour que les fichiers soient trouvé.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    je panse que file.open bug car si je fais file.exists() sa retourne un true donc je vais l'ouvrire en utilisant du c++ "pure" a l'aide fstream,mais je ne sais pas comment mettre le contenu dans un string
    Edit:sa marche en l'ouvrant en c++"pure" mais reste a mettre le contenu dans un string

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2008, 21h19
  2. ouvrire des fichiers par un boucle for
    Par stiko dans le forum C++
    Réponses: 5
    Dernier message: 08/07/2006, 15h14
  3. impossible d'ouvrir le fichier
    Par michel71 dans le forum Langage
    Réponses: 8
    Dernier message: 05/05/2006, 11h20
  4. ouvrir un fichier par chemin unc
    Par MrEddy dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 11/01/2006, 10h45
  5. IE : impossible d'ouvrir un fichier
    Par alexixlebaulois dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 23/12/2005, 11h08

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