call [B]DayOfWeek[/B] //DayOfTheWeek gibts nicht
Jupp, man muß nur mal in die
OH schauen und bemerken, daß DayOfTheWeek sich in einer anderen (neuen)
Unit befindet, welche man natürlich auch einbinden sollte.
Delphi-Quellcode:
function LastDow(DowToMatch: Word{selber Typ wie DayOfTheWeek ... k.A. warum es eventuell mehr als 255 Wochentage geben könnte}; DateToMatch: TDate=0; Weeks: Integer=-1): TDateTime;
begin
if DateToMatch = 0 then
DateToMatch = Date;
Result := (DateToMatch - 1) - ((DaysPerWeek - DowToMatch + DayOfTheWeek(DateToMatch - 1)) mod DaysPerWeek) + (Weeks + 1) * DaysPerWeek;
end;
function NextDow(DowToMatch: Word; DateToMatch: TDate=0; Weeks: Integer=+1):
... // NextDow ist ja nicht einfach nur (LastDow + DaysPerWeek), jedenfalls nicht, falls das DateToMatch zufällig bereits der DowToMatch wäre.
Und schon würde es bestimmt gut ins DateUtils rein passen.