Chemin avec espace [Résolu]

yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 15 juin 2006 à 10:55 - Dernière réponse : yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 15 juin 2006 à 13:33
3
Merci
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 !

Merci ni69 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de ni69
ThWilliam 424 Messages postés mardi 3 janvier 2006Date d'inscription 26 novembre 2013 Dernière intervention - 15 juin 2006 à 12:28
0
Merci
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
Commenter la réponse de ThWilliam
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 15 juin 2006 à 12:31
0
Merci
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 !
Commenter la réponse de ni69
yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 15 juin 2006 à 13:27
0
Merci
La syntaxe d'exécution est


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


Salutations
yvessimon
Commenter la réponse de yvessimon
ni69 1529 Messages postés samedi 12 juin 2004Date d'inscription 5 juillet 2010 Dernière intervention - 15 juin 2006 à 13:41
0
Merci
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 !
Commenter la réponse de ni69
japee 1798 Messages postés vendredi 27 décembre 2002Date d'inscription 1 juillet 2018 Dernière intervention - 15 juin 2006 à 16:24
0
Merci
"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'
Commenter la réponse de japee
yvessimon 647 Messages postés mardi 22 avril 2003Date d'inscription 9 janvier 2017 Dernière intervention - 15 juin 2006 à 16:46
0
Merci
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
Commenter la réponse de yvessimon

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.