Listview auslesen

  • Nabend ^^

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.2.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

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

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

    Global $checkthebutton = "1"

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

    ;***********************************************
    If @MON = "01" Then $month = "Januar"
    If @MON = "02" Then $month = "Februar"
    If @MON = "03" Then $month = "März"
    If @MON = "04" Then $month = "April"
    If @MON = "05" Then $month = "May"
    If @MON = "06" Then $month = "Juni"
    If @MON = "07" Then $month = "Juli"
    If @MON = "08" Then $month = "August"
    If @MON = "09" Then $month = "September"
    If @MON = "10" Then $month = "Oktober"
    If @MON = "11" Then $month = "November"
    If @MON = "12" Then $month = "Dezember"

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

    If @WDAY = 1 Then $day = "Sonntag"
    If @WDAY = 2 Then $day = "Montag"
    If @WDAY = 3 Then $day = "Dienstag"
    If @WDAY = 4 Then $day = "Mittwoch"
    If @WDAY = 5 Then $day = "Donnerstag"
    If @WDAY = 6 Then $day = "Freitag"
    If @WDAY = 7 Then $day = "Samstag"
    ;************************************************

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

    GUICreate("Kontomanager " & $day & ", der " & @MDAY & "." & $month & " " & @YEAR, 650, 400)
    $ok = GUICtrlCreateButton("OK", 310, 30, 50, 20)
    $enable = GUICtrlCreateButton("ändern", 370, 30, 80, 20)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("Tag", 10, 10, 100, 25)
    GUICtrlCreateLabel("Monat", 110, 10, 100, 25)
    GUICtrlCreateLabel("Jahr", 210, 10, 100, 25)
    GUICtrlCreateLabel("___________________________________________________________________________________________________________________________________________________", 0, 50, 800, 15)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Jahr = GUICtrlCreateCombo("", 210, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "2010|2011|2012|2013|2014|2015|2016|2017|2018|2019|2020")
    $Monat = GUICtrlCreateCombo("", 110, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "Januar|Februar|März|April|Juni|Juli|August|September|Oktober|November|Dezember")
    $Tag = GUICtrlCreateCombo("", 10, 30, 80, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetData(-1, "2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31")
    $exit = GUICtrlCreateButton("Beenden", 545, 370, 100, 25)
    GUICtrlCreateLabel("Ausgaben:", 350, 70, 100, 25)
    $betrag = GUICtrlCreateInput("", 350, 90, 50, 20)
    GUICtrlCreateLabel("€", 405, 90, 50, 25)
    GUICtrlSetFont(-1, 12)
    GUICtrlCreateLabel("Grund der Geldausgabe:", 500, 70, 200, 25)
    $grund = GUICtrlCreateInput("", 420, 90, 200, 20)
    GUICtrlSetData($Monat, $month)
    GUICtrlSetData($Tag, @MDAY)
    GUICtrlSetData($Jahr, @YEAR)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GUISetState(@SW_SHOW)

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

    $listview = GUICtrlCreateListView("Betrag|Information ", 10, 90, 300, 300)

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $exit
    Exit
    Case $ok
    GUICtrlSetState($Jahr, $GUI_DISABLE)
    GUICtrlSetState($Monat, $GUI_DISABLE)
    GUICtrlSetState($Tag, $GUI_DISABLE)
    GUICtrlSetState($ok, $GUI_DISABLE)
    GUICtrlSetState($enable, $GUI_ENABLE)
    $checkthebutton = "0"
    Case $enable
    GUICtrlSetState($Jahr, $GUI_ENABLE)
    GUICtrlSetState($Monat, $GUI_ENABLE)
    GUICtrlSetState($Tag, $GUI_ENABLE)
    GUICtrlSetState($ok, $GUI_ENABLE)
    GUICtrlSetState($enable, $GUI_DISABLE)
    $checkthebutton = "1"
    Case $hinzu
    If $checkthebutton = "1" Then
    MsgBox(0, "Achtung", "Bitte erst das Datum bestätigen ! ")
    Else
    GUICtrlCreateListViewItem(GUICtrlRead($betrag) & "|" & GUICtrlRead($grund), $listview)
    EndIf
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & @WDAY)
    ;listview auslesen
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

    [/autoit]

    Ich hab momentan das Problem, das ich meine selbsterstelle listview auslesen und dann weiterverarbeiten möchte,indem ich die Daten
    in Files speicher, schön und gut das kriegich auch selbst hin ^^ bloß das auslesen is grad sone sache...

    Man trägt den Betrag ein und danach den Grund, dann gehts am in die Listview sobald man fertig ist, wird speichern geklickt, nun soll der die Listview auslesen und mir in nem 2d array ausgeben, ich hab mich schon mit

    [autoit]

    _GUICtrlListView_GetItemTextArray

    [/autoit]

    versucht,aber iwie... . ?( 8|

    Lg Kev

    Einmal editiert, zuletzt von Kev (28. September 2010 um 10:00)

  • Habs nicht getestet, aber so sollte es gehen

    [autoit]

    Func _LV2Array($hListView)
    Local $iRowCnt = _GUICtrlListView_GetItemCount($hListView)
    Local $iColCnt = _GUICtrlListView_GetColumnCount($hListView)
    Local $aReturn[$iRowCnt][$iColCnt]
    For $i = 0 To $iRowCnt - 1
    For $j = 0 To $iColCnt - 1
    $aReturn[$i][$j] = _GUICtrlListView_GetItemText($hListView, $i, $j)
    Next
    Next
    Return $aReturn
    EndFunc ;==>_LV2Array

    [/autoit]
  • [autoit]

    Func _LV2Array($listview)
    Local $iRowCnt = _GUICtrlListView_GetItemCount($listview)
    Local $iColCnt = _GUICtrlListView_GetColumnCount($listview)
    Local $aReturn[$iRowCnt][$iColCnt]
    For $i = 0 To $iRowCnt - 1
    For $j = 0 To $iColCnt - 1
    $aReturn[$i][$j] = _GUICtrlListView_GetItemText($listview, $i, $j)
    Next
    Next
    Return $aReturn
    _ArrayDisplay($aReturn)
    Endfunc

    [/autoit]


    Zeile 103 rufe ich die Func auf.

    Zitat

    C:\Dokumente und Einstellungen\Kev\Desktop\Plan.au3(108,26) : ERROR: _LV2Array() called by a previous line with 0 arg(s). Min = 1. First previous line calling this Func is 103.
    Func _LV2Array($listview)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Kev\Desktop\Plan.au3 - 1 error(s), 0 warning(s)
    !>09:52:57 AU3Check ended.rc:2
    >Exit code: 0 Time: 39.598

  • Hab auch grade ne func gebastelt^^
    Getestet und funkt ;)

    Spoiler anzeigen
    [autoit]

    Func _Listview_GetItemsArray(ByRef $ListviewID)
    Local $iCount = _GUICtrlListView_GetItemCount($ListviewID)
    Local $iColum = _GUICtrlListView_GetColumnCount ($ListviewID)
    Local $aListview2d[$iCount+1][$iColum]
    $aListview2d[0][0] = $iCount
    For $i = 1 To $iCount
    $aTmp = _GUICtrlListView_GetItemTextArray($ListviewID, $i-1)
    For $i2 = 1 To $aTmp[0]
    $aListview2d[$i][$i2 - 1] = $aTmp[$i2]
    Next
    Next
    Return $aListview2d
    EndFunc

    [/autoit]