Hallo an alle hier mal wieder eine Frage an Euch,
ich wollte ein kleines Projekt Starten was jetzt irgendwie meinen Horizont überschritten hat und auch glaube das ich schon jetzt den ganz falschen Ansatz gewählt habe mit GUICtrlCreateListView.
Ich fang mal an:
Ich möchte einen Jahres-Urlaubsplan machen für Mitarbeiter an verschiedenen Standpunkten,
dopplungen sollten möglich sein. Quelle der Mitarbeiter und Standpunkte ist eine Exceltabelle
Im Plan ansich sollten Schulferien Gelb und Feiertage Rot dargestellt werden, m
Schulferien Gelb, Feiertage Rot. entweder fortlaufend oder zu Beginn des Jahres eintragbar.
Im Namensfeld sollen bei eingabe vorhandene Namensvorschläge beim Eintippen Erscheinen
Resttage automatisch abziehen außer Samstag und Sonntag
Wenn ein Urlaubszeitraum Eingetragen würde soll er für die Person in allen Spalten in denen er auftaucht eingetragen sein
Eine Farbauswahl soll Möglich sein: Urlaubstage Grün, Kranktage rot, geplanter Urlaub Blau, abfeiern Pink.
aktueller Tag Mit Rahmen.
Ich habe schon viele Projekte gesehen hier die die einzelnen Funktionen können, aber ich bekomme sie nicht so zusammen wie ich das gern hätte. hab auch laaaange nicht mehr geübt mit Autoit
Was ich bis her habe ist, wie gesagt eher Anfängerstatus und bestimmt der falsche Ansatz aber ich wollte euch es mal zeigen um ungefähr zu zeigen was ich haben möchte.
ich danke euch schon mal für Eure Hilfe.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>
#include <GuiMonthCal.au3>
#include <DateTimeConstants.au3>
#include <ListViewConstants.au3>
#include <GuiListBox.au3>
Local $tRange, $idMonthCal
GUICreate("UrlaubsPlanung",1100,600,206,0)
Local $input1 = GUICtrlCreateInput("",5,5,190,25)
$input2 = GUICtrlCreateInput("",5,30,190,25)
$input3 = GUICtrlCreateInput("",5,55,190,25)
$Button=GUICtrlCreateButton("Eintragen",5,80,190,25)
$Button2=GUICtrlCreateButton("Eintragen",200,80,190,25)
Local $idDate = GUICtrlCreateDate("Anfang",200,30,-1,-1, $DTS_SHORTDATEFORMAT)
Local $idDate2 = GUICtrlCreateDate("Ende",200,55, -1, -1, $DTS_SHORTDATEFORMAT)
Local $idListview = GUICtrlCreateListView("Jahr "& @YEAR, 5, 110, 1090, 485,$LVS_SORTASCENDING);=Sortiert Aufsteigend $LVS_SORTDESCENDING =Sortiert Asteigend
Local $idListview = GUICtrlCreateListView("Monat "& @MON, 5, 135, 1090, 485,$LVS_SORTASCENDING);=Sortiert Aufsteigend $LVS_SORTDESCENDING =Sortiert Asteigend
Local $idListview = GUICtrlCreateListView("NAME |Objekt |Resttage | 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", 5, 160, 1090, 485,$LVS_SORTASCENDING);=Sortiert Aufsteigend $LVS_SORTDESCENDING =Sortiert Asteigend
Local $idButtonlist = GUICtrlCreateButton("MA Anzeigen", 395,80,190,25)
Local $idItem1 = GUICtrlCreateListViewItem("item2|col22|col23", $idListview)
Local $idItem2 = GUICtrlCreateListViewItem("item1|col12|col13", $idListview)
Local $idItem3 = GUICtrlCreateListViewItem("item3|col32|col33", $idListview)
;GUICtrlSetData($idItem2, "ITEM1")
;GUICtrlSetData($idItem3, "||COL33")
;GUICtrlDelete($idItem1)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $Button
If GUICTRLREAD($input1) =false then
Msgbox(0,"Fehler - Name","Name darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Name", "",GUICtrlRead($input1)) ;Gui input mit ini Save
EndIf
If GUICTRLREAD($input2) =false then
Msgbox(0,"Fehler - Datum","Anfangsdatum darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Datum1", "",GUICtrlRead($input2))
EndIf
If GUICTRLREAD($input3) =false then
Msgbox(0,"Fehler - Datum","Enddatum darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Datum2", "",GUICtrlRead($input3))
EndIf
exitloop
Case $Button2
If GUICTRLREAD($input1) =false then
Msgbox(0,"Fehler - Name","Name darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Name", "",GUICtrlRead($input1)) ;Gui input mit ini Save
EndIf
If GUICTRLREAD($idDate) =false then
Msgbox(0,"Fehler - Datum","Anfangsdatum darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Datum1", "",GUICtrlRead($idDate))
EndIf
If GUICTRLREAD($idDate2) =false then
Msgbox(0,"Fehler - Datum","Enddatum darf nicht leer sein!",5)
ContinueLoop
else
IniWrite(@ScriptDir & "\Urlaub.txt", "Datum2", "",GUICtrlRead($idDate2))
EndIf
exitloop
Case $idButtonlist
MsgBox($MB_SYSTEMMODAL, "listview item", GUICtrlRead(GUICtrlRead($idListview)), 2)
Case $idListview
MsgBox($MB_SYSTEMMODAL, "listview", "clicked=" & GUICtrlGetState($idListview), 2)
EndSwitch
WEnd
Alles anzeigen
Aussehen soll es dann zum Schluss innerhalb des Fensters so wie in der Exeltabelle:
Als Dateianhang hab ich noch etwas hier aus dem Forum(von wem Genau weiß ich leider nicht mehr, bitte Entschuldigt)
Welche ich gut mega gut finde, Respekt dafür, im allgemeinen Ansatz aber irgendwie nicht zusammen mit meiner Idee bekomme.
Meine Eigentlicher Anreiz war, eine Datumsspanne von-bis mit einer Farbe einfach einzutragen ohne erst im Excel das ganze Jahr durch zu laufen und Zelle für Zelle in Farbe zu Tauchen.