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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#1

Message 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 ^^)
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

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

#2

Message 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
Signez ici
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#3

Message 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
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

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

#4

Message 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
Signez ici
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#5

Message 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 ^^
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#6

Message 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é...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#7

Message 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.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

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

#8

Message 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é)
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#9

Message 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
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#10

Message 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. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#11

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#12

Message 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 ...
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#13

Message par arrkhan »

bravo et merci, plus qu'a adapté tout ça ^^
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#14

Message par Tlem »

C'est sans doute approximatif, mais pas très loin de ce que tu veut faire ... ;)
► Afficher le texte
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#15

Message 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 ^^
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#16

Message 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^]")
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

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

#17

Message 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 ^^
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#18

Message par Tlem »

Image
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre