PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Mettre des " dans la ligne de commande lanceappli
Mettre des " dans la ligne de commande lanceappli
Iniciado por Fred2355, 04,jun. 2020 21:31 - 3 respuestas
Miembro registrado
236 mensajes
Publicado el 04,junio 2020 - 21:31
Bonsoir,

Dans mon projet je dois faire appel a une application amie.
Cette application amie peut être lancée avec des commandes complémentaires du type:

application_amie.exe /R directory\file.txt

/R informe application_amie.exe de l’existence d'un fichier à traiter dans le répertoire considéré.

directory\file.txt peut être de la forme c:\program files (x86)\application\fichiers à traiter\mon fichier.txt

Dans la phrase c:\program files (x86)\application\fichiers à traiter\mon fichier.txt il y a 5 [espaces]
Mon souci est que application_amie ne peut prendre en compte les [espaces] que s'il sont entre guillemets comme suit:
application_amie.exe /R c:\program" "files" "(x86)\application\fichiers" "à" "traiter\mon" "fichier.txt

Donc ma phrase complete normale serait
LanceAppli("application_amie.exe /R c:\program files (x86)\application\fichiers à traiter\mon fichier.txt")
Mais puisque application_amie.exe a besoin des [espaces] entre guillemets, je serais sensé écrire la phrase suivante:
LanceAppli("application_amie.exe /R c:\program" "files" "(x86)\application\fichiers" "à" "traiter\mon" "fichier.txt")

Et là ça pose problème.

Comment dois je faire pour que tout les " soient pris en compte par lanceappli sans que ça plante.

Merci pour votre aide
Publicado el 04,junio 2020 - 23:31
vieux problème traité plein de fois dans ce forum... la zone de recherche sert à ca...

je résume les différentes solutions :
1. doubler les quotes la ou il faut
2. faire un chaineconstruit d'un messtraduit (qui lui peut contenir les quotes)
3. faire un chaineconstruit en utilisant la syntaxe de chaine multilignes [] qui peut aussi contenir les quotes
4. utiliser caract(34) pour ajouter les quotes la ou il faut

Pour les détails, chercher dans ce forum
Miembro registrado
4.362 mensajes
Publicado el 05,junio 2020 - 07:23
Bonjour,
Il suffit même de lire la doc : https://doc.pcsoft.fr/fr-fr/?3035006. C'est dans les exemples

--
Il y a peut être plus simple, mais, ça tourne
Publicado el 05,junio 2020 - 09:31
Fred2355 avait énoncé :
Bonsoir,

Dans mon projet je dois faire appel a une application amie.
Cette application amie peut être lancée avec des commandes complémentaires du
type:

application_amie.exe /R directory\file.txt

/R informe application_amie.exe de l’existence d'un fichier à traiter dans le
répertoire considéré.

directory\file.txt peut être de la forme c:\program files
(x86)\application\fichiers à traiter\mon fichier.txt

Dans la phrase c:\program files (x86)\application\fichiers à traiter\mon
fichier.txt il y a 5 [espaces]
Mon souci est que application_amie ne peut prendre en compte les [espaces]
que s'il sont entre guillemets comme suit:
application_amie.exe /R c:\program" "files" "(x86)\application\fichiers" "à"
"traiter\mon" "fichier.txt

Donc ma phrase complete normale serait
LanceAppli("application_amie.exe /R c:\program files
(x86)\application\fichiers à traiter\mon fichier.txt")
Mais puisque application_amie.exe a besoin des [espaces] entre guillemets,
je serais sensé écrire la phrase suivante:
LanceAppli("application_amie.exe /R c:\program" "files"
"(x86)\application\fichiers" "à" "traiter\mon" "fichier.txt")

Et là ça pose problème.

Comment dois je faire pour que tout les " soient pris en compte par
lanceappli sans que ça plante.

Merci pour votre aide


bonjour,

exemple :

sMonSeparateur est chaine = caract(34)" "+caract(34)
sLigneCommande est chaine = "c:\program
files"+sMonSeparateur+"(x86)\application\fichiers"+sMonSeparateur+"à"+sMonSeparateur+"traiter\mon"+sMonSeparateur+"fichier.txt"

--
Cordialement JeAn-PhI