Acces fichier (Chemin relatif) [Résolu]

morganroux
Messages postés
10
Date d'inscription
lundi 14 juin 2004
Dernière intervention
23 février 2006
- 17 févr. 2006 à 14:54 - Dernière réponse : morganroux
Messages postés
10
Date d'inscription
lundi 14 juin 2004
Dernière intervention
23 février 2006
- 20 févr. 2006 à 09:58
Bonjour à tous,
Je suis en train de développer une appli sous Visual C++.Net 2003. Elle ce présente sous forme d'une boite de dialogue MFC.

J'ai un problème pour acceder à un fichier:
J'ai une fonction qui utilise CFile m_File.Open(Chemin,CFile::ModeRead,NULL);

Le fichier que j'ai à lire ce trouve au même endroit que le .exe de mon appli.
Pour le chemin j'ai donc mis "./Fichier.csv"
Jusque la tout va bien.

Plus loin j'utilise une boite de dialogue pour aller chercher un autre fichier.

Le problème que j'ai c'est que quand je fais appel à cette fonction après avoir ouvert une boite de dialogue, ma fonction ne trouve plus le fichier avec le chemin "./Fichier.csv"

Je ne peux pas utiliser de chemin absolu car je veux que mon appli soit portable d'une machine à l'autre.

Merci d'avance de m'aider. J'espère à très vite ;-)
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 17 févr. 2006 à 20:15
3
Merci
Ajouter le flag OFN_NOCHANGEDIR à ton sélecteur de fichier.

Il faudrait aussi assurer ta currentDirectory au lancement de ton prog, ne jamais oublier qu'il pourrait ne pas pointer sur le dossier de l'exe (modif du raccourci lanceur par exemple).
Pour cela appelle ceci direct au lancement de ton prog avant d'afficher quoi que ce soit:

void __stdcall AppPathInitialize()
{
char szthis[300];
char* c = szthis + ::GetModuleFileName(0, szthis, 300); while(*c !'\\') c--; *c 0;
::SetCurrentDirectory(szthis);
}

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++

Merci BruNews 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de BruNews
morganroux
Messages postés
10
Date d'inscription
lundi 14 juin 2004
Dernière intervention
23 février 2006
- 17 févr. 2006 à 20:29
0
Merci
Merci de ta réponse je vais essayer ca lundi.
Commenter la réponse de morganroux
morganroux
Messages postés
10
Date d'inscription
lundi 14 juin 2004
Dernière intervention
23 février 2006
- 20 févr. 2006 à 09:58
0
Merci
Super Merci ca marche très bien !!!
Commenter la réponse de morganroux

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.