Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как посчитать возраст человека?

01.01.2007
function CalculateAge(Birthday, CurrentDate: TDate): Integer; 
var 
  Month, Day, Year, CurrentYear, CurrentMonth, CurrentDay: Word; 
begin 
  DecodeDate(Birthday, Year, Month, Day); 
  DecodeDate(CurrentDate, CurrentYear, CurrentMonth, CurrentDay); 
 
  if (Year = CurrentYear) and (Month = CurrentMonth) and (Day = CurrentDay) then 
  begin 
    Result := 0; 
  end 
  else 
  begin 
    Result := CurrentYear - Year; 
    if (Month > CurrentMonth) then 
      Dec(Result) 
    else 
    begin 
      if Month = CurrentMonth then 
        if (Day > CurrentDay) then 
          Dec(Result); 
    end; 
  end; 
end; 
 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  Label1.Caption := Format('Your age is %d', [CalculateAge(StrToDate('01.01.1903'), Date)]); 
end; 

Взято с сайта https://www.swissdelphicenter.ch/en/tipsindex.php