Якщо ви хочете створити програму, яка розраховуватиме вік людини по її даті народження, то потрібно використовувати функцію.
Щоб зрозуміти як все працює, давайте створимо VCL форму Delphi і встановимо на ній два компоненти DateTimePicker (DateTimePicker1 та DateTimePicker2), кнопку BitBtn1 і строку Label1.
Спочатку користувач повинен вказати в DateTimePicker1 дату народження людини. Після цього в DateTimePicker2 він повинен встановити поточну дату (якщо потрібно розрахувати вік на сьогоднішній день), або будь-яку іншу дату (якщо потрібно дізнатися скільки років було людині станом на певне число).
При натисканні на кнопку BitBtn1 має викликатися функція, яка виконає визначення віку та виведе результат у Label1.
Розрахунок віку в Delphi. Приклад коду
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 TAgeForm.FormShow(Sender: TObject);
begin
DateTimePicker1.Date := Date; // встановлюємо поточну дату при відображенні форми
DateTimePicker2.Date := Date; // встановлюємо поточну дату при відображенні форми
end;
procedure TAgeForm.BitBtn1Click(Sender: TObject);
begin
Label1.Caption := Format('Ваш возраст %d', [CalculateAge(DateTimePicker1.Date, DateTimePicker2.Date)]) + ' років'; // виводимо в Label вік
end; 