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

MFC Discussion :

Probleme d'utilisation CFileDialog


Sujet :

MFC

  1. #1
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut Probleme d'utilisation CFileDialog
    Bonjour,

    je cherche a utiliser CFileDialog pour ouvrir ou sauvegarder un fichier.
    Mes 2 operations de sauvegarde et d'ouverture de fichier marchent tres bien lorsque je specifie a la main le nom du fichier mais cela ne marche plus des que j'essaye d'utiliser FileOpenDialog.
    Je dois mal recuperer le nom de mon fichier ou mal utiliser ces outils...

    Sauvegarde dans le dossier "files" a la racine des fichiers sources du projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    CFileDialog FileOpenDialog( FALSE, "xml", NULL, OFN_HIDEREADONLY, "Fichiers (*.xml)|*.xml||" );
    	if(FileOpenDialog.DoModal()==IDOK)
    	{
    		CString file_name = FileOpenDialog.GetFileName();
                    file.open ("files/" + file_name,ios::out);
                    // ...
                    file.close();
            }
    Ouverture du document :
    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
     
    CString OpenFilter;
    	OpenFilter = "Text File (*.xml)|*.xml||";
     
    	CFileDialog FileOpenDialog(
    		TRUE,
    		NULL,
    		NULL,
    		OFN_FILEMUSTEXIST|OFN_HIDEREADONLY|OFN_PATHMUSTEXIST,
    		OpenFilter,                       // filter
    		AfxGetMainWnd());               // the parent window 
    	if(FileOpenDialog.DoModal()==IDOK)
    	{
    		CFile File;
    		VERIFY(File.Open(FileOpenDialog.GetPathName(),CFile::modeRead));
    		CString file_name = File.GetFileName();
                    // ...
            }
    }
    J'ai tente de mettre en oeuvre le code propose dans la FAQ mais je crois qu'il me manque quelque chose...

    Merci.

  2. #2
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    Personne n'a une petite idee ?

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu as essayé de debugger ton code en inspectant les données?
    que contient file_name ?

  4. #4
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    Oui bien-sur j'ai regarde et le file_name contient le nom entre par l'utilisateur dans la boite de dialogue, par exemple "test.xml" auquel j'ajoute devant le repertoire "files/".
    Quand je rentre a la main "files/test.xml" cela fonctionne...

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    Citation Envoyé par kitsune Voir le message
    Oui bien-sur j'ai regarde et le file_name contient le nom entre par l'utilisateur dans la boite de dialogue, par exemple "test.xml" auquel j'ajoute devant le repertoire "files/".
    Quand je rentre a la main "files/test.xml" cela fonctionne...
    pourquoi ajouter ? GetPathName() renvoie le chemin complet du fichier
    je ne comprends pas ton problème .

  6. #6
    Membre éclairé Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Par défaut
    Vu comme ca ok...
    C'est que quand je voulais tester l'enregistrement et entrait le path moi-meme avec "files/test.xml" cela marchait mais apparemment la il lui faut le path complet.

    Pour l'ouverture par contre ca ne marche toujours pas...
    Pourtant cette fois il recoit bien le path complet.

    Merci.

    EDIT:
    Quand j'enleve cette ligne ca marche Oo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VERIFY(File.Open(FileOpenDialog.GetPathName(),CFile::modeRead));

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/01/2007, 21h51
  2. Probleme d utilisation de template dans le cpp
    Par Math75 dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2005, 16h26
  3. [Système][Environnement] Problème d'utilisation?!?
    Par waldo2188 dans le forum Général Java
    Réponses: 5
    Dernier message: 23/03/2005, 17h18
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33
  5. [Debutant] probleme pour utiliser les classes d'un .jar
    Par pissek dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 12/05/2004, 18h21

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