Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Определение возраста

Delphi , Синтаксис , Дата и Время



Автор: Ревенко Алексей

DecodeDate(DM.Table.FieldByName('Born').AsDateTime, Year, Month, Day); // Дата рождения
DecodeDate(Date, YYYY, MM, DD); // Текущая дата

if (MM >= Month) and (DD >= Day) then
  Edit2.Text := IntToStr((YYYY - Year))
else
  Edit2.Text := IntToStr((YYYY - Year) - 1);

Here's the translation of the text into Russian:

Код на языке Delphi calculates возраст человека на основе его даты рождения и текущей даты.

Работает следующим образом:

  1. Он сначала определяет две функции DecodeDate: одну для декодирования даты рождения из поля таблицы (DM.Table.FieldByName('Born').AsDateTime) и другую для получения текущей даты.
  2. Затем код проверяет, является ли месяц текущей даты больше или равен месяцу даты рождения, а день текущей даты больше или равен дню даты рождения.
  3. Если оба условия истинны, он calculates возраст, вычитывая год рождения из текущего года (YYYY - Year).
  4. Если хотя бы одно условие ложно (т.е. месяц и/или день текущей даты меньше соответствующих значений в дате рождения), он уменьшает возраст на 1 ((YYYY - Year) - 1).

Расчитанный возраст затем отображается в контроле Edit2 в виде строки.

Альтернативное решение:

Вы можете упростить код, используя функцию Trunc, чтобы calculate возраст. Эта функция возвращает целую часть ее аргумента, что полезно для расчета возраста.

Age := Trunc(Year - DecodeDate(DM.Table.FieldByName('Born').AsDateTime, Year, Month, Day).Year);

В этом коде возраст calculates, вычитывая год рождения из текущего года и затем отбрасывая результат до целого. Этот подход eliminates need for if-statement and makes the code more concise.

Примечание: функция DecodeDate не является встроенной функцией Delphi, поэтому она может быть определена в другом месте вашего кода или в отдельном модуле.

В статье автор Алексей Ревенко описывает алгоритм определения возраста, основанный на сравнении даты рождения с текущей датой и выводящий результат в виде текстового поля.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Дата и Время ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 15:35:20/0.0048868656158447/1