Page 1 sur 1

[R] Créer l'aide d'un soft en ligne de commande

Posté : lun. 12 juil. 2010 18:01
par arrkhan
Bonjour à tous,

depuis maintenant quelques temps, quand je crée un soft, je me manque jamais la possibilité de pouvoir l'utiliser en ligne de commande, malgré tout, je ne trouve pas ma solution très propre...
► Afficher le texte
en effet, j'utilise une "msgbox" pour afficher l'aide, je souhaiterai maintenant intégrer l'aide directement dans la console source, mais, c'est là que je cale, une idée ?
ps: je me passerai volontiers des commandes Send (encore moins propre que mes msgbox ^^)

Re: [..] Créer l'aide d'un soft en ligne de commande

Posté : lun. 12 juil. 2010 20:13
par Iste
chuis pas bien sur d'avoir compris ce que tu recherchais, peut etre ce topic pourra t'aider ?
http://www.autoitscript.com/forum/index ... 17380&st=0

Re: [..] Créer l'aide d'un soft en ligne de commande

Posté : lun. 12 juil. 2010 21:42
par arrkhan
eh beh, quand tu utilises un exe en ligne de commande genre "dir" qui permet de lister les fichiers, tu peux lui ajouter un argument /? lequel s'affiche dans la même fenêtre

Code : Tout sélectionner

Affiche une liste de fichiers et de sous-répertoires dans un répertoire.

DIR [lecteur:][chemin][nom_de_fichier] [/A[[:]attributs]] [/B] [/C] [/D] [/L]
  [/N] [/O[[:]tri]] [/P] [/Q] [/S] [/T[[:]heure]] [/W] [/X] [/4]

  [lecteur:][chemin][nom_de_fichier]
        Spécifie le lecteur, le répertoire et/ou fichiers à lister.

  /A    Affiche les fichiers dotés des attributs spécifiés.
  attributs  D  Répertoires                R  Lecture seule 
...
j'aimerai pouvoir affiché l'aide de mes outils en cmd de la même manière plutôt qu'en affichant une msgbox

Re: [..] Créer l'aide d'un soft en ligne de commande

Posté : lun. 12 juil. 2010 21:58
par Iste
ha ben, ConsoleWrite() alors, il faut juste penser a cocher "create CUI instead of GUI EXE." l'hors de la compilation
ca tourne bien chez moi
► Afficher le texte
Image

Re: [..] Créer l'aide d'un soft en ligne de commande

Posté : lun. 12 juil. 2010 21:59
par arrkhan
raaah mais lol, je me doutais que c'était consolewrite mais je savais pas pour le "create CUI instead of GUI EXE."

Merci à toi ^^

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 03:12
par arrkhan
Double post pour up malgré le résolu, par contre maintenant que je lance ma gui, il m'affiche tout de même un fenêtre de console, un moyen de l'enlever proprement ?
► Afficher le texte
en version sale, j'ai bien essayer avec un WinSetState(@ScriptFullPath, "", @SW_HIDE) après le else, mais une console apparait 1/4 seconde, ca fait vraiment programme vérolé...

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 08:29
par Tlem
Il me semble me rappeler qu'il y a quelques temps un sujet similaire a été traité (moins de 3 ou 6 mois).

Si mes souvenirs sont bon, le script était bien compilé en GUI, et des informations était renvoyées dans la console.

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 13:11
par timmalos
@Arrkhan, je ne crois pas qu'il existe un moyen de l'enlever, c'est le principe du 'CUI instead of GUI', par contre le sujet dont je pense que pense Tlem ( :? ) ne traitait que de l'ecriture en console à partir d'un programme appelé avec Run() ici ce n'est pas le même cas.

Ah mon humble avis (qui soit dit en passant ne vaut pas grand chose) ca doit pas être possible, tu as deja vu des programmes ecrivants en console ET qui avaient une GUI ? Meme si non ecrits en autoit bien sur, j'ai rien qui me vient à l'esprit.

Sinon il faudrait retourner une valeur quand le programme se ferme. Peut etre que http://code.google.com/p/m-a-t/download ... onsole.au3 pourrait t'aider. (_Console_WriteConsole) (non testé)

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 16:07
par arrkhan
timmalos a écrit :Ah mon humble avis (qui soit dit en passant ne vaut pas grand chose) ca doit pas être possible
Ton humble avis m'a amené à la même conclusion, pas possible :

Il n'y a pas de solution miracle. Une appli marquée GUI n'aura pas de console par défaut (et si elle est lancée en ligne de commande, l'utilisation de la console n'écrira rien dans la console qui aura lancée cette appli), et une appli marquée par CUI aura toujours une console par défaut qui traîne si on la lance par l'explorateur.
timmalos a écrit :tu as deja vu des programmes ecrivants en console ET qui avaient une GUI ? Meme si non ecrits en autoit bien sur, j'ai rien qui me vient à l'esprit.
Un bon exemple d'une telle application est ILDASM.EXE du .NET Framework, c'est une application marquée comme Console, mais qui montre aussi des fenêtres, et qui masque sa console dès qu'elle est lancée par l'explorateur.

source des réponses : http://groupes.codes-sources.com/articl ... 35652.aspx

Mouais ILDASM.exe doit utiliser une méthode bien crade genre WinSetState(@ScriptFullPath, "", @SW_HIDE), c'est ce que je vais faire je pense, en ométant pas de le signaler.

merci pour toutes vos réponses

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 18:17
par Tlem
Le sujet dont je parlais est celui-ci : http://www.autoitscript.fr/forum/viewto ... 841#p32841

Evidemment, ca ne fonctionne que pour Scite, mais cela m'a fait pensé à une 1/2 solution.
Je préviens de suite qu'elle est 'tirée par les cheveux', mais c'est une solution comme une autre.

1 - Un script GUI
2 - Un script CUI (ajouté à 1 avec le FileInstall)

Le script GUI lance le script CUI avec en paramètre les informations à afficher dans la console. ;)

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 19:03
par arrkhan
j'y avais pensé aussi mais bon ca double le poids de l'exe, c'est pas glop, malgré tout, je crois que ca va se finir comme ça.

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 21:11
par Tlem
***** BINGO *****

Code : Tout sélectionner

#include <WinAPI.au3>
_WinAPI_AttachConsole(-1)

Global $Message = 'Ceci est le message a afficher dans la console.'

MsgBox(0, '', 'Ma boite de message')

Run(@ComSpec & " /c " & 'Echo ' & $Message)
Fonctionne parfaitement compilé ou non ...

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 21:27
par arrkhan
bravo et merci, plus qu'a adapté tout ça ^^

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mar. 13 juil. 2010 22:11
par Tlem
C'est sans doute approximatif, mais pas très loin de ce que tu veut faire ... ;)
► Afficher le texte

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mer. 14 juil. 2010 00:14
par arrkhan
joli, mais là où le bas blesse, c'est en respectant la syntaxe d'aide, beh, ça marche plus évidemment :

_ConsoleWrite(@ScriptName & " [-opt1 | -opt2 | -opt3]")

Mais au moins ca nous aura fait bosser un peu ^^

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mer. 14 juil. 2010 13:00
par Tlem
En batch, pour afficher des caractère spéciaux, il suffit de les échapper ...

Cela nous donne :

Code : Tout sélectionner

_ConsoleWrite(@ScriptName & " ^[-opt11 ^| -opt12 ^| -opt13^]")

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mer. 14 juil. 2010 16:37
par arrkhan
décidément, il a réponse à tout ce Tlem, je ne me rappelais plus qu'on pouvait échapper des caractères en batch et j'avais oublié ton historique chez Astase ^^

Re: [R] Créer l'aide d'un soft en ligne de commande

Posté : mer. 14 juil. 2010 19:12
par Tlem
Image