Wie kann ich GuiGetMsg = Array vereinfachen?

  • hi
    ich habe eine liste in ein array geschrieben und diese mit einem listview ausgegeben
    wenn ich jetz auf einen eintrag klicke soll er diesen eintrag auslesen und in die zwischenablage kopieren

    mein problem ist jetz das das array 200 verschiedene einträge (oder wie das bei array heist) haben kann also auch 200 listview einträge,
    die ich alle checken muss, ob draufgeklickt wurde. geht das leichter als so?

    [autoit]


    select
    case $msg = $listviewitem[1]
    ClipPut (Guictrlread($listviewitem[1]))
    case $msg = $listviewitem[2]
    ClipPut (Guictrlread($listviewitem[2]))
    case $msg = $listviewitem[3]
    ClipPut (Guictrlread($listviewitem[3]))
    case $msg = $listviewitem[4]
    ClipPut (Guictrlread($listviewitem[4]))

    [/autoit][autoit][/autoit][autoit]

    ; usw ...

    [/autoit][autoit][/autoit][autoit]

    endselect

    [/autoit]
  • Hi,

    Spoiler anzeigen
    [autoit]


    ; angenommen die IDs sind fortlaufend ...
    $nMsg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $nMsg
    Case $listviewitem[1] To $listviewitem[UBound($listviewitem - 1)]
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    ; oder ...
    $nMsg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    For $iID = 1 To 200

    If $nMsg = $listviewitem[$iID] Then
    ClipPut(Guictrlread($listviewitem[$iID]))
    EndIf
    Next

    [/autoit]


    Gruß
    Greenhorn


  • vielen dank für die antwort

    bei der ersten möglichkeit gibt der compiler einen fehler aus:

    ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

    Aber des andere funzt

    Ich muss ma gucken ob dadurch das prog zu langsam wird