Page 1 sur 1

[..] Faire une action à partir d'une ListView

Posté : lun. 08 nov. 2010 19:17
par Simoes03
Bonjour,
Je voudrais faire une action après avoir sélectionne une ligne qui se trouve dans la ListView1 et appuyer sur un bouton.

Voici mon Script si ça peut en éclaircir quelques un:

Code : Tout sélectionner

#include <Array.au3>
#include <GUIConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>

#Region ### START Koda GUI section ### Form=C:\Users\Valentin\Desktop\Form1.kxf
$Form1 = GUICreate("Générateur de Fichier", 460, 339, 547, 364, -1, 0)
GUISetBkColor(0xFFFFFF)
$Button2 = GUICtrlCreateButton("...", 184, 88, 49, 25, 0)
$Label1 = GUICtrlCreateLabel("Date de creation:", 24, 88, 122, 21)
GUICtrlSetFont(-1, 11, 800, 0, "Caviar Dreams")
$Button1 = GUICtrlCreateButton("Créer un nouveau fichier", 32, 24, 185, 41, 0)
GUICtrlSetFont(-1, 11, 800, 0, "Caviar Dreams")
$ListView1 = GUICtrlCreateListView("Nom du fichier", 16, 128, 233, 193)
$Label2 = GUICtrlCreateLabel("By Pear", 256, 32, 178, 60)
GUICtrlSetFont(-1, 36, 800, 0, "Brush Script Std")
$Pic1 = GUICtrlCreatePic("C:\Users\Valentin\Pictures\PEAR.jpg", 408, 280, 41, 49)
$Button3 = GUICtrlCreateButton("Supprimer le(s) fichier(s)", 272, 128, 169, 41)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


$search2 = FileFindFirstFile ("C:\Users\Valentin\Desktop\EasyRewards\" & "*.txt")
While 1
    $file = FileFindNextFile ($search2)
    if @error then ExitLoop
    ConsoleWrite (@error)
    GUICtrlCreateListViewItem ( $file & "", $ListView1)
WEnd






While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1   
    $zero = ""
    $voy = StringSplit("aeiou", "")
    $cons = StringSplit("rtpsdfgjlmcvbn", "")
    for $a = 1 to 4
    $numv = Random(1, $voy[0],1)
    $numc = Random(1, $cons[0],1)
    $zero = $zero & $voy[$numv] & $cons[$numc]
    Next
    FileChangeDir(@ScriptDir)
    DirCreate('EasyRewards')
    FileWrite($zero & ".txt", "Bonjour" & @CRLF & @MON & @CRLF & @MDAY & @CRLF & "La clé d'activation est : '" & $zero & "'." & @CRLF & @CRLF & @CRLF & "Ne tenez pas compte des lignes ci-dessous. Elle sont générées àléatoirement pour faire varier la taille du fichier. " & @CRLF & @CRLF & @CRLF)
    $aleatoire = StringSplit("azertyuiopqsdfghjklmwxcvbn ", "")
    $z = ""
    for $x = 1 to 44000
    $lettre = Random(1, $aleatoire[0],1)
    $z = $z & $aleatoire[$lettre]
    Next
    $txt = ""
    FileWrite($zero & ".txt", $z)
    FileCreateNTFSLink($zero & ".txt", "EasyRewards\" & $zero & ".txt")
    FileDelete($zero & ".txt")
    ConsoleWrite (@WorkingDir)
    
;~     GUICtrlCreateListViewItem ( $zero & ".txt",$ListView1)
$search2 = FileFindFirstFile ("C:\Users\Valentin\Desktop\EasyRewards\" & "*.txt")
ConsoleWrite (@error)

_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
While 1
    $file = FileFindNextFile ($search2)
    if @error then ExitLoop
    ConsoleWrite (@error)
    GUICtrlCreateListViewItem ( $file & "", $ListView1)
WEnd

    Case $Button2
        $chemin = FileOpenDialog("Date","C:\Users\Valentin\Desktop\EasyRewards","Texte (*.txt)")
        $mois = FileReadLine($chemin,2)
        $jour = FileReadLine($chemin,3)
        if $mois = "01" Then
            $mois = "Janvier"
        EndIf
        if $mois = "02" Then
            $mois = "Fevrier"
        EndIf
        if $mois = "03" Then
            $mois = "Mars"
        EndIf
        if $mois = "04" Then
            $mois = "Avril"
        EndIf
        if $mois = "05" Then
            $mois = "Mai"
        EndIf
        if $mois = "06" Then
            $mois = "Juin"
        EndIf
        if $mois = "07" Then
            $mois = "Juillet"
        EndIf
        if $mois = "08" Then
            $mois = "Aout"
        EndIf
        if $mois = "09" Then
            $mois = "Septembre"
        EndIf
        if $mois = "10" Then
        $mois = "Octobre"
        EndIf
        if $mois = "11" Then
        $mois = "Novembre"
        EndIf
        if $mois = "12" Then
            $mois = "Décemble"
        EndIf
        MsgBox(0,"Date de Creation", $jour & " " & $mois)
    EndSwitch
WEnd
 

Re: [..] Faire une action à partir d'une ListView

Posté : lun. 08 nov. 2010 19:52
par pop45

Code : Tout sélectionner

GUICtrlRead($ListBox1)
Si je me souvient bien , cette fonction retourne le mot qui est selectionner dans la listbox
Et je te l'avais dis en francais? Ou c'etait en physique chimie?

Re: [..] Faire une action à partir d'une ListView

Posté : lun. 08 nov. 2010 20:38
par Simoes03
C'était en français...

Tu pourrais me donner un exemple plus concret ?

Re: [..] Faire une action à partir d'une ListView

Posté : lun. 08 nov. 2010 21:18
par pop45
Et utilise une listBox c'est plus simple pour ce que tu veut faire!

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Form2", 242, 146, 302, 218)
$List1 = GUICtrlCreateList("", 10, 10, 91, 123)
GUICtrlSetData(-1, "1|2|3|4|5")
$Button1 = GUICtrlCreateButton("Button1", 130, 50, 81, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            MsgBox (0,"",GUICtrlRead ($List1))
            

    EndSwitch
WEnd
 

Re: [..] Faire une action à partir d'une ListView

Posté : lun. 08 nov. 2010 21:39
par Jerome
Coucou,


Petit exemple que j'avais fait dans le code à cette page.



Jérôme

Re: [..] Faire une action à partir d'une ListView

Posté : mar. 09 nov. 2010 19:37
par Simoes03
Petite rectification ... Je voudrais un ListView et non une List :?

Re: [..] Faire une action à partir d'une ListView

Posté : mar. 09 nov. 2010 20:04
par Jerome
Jerome a écrit :Coucou,


Petit exemple que j'avais fait dans le code à cette page.



Jérôme

....


C'est pas une liste view la dedans ?

Re: [..] Faire une action à partir d'une ListView

Posté : mar. 09 nov. 2010 20:53
par Simoes03
Oui excuse moi je ne regardais pas au bonne endroit.
Pourrais tu un peu expliqué? Je n'arrive pas à l'adapter à mon programme ... =S

Re: [..] Faire une action à partir d'une ListView

Posté : ven. 12 nov. 2010 20:27
par Jerome
Coucou,


Ce que vous chercher à faire réside dans ce bout de code :

Code : Tout sélectionner

$SelIndexItem =  _GUICtrlListView_GetSelectedIndices($List1) +0
    $SelIndex = _GUICtrlListView_GetItem($List1, $SelIndexItem)




Jérôme