Hallo,
mit festgelegten Werten solltest Du nicht arbeiten "(Jahre_gedient*365)) - (Monate_effektiv*30);".
Wenn dich nur die verbleibenden Tage interessieren sollte es irgendwas in dieser Richtung sein:
Delphi-Quellcode:
var
eintritt, tmp: TDateTime;
d, m, y: Word;
begin
y := 1999;
m := 7;
d := 30;
eintritt := EncodeDateTime(y, m, d, 1, 1, 1, 1);
// showMessage(DateToStr(eintritt));
tmp := EncodeDate(YearOf(now), MonthOf(eintritt), DayOf(eintritt));
// showMessage(DateToStr(tmp));
if DayOfTheMonth(eintritt) < DayOfTheMonth(now)
then showmessage(format('Tage: %d', [DayOfTheMonth(now) - DayOfTheMonth(eintritt)]))
else showmessage(format('Tage: %d', [DaysBetween(tmp, now)]));
sollte sogar funktionieren