Moin Moin zusammen.
Ich habe ab dem Montag den 29.12.2014 zwei Gruppen, mit jeweils zehn Teilnehmer/innen.
Diese haben jeder einen Tag innerhalb von 14 Tagen, an dem sie für bestimmte Abläufe
zuständig ist.
Am 29.12.2014 sind in der Gruppe-1: Nr.-6 und in Gruppe-2 Nr.-1. Am nächsten Tag erhöht
sich die Nr.-6 auf Nr.-7 und die Nr.-1 auf Nr.-2. Nach der Nr.-10 kommt dann wieder die
Nr.-1.
Das geht so bis zum 31.12.2015, ABER: vor oder nach Feiertagen verschiebt es sich, so das
möglichst schnell die bekannte Reihenfolge wieder aufgenommen werden kann.
Ich habe das als Excelliste und könnte damit mein Vorhaben zwar umsetzen, würde es aber
lieber in AutoIt scripten.
Nur wie? Denn ich habe noch gar keine Idee, wie und wo ich da anfangen soll. Wenn es funktioniert
werde ich einige solche "Aufgabenverteilungspläne mit regelmäßigen Aufgaben für die Auszubildenen"
erstellen, um es ihnen einfacher zu machen. Aber erst einmal einen, für den Durchblick.
Ich habe es mir so gedacht, das in einer InputBox zum Beispiel "6" und in der zweiten "1"
steht und dann die Tage mit vollständigem Datum ausgegeben werden, in den in Gruppe-1 die "6"
steht und in Gruppe-2 die "1". Ist nur eine Zahl angegeben, dann soll für die andere Gruppe
na klar keine Angaben gemacht werden, da sie nicht vorhanden ist. Bei der "0" soll nichts
angegeben werden. Zusätzlich soll die Ausgabe erfolgen, wer als nächstes dran ist und zwar
in einer MsgBox.
Ich habe mal die Ecelliste beigefügt.
- rot = Sonn- und zu beachtende Feiertage.
- grün = die Bereichswochen die irgendwie abweichend sind (Feiertage in der Nähe)
Habe die Tage mal in einer Spalte durchnummeriert. Evtl. kann man damit was anfangen?
Die GUI:
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Aufgabenverteilung mit 14-tägiger Widerholung.", 421, 438, 192, 124)
$Label1 = GUICtrlCreateLabel("Aufgabenverteilung mit 14-tägiger Widerholung.", 8, 8, 399, 24)
GUICtrlSetFont(-1, 12, 800, 4, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Gruppe 1", 8, 40, 79, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel("Gruppe 2", 128, 40, 79, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput("6", 88, 40, 33, 28)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Input2 = GUICtrlCreateInput("1", 216, 40, 25, 28)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
$Anzeige = GUICtrlCreateButton("Anzeige", 256, 40, 153, 25)
$Ergebnisanzeige = GUICtrlCreateEdit("", 8, 80, 401, 345)
;GUICtrlSetData(-1, "Ergebnisanzeige")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Anzeige
MsgBox(64,"Info","Wenn Button gedrückt wurde, soll unten die Ausgabe erfolgen.")
MsgBox(64,"Info","Wenn Button gedrückt wurde, soll zusätzlich eine MsgBox auf gehen und ausgeben, wer am Folgetag dran ist.")
EndSwitch
WEnd
Ich bin echt gespannt, ob und wie das umzusetzen ist.