Page 1 sur 1

[R] $GUI_CHECKED, oui mais...

Posté : sam. 26 avr. 2008 19:30
par Yoyo86220
Donc ReBonjour à tous je vous explique, de topic on été bloqué, sauf que j'ai vraiment besoin d'aide je voi vraiment pas se que je fais de mal dans mon script...

déjà je n'arrive pas a comprendre le fonctionnement de ceci: "$GUI_CHECKED" si on pouvait m'expliqué sa fonction...
dans mon script il y a:

Code : Tout sélectionner

 For $i = 1 To 2
If BitAND(GUICtrlRead(Eval("case" & $i)), $GUI_CHECKED) Then
MsgBox(0,"case","case" & $i)
GUICtrlSetState("case" & $i,$GUI_UNCHECKED)
 
mais il m'indique l'erreur ( :evil: ):
If BitAND(GUICtrlRead(Eval("case" & $i)), $GUI_CHECKED) Then
If BitAND(GUICtrlRead(Eval("case" & $i)), ^ERROR

j'ai regarder eeennnnooorrrrmément de script pour essayer de comprendre... mais impossible svp aidez moi

Re: [..] $GUI_CHECKED, oui mais...

Posté : sam. 26 avr. 2008 22:59
par sylvanie
je pense que tu as oublier de mettre :
#include <GuiConstants.au3> en tête du fichier. c'est le fichier où est déclarée $GUI_CHECKED

$GUI_CHECKED n'est qu'une variable, elle correspond à un bit d'état qui permet de savoir si une case, radio ... est cochée
GUICtrlRead(Eval("case" & $i)) renvoie l'état de la check boxe d'identifiant case$i.
Or un état d'un contrôle est la combinaison de plusieurs état (exple : checked + disabled + ...)
chaque composante est donc une puissance de 2 pour qu'on puisse les distinguer.
Pour tester si la case est cocher, on fait un et (Bitand) bit à bit entre l'état et $GUI_CHECKED.
En toute logique, si le bouton est cocher Bitand(etat,$$GUI_CHECKED) = $GUI_CHECKED car le bit de $GUI_CHECKED est activé, sinon celà vaut 0.

D'où l'expression
If BitAND(GUICtrlRead(Eval("case" & $i)), $GUI_CHECKED) Then
qui est vraie si la case est cochée