[..] Boutons Radio

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

[..] Boutons Radio

#1

Message par ricky »

Hello,

j'aurai deux questions :

J'ai 12 boutons radio et un bouton appliquer, au moment ou j'appuie sur le bouton appliquer, comment savoir quel bouton radio a été sélectionné?

Comme j'ai 15 boutons radio et que l'affichage du texte à côté du bouton radio est dynamique il faut que je change les valeurs dans les variables $button1 à $bouton15. Comment faire ma boucle?

Merci d'avance pour votre aide...
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..]Boutons radio

#2

Message par Yogui »

avec l'aide :

sinon avec ce petit exemple (qui est quasiment comme l'aide :)

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 333, 247, 192, 124)
$Radio1 = GUICtrlCreateRadio("Radio1", 128, 48, 113, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 128, 80, 113, 17)
$Radio3 = GUICtrlCreateRadio("Radio3", 128, 112, 113, 17)
$Radio4 = GUICtrlCreateRadio("Radio4", 128, 152, 113, 17)
$button1 = GUICtrlCreateButton("alors", 128,170,113,17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Dim $radioched
While 1
    $msg = GUIGetMsg()

    Select
        Case $msg = $GUI_EVENT_CLOSE
            Exit
        Case $msg = $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED
            $radioched = "radio1"

        Case $msg = $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED
            $radioched = "radio2"
        Case $msg = $Radio3 And BitAND(GUICtrlRead($Radio3), $GUI_CHECKED) = $GUI_CHECKED
            $radioched = "radio3"
        Case $msg = $Radio4 And BitAND(GUICtrlRead($Radio4), $GUI_CHECKED) = $GUI_CHECKED
            $radioched = "radio4"
        case $msg = $button1
            MsgBox(0,"Radio coché : ",$radioched)

    EndSelect
WEnd
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: [..]Boutons radio

#3

Message par ricky »

Ok, merci, mais ça réponds pas vraiment, car cette solution là, je la connaissais, mais je savais pas s'il y avait un variable qui contenait lequel est 15 activés... Donc, il faut faire pour chacun le test....

Et pour ma deuxième question?
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..]Boutons radio

#4

Message par Yogui »

Pour ça il me faudrait comprendre la dynamique de ces radios :s

pour faire simple même si c'est dynamique dans votre code il doit forcément un moment ou les radios sont créés

$Radio1 = GUICtrlCreateRadio($Variable, 128, 48, 113, 17)

je pense donc que le plus simple et de faire un "tableau" pourquoi pas un array qui établis un lien entre le nom du contrôle et son label

Local $Arrayvariable[16]

$Radio0 = GUICtrlCreateRadio($Variable, 128, 48, 113, 17)
$avArray[0] = $Variable

Puis lorsque l'on veux le label du radio 0 appeler le tableau en indice 0

mais sans le code initial je ne fais que spéculer ...
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: [..] Boutons Radio

#5

Message par ricky »

Parfait, merci.

J'ai une autre question dans le même registre. J'ai deux séries de boutons radio, un série de 3 et une de deux, comment les séparer?

Donc je m'explique, dans la série des 3 que je puisse en utiliser 1 et dans la série de 2 en utiliser 1. Car en ce moment, je peux utiliser que 1 des 5! J'utilise Koda...

Merci d'avance
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Boutons Radio

#6

Message par Yogui »

Les mettre dans un group

$Group1 = GUICtrlCreateGroup("Group1", X,x, x, X)

utilisez koda pour tester
► Afficher le texte
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: [..] Boutons Radio

#7

Message par ricky »

Ok, ton code marche, mais j'ai aussi fait un groupe, mais ça ne marche pas... voici mon code :
► Afficher le textecode
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Boutons Radio

#8

Message par scorp84 »

Salut ricky,

Il ne manquerait pas un bout de code car quand je le lance, il ne me met pas de message d'erreur mais il ne lance rien :-(

Amicalement.

BM
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Boutons Radio

#9

Message par Yogui »

ricky a écrit :Ok, ton code marche, mais j'ai aussi fait un groupe, mais ça ne marche pas... voici mon code :
► Afficher le textecode
Lors de mon message de 16heures 13 je vous ai indiqué :
Yogui a écrit :Les mettre dans un group

$Group1 = GUICtrlCreateGroup("Group1", X,x, x, X)

utilisez koda pour tester
Dans votre code je ne vois pas l'utilisation de GUICtrlCreateGroup...

Reprenez mon code directement tiré de koda et tenter de comprendre comment il fonctionne

Code : Tout sélectionner

$Group1 = GUICtrlCreateGroup("Group1", 24, 48, 201, 209)
Je place le contrôle groupe sur ma GUI

Code : Tout sélectionner

$Radio1 = GUICtrlCreateRadio("Radio1", 56, 80, 113, 17)
$Radio2 = GUICtrlCreateRadio("Radio2", 56, 112, 113, 17)
$Radio3 = GUICtrlCreateRadio("Radio3", 56, 144, 113, 17)
$Radio4 = GUICtrlCreateRadio("Radio4", 56, 176, 113, 17)
$Radio5 = GUICtrlCreateRadio("Radio5", 56, 208, 113, 17)
Je place les radios de façon qu'elles soient dans le contrôle Group (avec koda c'est très simple)

Code : Tout sélectionner

GUICtrlCreateGroup("", -99, -99, 1, 1)
Je ferme mon contrôle groupe


Les 5 radios compris entre $Group1 = GUICtrlCreateGroup("Group1", 24, 48, 201, 209) et GUICtrlCreateGroup("", -99, -99, 1, 1) vont fonctionner ensemble.

comme ça pour votre code:
► Afficher le texte
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Boutons Radio

#10

Message par Yogui »

scorp84 a écrit :Salut ricky,

Il ne manquerait pas un bout de code car quand je le lance, il ne me met pas de message d'erreur mais il ne lance rien :-(

Amicalement.

BM
code fonctionnel
► Afficher le texte
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 415
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Boutons Radio

#11

Message par scorp84 »

Autant pour moi... j'aurai pu trouver tout seul :oops:

Amicalement.

BM
Avatar du membre
ricky
Niveau 7
Niveau 7
Messages : 443
Enregistré le : ven. 06 févr. 2009 09:25
Localisation : Suisse
Status : Hors ligne

Re: [..] Boutons Radio

#12

Message par ricky »

J'avais bien vu que vous aviez mis dans un groupe qui faisait l'entourage, mais je ne voulais pas cette partie graphique. Mais dans koda on peut faire un autre style de groupe, alors à quoi ça sert?

J'ai pris le code fonctionnel ci-dessus, mais il ne marche pas, rien n'a changé, est-ce normal?
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Boutons Radio

#13

Message par Yogui »

ricky a écrit :J'avais bien vu que vous aviez mis dans un groupe qui faisait l'entourage, mais je ne voulais pas cette partie graphique. Mais dans koda on peut faire un autre style de groupe, alors à quoi ça sert?
Testez déjà avec ce bout de code ... à mettre la ou il faut dans votre code ... après il suffit de ne pas l'afficher :roll: si vraiment vous n'en voulez pas ... :roll:

Code : Tout sélectionner

$Group1 = GUICtrlCreateGroup("", 228, 30, 155, 30)
Global $R_GB = GUICtrlCreateRadio("GB", 232, 39, 35, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Times New Roman")
Global $R_MB = GUICtrlCreateRadio("MB", 287, 39, 35, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Times New Roman")
Global $R_KB = GUICtrlCreateRadio("KB", 342, 39, 40, 20)
GUICtrlSetFont(-1, 10, 400, 0, "Times New Roman")
GUICtrlCreateGroup("", -99, -99, 1, 1)

ricky a écrit :J'ai pris le code fonctionnel ci-dessus, mais il ne marche pas, rien n'a changé, est-ce normal?

Le code fonctionnel était pour scorp84 ...
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [..] Boutons Radio

#14

Message par Serge63 »

ricky a écrit :Comme j'ai 15 boutons radio et que l'affichage du texte à côté du bouton radio est dynamique il faut que je change les valeurs dans les variables $button1 à $bouton15. Comment faire ma boucle?
Bonjour

est-ce que tu as regardé l'utilisation de Assign et Eval ?
.
Répondre