Das ist eine Alternative, die aber auch zusätzlichen Code erzeugt, den ich möglichst vermeiden wollte.
Den zusätzlichen Code kann man ja vermeiden
Delphi-Quellcode:
const
day = 17;
month = 3;
year = 2024;
{$REGION 'calculate _date'}
_monthdays = Ord((month > 1))*31 +
Ord((month > 2))*(28 + ord(year mod 4 = 0)) +
Ord((month > 3))*31 +
Ord((month > 4))*30 +
Ord((month > 5))*31 +
Ord((month > 6))*30 +
Ord((month > 7))*31 +
Ord((month > 8))*31 +
Ord((month > 9))*30 +
Ord((month > 10))*31 +
Ord((month > 11))*30;
_year = year - 1;
_date = _year * 365 + _year div 4 - _year div 100 + _year div 400 + _monthdays + Day - DateDelta;
{$ENDREGION}
TheSpecialDate = _date;