PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Mettre des " dans la ligne de commande lanceappli
Mettre des " dans la ligne de commande lanceappli
Débuté par Fred2355, 04 juin 2020 21:31 - 3 réponses
Membre enregistré
236 messages
Posté le 04 juin 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
Posté le 04 juin 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
Membre enregistré
4 361 messages
Posté le 05 juin 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
Posté le 05 juin 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