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.