Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.2.0
Author: myName
Script Function:
Template AutoIt script.
#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>
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"
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"
;************************************************
;***********************************************
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)
$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
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), ![]()
Next
;_ArrayDisplay($aListview)
$result = Execute(_ArrayToString($aListview,""))
Return $result
EndFunc
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
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ß