Page 1 sur 1

[R] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 15:35
par quemenep
Bonjour

Je souhaiterais savoir comment faire pour exécuter le contenue d'une variable.
Je m'explique :
J'ai une GUI avec des boutons et une zone de texte pour l'usager (créée par GUICtrlCreateEdit).
Je souhaiterais, en appuyant sur un bouton "Go", exécuter le code de la zone précédente.

je ne sais pas trop comment m'y prendre.

Merci pour les pistes

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 15:55
par jbnh
Une question du même type vient d'être posée ici

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 16:11
par quemenep
Je précise un peu ce que je veux dire.
Lire le contenu du "Control" ne me pose aucun problème, auquel cas, j'aurais pu m'en sortir avec le topic que vous me référencez.
Moi, ce qui m'importe, est d'exécuter le contenu de cette variable.
par exemple, si la zone de control contient :

Code : Tout sélectionner

tooltip("Affichage d'un tooltip")
MsgBox(16,"Error","Message Box Error")
MsgBox(16,"Error 2","Message Box Error 2")
Je souhaiterais qu'un tooltip apparaisse et que 2 msgbox apparaissent tout à tour.
Je précise que la zone de texte est vide au début et c'est l'utilisateur qui la rempli puis click sur un bouton pour exécuter ce code !

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 16:31
par SagePourpre
Dans ta boucle

Code : Tout sélectionner

While 1 
If WinActive($titre) And _IsPressed("0D", "user32.dll") Then
        _read()
    EndIf

wend
ainsi, si ta fenêtre est active et que la touche entrée est pressée, tu pourras exécuter le contenu de ta variable.

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 16:52
par quemenep
Heu .... désolé mais je ne suis pas là !
_read() est elle une fonction UDF ? Si oui, je ne l'ai trouvée nulle part ce qui fait que je ne peut pas compiler.

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 16:55
par SagePourpre
oops. non désolé ... En fait j'avais oublié de préciser
qu'à la place de _read() tu n'as qu'à mettre ton guictrlread
pour aller chercher la valeur du guictrledit

Personnellement, j'ai fait une petite application (dans ma signature : la super barre de recherche) qui utilise ce principe.

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 17:24
par quemenep
Ok pour récupérer cette valeur, comme dit précédemment.

Ce que je souhaite, c'est EXECUTER le contenu de cette variable !
Un truc du genre :
ExecuteAUTOIT($mavaraible)

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 17:57
par SagePourpre
oh... si j'ai bien compris, Tu veux exécuter du code autoit brute via un guictrledit...

Alors là, si c'est bien ça, je ne vois aucun moyen direct d'y parvenir sans peine.

Je ne sais pas du tout quel est ton but mais si tu veux pouvoir utiliser absolument
toutes les fonctions d'autoit via ce champ texte dans ta gui, je ne sais pas comment y
arriver. Par contre, si tu utilises un nombre limité de fonction au travers de cette interface,
c'est jouable.

Si ce n'est pas indiscret, c'est pour faire quoi exactement ?

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 18:06
par quemenep
Effectivement, tu as bien compris ce que je souhaite faire.
Je souhaite laisser libre court à l'utilisateur de taper toutes les fonctions qu'il souhaite.

En fait, c'est une GUI qui nous servirait pour gérer les différents comportements d'une fenêtre IE, au fil du temps, suivant l'état des pages affiché ! (c'est pour tester une appli client-serveur)

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 18:25
par jbnh
► Afficher le texteCode
Mh bizarrement ca marche pas avec les tooltip, mais c'est un bon début

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 20:03
par SagePourpre
quemenep a écrit :Effectivement, tu as bien compris ce que je souhaite faire.
Je souhaite laisser libre court à l'utilisateur de taper toutes les fonctions qu'il souhaite.

En fait, c'est une GUI qui nous servirait pour gérer les différents comportements d'une fenêtre IE, au fil du temps, suivant l'état des pages affiché ! (c'est pour tester une appli client-serveur)
Le seul moyen d'y parvenir que je connais (j'ai déjà utilisé une méthode semblable) serait d'utiliser quelque chose du genre...

► Afficher le texteCode

Autrement dit, ton guictrledit est lu et est interprété comme suit.
Avant la première parenthèse est le nom de fonction, après la première parenthèse
sont les paramètres que l'on sépare à l'aide du caractère "|" au lieu de la virgule.


L'idée donc est de retranscrire toute tes fonctions de manière à ce qu'elles puissent
être interprété par guictrledit.

C'est la seule manière que je connais pour faire ce que tu souhaites.

Je l'ai testé avec une ligne simple, pour tester plusieurs lignes de codes, il faudra travailler davantage le concept.

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : ven. 26 sept. 2008 20:04
par SagePourpre
Ceci dit, la manière de Jbnh qui n'était pas encore là quand j'ai commencé à écrire semble
beaucoup plus facile ...

même trop :twisted:

Re: [..] Exécuter le contenue d'un tableau ou d'une varaible

Posté : lun. 29 sept. 2008 15:29
par quemenep
Cool, ça me va bien.
Le ligne clef est pour moi : Run(@AutoItExe & ' /AutoIt3ExecuteLine "'&$text&'"')

C'est juste ce que je cherchais !

Merci !