Page 1 sur 1

[..] Sauvegarder des variables

Posté : sam. 30 août 2008 12:08
par Maxter
Voilà un script que j'ai réalisé. Il a des erreurs.
► Afficher le texte
Le but est de demander à l'utilisateur d'enregistrer simplement ses clics. Ensuite le programme répète les clicks de l'utilisateur. Il ne prend pas en compte le temps entre chaque click, il prend uniquement en compte les clicks et les enregistre sous forme de variables. Ensuite on demande à l'utilisateur s'il veut exécuter l'enregistrement. Si oui, le programme va cliquer aux mêmes endroits, avec un temps de 5 secondes entre chaque click.

Bon le programme en lui même n'a pas grand interêt mais c'est juste un essai.

Est-ce qu'on peut réduire le script en gardant les mêmes principes énoncés?
Je voudrais aussi rajouter au script une commande pour sauvegarder les variables (donc l'enregistrement des clicks) afin de les réutiliser plus tard.

Re: [...] Sauvegarder des variables

Posté : sam. 30 août 2008 13:32
par timmalos
Tu peux regarder les exemples:
http://www.autoitscript.fr/forum/viewto ... f=6&t=1227
C'est le même principe que tu viens d'enoncer avec la gestion du temps en plus, donc sers toi du code pour ameliorer le tien, si besoin est!

Re: [...] Sauvegarder des variables

Posté : dim. 28 sept. 2008 12:58
par Maxter
Merci pour ton script ! Je l'ai regardé attentivement.

Ce que j'arrive à comprendre, c'est l'enregistrement des cliks (Si clik droit est pressé alors on enregistre dans $actions ). Toute les actions enregistrées sont mises à la suite (séparées pas des barres " l " )

Très bien nous avons toute les variables conservées dans " $actions ". Mais la ou je m'embrouille, c'est dans la sauvegarde. Comment sauvegarde-t-on " $actions " (afin de réutiliser les variables stockés pour plus tard)? Dans un fichier ? Grâce à quoi? Je suis perdu...

Un petit exemple de script très simpliste me serait d'une grande aide. Merci !

Re: [...] Sauvegarder des variables

Posté : dim. 28 sept. 2008 13:46
par timmalos
L'affichage des actions dans la GUi se fait avec ces 4 lignes .

Code : Tout sélectionner

  $test = StringSplit($actions,"|")
                  _ArrayDelete($test, 0)
                    $test2 = _ArrayToString($test,@CRLF)
                    GUICtrlSetData($Edit1,$test2)
$test = StringSplit($actions,"|") va separer $actions et va les disposer dans une matrice (array en anglais).
Par exemple, "1|2|B|7" va donner $test[0] = 4 ,$test[1] = "1", $test[2] = "2", $test[3] = "B", etc
On a donc une array $test = [4,1,2,B,7]
_ArrayDelete($test, 0) va supprimer la premiere ligne de la matrice, pour la raison que la fonction Stringplit a mis le nombre de lignes totales en premiere ligne de la matrice, et comme ici cela ne nous interesse pas, on l'enleve.
Notre $test[0] va maintenant devenir "1".

$test2 = _ArrayToString($test,@CRLF)
va remettre l'array sous forme de Chaine de caractere (string en anglais), le @CRLF signifie retour chariot, donc chaque ligne de l'array va devenir une ligne d'une chaine de caractere
Dans notre exemple, on obtiendra
"1
2
B
7"


GUICtrlSetData($Edit1,$test2), maintenant on affiche le resultat.


----------------------------------------------------------------------
Maintenant, si tu as besoin de savoir ce qu'il s'est passé lors de la n ième action, il faudra intervenir après la fonction _ArrayDelete, car tu aura a ce moment une array avec a chaque ligne les actions, il te suffira donc de choisi par exemple, $test[4] pour avoir la 4eme action.



Si d'autres questions n'hesite pas.
Tim

Re: [..] Sauvegarder des variables

Posté : mar. 30 sept. 2008 00:35
par SagePourpre
Sinon, il y'a autoit 3 Macro recorder (sur le site d'autoit dans le 'package' de SciTE qui peut
être utilisé pour faire des macros du même genre)