Forum: Object-Pascal / Delphi-Language
Delphi
by Zoot,
24. Jul 2014
Noch ein Vorschlag ohne Schleife.
Function LastDow (const DateToMatch : TDateTime; const DowToMatch : Byte) : TDateTime;
begin
result := DateToMatch - ((7 - DowToMatch + DayOfTheWeek(DateToMatch)) mod 7);
if result = DateToMatch then
result := result - 7;
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by Zoot,
24. Jul 2014
Diese Version ist aber doch genauso abhängig davon, wie die Wochentage kodiert sind, da du nunmal DayOfWeek verwendest.
Liefert dieses für Samstag plötzlich 6 zurück, hast du ein Problem. Liefert es einen String, dann erst recht, dann meckert der Compiler.
Immer und Überall läuft das also nicht...