Page 1 sur 1

[R] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 16:36
par cedelire
Bonjour je découvre ce jour même le logiciel AutoIt et ce forum, je suis donc tout a fait débutant, je m'essaie à la programmation et là je bute sur les boucles.
Je pense que mon problème est simple, je veux en fait exécuter une boucle à l'infini jusqu'à ce que j'appuie sur la touche echap de mon clavier (boucle de type "Faire jusqu'à..." j'imagine). Ce qui donne:

Code : Tout sélectionner

Do
;actions à effectuer
 
Until ( proposition )
 
Et je ne sais pas quoi mettre à la place de proposition pour dire "jusqu'à ce que j'appuie sur echap".

Merci d'avance pour votre aide.

Re: [..] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 16:47
par Tlem
Vous pouvez effectivement utiliser une boucle Do en surveillant l'appui d'une touche dans la boucle, mais ça ne sera pas fiable à 100% car si vous faites un traitement long dans votre boucle, il n'aura pas le temps de voir l'appui de la touche.

Voici une manière classique de procéder à ce type d'utilisation :

Code : Tout sélectionner

; Création d'un 'lien' entre la fonction Quit() et l'appuis de la touche ESC
HotKeySet("{ESC}", "Quit")

; Boucle infinie (Qui sera intéronpue lors de l'appuis sur ESC)
While 1
    Sleep(1000)
WEnd

; La fonction qui permet l'affichage du message puis de quitter le script.
Func Quit()
    MsgBox(0, "Info", "Vous avez appuyez sur la touche ESC !")
    Exit
EndFunc   ;==>Quit

Re: [..] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 16:55
par cedelire
Merci beaucoup je vais essayer, que signifie Sleep(1000) ?
Encore merci

Re: [..] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 16:56
par Tlem
Cliquez sur le mot Sleep dans le code du message au dessus. ;)

Re: [..] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 17:00
par cedelire
oui d'accord je ne connaissais pas cette fonction.
donc je ne suis pas obligé de le mettre dans mon script si je comprends ?

Re: [R] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 17:17
par Tlem
Vous pouvez effectivement vous passez de la temporisation, mais dans ce cas le script va utiliser 100% des ressources disponible de votre CPU, et ça va chauffer. ;)

Si vous devez faire une boucle quelconque, pensez toujours à mettre une temporisation (Même de 30 ms mais au moins une !).

Allez faire un tour sur la doc en Français : http://www.autoitscript.fr/autoit3/docs/

Tout n'est pas encore traduit, mais la partie principale oui.

Re: [R] Problème (simple) sur une boucle

Posté : lun. 12 mai 2008 17:32
par cedelire
Merci beaucoup pour cette aide précieuse