Berechnung Listview - Arrays

  • Nabend ^^ (ma wieda)

    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>
    #include <File.au3>
    #include <String.au3>
    Global $checkthebutton = "1"
    Global $money = "nicht definiert"

    [/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("Betrag:", 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)
    $ausgaben = GuictrlcreateCheckbox("Ausgaben",550,10,100,25)
    GUIctrlsetstate(-1,$GUI_CHECKED)
    $einkommen = GuictrlcreateCheckbox("Einkommen",550,35,100,25)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GuictrlcreateLabel("Ihre Ausgaben:",10,70,100,20)
    GUictrlcreatelabel("Aktueller Geldstand: " & $money,350,160,200,25)
    $multi = GUICtrlCreateButton("berechnen",350,180,100,20)
    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 Guictrlread($ausgaben) = 1 and Guictrlread($einkommen) = 1 Then
    Msgbox(0,"Achtung","Sie müssen sich entscheiden ob der Betrag als Einkommen oder Ausgaben berechnet werden soll.")
    else
    If $checkthebutton = "1" Then
    MsgBox(0, "Achtung", "Bitte erst das Datum bestätigen ! ")
    Else
    if Guictrlread($ausgaben) = 1 then
    GUICtrlCreateListViewItem("- " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    Guictrlsetdata($grund,"")
    Guictrlsetdata($betrag,"")
    else
    GUICtrlCreateListViewItem("+ " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    Guictrlsetdata($grund,"")
    Guictrlsetdata($betrag,"")
    EndIf
    Endif
    Endif
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month)
    $lol = _Listview_GetItemsArray($listview)
    for $a = 1 to $lol[0][0]
    Filewrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt",$lol[$a][0] & " - " & $lol[$a][1] & @crlf)
    Next
    case $multi
    $omg = _Listview_GetItemsArray($listview)
    ;help
    Next
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

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

    [/autoit]

    Folgendes Problem, ich möchte...... das er mir die Beträge aus dem Array nimmt und diese berechnet.
    Bei Ausgaben "-" bei Einkommen "+" logisch.
    Sprich sobald man fertig ist, mit den Umrechnungen geht man auf den btn "berechen" und der soll alles was im Listview steht berechen.

    so mahlzeit ;)

    gruß

    (wer den source klaud is böse !111 8o )

    2 Mal editiert, zuletzt von Kev (28. September 2010 um 14:58)

  • In etwas so?

    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>
    #include <File.au3>
    #include <String.au3>
    Global $checkthebutton = "1"
    Global $money = "nicht definiert"

    [/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("Betrag:", 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)
    $ausgaben = GUICtrlCreateCheckbox("Ausgaben", 550, 10, 100, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $einkommen = GUICtrlCreateCheckbox("Einkommen", 550, 35, 100, 25)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GUICtrlCreateLabel("Ihre Ausgaben:", 10, 70, 100, 20)
    GUICtrlCreateLabel("Aktueller Geldstand: " & $money, 350, 160, 200, 25)
    $multi = GUICtrlCreateButton("berechnen", 350, 180, 100, 20)
    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 GUICtrlRead($ausgaben) = 1 And GUICtrlRead($einkommen) = 1 Then
    MsgBox(0, "Achtung", "Sie müssen sich entscheiden ob der Betrag als Einkommen oder Ausgaben berechnet werden soll.")
    Else
    If $checkthebutton = "1" Then
    MsgBox(0, "Achtung", "Bitte erst das Datum bestätigen ! ")
    Else
    If GUICtrlRead($ausgaben) = 1 Then
    GUICtrlCreateListViewItem("- " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    Else
    GUICtrlCreateListViewItem("+ " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    EndIf
    EndIf
    EndIf
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month)
    $lol = _Listview_GetItemsArray($listview)
    For $a = 1 To $lol[0][0]
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt", $lol[$a][0] & " - " & $lol[$a][1] & @CRLF)
    Next
    Case $multi
    $omg = _Listview_GetItemsArray($listview)
    MsgBox(0, "", $omg)
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func _Listview_GetItemsArray($listview)
    Local $iCount = _GUICtrlListView_GetItemCount($listview)
    Local $iColum = _GUICtrlListView_GetColumnCount ($listview)
    Local $aListview[$iCount]
    For $i = 1 To $iCount
    $aTmp = _GUICtrlListView_GetItemTextArray($listview, $i-1)
    $aListview[$i-1] = StringStripWS(StringTrimRight($aTmp[1], 1), 8)
    Next
    _ArrayDisplay($aListview)
    $result = Execute(_ArrayToString($aListview,""))
    Return $result
    EndFunc

    [/autoit]
  • 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>
    #include <File.au3>
    #include <String.au3>
    #include <EditConstants.au3>

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

    Global $checkthebutton = "1"

    [/autoit] [autoit][/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("Betrag:", 350, 70, 100, 25)
    $betrag = GUICtrlCreateInput("", 350, 90, 50, 20,$ES_NUMBER)
    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)
    $ausgaben = GUICtrlCreateRadio("Ausgaben", 550, 10, 100, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $einkommen = GUICtrlCreateRadio("Einkommen", 550, 35, 100, 25)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GUICtrlCreateLabel("Ihre Ausgaben:", 10, 70, 100, 20)
    GUICtrlCreateLabel("Aktueller Geldstand: ", 350, 160, 100, 25)
    $money = Guictrlcreatelabel("noch nicht berechnet",455,160,200,25)
    $multi = GUICtrlCreateButton("berechnen", 350, 180, 100, 20)
    Guictrlsetstate(-1,$GUI_DISABLE)
    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
    If GUICtrlRead($ausgaben) = 1 Then
    GUICtrlCreateListViewItem("- " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    Else
    GUICtrlCreateListViewItem("+ " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    EndIf
    EndIf
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month)
    $tpday = @ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt "
    Traytip("Speichern","Erfolgreich in " &@crlf & $tpday & "gespeichert.",2,1)
    Filewrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt",GUictrlread($Tag) & ". " & Guictrlread($Monat) & " "& Guictrlread($Jahr) &@crlf)
    $lol = _Listview_GetItemsArray2($listview)
    ;_arraydisplay($lol)
    For $a = 1 To $lol[0][0]
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt", $lol[$a][0] & " ----> " & $lol[$a][1] & @CRLF)
    Next
    Guictrlsetstate($multi,$GUI_ENABLE)
    Case $multi
    $omg = _Listview_GetItemsArray($listview)
    Guictrlsetdata($money,$omg & " €")
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt","Aktueller Geldstand: " & Guictrlread($money) &@crlf)
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func _Listview_GetItemsArray($listview)
    Local $iCount = _GUICtrlListView_GetItemCount($listview)
    Local $iColum = _GUICtrlListView_GetColumnCount ($listview)
    Local $aListview[$iCount]
    For $i = 1 To $iCount
    $aTmp = _GUICtrlListView_GetItemTextArray($listview, $i-1)
    $aListview[$i-1] = StringStripWS(StringTrimRight($aTmp[1], 1), 8)
    Next
    ;_ArrayDisplay($aListview)
    $result = Execute(_ArrayToString($aListview,""))
    Return $result
    EndFunc

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

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

    [/autoit]

    Noch ne Sache ^^

    Habs nun erweitert und möchte das alles was in das .txt File geschrieben wird, bei dem start wieder in die Listview reingepackt wird, aber NUR wenn der Tag der selbe ist und was davor schon geschrieben wurde.

    Sprich ich tipp meine abzüge rein und speicher die in das file, mach später weiter also soller den betrag und den Grund wieder 1zu1 ins listview packen wie ichs exportiert habe, geht das?

    Aus dem File gelesen natürlich.

    Gruß

  • [autoit]

    Case $ok
    GUICtrlSetState($Jahr, $GUI_DISABLE)
    GUICtrlSetState($Monat, $GUI_DISABLE)
    GUICtrlSetState($Tag, $GUI_DISABLE)
    GUICtrlSetState($ok, $GUI_DISABLE)
    GUICtrlSetState($enable, $GUI_ENABLE)
    $checkthebutton = "0"
    If FileExists(@ScriptDir & "\Daten\" & GUICtrlRead($Jahr) & "\" & GUICtrlRead($Monat) & "\" & GUICtrlRead($Monat) & ".txt") Then
    MsgBox(0, "", "")
    EndIf

    [/autoit]

    Leg die Daten besser im .ini Format ab.Eine .ini pro Tag. Die kannst du dann einfach mit IniReadSection() auslesen und mit _GUICtrlListView_AddArray() ins Listview bringen.

    edit: Eine SQLite Datenbank würde sich hierfür natürlich geradezu anbieten :)

  • Hallo kev,

    LV-Iems kannst du mit _GUICtrlListView_GetItemTextString auslesen und dies dann in eine Datei speichern:

    [autoit]

    Func SaveLV($sFile)
    Local $hFileOut, $aItem
    $hFileOut = FileOpen($sFile, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($listview2) - 1
    $aItem = _GUICtrlListView_GetItemTextString($listview2, $j)
    FileWriteLine($hFileOut, $aItem)
    Next
    FileClose($hFileOut)
    EndFunc ;==>SaveLV

    [/autoit]

    Wieder einlesen kannst du dann so:

    [autoit]

    Func LoadLV($sFile)
    Local $aItems
    If FileExists($sFile) Then
    _FileReadToArray($sFile, $aItems)
    If IsArray($aItems) Then
    _GUICtrlListView_DeleteAllItems($listview2)
    ;_ArrayDisplay($aItems)
    For $j = 1 To $aItems[0]
    GUICtrlCreateListViewItem($aItems[$j], $listview2)
    Next
    EndIf
    EndIf
    EndFunc ;==>LoadLV

    [/autoit]
  • 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>
    #include <File.au3>
    #include <String.au3>
    #include <EditConstants.au3>

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

    Global $checkthebutton = "1"

    [/autoit] [autoit][/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]

    ;***********************************************

    [/autoit] [autoit][/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("Betrag:", 350, 70, 100, 25)
    $betrag = GUICtrlCreateInput("", 350, 90, 50, 20,$ES_NUMBER)
    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)
    $ausgaben = GUICtrlCreateRadio("Ausgaben", 550, 10, 100, 25)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $einkommen = GUICtrlCreateRadio("Einkommen", 550, 35, 100, 25)
    $hinzu = GUICtrlCreateButton("Hinzufügen", 350, 120, 80, 25)
    $save = GUICtrlCreateButton("Speichern", 450, 120, 80, 25)
    GUICtrlCreateLabel("Ihre Ausgaben:", 10, 70, 100, 20)
    GUICtrlCreateLabel("Aktueller Geldstand: ", 350, 160, 100, 25)
    $money = Guictrlcreatelabel("noch nicht berechnet",455,160,200,25)
    $multi = GUICtrlCreateButton("berechnen", 350, 180, 100, 20)
    Guictrlsetstate(-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    $listview = GUICtrlCreateListView("Betrag|Information ", 10, 90, 300, 300)
    $frage = Msgbox(4,"Achtung","Möchten Sie den alten Geldstand importieren?")
    if $frage = 6 Then
    $read = Fileread(@scriptdir & "\Daten\config.dat")
    LoadLV($listview)
    Endif
    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
    If GUICtrlRead($ausgaben) = 1 Then
    GUICtrlCreateListViewItem("- " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    Else
    GUICtrlCreateListViewItem("+ " & GUICtrlRead($betrag) & " €" & "|" & GUICtrlRead($grund), $listview)
    GUICtrlSetData($grund, "")
    GUICtrlSetData($betrag, "")
    EndIf
    EndIf
    Case $save
    DirCreate(@ScriptDir & "\Daten\" & @YEAR & "\" & $month)
    $tpday = @ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt "
    Traytip("Speichern","Erfolgreich in " &@crlf & $tpday & "gespeichert.",2,1)
    SaveLV($listview)
    $lol = _Listview_GetItemsArray2($listview)
    ;_arraydisplay($lol)
    For $a = 1 To $lol[0][0]
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt", $lol[$a][0] & " -------------> " & $lol[$a][1] & @CRLF)
    Next
    Guictrlsetstate($multi,$GUI_ENABLE)
    Case $multi
    $omg = _Listview_GetItemsArray($listview)
    Guictrlsetdata($money,$omg & " €")
    FileWrite(@ScriptDir & "\Daten\" & @YEAR & "\" & $month & "\" & $month & ".txt","Aktueller Geldstand: " & Guictrlread($money) &@crlf)
    Filewrite(@scriptdir & "\Daten\config.dat",Guictrlread($money))
    EndSwitch
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    Func _Listview_GetItemsArray($listview)
    Local $iCount = _GUICtrlListView_GetItemCount($listview)
    Local $iColum = _GUICtrlListView_GetColumnCount ($listview)
    Local $aListview[$iCount]
    For $i = 1 To $iCount
    $aTmp = _GUICtrlListView_GetItemTextArray($listview, $i-1)
    $aListview[$i-1] = StringStripWS(StringTrimRight($aTmp[1], 1), 8)
    Next
    ;_ArrayDisplay($aListview)
    $result = Execute(_ArrayToString($aListview,""))
    Return $result
    EndFunc

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

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

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

    Func SaveLV($sFile)
    Local $hFileOut, $aItem
    $hFileOut = FileOpen($sFile, 2)
    For $j = 0 To _GUICtrlListView_GetItemCount($listview) - 1
    $aItem = _GUICtrlListView_GetItemTextString($listview, $j)
    FileWriteLine(@scriptdir & "\Daten\" & $Monat & "\" & $Monat & ".txt", $aItem)
    Next
    FileClose($hFileOut)
    EndFunc ;==>SaveLV

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

    Func LoadLV($sFile)
    Local $aItems
    If FileExists(@scriptdir & "\Daten\" & $Monat & "\" & $Monat & ".txt") Then
    _FileReadToArray($sFile, $aItems)
    If IsArray($aItems) Then
    _GUICtrlListView_DeleteAllItems($listview)
    _ArrayDisplay($aItems)
    For $j = 1 To $aItems[0]
    GUICtrlCreateListViewItem($aItems[$j], $listview)
    Next
    EndIf
    EndIf
    EndFunc ;==>LoadLV

    [/autoit]

    irgendwie will das nicht so wie ich will. :(
    kann man auch irgendwie den Endbetrag wieder importieren, das der beim start da weitermacht wo er aufgehört hat? wenns der gleiche monat is...