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

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
yebo
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 01 oct. 2009 08:52
Status : Hors ligne

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

#1

Message 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.
Modifié en dernier par Iste le ven. 02 oct. 2009 16:28, modifié 2 fois.
Raison : L'utilisation de la coloration syntaxique est réservée aux forums 'Exemples de script' et 'Fonctions et UDF'
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

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

#2

Message 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
Modifié en dernier par Iste le ven. 02 oct. 2009 16:28, modifié 1 fois.
Raison : L'utilisation de la coloration syntaxique est réservée aux forums 'Exemples de script' et 'Fonctions et UDF'
yebo
Niveau 1
Niveau 1
Messages : 2
Enregistré le : jeu. 01 oct. 2009 08:52
Status : Hors ligne

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

#3

Message 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 ;)
Habibsbib
Niveau 7
Niveau 7
Messages : 393
Enregistré le : dim. 30 août 2009 13:49
Localisation : Euh...Verticale, entre le siège et l'écran...
Status : Hors ligne

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

#4

Message par Habibsbib »

De rien ^^, tout le plaisir est pour moi.
Répondre