[R] Désactiver une checkbox si une autre est cochée

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

[R] Désactiver une checkbox si une autre est cochée

#1

Message par Vins83 »

Bonjour a tous,aprés plusieurs tentatives avec :

Code : Tout sélectionner

If BitAND ( GUICtrlRead ( $Optimisersysteme ) , $GUI_CHECKED ) Then

pas moyen de disabel une autre checkbox.

Une idée ?

Merci beaucoup

@+ vins
Modifié en dernier par Vins83 le dim. 02 sept. 2007 08:13, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#2

Message par Tlem »

Ca ne serait pas plutôt :

Code : Tout sélectionner

If BitAND(GUICtrlRead($Optimisersysteme),$GUI_CHECKED)=$GUI_CHECKED  Then
GUICtrlSetState ($AutreCB, 0)
EndIf
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é".
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

#3

Message par Vins83 »

Ta solution n'a pas marché,alors j'ai essayer ça:

Code : Tout sélectionner

If $OptimiserJkDefrag = $GUI_CHECKED Then 
$OptimiserJkDefrag2 = $GUI_UNCHECKED 
EndIf
Mais pareille,le résultat est nada..

Je continu les tests. Merci

@+ Vins
Avatar du membre
Vins83
Membre émérite
Membre émérite
Messages : 220
Enregistré le : mer. 25 juil. 2007 17:43
Status : Hors ligne

#4

Message par Vins83 »

Voilà ma solution:

Code : Tout sélectionner

; Defragmentation JkDefrag complete 
If BitAND ( GUICtrlRead ( $OptimiserJkDefrag2 ) , $GUI_CHECKED ) Then 
GUICtrlSetState ( $OptimiserJkDefrag , $GUI_UNCHECKED ) 
RunWait ( @ProgramFilesDir & "\JkDefrag\JkDefragCmd.exe - a 4 - l" , "" , @SW_HIDE ) 
Sleep ( 250 ) 
EndIf 
; Defragmentation JkDefrag rapide 
If BitAND ( GUICtrlRead ( $OptimiserJkDefrag ) , $GUI_CHECKED ) Then 
RunWait ( @ProgramFilesDir & "\JkDefrag\JkDefragCmd.exe - a 3 - l" , "" , @SW_HIDE ) 
Sleep ( 250 ) 
EndIf

Je privillégie la defrag complete a la rapide,donc :

Code : Tout sélectionner

GUICtrlSetState ( $OptimiserJkDefrag , $GUI_UNCHECKED )
En fait l'action unchecked a lieu au moment de l'execution du script et pas pendant le choix,mais le résultat est le meme..

@+ Vins
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#5

Message par sylvanie »

Petite précision,
il vaut mieux utiliser ce qu'à dit Tlem pour le BiTAND.
A savoir

Code : Tout sélectionner

BitAND ( GUICtrlRead ( $OptimiserJkDefrag2 ) , $GUI_CHECKED )=$GUI_CHECKED
car

Code : Tout sélectionner

BitAND ( GUICtrlRead ( $OptimiserJkDefrag2 ) , $GUI_CHECKED )
seul sous entend =1, or ici ça marche car $GUI_CHECKED = 1...

mais si tu faisis le check inverse :

Code : Tout sélectionner

BitAND ( GUICtrlRead ( $OptimiserJkDefrag2 ) , $GUI_UNCHECKED )
ceci ne marcherai pas car le =1 est toujours sous entendu, mais $GUI_UNCHECKED=4
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#6

Message par Tlem »

Vins83 a écrit :Voilà ma solution:

Code : Tout sélectionner

; Defragmentation JkDefrag complete
If BitAND ( GUICtrlRead ( $OptimiserJkDefrag2 ) , $GUI_CHECKED ) Then 
GUICtrlSetState ( $OptimiserJkDefrag , $GUI_UNCHECKED )
????? C'est bien ce que je vous avais donné comme réponse, non ?
Ne connaissant pas le nom de votre 2ième contrôle ($OptimiserJkDefrag) j'avais mis $AutreCB.
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é".
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#7

Message par sylvanie »

Ceci n'avait pas marcher à cause du 0 :

Code : Tout sélectionner

GUICtrlSetState ($AutreCB, 0)[/autoit]

à la place de 
[autoit]GUICtrlSetState ($AutreCB,$GUI_UNCHECKED)
Mais effectivement, tu avais donné la bonne syntaxe.
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#8

Message par Tlem »

Ha ok.

Il m'avais sembler que $GUI_UNCHECKED était toujours égal à 0.

Autant pour moi.
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é".
Répondre