J
speicher die 5 werktage die der benutzer wählen kann als bool-werte in die ini-file (mit IniFile->WriteBool; beim auslesen dann IniFile->ReadBool;)
leg die werte beim auslesen in einem bool array ab
wenn du dann den nächstmöglichsten versandtag hast, fängst du in dem array genau an dieser stelle an zu suchen, bis du einen tag gefunden hast, der true ist (also ein tag der vom user gewählt wurde)
z.b.
dein array sieht so aus : VTag {0 0 0 1 1} (user hat also do und fr als versandtag ausgewählt)
nächstmöglichster termin ist der di
di kann user nicht, da VTag[1] == 0
dann gehst du ins nächste feld vom array (VTag[2]), da kann er auch nicht, aber beim nächsten durchlauf (VTag[3] == true (Do)) hast du den nächstmöglichsten termin vom user gefunden
musst nur aufpassen, wenn du z.b. an einem freitag anfängst (wäre die 4 im array), dass du dann bei 0 im array weitersuchst
hhhmmm, ich hoffe ich hab das jetzt nicht zu kompliziert erklärt (bin halt nicht der geborene lehrer )
noch ein paar tips zu deinem quellcode, ich find den irgendwie kompliziert.
den nächstmöglichsten liefertag bekommst du doch einfach so:
int Tag = DayOfWeek(IncHour(Now(), bearbeitungszeit));
da der Montag bei der DayOfWeek-funktion ne 2 representiert, aber bei dem array von dem ich weiter oben gesprochen hab das feld VTag[0] den Montag representiert, wäre es also günstig, wenn man den rückgabewert von DayOfWeek so verändert, das die 0 der Montag ist
das erreichst du folgendermaßen:
int Tag = DayOfWeek(IncHour(Now(), bearbeitungszeit));
Tag = Tag - 2;
if(Tag<0) Tag = 6;
jetzt kannst du bequem das array durchsuchen
ich hoffe dass hilft