Chemin et accents

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 23 oct. 2007 à 16:46
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 26 oct. 2007 à 15:17
Salut à tous,

J'ai un programme dans lequel je doit accèder à divers fichiers propre à ce programme. Ce programme pouvant etre installé n'importe où sur le disque, les fichiers étant toujours installés dans le même dossier que l'exe, j'utilise les fonctions Application.ExecutablePath et ChangeExt pour accèder à mes fichiers.

Il se trouve qu'un de mes clients utilisateur de ce programme a eu la très bonne idée d'installer ce programme dans une arborescence dont certains dossiers comportent des lettres accentuées.

Et ben, manque de chance, Application.ExecutablePath ne me retourne pas les caractères accentués, il me les remplace par ce cher petit caractère fantome, j'ai nommé le carré blanc. Et évidemment je ne retrouve pas mes fichiers

Comment faire pour dire à cette fonction de me retourner correctement les caractères accentués ?????? Certainement une histoire de culture ou d'encoding mais je trouve pas.

PS : Il est évidement inpensable de renommer les dossiers ou même d'installer le soft ailleurs, sans quoi je ne poserais pas la question.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

6 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 oct. 2007 à 17:17
 Bonjour Casy,

As-tu essayé l'équivalent (vb->vb.Net) de la propriété ShortPath ?

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
23 oct. 2007 à 17:23
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
23 oct. 2007 à 17:33
A voir et à étudier.

Sur mon PC les chemins courts ne marchent pas parce qu'ils ont été désactivés, mais c'est peut-etre une solution.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
neurosupherot Messages postés 81 Date d'inscription jeudi 7 août 2003 Statut Membre Dernière intervention 7 novembre 2007
23 oct. 2007 à 17:49
coucou casy, tu peux peut-être essayer AppDomain.CurrentDomain.BaseDirectory?

ou bien aussi de convertir avec

System.Text.Encoding.Convert


A+ :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
26 oct. 2007 à 13:53
Bonjour,

Je viens de faire un test sur mon pc au travail et en affichant dans un messagebox le retour de la fonction application.executablepath, je vois bien les caractères accentués des dossiers..
Sinon essayes peut-être :


My.Application.Info.DirectoryPath
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
26 oct. 2007 à 15:17
En réalité après quelques essais, je me suis appercu que seule la methode ExecutePath de la classe Application ne prennait pas les accents. Les autres méthodes de la classe relatives aux chemins marchent correctement.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous