[R] GUICtrlCreateList Parse ?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

[R] GUICtrlCreateList Parse ?

#1

Message par Laddy »

Bonjour à tous

j'ai un problème de comprehension sur GUICtrlCreateList.

avant j'utilisai GUICtrlCreateEdit et chaque information allait à la ligne sans problème.
[11/12/2010 12:50:53] RP350 - listview
[11/12/2010 13:01:24] RP351 - test
[11/12/2010 13:03:08] RP352 - titi
[11/12/2010 13:29:18] RP353 - ERTZ
[11/12/2010 13:34:55] RP354 - auto
Maintenant je souhaite remplacer par GuiCtrlCreateList pour pouvoir ensuite sélectionner chaque ligne avec un clic droit ensuite...

Code : Tout sélectionner

#include <GUIConstantsEx.au3> ; pour la gui
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>

Opt("GUIDataSeparatorChar",@CRLF)

$Gui = GUICreate(" Un clic", 700, 360) ;h360 w326
$BouttonLister = GUICtrlCreateButton("Lister", 6, 145, 100, 25)
$ListePoint = GUICtrlCreateList("", 6, 190, 660, 160) ;310
GUICtrlSetLimit(-1, 200)    ; to limit horizontal scrolling
GUISetState(@SW_SHOW)

Global $RPList ; On définie une variable vide

Func WMIDateStringToDate($dtmInstallDate)
    Return (StringMid($dtmInstallDate, 5, 2) & "/" & _
        StringMid($dtmInstallDate, 7, 2) & "/" & StringLeft($dtmInstallDate, 4) _
            & " " & StringMid ($dtmInstallDate, 9, 2) & ":" & _
                StringMid($dtmInstallDate, 11, 2) & ":" & StringMid($dtmInstallDate, _
                    13, 2))
EndFunc

Do
    GUISetState()
    $Msg = GUIGetMsg()
    Switch $Msg
        Case $BouttonLister

GUICtrlSetData($ListePoint, "Veuillez patienter pendant la création de la liste des 5 derniers points de restauration...")
            $i = 0
            $dtmConvertedDate = ObjCreate("WbemScripting.SWbemDateTime")
            $objWMI = ObjGet("winmgmts:\\localhost\root\default")
            $colItems = $objWMI.ExecQuery("SELECT * FROM SystemRestore")

            If $colItems.Count = 0 Then
                MsgBox(0, "Aucun Point", "No restore point in system.")
            Else
                $i = $colItems.Count
                ;For Each $objItem In $colItems
                If IsObj($colItems) Then
                    For $objItem In $colItems
                        If $i < 6 Then
                            $dtmConvertedDate.Value = $objItem.CreationTime
                            $dtmCreationTime = $dtmConvertedDate.GetVarDate
                            ;$RPList &= "[" & WMIDateStringToDate($objItem.CreationTime) & "] " & "RP" & $objItem.SequenceNumber & " - " & $objItem.Description & " " & @CRLF
                            $RPList &= "[" & WMIDateStringToDate($dtmCreationTime) & "] " & "RP" & $objItem.SequenceNumber & " - " & $objItem.Description & " " & @CRLF
                        EndIf
                        $i = $i - 1
                    Next
                EndIf
            EndIf


            GUICtrlSetData($ListePoint, $RPList)


            $RPLIST = "" ; vide la variable
    EndSwitch
Until $Msg = $GUI_EVENT_CLOSE

 
malheureusement tout se retrouve sur une même ligne avec un carré entre chaque information
pourquoi ?

Edit :
ah j'ai aussi essayé d'ajouter ceci : BitOR($LBS_MULTIPLESEL) et je ne comprend pas il me renvoie une erreur pourquoi ? Si j'ai compris si pour faire une multiple sélection.
du genre
ERROR: BitOR() [built-in] called with wrong number of args
ou qu'elle n'est pas déclaré

Merci d'avance

Laddyr
Modifié en dernier par Laddy le mar. 16 nov. 2010 18:00, modifié 8 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: [..]GUICtrlCreateList Parse ?

#2

Message par Tlem »

Merci de :
- Rajouter l'espace entre la balise et le titre.
- Rajouter les balises de code pour vos code.
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é".
Laddy
Niveau 7
Niveau 7
Messages : 321
Enregistré le : mer. 03 sept. 2008 07:34
Status : Hors ligne

Re: [..] GUICtrlCreateList Parse ?

#3

Message par Laddy »

Voila fait. :oops:
ivigu
Niveau 2
Niveau 2
Messages : 16
Enregistré le : jeu. 04 nov. 2010 00:52
Status : Hors ligne

Re: [..] GUICtrlCreateList Parse ?

#4

Message par ivigu »

bonjour avec le code tel quel moi j'ai une erreur, en commentant "Gui = " a la premiere ligne le formulaire est vide et disparait au bout de quelques secondes...

j'ai ptet fait une mauvaise manip... :?
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] GUICtrlCreateList Parse ?

#5

Message par Jerome »

Coucou,


Je vous conseil de regarder l'aide pour la fonction GuiCtrlCreateList, notamment cette ligne :

Code : Tout sélectionner

GUICtrlSetData($mylist, "You clicked button No1|")

Pour la GUI qui se ferme toute seul, peut-être vous faudrait-il ajouter une boucle infinie...


Bref, voir l'exemple qui marche simplement et de façon optimal.
Et merci d'éditer votre premier post et d'enlever le code couleur dans votre code qui est réservé aux exemples.




Jérôme
Répondre