Page 1 sur 1

[...] Modification, de l'execution d'une partie de Script.

Posté : ven. 02 oct. 2009 10:59
par yebo
Bonjour,

Tout d'abord, je m'excuse si mon titre n'est pas assez explicite, mais de m'en proposé des plus pertinant si vous en avez suite a l'exposition de mon problème

Donc, j'ai récuperé les sources d'un petit scipt que j'utilise. mais il ne me correspond pas tout a fait.
En fait, il permet de faire le choix entre 4 actions a répéter a intervalle different.
Les 2 première ne peuvent pas être exécuter simultanément. (soit l'une soit l'autre avant de lancer le scripte.)

Je souhaiterai modifier le script afin de pouvoir paramétrer l'intervalle des 4 actions mais lors de l'exécution n'efectuer que les 2 derniere en continu et avoir une touche d'action (HotKeySet il me semble) pour exécuter et coupé les 2iere a la volé (elles ne seront toujours pas exécute en même temps)

Code : Tout sélectionner

    $action_selopt[$i][0] = GUICtrlCreateCheckbox("Action1",255,70 + ($i * 220),80,20)
    $action_selopt[$i][1] = GUICtrlCreateCheckbox("Action2",255,95 + ($i * 220),90,20)
    $action_selopt[$i][2] = GUICtrlCreateCheckbox("action3",255,120 + ($i * 220),90,20)
    $action_selopt[$i][3] = GUICtrlCreateCheckbox("action4",255,145 + ($i * 220),80,20)

    $action_inpt[$i][0] = GUICtrlCreateInput("1",360,70 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][1] = GUICtrlCreateInput("3",360,95 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][2] = GUICtrlCreateInput("50",360,120 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][3] = GUICtrlCreateInput("500",360,145 + ($i * 220),50,18,0x2000)

    $action_selwin[$i] = GUICtrlCreateButton("Choisis la fenetre",250,185 + ($i * 220),85,20)
    $action_start[$i] = GUICtrlCreateButton("Commencer",370,185 + ($i * 220),60,20)
    $action_stop[$i] = GUICtrlCreateButton("Arreter",370,208 + ($i * 220),60,20)


        GUICtrlSetState($action_stop[$i],128)
        GUICtrlSetOnEvent($action_selopt[$i][0],"_action1" & $i + 1)
        GUICtrlSetOnEvent($action_selopt[$i][1],"_action2" & $i + 1)
        GUICtrlSetOnEvent($action_selwin[$i],"_actionWin" & $i + 1)
        GUICtrlSetOnEvent($action_start[$i],"_actionPos" & $i + 1)
        GUICtrlSetOnEvent($action_stop[$i],"_SactionPos" & $i + 1)
 
J'ai réussit a comprendre que si je supprimer ces lignes

Code : Tout sélectionner

        GUICtrlSetOnEvent($action_selopt[$i][0],"_action1" & $i + 1)
        GUICtrlSetOnEvent($action_selopt[$i][1],"_action2" & $i + 1)
je supprimais obligation de choisir l'une ou l'autre ( les 2 possible quoi ^^')

Note : que les sources sont distribué avec le logiciel. Et je suis un débutant confirmé ;)

Merci de me confirmer que cela est possible sans pour autant refondre le code. si oui m'indiquer comme cela est réalisable.

Re: [...] Modification, de l'execution d'une partie de Script.

Posté : ven. 02 oct. 2009 15:34
par Habibsbib
Alors - alors, si j'ai bien compris, ce qu'il te faut, ce sont des fonctions :

Code : Tout sélectionner

 

; Appuye sur PAUSE pour arrêter l'action deux (les deux dernières) et sur F1 pour lancer les deux premières. Appuye sur échap pour quitter.

Global $Paused
HotKeySet("{PAUSE}", "Pause action 2")
HotKeySet("{ESC}", "Terminate")
HotKeySet("{F1}", "Action 1")

;;;; Body of program would go here ;;;;
While 1
    $action_selwin[$i] = GUICtrlCreateButton("Choisis la fenetre",250,185 + ($i * 220),85,20)
    $action_start[$i] = GUICtrlCreateButton("Commencer",370,185 + ($i * 220),60,20)
    $action_stop[$i] = GUICtrlCreateButton("Arreter",370,208 + ($i * 220),60,20)


        GUICtrlSetState($action_stop[$i],128)
        GUICtrlSetOnEvent($action_selopt[$i][0],"_action1" & $i + 1)
        GUICtrlSetOnEvent($action_selopt[$i][1],"_action2" & $i + 1)
        GUICtrlSetOnEvent($action_selwin[$i],"_actionWin" & $i + 1)
        GUICtrlSetOnEvent($action_start[$i],"_actionPos" & $i + 1)
        GUICtrlSetOnEvent($action_stop[$i],"_SactionPos" & $i + 1)
 

WEnd
;;;;;;;;

Func Pause action 2()
    $Paused = NOT $Paused
    While $Paused
        sleep(100)
    WEnd
    EndFunc

Func Action 1()
     $action_selopt[$i][0] = GUICtrlCreateCheckbox("Action1",255,70 + ($i * 220),80,20)
    $action_selopt[$i][1] = GUICtrlCreateCheckbox("Action2",255,95 + ($i * 220),90,20)
    $action_selopt[$i][2] = GUICtrlCreateCheckbox("action3",255,120 + ($i * 220),90,20)
    $action_selopt[$i][3] = GUICtrlCreateCheckbox("action4",255,145 + ($i * 220),80,20)

    $action_inpt[$i][0] = GUICtrlCreateInput("1",360,70 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][1] = GUICtrlCreateInput("3",360,95 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][2] = GUICtrlCreateInput("50",360,120 + ($i * 220),50,18,0x2000)
    $action_inpt[$i][3] = GUICtrlCreateInput("500",360,145 + ($i * 220),50,18,0x2000)
EndFunc

Re: [...] Modification, de l'execution d'une partie de Script.

Posté : ven. 02 oct. 2009 15:49
par yebo
Alors, je ne suis pas sur que c'est exactement ce que j'ai demandé,

Mais c'est un bon début pour que je puisse comprendre.

Le but etant de laisse les Action 3 et 4

et avoir des touche pour lancer soit l'Action 1 soit l'action 2 (dans tous les cas les 3 et 4 tournes)

Je vais travailler deja avec se morceau, comme j'ai dis je débute totalement, je suis pour avoir la solution en claquant des doigts ;)


Merci ;)

Re: [...] Modification, de l'execution d'une partie de Script.

Posté : ven. 02 oct. 2009 16:57
par Habibsbib
De rien ^^, tout le plaisir est pour moi.