[R] Icone à la compilation

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

[R] Icone à la compilation

#1

Message par ZDS »

(Re)bonjour à tous !

Je me heurte à un problème, j'ai un script qui est prévu pour être compilé si l'utilisateur le souhaite, une icône étant disponible dans un sous dossier.

En compilant en ligne de commande:

Code : Tout sélectionner

"C:\Program Files\AutoIt\Aut2Exe\Aut2Exe.exe" /in U:\Script\Script.au3 /out C:\AutoIt\Executable.exe /icone U:\Images\Icone.ico /comp 4
ça fonctionne, j'obtiens mon fichier "Executable.exe" avec l'icône voulue dessus.
Par contre, en utilisant les options #AutoIt3Wrapper, et en cliquant droit sur le script > [Compile], j'obtiens bien un fichier exe ("Script;exe", et non "Executable.exe"), avec l'icone AutoIt par défaut.

Peut-être ai-je mal mis les options de compilation (#AutoIt3Wrapper_XXXXXXXX), peut-être que je ne fais pas la bonne manip (passer par le clic droit), ou peut-être aussi que les #AutoIt3Wrapper ne fonctionnent pas sous AutoIt 3.3.6.1 (les messages que j'ai trouvé sur le forum et sur d'autres sites datent de 2007 environ).
j'ai essayé avec #AutoIt3Wrapper_Res_Icon_Add, #AutoIt3Wrapper_Icon, #AutoIt3Wrapper_outfile, avec et sans chemin relatif, etc...

Quelqu'un saurait-il m'aiguiller? Merci d'avance !

ZDS
Modifié en dernier par ZDS le ven. 17 sept. 2010 11:11, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Icone à la compilation

#2

Message par Jerome »

Coucou,

Ceci fonctionne chez moi :

Code : Tout sélectionner

GUISetIcon(@ScriptDir&"\icon.ico")
TraySetIcon(@ScriptDir&"\icon.ico")
Icone format 16*16.




Jérôme
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Icone à la compilation

#3

Message par ZDS »

Salut Jérôme. Ce n'est pas du tout ce que je demande, toi tu parles d'icône à l'exécution, je parle d'icône à la compilation, celle qui apparait sur le fichier dans l'explorateur une fois le script compilé.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Icone à la compilation

#4

Message par Jerome »

Coucou,

Autant pour moi ... :)

Quand tu compiles ton script, ne fait pas "compile script", mais plutôt "compile with option".
Tu as un champs Icon ou tu peux préciser l'icone que prendra ton éxécutable.




Jérôme
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Icone à la compilation

#5

Message par ZDS »

Re, désolé mais je pense que tu es encore à coté ^^

Ce que je cherche à faire, c'est rendre plus facile les actions de l'utilisateur quitte à me compliquer la tâche, ergonomie-&-friendly-user power ! Je souhaite que l'utilisateur en faisant une compilation toute simple (clic droit compile) se retrouve avec un programme joliment construit, avec l'icône que j'ai décidé dans les #AutoIt3Wrapper_. Si l'utilisateur final est contraint de faire un truc plus chiant que la GUI Auto2Exe, autant faire un appel à la ligne de commande depuis le script (ce que je trouve un chouia sale). Quoi que, le passage par "Compile with option" pourrait être intéressant si on pouvait le préremplir, mais apparemment ce n'est pas le cas (je connais déjà la source, la destination et l'icône, mais elles sont vides).

Autant rester dans le sujet, je souhaite utiliser les #AutoIt3Wrapper_XXXXXXXX, mais ça ne passe pas, où est l'erreur...?
U:\Script\Script.au3 :

Code : Tout sélectionner

#Region AutoIt3Wrapper directives section
#AutoIt3Wrapper_Icon=U:\Images\Icone.ico
#AutoIt3Wrapper_OutFile=C:\AutoIt\Executable.exe
#EndRegion
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Icone à la compilation

#6

Message par Jerome »

Coucou,

J'ai essayer aussi, et sa ne fonctionne pas aussi chez moi.

J'ai parcourut le forum anglais a la recherche d'une solution, mais il semblerait que ce que tu donnes déjà soit fonctionnelle.
Donc je ne sait pas pour le moment.

Je poursuit mes recherches sur le fofo anglais ...


PS : Sinon au lieu de faire click droit => compiler, tu peux directement faire F7 quand tu es dans le script, ce qui prend en charge #AutoIt3Wrapper_Icon


Jérôme
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Icone à la compilation

#7

Message par Tlem »

Afin de prendre en compte les options #AutoIt3Wrapper, vous devez compiler avec C:\Program Files\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe et non avec C:\Program Files\AutoIt3\Aut2Exe\Aut2exe.exe.

Pour plus d'informations, cherchez dans l'aide de Scite (C:\Program Files\AutoIt3\SciTE\Scite4AutoIt3.chm).
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
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [..] Icone à la compilation

#8

Message par ZDS »

Bonjour Tlem (désolé pour le délai).

Merci pour ta réponse, même si ce n'est pas ce que je souhaitais entendre ^^ Je ne voulais pas utiliser AutoIt Wrapper, car par défaut il n'est pas présent dans une installation "classique" d'AutoIt (absent du package 3.3.6.1), donc tant pis si on ne peut pas faire autrement (c'était pour simplifier l'utilisation pour le "client" final, si c'est pour la compliquer au final en demandant installer encore un autre truc, je laisse tomber).

J'ai résolu mon problème en passant dans le code du programme un appel à la ligne de commande suivante :

Code : Tout sélectionner

"C:\Program Files\AutoIt\Aut2Exe\Aut2Exe.exe" /in U:\Script\Script.au3 /out C:\AutoIt\Executable.exe /icone U:\Images\Icone.ico /comp 4
depuis un sous-script, puisque bloquant si on souhaite un retour de code d'erreur, ou interrompre la compilation par une simple touche. Je vous fournis le code ci dessous, ça pourra toujours être utile à quelqu'un :

"Lancement Compilation.au3" :
► Afficher le texte
A ajouter au script à compiler , exemple "Script.au3" :
► Afficher le texte
Fonction à ajouter à "Script.au3", pour faire l'interface :
► Afficher le texte
Merci encore ! Je passe le post en [R]ésolu.

ZDS

PS: il y a moyen de faire plus "simple", mais séparer les blocs de code réutilisable en fonction, et limiter les indentations à 5 TAB maximum, est une bonne méthode de prog, surtout en Java ^^
PS2: Ca peut paraitre bizarre comme code, mais on a le choix pour lancer la compilation entre Run (qui retourne le PID, mais permet de continuer le script) et RunWait (qui retourne le code de sortie, mais bloque le script). Ce bout de code permet de récupérer le code d'erreur de la compilation tout en continuant le script, et donc forcer son arrêt, utile quand c'est trop long.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
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] Icone à la compilation

#9

Message par Tlem »

Vous n'êtes pas obligé d'installer d'autres choses. Il vous suffit d'inclure avec votre script le programme AutoIt3Wrapper.exe et éventuellement ses dépendances si il y en a (ce dont je ne suis pas sur).
Ce n'est pas pire que de ce coltiner Aut2exe.exe. ;)
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
BlueCore
Niveau 4
Niveau 4
Messages : 73
Enregistré le : sam. 04 sept. 2010 09:55
Status : Hors ligne

Re: [R] Icone à la compilation

#10

Message par BlueCore »

Salut ZDS.

Pour répondre à Tlem, tu peut simplement inclure ResHack.exe et créer un fichier .RC.
Si ça t'intéresse (tu pourra alors rajouter commentaire, icône, version et autres) réponds à ce message, je développerais.

- BlueCore
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] Icone à la compilation

#11

Message par Tlem »

J'avais pensé à cette réponse, mais si vous lisez la question d'origine, ZDS souhaitait que les directives #AutoIt3Wrapper_XXXXXXXX soient interprétées ...
Et là, seul AutoItWrapper peut faire le job. ;)
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
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [R] Icone à la compilation

#12

Message par ZDS »

Re bonsoir,

Pour AutoIt wrapper, ce que je voulais dire, c'est qu'il n'est pas présent dans le répertoire où que ce soit suite à une installation classique d'AutoIt (je ne parle pas de SciTE, juste AutoIt, un développeur a besoin des deux, mais l'utilisateur final n'a pas à s'en****er avec un install en plus que l'interpréteur/compilateur).
Le fichier fourni par le lien "normal" suivant http://www.autoitscript.com/autoit3/downloads.shtml n'installe pas cet exécutable. Je ne peux donc pas utiliser une fonctionnalité qui n'existe pas ou n'est pas disponible par défaut. Pour l'obtenir il faudrait télécharger EN PLUS l'install de SciTE4AutoIt3, si pour chaque fonctionnalité l'utilisateur doit installer un logiciel en plus on est pas sorti du sable.

Donc merci, la réponse est la bonne pour un "vendeur" (utiliser #AutoItWrapper pour un problème de compilation => installer SciTE4AutoIt un outil de développement, c'est déjà un peu capillotracté, admettons le), mais pas pour le "client".
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
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] Icone à la compilation

#13

Message par Tlem »

:shock:
J'avoue ne pas comprendre votre réflexion sur le fond.
Vous dites vouloir installer AutoIt chez l'utilisateur final. Mais cela dans quel but, car , http://www.autoitscript.com/autoit3/downloads.shtml installe l'ensemble des outils de base de développement de AutoIt !
Est-ce à dire que l'utilisateur final à besoin aussi de développer ?

Finalement, j'entrevois trois possibilités :
  • 1 - L'utilisateur final ne doit pas faire de développement et vous devez diffuser vos scripts compilés.
    Alors l'installation de AutoIt n'est pas nécessaire.

    2 - L'utilisateur final ne doit pas faire de développement, mais vous voulez diffuser vos scripts non compilés.
    Alors seul AutoIt.exe est nécessaire.

    3 - L'utilisateur final doit pouvoir faire du développement et compiler des scripts.
    Alors je ne vois pas vraiment quel est le problème à l'installation de deux softs super simple et de taille plutôt réduite (vous pouvez aussi scripter l'installation des deux softs pour qu'elle soit transparente).
Sachez aussi, que sur le forum il existe un Pack complet qui s'occupe de tout, y compris la francisation de certains UDF. :roll:
ZDS a écrit :Donc merci, la réponse est la bonne pour un "vendeur" (utiliser #AutoItWrapper pour un problème de compilation => installer SciTE4AutoIt un outil de développement, c'est déjà un peu capillotracté, admettons le), mais pas pour le "client".
Rien à voir.
Vous demandez à utiliser une fonctionnalité propre à AutoIt3Wrapper, je vous répond donc que vous devez avoir AutoIt3Wrapper à disposition.
C'est comme si vous vouliez utiliser une commande du genre Grep sous Windows.
A la base ce n'est pas possible. Pour y arrivé, vous devez installer CygWin. :P
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