[R] Do Do Switch ça peux s'entendre ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

[R] Do Do Switch ça peux s'entendre ?

#1

Message par Arkenix »

Bonjour à tous.

Je suis entrain de développer un menu bouton dynamique.
J'arrive a créer donc mes jolie boutons grâce à plusieurs Arrays etc.

Bref le souci n'es pas là.
Je me retrouve dans la parti du "Switch", ou je souhaite donc réaliser un iniWrite, en fonction du bouton pressé.

Je crois que je suis parti un peu trop loin, et je me suis mis à faire des Do dans des Do avec du switch/select (je ne comprend pas tellement la différence).

Voici donc mon "bidouillage" pour cette parti :

Code : Tout sélectionner

Do
   $Slot = 0
   Do
      Switch GUIGetMsg()
         Case $SlotArray[$Slot]
         MsgBox(0,"","click")
         IniWrite(".\Save\Var.ini","Variables",$PCSArrayMenu[1],$Slot)
         $ExitLoop = 1
      EndSwitch
      $Slot +=1
   Until $Slot = $PCSMenuCount-3
Until $ExitLoop = 1
Seul souci c'est que ça ne réagit pas du tout.

Je pense que je me suis complètement paumé dans mon code, une petite aide ?
(un regard neuf est parfois plus efficace :) )


Merci pour vos aides chères amis !
Modifié en dernier par Arkenix le sam. 07 juil. 2012 17:30, modifié 1 fois.
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#2

Message par mikell »

Rien compris à ce que tu essaies de faire :shock:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#3

Message par Arkenix »

^^ il n'y a pas que toi j'ai l'impression :P

Bon en clair j' essais d'effectuer une action lors ce qu'ont clic sur un bouton.
Sauf que celui ci est dynamique, et il est déclaré dans un Array.

Code : Tout sélectionner

For $m = 2 To $PCSMenuCount-1 step 1
$MenuSlot += 25
$SlotArray[$Slot] = GUICtrlCreateButton($PCSArrayMenu[$m],0,$HUDPosY+$MenuSlot,@DesktopWidth,25)
GUICtrlSetBkColor(-1,0x000000)
GUICtrlSetColor(-1,0xffffff)
$Slot += 1
Next
Ainsi je ne sais pas comment faire un switch / endswitch, avec des "case Array[nombre]"

1 - J'ai donc fait Do principal, qui attend que $ExitLoop soit à 1.
2 - A l'intérieur de se Do, il y a donc un autre Do, qui lui à mon fameux "Case Array[Chiffre]", lui même dans un switch.
Ce Do quand à lui attend que l'Array soit fini, et on recommence l'action a zero.


En clair, J'ai des boutons qui ont pour déclaration un Array.
J'aimerais donc vérifier si on clic sur tel ou tel bouton.

► Afficher le texteFunc complet
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#4

Message par mikell »

Hum
► Afficher le texte
Mais pour ce que tu veux faire ça serait mieux en OnEvent
► Afficher le texte
ou en GUIRegisterMsg (pas sûr de ce code...)
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
floriansia
Niveau 1
Niveau 1
Messages : 1
Enregistré le : sam. 07 juil. 2012 15:50
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#5

Message par floriansia »

Hum...Et si tu recommencait tout?Tu verra peut-être le probleme...
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#6

Message par Arkenix »

Merci mikell pour tes réponses, je test ça de suite, et je te tien au courant.

Merci floriansia pour ce bel exemple de réponse dépourvu d’intérêt, peu constructif.
Nous tacherons de répondre la même chose quand vous exposerez vos problèmes ;)


Edit : mikell, visiblement il n'aime pas énormément le @GUI_CtrlId. (erreur de macro).
J'ai supposé qu'il nous fallait un Opt("GUIOnEventMode", 1).
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#7

Message par mikell »

Arkenix a écrit :J'ai supposé qu'il nous fallait un Opt("GUIOnEventMode", 1)
Ben oui :shock:
Mais ça t'oblige à monter tout le script en mode évènementiel (on peut faire autrement, mais c'est plus délicat à gérer)

@floriansia
L'usage sur ce forum est d'exposer quelques arguments précis et sérieux pour étayer sa réponse :wink:
Modifié en dernier par mikell le sam. 07 juil. 2012 17:21, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#8

Message par Arkenix »

Oui donc non je vais faire avec le For je pense.
:)
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#9

Message par mikell »

Si le code n°1 de ma réponse fonctionne, pourquoi s'emmerder la vie ? :mrgreen:

( mais c'est quand même mieux le onevent.... )
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#10

Message par Arkenix »

Alors j'ai trouvé ma solution.
Ton code n°1 je l'avais déjà fait a vrai dire mais ça ne marchait pas.
Enfaite l’erreur est comment dire... humaine (et oui ah ah).

Il s'agit simplement d'un label situé en dessous/au dessus qui empêchait les clics.
Donc un simple

Code : Tout sélectionner

GUICtrlSetState($PCSMainLabel,$GUI_DISABLE)


Et la solution était toute trouvée :D
Merci en tout cas pour ta réactivité mikell, comme quoi parfois les fautes d'inattentions sont les plus courantes :)
Bonne journée à tous :P [R]
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Do Do Switch ça peux s'entendre ?

#11

Message par mikell »

Arkenix a écrit :Enfaite l’erreur est comment dire... humaine (et oui ah ah).
Image

:mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre