[R] Question _switch _EndSwitch

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

[R] Question _switch _EndSwitch

#1

Message par Tazbox »

Salut. J'utilise se script qui me permet d'enchainer une série de touche en appuyant sur une touche.

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}","cast")
HotKeySet("^{PGDN}","_switch")
HotKeySet("^{PGUP}","_EndSwitch")

Dim $test=0
While 1
    Sleep(100)
WEnd


Func cast()

If $test=0 Then
    Send("=")
    Send(")")
    Send("à")
    Send("ç")
    Send("è")
    Send("-")
Else
    Send("=")
    Send(")")
    Send("_")
    Send("ç")
    Send("è")
    Send("-")
EndIf
EndFunc

Func _switch()

$test=1
EndFunc

Func _EndSwitch()

$test=0
EndFunc
 
Avec se scripte quand j'appuie sur f11 ca m'exécute les touches
=)àçè-
.
J'ai ajouter les fonctions Switch et EndSwitch pour passer d'une combinaison de touches à une autre, grâce à un raccourcis clavier. Donc quand je fais ctrl+ page bas la touches f11 m'exécute les touches
=)_çè-
, si je fais ctrl + page haut la touche f11 m'exécute la 1ere combinaison de touche, c'est à dire
=)àçè-
.

J'aimerais savoir si c'est possible d'ajouter une 3eme combinaison de touche à un raccourci clavier, comme j'ai fais pour ctrl+pgup et ctrl+phdn.

Voila je sais pas si j'ai été claire, je vous remercie d'avance pour votre aide.
Modifié en dernier par Tazbox le mar. 30 mars 2010 17:13, modifié 1 fois.
Avatar du membre
funkey
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 25 nov. 2009 08:32
Localisation : Austria
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#2

Message par funkey »

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}", "cast")
HotKeySet("^{PGDN}", "_switch")
HotKeySet("^{PGUP}", "_EndSwitch")

Global  $test = 0

While 1
    Sleep(100)
WEnd


Func cast()

    If $test = 0 Then
        Send("=)àçè-")
    ElseIf $test = 1 Then
        Send("=)_çè-")
    ElseIf $test = 2 Then
        Send("=)_çèr")
    EndIf
EndFunc   ;==>cast

Func _switch()
    If $test < 2 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test -= 0
EndFunc   ;==>_EndSwitch
Autoit toujours
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#3

Message par Tazbox »

Merci pour ton aide funkey.

J'ai test se scripte, mais il y a un problème quand je le test, le ctrl+pgup ne donne rien, je peux switch deux fois avec ctrl+pgdn, mais en suite je reste bloquer sur la dernière combinaison de touches.

Aussi ce qui m'intéresse vraiment, c'est de pouvoir ajouter un 3eme switch pour une 3eme combinaison de touche. J'aimerais arriver à un résultat ou j'aurais 3 raccourcis différent pour 3 combinaison de touche différente. Mais je sais pas si c'est possible.
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#4

Message par Tazbox »

Up svp, depuis hier je fais des test mais je n'y arrive pas.

Si ce n'ai pas possible de faire 3 switch sur 3 touche différente, j'aimerais dans se cas basculer d'une combinaison de touche à l'autre avec le meme raccourci et basculer vers une autre combinaison de touche avec un 2eme racourcis.

Par exemple ctrl+pgdn pour switch entre $test 1 et $test 2. Ctrl+pgup pour switch sur $test 0. Donc Ctrl+pgup me servirait uniquement pour passer sur $test 0 et ctrl+pgdn pour jongler entre $test 1 et $test 2.

J'ai testé différentes chose grace au code de funkey mais j'y arrive pas.

voila ce que j'ai tester.

Code : Tout sélectionner

Func _switch()
       If $test < 1 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 

Code : Tout sélectionner

Func _switch()
    If $test < 1 Then $test = 2
    If $test > 1 Then $test = 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 

Code : Tout sélectionner

Func _switch()
    If $test = 0 Then $test = 1
    If $test = 1 Then $test = 2
    If $test = 2 Then $test = 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test = 0
EndFunc   ;==>_EndSwitch
 
Avec ses codes le raccourcis ctrl+pgdn me fais un switch sur $test 1 uniquement, et ctrl+pgup me fais revenir a $test 0. Donc je peux jongler qu'entre $test 0 et $test 1.


Le meilleur résultat que j'ai pu obtenir c'est avec se code

Code : Tout sélectionner

Func _switch()
    If $test < 2 Then $test += 1
EndFunc   ;==>_switch

Func _EndSwitch()
    if $test > 0 Then $test -= 1
EndFunc   ;==>_EndSwitch
 
Avec se code je peux bien jongler entre les 3 combinaison, quand je fais ctrl+pgdn je passe de la combinaison 0 à la 1 et si je refais ctrl+pgdn je passe donc de la 1 à la 2, si je refais ctrl+pgdn je reste sur la combinaison 2. Avec ctrl+pgup je passe de la combinaison 2 à 1 et de la 1 à la 0 et si je refais ctrl+pgup quand je suis en combinaison 0 je reste sur la 0.

Donc voila se résultat n'ai pas trop mal, j'ai juste changer un chiffre sur le code que funkey m'a donné. Pour le moment je reste avec ca, mais je vais continuer à faire des testes en espérant pouvoir arriver au résultat que j'aimerais obtenir, j'espère aussi qu'une âme charitable acceptera de me venir en aide.
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#5

Message par Tazbox »

Personne pour m'aider :(. Peut on au moins me dire si c'est possible ou pas de faire ce que je cherche à faire svp, que je ne cherche pas pour rien :(.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#6

Message par Tlem »

Oui c'est possible. :roll:
► Afficher le texte
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é".
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#7

Message par Tazbox »

Super grâce à toi j'ai pu faire ce que je voulais.

J'ai fais un petit mélange avec tous ce que j'ai trouvé et ton code. Du coup j'ai 3 touches différente pour chaque combinaison de touche que je veux :).
Donc quand je fais ctrl+pgdn, ca me met obligatoirement la combinaison de touche correspondant à case 1, quoi que se soit la combinaison de touche active, ctrl+pgup, ca m'en met obligatoirement la combinaison case 2, quoi que se soit la combinaison active et j'ai ajouté une autre touche pour une autre combinaison de touches, ce qui donne

Code : Tout sélectionner

Opt('SendKeyDelay', 1)
Opt('SendKeyDownDelay', 1)
Opt('MouseClickDownDelay', 1)

HotKeySet("{F11}","cast")
HotKeySet("^{PGDN}","_Switchup")
HotKeySet("^{PGUP}","_SwitchDown")
HotKeySet("{F2}", "_EndSwitch")

Global $TestFlag = 1
Global $MaxCase = 2

While 1
    Sleep(200)
WEnd

Func cast()
    Switch $TestFlag
        Case 1
            Send("*=ç_è-")

        Case 2
            Send("*àç_è-")

        Case 3
            Send("*)ç_è-")
            
        Case Else
            Exit 1
    EndSwitch
EndFunc

Func _Switchup()
    $TestFlag += 1
    If $TestFlag > $MaxCase Then $TestFlag = $MaxCase
EndFunc

Func _SwitchDown()
    $TestFlag = 1
    If $TestFlag < 1 Then $TestFlag = 1
EndFunc

Func _EndSwitch()
    if $TestFlag < 3 Then $TestFlag = 3
EndFunc   ;==>_EndSwitch
 
Bon voila je suis sur que c'est pas très propre comme code, mais j'y connais absolument rien, grâce à vous je suis contant d'avoir réussi à faire ce que je voulais en bidouillant un peux.

Merci beaucoup ;).
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#8

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
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é".
Tazbox
Niveau 2
Niveau 2
Messages : 29
Enregistré le : mar. 23 mars 2010 11:07
Status : Hors ligne

Re: [..] Question _switch _EndSwitch

#9

Message par Tazbox »

Tlem a écrit :N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
Bien vue, je le savais mais j'ai oublié tellement je suis contant de mon scripte:p. Je suis deja en train de le test sur wow et ca marche nickel. C'est énorme ce qu'on peux faire avec se truc :D

Encore merci !!!
Répondre