[R] Execution du code

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Dididj
Niveau 4
Niveau 4
Messages : 58
Enregistré le : lun. 17 août 2009 17:29
Status : Hors ligne

[R] Execution du code

#1

Message 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
Modifié en dernier par Dididj le jeu. 27 août 2009 11:36, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Execution du code

#2

Message 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.
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é".
Dididj
Niveau 4
Niveau 4
Messages : 58
Enregistré le : lun. 17 août 2009 17:29
Status : Hors ligne

Re: [..] Execution du code

#3

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

Re: [..] Execution du code

#4

Message 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.
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é".
Dididj
Niveau 4
Niveau 4
Messages : 58
Enregistré le : lun. 17 août 2009 17:29
Status : Hors ligne

Re: [..] Execution du code

#5

Message par Dididj »

Ok merci ça fonctionne parfaitement.
Répondre