Page 1 sur 1

[R] Execution du code

Posté : mer. 26 août 2009 18:16
par Dididj
Bonjour tout le monde

J'aimerais savoir comment exécuter du code non compiler. ( du code AutoIt bien sur :mrgreen: )

Je sens que je vais encore me faire taper sur les doigts parce que je ne cherche pas assez :oops:

Dididj

Re: [..] Execution du code

Posté : mer. 26 août 2009 18:53
par Tlem
Tout dépend exactement de ce que vous voulez faire.

Si c'est pour exécuter le code d'un fichier .au3, normalement un simple double clic suffit. Maintenant si ce code est sur une machine ou AutoIt n'est pas installé, vous pouvez tout simplement faire glisser le fichier .au3 sur l'exécutable Autoit3.exe.
Ou lancer le script en ligne de commande comme ceci :

Code : Tout sélectionner

Autoit3.exe MonScript.au3
Pour finir il existe encore autre chose, c'est le lancement d'une ligne de code AutoIt avec un script compilé ou dans un code.
La commande est : AutoIt3ExecuteLine
Elle est peux documenté mais en cherchant bien vous trouverez (dans le fichier d'aide et sur le forum). ;)
Extrait de l'aide :
Form4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
Execute one line of code.

To execute a single line of code, use the command:
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

The tray icon will not be displayed when using /AutoIt3ExecuteLine

NOTE: Correct usage of single- and double- quotation marks is important, even double single.

Re: [..] Execution du code

Posté : mer. 26 août 2009 19:36
par Dididj
Voila je viens d'essaye ceci :

Code : Tout sélectionner

$code = FileRead("test (2).txt")
Run(@AutoItExe & ' /AutoIt3ExecuteLine ' & $code)
J'ai mis le code à exécuter dans "test (2).txt" . Sauf que ca fonctionne seulement avec une ligne.
Alors comment faire pour mettre plusieurs lignes ?

Dididj

Re: [..] Execution du code

Posté : mer. 26 août 2009 22:40
par Tlem
Dans la phrase :
To execute a single line of code, use the command:
il est bel et bien stipulé que vous ne pouvez lancer qu'une seule ligne.

Dans l'aide de AutoIt, dans la partie 'Running Script' il est dit ceci (même chose que précédemment mais en plus complet) :
AutoIt specific command Line Switches
Form1: AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] file [params ...]
Execute an AutoIt3 Script File


/ErrorStdOut Allows to redirect fatal error to StdOut which can be captured by an application as Scite editor. This switch can be used with a compiled script.


To execute a standard AutoIt Script File 'myscript.au3', use the command:
'AutoIt3.exe myscript.au3'



Form2: Compiled.exe [/ErrorStdOut] [params ...]
Execute an compiled AutoIt3 Script File produced with Aut2Exe.

Form3: Compiled.exe [/ErrorStdOut] [/AutoIt3ExecuteScript file] [params ...]
Execute another script file from a compiled AutoIt3 Script File. Then you don't need to fileinstall another copy of AutoIT3.exe in your compiled file.


Form4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
Execute one line of code.

To execute a single line of code, use the command:
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hello World!'', ''Hi!'')"')

The tray icon will not be displayed when using /AutoIt3ExecuteLine

NOTE: Correct usage of single- and double- quotation marks is important, even double single.
Puisque vous voulez exécuter plusieurs lignes, a première vue la solution qu'il vous faut serait Form1 ou Form3.

N'oubliez pas qu'il est aussi possible de mettre du code sous forme de fonction dans un autre fichier, et d'appeler ces fonctions à partir du script principal du moment que vous avez ajouté cet autre fichier dans la partie Include.

Re: [..] Execution du code

Posté : jeu. 27 août 2009 11:36
par Dididj
Ok merci ça fonctionne parfaitement.