[R] Cocher une checkbox quand on en coche une autre

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

[R] Cocher une checkbox quand on en coche une autre

#1

Message par erreur »

Bonjour,

Je voudrais faire en sorte que quand on coche la checkbox2, la checkbox1 se coche si elle ne l'est pas et que quand on coche la checkbox3, la checkbox1 et la checkbox2 se cochent si elles ne le sont pas.

Voila mon code d'exemple:
► Afficher le texte
Merci pour votre aide.
Modifié en dernier par erreur le dim. 08 févr. 2009 00:06, modifié 3 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Cocher une checkbox quand on en coche une autre

#2

Message par Tlem »

Dans votre boucle d"événement, contrôlez les actions relatif aux CheckBox (Case $check1 ...).
Dans chacun de ces événements (en fonction de la CheckBox cliquée), utilisez la fonction _IsChecked pour connaitre l'état des autres Checkbox et faite ce dont vous avez besoin de faire (Cocher une autre Checkbox par exemple).
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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [...] Cocher une checkbox quand on en coche une autre

#3

Message par erreur »

Merci,

Donc sa me donne sa:
► Afficher le texte
Le problème, c'est que j'ai deux fois case $check2 donc la deuxième ne fonctionne pas, comment pourrais-je faire ?
Modifié en dernier par erreur le dim. 08 févr. 2009 00:06, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [...] Cocher une checkbox quand on en coche une autre

#4

Message par Tlem »

Heuuuu ... Vous avez une drole de logique !!! :shock:

Je vous ait parlé de la fonction _IsChecked, je ne vous ait jamais parlé de créer une fonction totalement inutile comme _IsUnChecked ...

Réfléchissez quelques minutes au lieu d'aller trop vite (comme dans votre autre message sur les GUI's)
La fonction _IsChecked peut vous donner deux informations :
1 ou 0, soit Checked ou UnChecked donc votre fonction _IsUnChecked n'à plus de raison d'être.

De là, il vous reste la dernière réflexion : oui mais j'ai deux cas pour $check2
et je vous répondrais : Gérez le avec les commandes If ... Then ... Else ... 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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [...] Cocher une checkbox quand on en coche une autre

#5

Message par erreur »

A d'accord, je n'avais pas compris comment marchait la fonction _ischecked donc j'avais crée la fonction _isuncheck.Votre explication va résoudre mon problème va résoudre mon problème, merci beaucoup.
Modifié en dernier par erreur le dim. 08 févr. 2009 00:16, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#6

Message par Tlem »

:shock: :shock: :shock:

:cry:

Je vous suggère deux choses :

1 - Prendre le temps de lire les articles tutoriel du forum, quelques messages en rapport avec vos besoins ainsi que la documentation de AutoIt pour vous imprégner du concept de la programmation par langage de script.

ou

2 - Changer de langage car AutoIt n'est peut être pas fait pour vous.
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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#7

Message par erreur »

Ne vous inquiétez pas, je ne fait que regarder la documentation Autoit, le problème c'est que je ne suit pas Bilingue.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#8

Message par Iste »

Je ne le suis pas non plus :D
Mais en regardant les exemple, on aprend beaucoup !
Va voir du coté des exemple de script sur le forum, tu auras des script assez simple, avec des com' en francais :p
Signez ici
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#9

Message par erreur »

Merci, mais j'ai fini par trouver :D
► Afficher le texte
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#10

Message par Tlem »

Oui, vous avez effectivement trouvé une solution.
Mais pourtant vous n'avez pas été jusqu'au bout de la réflexion.

Dans votre case $check2, vous faites deux tests de condition. :shock:
Ce qu'il faut savoir en logique et principalement en informatique, la réflexion est souvent résumée à : 0 ou 1.

Ici c'est la même chose.
Si votre CheckBox n'est pas cochée, c'est qu'elle est décochée et inversement (Donc un seul test vous donne 2 résultats).
De plus, vous rajoutez un test de condition sur la fonction _IsChecked qui ne sert pas à grand chose ( le = 0) puisque celle-ci vous renvois l'état de la CheckBox que vous n'avez qu'à tester par la commande IF.
Ce qui ce résume à :

Code : Tout sélectionner

If _IsChecked($check2) then
   Guictrlsetstate($check1,$GUI_CHECKED)
Else
   Guictrlsetstate($check3,$GUI_UNCHECKED)
EndIf
La lecture de ceci vous apporterais sans doute plus de clarté sur les actions sous condition :
http://www.autoitscript.fr/forum/viewto ... f=11&t=375

*
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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#11

Message par erreur »

Oui mais le résultat est le même, à deux mot prêt.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#12

Message par Tlem »

En la circonstance oui.

Mais sachez que le contrôle CheckBox peut avoir un troisième état ($GUI_INDETERMINATE) et là, votre test ne fonctionnera plus puisque ce ne sera ni 1 ni 0 et donc le Case ne fera aucune action.

Certes, vous me direz que vous n'avez que faire de ce troisième état, mais le problème reste entier pour des cas plus ou moins similaires.
Si plus tard vous devez réaliser des actions sous condition, vous devez prendre les bonnes habitude dés le début, sinon vous risquez de passer à coté de certaines erreurs de base sur ce type de contrôle.
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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#13

Message par erreur »

A d'accord merci pour l'info mais a quoi sert ce troisième état?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#14

Message par Tlem »

Extrait de l'aide :
$GUI_INDETERMINATE
Checkbox having the tristate attribute will be greyed.
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é".
erreur
Niveau 3
Niveau 3
Messages : 36
Enregistré le : ven. 06 févr. 2009 21:35
Status : Hors ligne

Re: [R] Cocher une checkbox quand on en coche une autre

#15

Message par erreur »

ok, merci
Répondre