[R] Probleme sur la génération d'un gui

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

[R] Probleme sur la génération d'un gui

#1

Message par Dydy049 »

Bonjour,
J'ai un soucis sur la génération de mon GUI. En effet, je le crée dans le code en fonction des noms que classe que je récupère d'une requête SQL. Mais je ne sais pas comment faire pour former le nom des checkbox et savoir lesquelles ont été cliqué car je les nommes toujours pareil ! ... Le soucis est que j'arrive pas a les notés différemment sans qu'il me génère une erreur ... Voyez vous se que je veux dire ?

Mon code est exposé ci-dessous :

Code : Tout sélectionner

                _SQLite_Query ($bdd, "SELECT DISTINCT COUNT(*) FROM users", $hQuery)
                _SQLite_FetchData($hQuery, $aRow)

                $height = $arow[0] * 20
                $Form1 = GUICreate("Form1", 243, 70 + $height, 192, 114)
                $lblInfo = GUICtrlCreateLabel("Selectionner les classes a supprimer", 10, 10, 238, 18)
                GUICtrlSetFont(-1, 8, 800, 0, "Georgia")
                $grpClasse = GUICtrlCreateGroup("Liste des classes : ", 10, 32, 233, 29 + $height)

                $top = 55
                For $i = 0 To $aRow
                    _SQLite_Query ($bdd, "SELECT DISTINCT classe FROM users", $hQueryClasse)
                    While (_SQLite_FetchData ($hQueryClasse, $aRowClasse) = $SQLITE_OK)
                        $chk = GUICtrlCreateCheckbox($aRowClasse[0], 17, $top, 97, 17)
                        $top = $top + 20
                    WEnd
                Next

                GUICtrlCreateGroup("", -99, -99, 1, 1)
                GUISetState(@SW_SHOW)

                While 1
                    $nMsg2 = GUIGetMsg()
                    Switch $nMsg2
                        Case $GUI_EVENT_CLOSE
                            MsgBox(0, "", GUICtrlRead(-10))
                            Exit
                    EndSwitch
                WEnd
Modifié en dernier par Dydy049 le mar. 23 mars 2010 10:34, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11803
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#2

Message par Tlem »

Regardez du coté de la fonction Eval(). ;)
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é".
xabu
Niveau 1
Niveau 1
Messages : 8
Enregistré le : lun. 22 mars 2010 11:42
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#3

Message par xabu »

Peut être une piste (si j'ai bien compris ton script), j'ai généré un GUI de la même façon (il me semble) sauf qu'au lieu de parcourir une base de données je parcours un tableau...

Et les résultats des checkbox je les envoie dans un tableau voir le script :
http://www.autoitscript.fr/forum/viewto ... f=4&t=4917

Si ça peut aider ...
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#4

Message par SagePourpre »

Comme TLEM l'a mentionné, tu peux faire exactement ce que tu souhaites à l'aide
des fonctions assign et eval.

Cela te permettra de d'assigner à une variable différente chaque "checkbox" créées
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#5

Message par Dydy049 »

Ok ! Je vais tester ca je vous redis ca !
Merci beaucoup x)
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#6

Message par Dydy049 »

Donc, j'ai toujours un soucis ^^7

J'ai modifier mon code en :

Code : Tout sélectionner

For $i = 0 To $aRow
        _SQLite_Query ($bdd, "SELECT DISTINCT classe FROM users", $hQueryClasse)
    While (_SQLite_FetchData ($hQueryClasse, $aRowClasse) = $SQLITE_OK)
        Assign("chk" & $i, GUICtrlCreateCheckbox($aRowClasse[0], 20, $top, 97, 17), 1)
        $top = $top + 20
    WEnd
Next
Et pour la lecture :

Code : Tout sélectionner

For $i = 0 To $aRow
    _SQLite_Query ($bdd, "SELECT DISTINCT classe FROM users", $hQueryClasse)
    While (_SQLite_FetchData ($hQueryClasse, $aRowClasse) = $SQLITE_OK)
            Assign("chk" & $i, GUICtrlCreateCheckbox($aRowClasse[0], 20, $top, 97, 17), 1)
        $top = $top + 20
    WEnd
Next
Je pense que je dois mal l'utiliser car je n'arrive pas a savoir si ma case est coché ou non ...

Cordialement, Dydy
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#7

Message par SagePourpre »

Utilise cette fonction, gracieuseté de TLEM pour vérifier l'état de tes "checkbox"

Code : Tout sélectionner

Func _IsChecked($control)
    Return BitAnd(GUICtrlRead($control),1) = 1
EndFunc
dans ton cas, tu peux vérifier toutes tes boîtes dans une boucle avec eval.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#8

Message par Dydy049 »

Hum si j'ai bien compris j'appelle ma fonction grâce a une boucle donc en faisant comme ceci :

DEBUTBOUCLE
_IsChecked(eval("chk" & $i))
FINBOUCLE
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#9

Message par Dydy049 »

C'est bon x)
Merci beaucoup les gars !

Juste un dernier p'tit truc, est que l'on peut récupéré le texte d'un checkbox ?
Car je n'y arrive pas :shock:
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#10

Message par SagePourpre »

GUICtrlRead($checkbox,1)


Code : Tout sélectionner

DEBUTBOUCLE
$eval = eval("chk" & $i)
  Switch _IsChecked($eval) 
    Case "0"
        ; Case décochée
    Case "1" 
        ; Case cochée
        $lirenomdelacasecochee = GUICtrlRead($eval,[b]1[/b])

EndSwitch


FINBOUCLE
Modifié en dernier par SagePourpre le mar. 23 mars 2010 10:36, modifié 2 fois.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Dydy049
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mer. 03 mars 2010 14:37
Status : Hors ligne

Re: [..] Probleme sur la génération d'un gui

#11

Message par Dydy049 »

Merci beaucoup !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11803
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Probleme sur la génération d'un gui

#12

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
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