Page 1 sur 1

Paramètres en mode console

Publié : dim. 08/janv./2006 0:17
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 :).

Publié : dim. 08/janv./2006 11:28
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.

Publié : dim. 08/janv./2006 13:07
par AWEAR
Il faut remplacer le guillemet de la chaine par chr(34) : "abcd " + chr(34) + "/:123"

Publié : dim. 08/janv./2006 13:21
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..

Publié : dim. 08/janv./2006 15:32
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$

Publié : dim. 08/janv./2006 17:19
par LeCyb
Merci pour les infos je vais tester tout ça :D

Publié : lun. 09/janv./2006 12:26
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