Paramètres en mode console

Programmation d'applications complexes
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Paramètres en mode console

Message par LeCyb »

J'essaye de récupérer un paramètre en mode console, ce paramètre c'est une chaîne de caractères.
J'ai trouvé comment avoir les espace en placant le paramètre entre guillemets mais le soucis c'est que j'arrive pas à passer le caractère guillemet comme paramètre.

Exemple:

abcd 123
C:\test.exe "abcd 123"

abcd "/:123
C:\test.exe "abcd "/:123"
Ca récupère abcd+espace et /:123"

Moi je voudrais récupérer abcd "/:123 en un seul coup en sachant que je n'ai pas forcément d'espaces ou de guillemets.
Je pense que c'est le command prompt qui fait ce truc donc si qqun a une astuce je suis prenneur :).
Vive le thread-safe !
Avatar de l’utilisateur
Crystal Noir
Messages : 892
Inscription : mar. 27/janv./2004 10:07

Message par Crystal Noir »

Je n'ai pas testé mais tu peux essayer la lib suivante :
http://www.purearea.net/pb/download/use ... ary_v1.zip

Cette lib permet de coder en mode console avec des options supplémentaires.
AWEAR
Messages : 264
Inscription : ven. 28/oct./2005 8:20
Localisation : Mayotte ( 976 ), Océan Indien, France

Message par AWEAR »

Il faut remplacer le guillemet de la chaine par chr(34) : "abcd " + chr(34) + "/:123"
Dernière modification par AWEAR le dim. 08/janv./2006 17:22, modifié 1 fois.
La vie est une rose dont il faut accepter les épines, mais la mienne est fannée, arrosée par le goût de mes larmes. (Soprano)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

T sûr ????
Ca me parait farfelu...
Sauf si la conversion est faite "manuellement" lors de la récupération des données..
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Peut-être avec l'api GetCommandLine, qui te renvoie sur la ligne de commande telle quelle, à toi ensuite de la découper:

Code : Tout sélectionner

param$ = PeekS(GetCommandLine_())
Debug param$
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
LeCyb
Messages : 273
Inscription : dim. 26/déc./2004 20:49

Message par LeCyb »

Merci pour les infos je vais tester tout ça :D
Vive le thread-safe !
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

Je confirme juste ce qu'à dit AWEAR


Procedure AutoDeleteProg() ; Supprime le programme
ExeName.s = Space (255) : GetModuleFileName_ (0, @ExeName, 255) ; Recherche l'adresse du programme
cmd$ = Space (255) : GetEnvironmentVariable_ ( "comspec" , @cmd$, 255) ; Recherche le programme de commande (command.exe ou cmd.exe)
RunProgram (cmd$, "/c del.exe /F " + Chr (34) + ExeName + Chr (34), GetPathPart (ExeName), 2) : End ; Lance la suppression en mode forcé et caché
EndProcedure
Répondre