Page 1 sur 1

[R] Lecture d'une Checkbox grâce à son Label

Posté : lun. 19 mai 2014 15:53
par Bayo
Bonjour,

Je voulais savoir si il était possible de savoir si une Checkbox est coché ou non grâce à son Label.

En faite j'aimerai en lisant les Sections d'un fichier ini dans une boucle, vérifier si la checkbox qui aurait le même nom est coché ou pas. Si c'est possible je dois mal m'y prendre

Dans l'exemple, lorsque ça lis la section EXCEL dans le fichier ini j'aimerai voir si la checkbox avec le label excel est coché.
Merci pour votre aide.

Code : Tout sélectionner

Global $excel = GUICtrlCreateCheckbox("Excel", 40, 32, 137, 17)

$ini = @ScriptDir & "\logiciels.ini" 

            $lop = IniReadSectionNames($ini) ; On place notre commande dans une variable
            For $i = 1 To $lop[0] ;on commence la boucle pour analyser ligne par ligne le fichier
                If GUICtrlSetState($lop[$i], $GUI_CHECKED) Then
..
Else
EndIf
 

Re: [..]Lecture d'une Checkbox grâce à son Label

Posté : lun. 19 mai 2014 20:45
par blacksoul305
Bonsoir,

voici un code qui devrait fonctionner de la façon demandée.
► Afficher le texte

Re: [..] Lecture d'une Checkbox grâce à son Label

Posté : lun. 19 mai 2014 22:27
par Tlem
Bonsoir.
Pour faire ce que vous demandez, vous avez besoin de la fonction _IsChecked() présente sur ce forum et de la fonction Eval pour transformer la valeur récupérée du fichier .ini en la valeur correspondante de votre script.

A condition que le label corresponde à l'ID. Sinon vous devrez trouver l'ID grâce au label et seulement après vous pourrez tester son état. ;)

Re: [..] Lecture d'une Checkbox grâce à son Label

Posté : lun. 19 mai 2014 22:50
par mikell

Code : Tout sélectionner

If GuiCtrlRead($checkbox, 1) = "Excel" AND GuiCtrlRead($checkbox, 0) = $GUI_CHECKED Then _
    Msgbox(0,"", "la checkbox Excel est cochée")

Re: [..] Lecture d'une Checkbox grâce à son Label

Posté : mar. 20 mai 2014 08:50
par Bayo
Bonjour,

Merci à vous 3 pour vos réponses. La solution de Mikell ne correspond pas car il me faut la variable de la Checkbox or je ne l'ai pas. Par contre celle de blacksoul305 me va bien mais je n'arrive pas à la faire fonctionner, le ControlCommand me renvoi toujours 0 malgré que la case soit coché. J'ai même essayé de remplacer [CLASS:Button; TEXT:" & $temp[$i] & "] par [CLASS:Button; TEXT:Excel] dans mon exemple mais pareil.

Je vais essayer la solution de Tlem.

Merci.

[R] Lecture d'une Checkbox grâce à son Label

Posté : mar. 20 mai 2014 10:13
par Bayo
En mélangeant les solutions de Mikell et Tlem, j'ai réussi à obtenir le résultat souhaité, le voici.

Code : Tout sélectionner

$ini = @ScriptDir & "\logiciels.ini" 

$lop = IniReadSectionNames($ini) 
For $i = 1 To $lop[0]
       $temp = Eval($lop[$i])
       If GUICtrlRead($temp, 1) = $lop[$i] And GUICtrlRead($temp, 0) = $GUI_CHECKED Then
Merci de votre aide.