
01.12.2012, 03:55
|
 |
Прохожий
|
|
Регистрация: 29.11.2012
Адрес: Хабаровск
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
|
|
Цитата:
Сообщение от Alegun
Чтоб упростить последующие вычисления хорошо бы добавить к таблице колонку "Возраст" и заполнять её данными из поля "Дата рождения" с помощью вот этого:
Код:
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
Result:= 0 else
begin
Result:= CurrentYear - Year;
if (Month > CurrentMonth) then Dec(Result) else
if (Month = CurrentMonth) and (Day > CurrentDay) then Dec(Result);
end;
// ©Drkb::04233
end;
Пример вызова:
Код:
Label1.Caption:= Format('Петров М.А. 12.03.1978 (%d)', [CalculateAge(StrToDate('12.03.1978'), Date)]);
Фильтровать будет проще, да и нагляднее так юзеру.
|
Спасибо за вариант, но мне нельзя ничего менять, всё должно делатся в StringGrid. Такие вот требования.
|