Spoiler anzeigen
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GuiListView.au3>
#include <Date.au3>
#include <Array.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=c:\users\kevin\documents\auto it scripte\geburtstage.kxf
$Form1_1 = GUICreate("Form1", 513, 352, 241, 224)
GUISetOnEvent($GUI_EVENT_CLOSE, "ExitClick")
$Date1 = GUICtrlCreateDate(_NowCalcDate(), 200, 64, 186, 21)
$Label1 = GUICtrlCreateLabel("Bitte Name eingeben:", 32, 24, 106, 17)
$Label2 = GUICtrlCreateLabel("Bitte Geburtsdatum wählen:", 200, 24, 134, 17)
$Button1 = GUICtrlCreateButton("Eintragen", 408, 64, 75, 25, BitOr($WS_GROUP, $BS_DEFPUSHBUTTON))
GUICtrlSetOnEvent(-1, "Eintragen")
$List1 = GUICtrlCreateListView("Name|Geburtstag", 32, 128, 457, 201)
_GUICtrlListView_SetColumnWidth($List1,0,200)
_GUICtrlListView_SetColumnWidth($List1,1,200)
$Label3 = GUICtrlCreateLabel("Eingetragene Geburtstage:", 32, 104, 131, 17)
$Input1 = GUICtrlCreateInput("", 32, 64, 121, 21)
GUISetState(@SW_SHOW)
$kMenu = GUICtrlCreateContextMenu($List1)
GUICtrlCreateMenuItem("Bearbeiten",$kMenu)
GUICtrlSetOnEvent(-1, "_Edit")
GUICtrlCreateMenuItem("Löschen",$kMenu)
GUICtrlSetOnEvent(-1, "_Delete")
#EndRegion ### END Koda GUI section ###
[/autoit] [autoit][/autoit] [autoit]Global $Edit = False, $Selection
ControlFocus($Form1_1,"",$Input1)
While 1
Sleep(500)
WEnd
Func Eintragen()
If Not $Edit Then
If Not GUICtrlRead($Input1) = "" Then
GUICTRLCREATELISTVIEWITEM(GUICtrlRead($Input1)&"|"&GUICtrlRead($Date1),$List1)
GUICtrlSetData($Input1,"")
GUICtrlSetData($Date1,_NowCalcDate())
Else
MsgBox(64,"","Bitte einen Namen eingeben",1)
EndIf
Else
$Edit = False
_GUICtrlListView_SetItemText($List1,$Selection,GUICtrlRead($Input1))
_GUICtrlListView_SetItemText($List1,$Selection,GUICtrlRead($Date1),1)
GUICtrlSetData($Input1,"")
GUICtrlSetData($Date1,_NowCalcDate())
GUICtrlSetData($Button1,"Eintragen")
EndIf
EndFunc
Func _Delete()
If Not _GUICtrlListView_GetSelectionMark($List1) = -1 Then
IF MsgBox(4,"Wirklich löschen?","Möchtest du den Geburtstag von "&_GUICtrlListView_GetItemText($List1, _
_GUICtrlListView_GetSelectionMark($List1))&","&@CRLF&_GUICtrlListView_GetItemText($List1, _
_GUICtrlListView_GetSelectionMark($List1),1)&" wirklich löschen?") = 6 Then
_GUICtrlListView_DeleteItem($List1,_GUICtrlListView_GetSelectionMark($List1))
If $Edit = True Then
GUICtrlSetData($Input1,"")
GUICtrlSetData($Date1,_NowCalcDate())
GUICtrlSetData($Button1,"Eintragen")
EndIf
EndIf
EndIf
EndFunc
Func _Edit()
$Edit = True
$Selection = _GUICtrlListView_GetSelectionMark($List1)
If Not $Selection = -1 Then
GUICtrlSetData($Input1,_GUICtrlListView_GetItemText($List1,$Selection))
GUICtrlSetData($Date1,_DELongFormat2Int(_GUICtrlListView_GetItemText($List1,$Selection,1)))
GUICtrlSetData($Button1,"Speichern")
ControlFocus($Form1_1,"",$Input1)
EndIf
EndFunc
Func ExitClick()
Exit
EndFunc
Func _DELongFormat2Int($sDate)
;Author: SEuBo | Descr: Gibt ein Datum im deutschen Longformatin internationalem Format wieder
;Bsp: Montag, 30. November 2009 -> 2009/10/30
Local $aMonth[13] = ["-","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]
$aSplit = StringSplit($sDate,",")
If $aSplit[0] <> 1 Then
$aSplit = StringSplit(StringTrimLeft($aSplit[2],1)," ")
For $i = 1 to 12
If StringInStr($aSplit[2],$aMonth[$i]) Then $aSplit[2] = StringReplace($aSplit[2],$aMonth[$i],$i)
Next
$aSplit[1] = StringTrimRight($aSplit[1],1)
Return StringFormat("%04i/%02i/%02i",$aSplit[3],$aSplit[2],$aSplit[1])
EndIf
EndFunc