[R] Problème avec Treeview

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
kaki
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 24 févr. 2010 09:13
Status : Hors ligne

[R] Problème avec Treeview

#1

Message par kaki »

Bonjour, je vient poster sur le forum devant ma problématique.
Cela doit faire une bonne semaine que je cherche mais je trouve pas comment appliquer ce que je veut faire.

ma problématique est la suivante:

je cherche a faire une boucle qui:
A) retrouve dans une treeview le premier élément cocher.
B) lance l'application associer
C) attend la fin de l'exécution de l'application
D) décoche cette élément
E) repart cherche l'élément suivant


Le point C) et E) ne me pose pas de problème à mettre en place dans la boucle.
Mettre en place la condition de sortie de boucle non plus si je trouve la solution pour le point A).

Le programme a pour but de crée des auto installation est lancer les installations cocher.
Donc la treeview n'aura j'aimais le même nombre d'élément ni le même noms pour les éléments.
Les donnée sont stoker dans un fichier .ini lors de la création de l'élément, ce qui permet au programme de charger les élément dan la treeview au démarrage.


oui ils manque un bout de mon code.

Code : Tout sélectionner

Func install()
    Global $var1 = GUICtrlRead ($TreeView,$GUI_CHECKED)

    MsgBox (0,"",_GUICtrlTreeView_GetSelection($TreeView))
;~  Global $no0 = 1
;~  While 1
;~      Sleep(100)
;~      For $j = 1 To $var1[0]
;~          _GUICtrlTreeView_Add($TreeView, 0, $var1[$j])
;~      Next
;~      If $no0 < 500 Then
;~          ExitLoop
;~      EndIf
;~      Global $no0 = $no0 + 1
;~  WEnd

EndFunc   ;==>install

 
j'ai écraser a plusieurs reprise mon code qui est devenue un peu fouillis.
Le problème avec la récupération de donnée était que je récupérais tout le temps le dernier élément cliquer. (bien qu'il ne sois pas cocher)

Je peut m'être le code entier si besoin.
Modifié en dernier par kaki le lun. 03 sept. 2012 13:17, modifié 3 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème avec Treeview

#2

Message par Tlem »

Si cela fait une semaine, vous devez sans doute avoir essayé plusieurs codes ou lignes de code. Il serait bien de nous présenter votre travail ...
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é".
kaki
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 24 févr. 2010 09:13
Status : Hors ligne

Re: [..] Problème avec Treeview

#3

Message par kaki »

Je peut m'être le code entier si besoin.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Problème avec Treeview

#4

Message par mikell »

Pas besoin
Les _GUICtrlTreeView_Add retournent les handles des items créés, il te faut stocker ces handles quelque part (dans une array par exemple)
Ensuite tu fais une boucle et tu mets dedans

Code : Tout sélectionner

If _GUICtrlTreeView_GetChecked($treeview, $item) = true Then     ; si l'item est coché
    RunWait(....)        ; lance une application et attend qu'elle ait fini
    _GUICtrlTreeView_SetChecked($treeview, $item, false)     ; décoche l'item
EndIf   
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
kaki
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 24 févr. 2010 09:13
Status : Hors ligne

Re: [..] Problème avec Treeview

#5

Message par kaki »

Merci pour ce bout de code qui est exactement ce que je demander.

Si vous me permettais d'abuser de votre gentillesse.

Je ne vois pas comment exploiter ce code avec ma boucle (qui récupéré les items précédemment crée dans un ini).

► Afficher le textele code en entier
► Afficher le texteles deux fonctions problématique
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Problème avec Treeview

#6

Message par mikell »

OK, je ne sais pas comment est bâti ton ini, mais d'après ton code, comme tu utilises IniReadSectionNames ça veut dire que les items de la treeview correspondront aux noms des sections du ini
Dans ce cas, pour l'écriture de la treeview :

Code : Tout sélectionner

$var = IniReadSectionNames(@ScriptDir & "\Config\Liste.ini")

Dim $items[$var[0]]  ; création d'une array de taille $var[0] pour contenir les handles des futurs items

For $i = 1 To $var[0]
         ; attention, dans l'array $items l'indexation commence à 0, donc faut faire $i-1
         $items[$i-1] =_GUICtrlTreeView_Add($TreeView, 0, $var[$i])
Next
et pour sa lecture :

Code : Tout sélectionner

For $i = 0 to UBound($items)-1
    If _GUICtrlTreeView_GetChecked($treeview, $items[$i]) = true Then     ; si l'item est coché
         MsgBox (0,"",$items[$i])
;~      RunWait(....)        ; lance une application et attend qu'elle ait fini
        _GUICtrlTreeView_SetChecked($treeview, $items[$i], false)     ; décoche l'item
   EndIf
Next
Et par pitié, pour Aut2exe vire-moi tous ces Send horribles et utilise les options ligne de commande
Regarde dans l'aide à Using Autoit > Compiling scripts => method 3
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
kaki
Niveau 1
Niveau 1
Messages : 13
Enregistré le : mer. 24 févr. 2010 09:13
Status : Hors ligne

Re: [..] Problème avec Treeview

#7

Message par kaki »

Merci de ton aide
Je m'occupe des send ce soir.
Puis-je te demander la donc sur les ligne de code que tu ma fourni.
Il faut que je retravaille tout sa.

Merci
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Problème avec Treeview

#8

Message par mikell »

kaki a écrit :Puis-je te demander la donc sur les ligne de code que tu ma fourni.
Hey mon ami, check un peu le fichier d'aide il est amazing !

Code : Tout sélectionner

$oIE=ObjCreate("Shell.Explorer.2")
$gui = GUICreate("", 700, 450, -1, -1, -1, 0x80) 
$gX = GUICtrlCreateObj($oIE, 0, 0, 700, 450)
GUISetState()
$oIE.Navigate("mk:@MSITStore:" & StringRegExpReplace(@Autoitexe, '(.+)\\[^\\]+', "$1") _  
    & "\UDFs3.chm::/html/libfunctions/" & "GuiTreeView Management.htm")
While GuiGetMsg()<>-3
Wend
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre