Chemin avec espace [Résolu]

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

Votre réponse

7 réponses

Meilleure réponse
ni69
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 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é 94 internautes ce mois-ci

Commenter la réponse de ni69
ThWilliam
Messages postés
424
Date d'inscription
mardi 3 janvier 2006
Dernière intervention
26 novembre 2013
- 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
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 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
Messages postés
647
Date d'inscription
mardi 22 avril 2003
Dernière intervention
9 janvier 2017
- 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
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- 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
Messages postés
1799
Date d'inscription
vendredi 27 décembre 2002
Dernière intervention
19 juillet 2018
- 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
Messages postés
647
Date d'inscription
mardi 22 avril 2003
Dernière intervention
9 janvier 2017
- 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.