[..] Afficher données dans GUI

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

[..] Afficher données dans GUI

#1

Message par jcaspar »

B :D njour à tous !

Je souhaite lister les fichiers lnk présent dans un dossier et les afficher dans une fenêtre
avec la possibilité de sélectionner le ou liens voulus pour qu'ils s'ouvrent automatiquement

Je bloque sur le fait d'afficher toutes les données et non pas uniquement
la première ligne et je ne parviens pas à activer la checkbox

Pouvez vous svp m'indiquer comment procéder pour résoudre ces deux blocages.

Merci pour vos conseils


Jean-Marc



► Afficher le texte
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..]Afficher données dans GUI

#2

Message par jguinch »

Tu utilises GUICtrlCreateCheckbox au lieu de GUICtrlCreateListViewItem
De plus, il te faut une boucle pour créer tous les items :

Code : Tout sélectionner

For $i = 1 To $a[0]
    GUICtrlCreateListViewItem($a[$i],$listview)
Next
 
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

Re: [..] Afficher données dans GUI

#3

Message par jcaspar »

M :D erci beaucoup pour cette explication .. mais je vais encore avoir besoin de votre aide ...

dans mon mon code .... comme les checkbox sont crées dynamiquement
par une boucle ... comment puis je définir l'action à effectuer pour toutes
les checkbox si elles sont cochées ou décochées... puisqu'il n'est pas possible de les nommer une par une ? :roll:
dans le case le nommage doit être inapproprié ... peut être faudrait il également utiliser une boucle ?

En vous remerciant pour vos conseils



Jean-Marc


Code : Tout sélectionner

[spoiler=]
;inclusions
#include <Array.au3>
#include <File.au3>
#include <IE.au3>
#include <GUIConstantsEx.au3>
#include <GuiListview.au3>

; Liste dans un tableau  les fichiers lnk du dossier temp 
$a = _FileListToArray('c:\temp', '*.lnk', $FLTA_FILES)

; création fenêtre
Local $hGUI = GUICreate("Lister les raccourcis")
GUISetBkColor(0x0FEFFFFF)
GUISetState(@SW_SHOW, $hGUI)
$listview = GUICtrlCreateListView("Liste des fichiers raccourcis", 0, 10, 300, 200, 2, $LVS_EX_CHECKBOXES)

$i = 0
$j = 20

; Liste les raccourcis
For $i = 1 To $a[0]
    local $raccourcis = GUICtrlCreateListViewItem($a[$i], $listview)
Next

; fonction vérifiant si une case est cochée
Func _IsChecked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   

; fonction vérifiatn si une case est décochées
Func _IsUnChecked($control)
    Return BitAnd(GUICtrlRead($control), $GUI_UNCHECKED) = $GUI_UNCHECKED
EndFunc   

; actions sur la fenêtre et les éléments de celle ci
While 1
    Switch GUIGetMsg()
       
; Action en cas de fermeture
 Case $GUI_EVENT_CLOSE, $idOK
            ExitLoop
; Actions sur une case à cocher
        case $raccourcis
; Si case cochée
            If _IsUnChecked([b]$raccourcis[/b]) then
                Guictrlsetstate([b]$raccourcis[/b], $GUI_UNCHECKED)
              EndIf
; Si case déochée
            If _IsChecked($raccourcis) then
                Guictrlsetstate($raccourcis, $GUI_CHECKED)
                msgbox(64, "test", "test")
;~              _IECreate($aDetails[0])
                Guictrlsetstate($raccourcis, $GUI_CHECKED)
            EndIf

    EndSwitch
WEnd
; Effacer fenêtre
GUIDelete($hGUI)
[/spoiler]
 
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Afficher données dans GUI

#4

Message par jguinch »

jcaspar : la balise Code doit être à l'intérieur de la balise Spoiler.

Pour ton problème, il faut que utilises un tableau :
► Afficher le texte
Et une boucle pour lire l'état check/uinchecked
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
jcaspar
Niveau 7
Niveau 7
Messages : 449
Enregistré le : mar. 23 sept. 2008 17:58
Status : Hors ligne

Re: [..] Afficher données dans GUI

#5

Message par jcaspar »

M :D erci pour ces explications

Question comment comprendre cette ligne ?

local $aRaccourcis[ $a[0] ]

il s'agit d'une variable locale nommée aRaccourcis de type tableau
de données remplis par un tableau de données a débutant à la valeur 0 ?

petite précision la boucle permettant de vérifier l'état checked ou uncked à quel endroit dans le code
doit elle être placé dans la boucle While ?


En vous remerciant pour ces précisions


Jean- Marc
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..] Afficher données dans GUI

#6

Message par Hugues »

Bonjour,

$a[0] correspond aux nombres de valeurs trouvées dans la requête

Code : Tout sélectionner

$a = _FileListToArray('c:\temp', '*.lnk', $FLTA_FILES)
 
Donc en faisant $aRaccourcis[$a[0]], tu definis la taille de ton tableau $aRaccourcis selon la valeur retournée par ta requête precedente...

Si par exemple ta requête trouve 26 raccourcis, ton tableau $aRaccourcis aura une taille de 26...

Et pour vérifier si CheckBox cochée(s), adapté vite fait à ton code:
► Afficher le texte
Répondre