Chemin avec espace

Résolu
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017 - 15 juin 2006 à 10:55
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017 - 15 juin 2006 à 16:46
Bonjour,

Un fichier peut être référencé par sont chamin avec des espaces (ex: c:\le chemin du fichir\mon fichier est fichiet.txt )

Avec fileexists ()  la réponse est true.

Par contre en ouvrant ,avec shellexecute, ce même fichier ,avec les éspaces, il n'y arrive pas. ?

Comment être sure qu'avec shellexecute  il soit possible d'ouvrir un ficheir , ou l'executer, même si le chemin est constitué avec une chaîne avec des éspaces et quelque soit windows ?.

yvessimon

7 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
15 juin 2006 à 13:33
Essaye avec un léger changement de paramètres
ShellExecute( 0, nil, PChar('"'+FileName+'"'), nil, nil, SW_SHOW );

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
3
ThWilliam Messages postés 418 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 26 novembre 2013 4
15 juin 2006 à 12:28
Salut yvessimon,

ShellExecute fonctionne parfaitement avec un chemin contenant des espaces, des caractères accentués... (testé avec Delphi 7 sous XP home).
Ton problème doit donc se situer autre part...

Thierry
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
15 juin 2006 à 12:31
Précaution à prendre pour chaque ouverture de fichier dans un programme :
Ajouter des guillements autour du nom du fichier pour assurer la compatibilité avec les noms de fichier longs !!

PS : quelle est ta syntaxe d'exécution de ShellExecute? Parce-que une mauvaise syntaxe pourrait entraîner des erreurs ou des résultats inattendus...

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
15 juin 2006 à 13:27
La syntaxe d'exécution est


shellExecute(handle, 'open',PChar(Cs),nil,nil,sw_show)


Salutations
yvessimon
0

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

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
15 juin 2006 à 13:41
PS : regarde aussi la valeur du message d'erreur de retour de la fonction pour plus de précision sur ton problème...
Plus d'infos sur MSDN

@+
Nico {www.ni69.info}

<hr size="2" width="100%" />
N'oubliez pas de cliquer sur Réponse Acceptée lorsque la réponse vous convient !
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
15 juin 2006 à 16:24
"c:\le chemin du fichir\mon fichier est fichiet.txt"


Bon, chais pas trop pourquoi, moi je sens la fôte de saisie...  as-tu vérifié cette possiblilité ?

Sinon ça devrait marcher, y'a pas de raison.

Bonne prog'
0
yvessimon Messages postés 637 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 9 janvier 2017
15 juin 2006 à 16:46
Effectivement dans l'exemple il faut lire :
"c:\le chemin du fichier\mon fichier est fichier.txt"
C'est pour cela que fileexists() trouve bien le fichier et que mon ShellExecute(....) n'arrive pas au bon résultat.
mais avec les " " tout retre dans l'ordre.

yvessimon
0
Rejoignez-nous