Je souhaiterais vérifier la validité d'un chemin (style "E:\Toto\bin\services" ) avec une classe MFC sous Visual C++.
Merci
Publicité
Posté le 27-02-2001 à 10:49:50
seblamb
Posté le 27-02-2001 à 11:55:01
Pour ça il y a une fonction win32 : PathFileExists
En fait ça fait partie d'un groupe d'une cinquantaine de fonctions sur les chemins.
Faut pas oublier d'inclure Shlwapi.h et Shlwapi.lib dans le projet.
el goano
Posté le 27-02-2001 à 12:03:15
Merci de ta réponse, j'essaye de ce pas. Mais y a t-il une classe MFC qui fait ça ? Ou une ruse avec les méthodes de la classe CFile ?
el goano
Posté le 27-02-2001 à 12:20:12
Je n'ai pas cette librairie et je suis obligé d'utiliser les MFC !
J'ai trouvé une solution qui ne me satisfait pas :
J'essaye de créer un fichier dans le répertoire, s'il me jette c'est que le répertoire est incorrect, sinon je supprime le fichier créé, mais c'est super cradingue !
Toxin
Carpe ★★ Vitam
Posté le 27-02-2001 à 12:33:36
Surtout que le répertoire peut très bien ne pas exister et que tu n'as pas les droits sur cet espace (WinNT). C'est effectivement une méthode à proscrire.
---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
el goano
Posté le 27-02-2001 à 12:42:44
En attendant, j'ai rien trouvé de mieux, mais je suis ouvert à toutes propositions.
seblamb
Posté le 27-02-2001 à 15:13:57
Pour la librairie il suffit de la créer à partir de la dll : Shlwapi.dll qui ce trouve dans le rep system.
Autrement CFile revoies une exception ( du typr CFileException ) si le fichier ne peut pas être créé qui décrit l'erreur de creation.
Remarque :c'est pas le role de la classe CFile de tester la validité d'un chemin, cette classe est prévue pour écrire et lire sur des fichiers.
Enfin les MFC ne permettent pas de tout faire, elle sont simplement là pour simplifier l'utlisation des API Win32 qu'elles utlisent. Donc si tu ne veut utliser que les MFC tu va te trouver très limité.
el goano
Posté le 27-02-2001 à 15:22:01
je n'ai pas de Shlwapi.dll sur mon poste.
seblamb
Posté le 27-02-2001 à 15:31:38
Tu as quoi comme version de Visual ?
Toxin
Carpe ★★ Vitam
Posté le 27-02-2001 à 15:32:49
Ben tu te prends par la main et tu fais ça en C alors. Avec les DIR * et opendir() et readdir().
---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Publicité
Posté le 27-02-2001 à 15:32:49
seblamb
Posté le 27-02-2001 à 15:37:14
Je viens de vérifier, pour que cette dll soit présente il faut que soit installé IE4 ou sup sur la machine
el goano
Posté le 27-02-2001 à 15:41:47
J'ai :
Win NT 4.0,
IE5,
Visual 5.
el goano
Posté le 28-02-2001 à 11:41:27
Pour la petite histoire, et pour ceux que ça intéresse, je m'en suis sorti plus "proprement" en utilisant GetCurrentDirectory et SetCurrentDirectory.