Alles ListviewItems auslesen

  • Hallo,
    ich schreibe mir grade ein Tool für ne Wiki um nicht immer ein neuen HTML Code zu schreiben.
    Jetzt will ich was in ein Listview eintragen und das zum schluss auslesen, aber alle Items auslesen.
    Ich krige das aber nicht hin, habe versucht, immer auf 1 Item klicken lassen und dann auslesen aber habe ich ebenfals nicht hinbekommen :(

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>

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

    Global $item[1], $ts1

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Timespace Tutorial Code ersteller by Freaky for http://www.NosHacks.l2x.eu", 831, 407)
    $Group1 = GUICtrlCreateGroup("1. Stadtort", 8, 0, 361, 41)
    $Label1 = GUICtrlCreateLabel("Name", 16, 16, 32, 17)
    $Label2 = GUICtrlCreateLabel("Bild-Link", 192, 16, 44, 17)
    $Input1 = GUICtrlCreateInput("", 64, 16, 121, 21)
    $Input2 = GUICtrlCreateInput("", 240, 16, 121, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("2. Bedingungen", 8, 48, 361, 65)
    $Input3 = GUICtrlCreateInput("", 16, 88, 345, 21)
    $Label3 = GUICtrlCreateLabel("Die Bedingungen bitte mit einem Komma trennen", 16, 64, 233, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("3. Monster", 8, 120, 361, 65)
    $Label4 = GUICtrlCreateLabel("Die Monster bitte mit einem Komma trennen und Level angabe", 16, 136, 297, 17)
    $Input4 = GUICtrlCreateInput("", 16, 160, 345, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("4. Anmerkung", 8, 192, 361, 65)
    $Input5 = GUICtrlCreateInput("", 16, 232, 345, 21)
    $Label8 = GUICtrlCreateLabel("Bitte angeben ob man Tränke etc. braucht ", 16, 208, 208, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group5 = GUICtrlCreateGroup("5. Timespace", 376, 0, 449, 257)
    $ListView1 = GUICtrlCreateListView("Bild Link|Beschreibung (Raum für Raum)", 384, 16, 434, 78)
    $Edit1 = GUICtrlCreateEdit("", 384, 128, 249, 121)
    $Label5 = GUICtrlCreateLabel("Bitte Raum für Raum alles", 640, 104, 180, 18)
    $Label6 = GUICtrlCreateLabel("beschreiben. Wenn es mehrer Wege", 640, 128, 178, 17)
    $Label7 = GUICtrlCreateLabel("gibt, bitte mit aufschreiben.", 640, 152, 130, 17)
    $Button1 = GUICtrlCreateButton("Hinzufügen", 640, 184, 171, 25)
    $Button2 = GUICtrlCreateButton("Entfernen", 640, 224, 171, 25)
    $Label12 = GUICtrlCreateLabel("Bild-Link", 384, 104, 44, 17)
    $Input9 = GUICtrlCreateInput("", 432, 104, 201, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group6 = GUICtrlCreateGroup("6. Unenschieden", 8, 264, 361, 65)
    $Label9 = GUICtrlCreateLabel("Die Belohnungen bitte mit einem Komma trennen", 16, 280, 233, 17)
    $Input6 = GUICtrlCreateInput("", 16, 304, 345, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group7 = GUICtrlCreateGroup("7. Spezial", 376, 264, 449, 65)
    $Label10 = GUICtrlCreateLabel("Die Belohnungen bitte mit einem Komma trennen", 384, 280, 233, 17)
    $Input7 = GUICtrlCreateInput("", 384, 304, 433, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group8 = GUICtrlCreateGroup("8. Bonus", 8, 336, 361, 65)
    $Label11 = GUICtrlCreateLabel("Die Belohnungen bitte mit einem Komma trennen", 16, 352, 233, 17)
    $Input8 = GUICtrlCreateInput("", 16, 376, 345, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button3 = GUICtrlCreateButton("Code erstellen", 376, 344, 219, 25)
    $Button4 = GUICtrlCreateButton("Forum", 600, 344, 227, 25)
    $Button5 = GUICtrlCreateButton("CMS", 600, 376, 227, 25)
    $Button6 = GUICtrlCreateButton("Exit :P", 376, 376, 219, 25)

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

    $Form2 = GUICreate("HTML Code wiedergabe", 380, 396, 434, 187)
    $Edit2 = GUICtrlCreateEdit("", 0, 0, 377, 369)
    $Button7 = GUICtrlCreateButton("Kopieren", 0, 368, 187, 25)
    $Button8 = GUICtrlCreateButton("Zurück zur Form", 192, 368, 187, 25)

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

    GUISetState(@SW_SHOW, $Form1)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _ArrayAdd ($item,"")
    $beschreibung = StringSplit (GUICtrlRead ($Edit1),@CRLF)
    Local $text = ""
    For $i = 1 To UBound ($beschreibung)-1
    $text &= $beschreibung[$i] & "@"
    Next
    $item[UBound($item)-1] = GUICtrlCreateListViewItem (GUICtrlRead ($Input9) & "|" & $text,$ListView1)
    Case $Button2
    _GUICtrlListView_DeleteItemsSelected ($ListView1)
    _ArrayDelete ($item,"")
    Case $Button3
    _eintragen()
    Case $Button4
    ShellExecute ("http://www.noshacks.l2x.eu")
    Case $Button5
    ShellExecute ("http://www.noshacks.l2x.eu/cms")
    Case $Button6
    Exit
    Case $Button7
    ClipPut (GUICtrlRead ($Edit2))
    Case $Button8
    GUISetState (@SW_HIDE,$Form2)
    GUISetState (@SW_SHOW,$Form1)
    EndSwitch
    WEnd

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

    Func _eintragen()
    $bedingung = GUICtrlRead($Input3)
    If StringInStr($bedingung, ",") <> 0 Then
    $bedingung = StringSplit($bedingung, ",")
    Local $text = ""
    For $i = 1 To UBound($bedingung) - 1
    $text &= '<li>' & $bedingung[$i] & '</li>' & @CRLF
    Next
    $bedingung = $text
    ElseIf $bedingung = "" Then
    $bedingung = "Es gibt keine Bedingungen"
    EndIf

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

    $code = '<p><strong>Standtort:</strong></p>' & @CRLF & _
    '<p>' & GUICtrlRead($Input1) & '</p>' & @CRLF & _
    '<p><img src="' & GUICtrlRead($Input2) & '" border="0" /></p>' & @CRLF & _
    '<p><strong>Bedingungen:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input3) & @CRLF & _
    '</ul>' & @CRLF & _
    '<p><strong>Monster:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input4) & @CRLF & _
    '</ul>' & @CRLF & _
    '<p><strong>Anmerkung:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input5) & @CRLF & _
    '</ul>' & @CRLF & _
    '<p><strong>Timespace</strong></p>' & @CRLF & _
    _guid() & @CRLF & _
    '<p><strong>Unenschieden:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input6) & @CRLF & _
    '</ul>' & @CRLF & _
    '<p><strong>Spezial:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input7) & @CRLF & _
    '</ul>' & @CRLF & _
    '<p><strong>Bonus:</strong></p>' & @CRLF & _
    '<ul>' & @CRLF & _
    _trennen($Input8) & @CRLF & _
    '</ul>'
    GUICtrlSetData ($Edit2,$code)
    GUISetState (@SW_HIDE,$Form1)
    GUISetState (@SW_SHOW,$Form2)
    EndFunc ;==>_eintragen

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

    Func _trennen($input)
    $lalelu = GUICtrlRead($input)
    If StringInStr($lalelu, ",") <> 0 Then
    $bedingung = StringSplit($lalelu, ",")
    Local $text = ""
    For $i = 1 To UBound($lalelu) - 1
    $text &= '<li>' & $lalelu[$i] & '</li>' & @CRLF
    Next
    $lalelu = $text
    ElseIf $lalelu = "" Then
    $lalelu = "Keine Angaben"
    Else
    $lalelu = '<li>' & $lalelu & '</li>'
    EndIf
    Return $lalelu
    EndFunc ;==>_trennen

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

    Func _guid()
    $timespace=""
    For $i = 1 To UBound($item) - 1
    _GUICtrlListView_ClickItem($item[$i],$ListView1)
    $string = StringSplit(GUICtrlRead(GUICtrlRead($ListView1)), "|")
    $img = $string[1]
    $beschreibung = StringSplit(GUICtrlRead(GUICtrlRead($item[$i])), "@")
    _ArrayDisplay ($beschreibung)
    Local $text =""
    For $j = 1 To UBound ($beschreibung)-1
    $text &= '<p>' & $beschreibung[$j] & '</p>' & @CRLF
    Next
    $ts1 = '<table border="0">' & @CRLF & _
    '<tbody>' & @CRLF & _
    '<tr>' & @CRLF & _
    '<td>' & @CRLF & _
    '<p><img src="' & $img & '" border="2" /></p>' & @CRLF & _
    '</td>' & @CRLF & _
    '<td></td>' & @CRLF & _
    '<td>' & @CRLF & _
    $text & _
    '</td>' & @CRLF & _
    '</tr>' & @CRLF & _
    '</tbody>' & @CRLF & _
    '</table>'& @CRLF
    $timespace &= $ts1
    $ts1=""
    Next
    Return $timespace
    EndFunc ;==>_guid

    [/autoit]
  • das musst du mit einem for loop machen ...


    beispiel:


    Listview mit einer &quot;Reihe&quot;
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include<guilistview.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("", 625, 443, 192, 124)
    $ListView1 = GUICtrlCreateListView("blablablaaaa :D", 72, 56, 185, 297)
    _GUICtrlListView_AddItem($ListView1, "bla")
    _GUICtrlListView_AddItem($ListView1, "bla2")
    _GUICtrlListView_AddItem($ListView1, "bla3")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0, "", "Inhalte: " & _getcontent($ListView1))
    Exit
    EndSwitch
    WEnd
    Func _getcontent($hWnd)
    Local $text
    $count = _GUICtrlListView_GetItemCount($hWnd)
    For $i = 0 To $count
    $text &= _GUICtrlListView_GetItemText($hWnd, $i) & " "
    Next
    Return $text
    EndFunc ;==>_getcontent

    [/autoit]

    bzw.

    Listview mit 2 Reihen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include<guilistview.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("", 625, 443, 192, 124)
    $ListView1 = GUICtrlCreateListView("blablablaaaa :D|kategorie2 :D", 72, 56, 185, 297)
    GUICtrlCreateListViewItem("11|12",$ListView1)
    GUICtrlCreateListViewItem("21|22",$ListView1)
    GUICtrlCreateListViewItem("31|32",$ListView1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0, "", "Inhalte: " & _getcontent($ListView1))
    Exit
    EndSwitch
    WEnd
    Func _getcontent($hWnd)
    Local $text
    $count = _GUICtrlListView_GetItemCount($hWnd)
    For $i = 0 To $count
    $text &= _GUICtrlListView_GetItemText($hWnd, $i)&"|"&_GUICtrlListView_GetItemText($hWnd, $i,1) & " "
    Next
    Return $text
    EndFunc ;==>_getcontent

    [/autoit]