negaH zeigt, wie es möglich ist, anhand eines Datums die zugehörige Kalenderwoche zu ermitteln. Für Delphi 6 und höher geht dies genauso gut mit
WeekOfTheYear (
Unit: DateUtils), doch für die Benutzer älterer Delphi-Versionen ist dies mit folgendem Code möglich:
Delphi-Quellcode:
function DayOfWeekGerman(ADate: TDateTime): Integer;
begin
Result := DayOfWeek(ADate) -1;
if Result <= 0 then Result := 7;
end;
function WeekOfDate(A: TDateTime): Integer;
var
Day: Integer;
Y,M,D: Word;
begin
Day := DayOfWeekGerman(A);
DecodeDate(A +4 -Day, Y, M, D);
Result := Round(((A +8 -Day) - EncodeDate(Y, 1, 1)) / 7);
end;
Ein möglicher Aufruf:
ShowMessage('Aktuelle Kalenderwoche: ' + IntToStr(WeekOfDate(Now));
[edit=Daniel G]Code aktualisiert[/edit]