Page 1 sur 1
[R] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 19:16
par zilly
Bonjour a tous,
Voila, je travaille sur un nouveau script.
Ce script serait en faite tout le temps actif sur mon PC, et s'exécuterait lorsque je tape une touche de mon clavier.
Pour le moment sur ma Base j'ai sa :
Code : Tout sélectionner
#include <Misc.au3>
While 1
If _IsPressed("2") Then
Send("{F2}")
Send("{F5}")
sleep(2000)
Send("{F1}")
EndIf
Sleep(10)
WEnd
Sauf que petit soucis, mon script tourne en boucle, et n'attend pas que je presse la touche "2" de mon clavier pour s'exécuter, ce qui pour moi est la ligne :
Traduis pour moi par : Si la touche "2" est saisit, alors => .
Donc ma première question serait que ce script s'exécute quand je le demande, quelle chose je doit modifier pour que sa marche.
Sinon une deuxième question : Peut - on mettre dans ce script plusieurs raccourcis et exécution du même type?
A chaque fois refaire un If ?
Merci de votre aide.
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 19:45
par Steph
Salut,
voilà une base plus propre ! et qui t'évitera de tourner avec des If Then... si t'a des questions n'hésite pas.
Code : Tout sélectionner
While 1
Select
; action quand on presse "2"
Case _IsPressed("2")
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
; action quand on presse "3"
Case _IsPressed("3")
; action quand on presse "4"
Case _IsPressed("4")
; action quand on presse "5"
Case _IsPressed("5")
; action quand on presse "6"
Case _IsPressed("6")
; action quand on presse "7"
Case _IsPressed("7")
EndSelect
WEnd
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 19:48
par sylvanie
Bonsoir,
c'est normal, car _ispressed prends en arg la valeur hexadécimal de la touche préssée, et non son symbole. Ainsi pour la touche 2 du pavé numérique il s'agit de :
If _IsPressed("62") Then
....
cf aide pour les autres touches
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 20:01
par zilly
Steph a écrit :Salut,
voilà une base plus propre ! et qui t'évitera de tourner avec des If Then... si t'a des questions n'hésite pas.
Code : Tout sélectionner
While 1
Select
; action quand on presse "2"
Case _IsPressed("2")
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
; action quand on presse "3"
Case _IsPressed("3")
; action quand on presse "4"
Case _IsPressed("4")
; action quand on presse "5"
Case _IsPressed("5")
; action quand on presse "6"
Case _IsPressed("6")
; action quand on presse "7"
Case _IsPressed("7")
EndSelect
WEnd
Yop, merci de ta réponse, mais sa marche pas.
Quand je tape 2, sa ne s'exécute pas, par contre je fait un click droit souris, et sa s'exécute.
Soucis avec sa ?
PS : J'ai test avec ta solution Sylvanie et sa ne fonction pas non plus.
Mon programe maintenant :
Code : Tout sélectionner
#include <Misc.au3>
While 1
Select
; action quand on presse "2"
Case _IsPressed("62")
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
; action quand on presse "3"
Case _IsPressed("3")
; action quand on presse "4"
Case _IsPressed("4")
; action quand on presse "5"
Case _IsPressed("5")
; action quand on presse "6"
Case _IsPressed("6")
; action quand on presse "7"
Case _IsPressed("7")
EndSelect
WEnd
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 20:05
par Steph
sylvanie a écrit :Bonsoir,
c'est normal, car _ispressed prends en arg la valeur hexadécimal de la touche préssée, et non son symbole. Ainsi pour la touche 2 du pavé numérique il s'agit de :
If _IsPressed("62") Then
....
cf aide pour les autres touches
re !
voilà le pourquoi du comment ! va voir l'aide/doc d'_ispressed pour plus d'info
Code : Tout sélectionner
#include <Misc.au3>
While 1
Select
; action quand on presse "2"
Case _IsPressed("62")
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
; action quand on presse "3"
Case _IsPressed("valeur de 3 héxa")
; action quand on presse "4"
Case _IsPressed("valeur de 4 héxa")
; action quand on presse "5"
Case _IsPressed("valeur de 5 héxa")
; et tu continue.........
EndSelect
WEnd
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 20:13
par zilly
hum toujours pas sa.
Peut - être ceci est dut au fait que je suis sur PC portable, donc pas de clavier numérique.
Ce que j'entends par "2" ou "62" en Héxa, c'est plutôt la touche "é".
Cependant je met cette touche et sa ne fonctionne toujours pas, faudrait - il mettre "é" en héxadécimal ?
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 20:15
par Steph
re,
sinon teste comme ça au cas ou ? mais je doute que la syntax joue un rôle dans le faite que ça fonctionne pas...
Code : Tout sélectionner
#include <Misc.au3>
While 1
; tes actions a effectuer quand tu clic sur 2
If _IsPressed("62") Then
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
EndIf
; action quand on presse "3"
If _IsPressed("valeur de 3 héxa") Then
; tes actions a effectuer quand tu clic sur 3
EndIf
; action quand on presse "4"
If _IsPressed("valeur de 4 héxa") Then
; tes actions a effectuer quand tu clic sur 4
EndIf
; et tu continue.........
WEnd
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 20:21
par zilly
Re, merci pour ton aide, seulement erreur dans le code qui me retourne :
Line 4 ()
Select
Error : " select" statement is missing "Endselect" or "Case" statement
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 21:03
par sylvanie
Le monsieur il a dit :
touche 2 du pavé numérique
et l'aide dit :
32 2 key
donc le é => "32"
...
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 21:06
par Steph
zilly a écrit :Re, merci pour ton aide, seulement erreur dans le code qui me retourne :
Line 4 ()
Select
Error : " select" statement is missing "Endselect" or "Case" statement
Salut,
excuse, voilà: (avec touche 2 = 32 apparemment)
Code : Tout sélectionner
#include <Misc.au3>
While 1
; tes actions a effectuer quand tu clic sur 2
If _IsPressed("32") Then
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
ElseIf _IsPressed("valeur de 3 héxa") Then
; tes actions a effectuer quand tu clic sur 3
ElseIf _IsPressed("valeur de 4 héxa") Then
; tes actions a effectuer quand tu clic sur 4
Else
EndIf
; et tu continue.........
WEnd
ou comme avant mais fonctionnel (j'avais oublier d'enlever le select et sont end !)
Code : Tout sélectionner
#include <Misc.au3>
While 1
; tes actions a effectuer quand tu clic sur 2
If _IsPressed("32") Then
Send("{F2}")
Send("{F5}")
Sleep(2000)
Send("{F1}")
EndIf
; action quand on presse "3"
If _IsPressed("valeur de 3 héxa") Then
; tes actions a effectuer quand tu clic sur 3
EndIf
; action quand on presse "4"
If _IsPressed("valeur de 4 héxa") Then
; tes actions a effectuer quand tu clic sur 4
EndIf
; et tu continue.........
WEnd
mais à mon avis la meilleure syntax reste avec les Case et select comme je t'ait filer precedemment mais test ! avec le 2 est 32 !
Re: [..] Petit script qui tourne en boucle
Posté : ven. 27 mars 2009 21:17
par zilly
Sa marche nickel et je te remercie.