![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисление даты [D7, XP]
Антон Шестаков © (2007-10-11 14:22:00)Есть такой код:
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;
А как сделать, чтобы вместо неизменяемого '01.01.1903' вставить DateTimePicker,
чтобы дата была не фиксированной, а её можно было бы выбирать из DateTimePicker.
Dennis I. Komarov (2007-10-12 14:24:00) [1]> [17] Антон Шестаков (12.10.07 13:28)
Я же тебе говорил: TDateTime + F1 и будет тебе счастьЯ. А вообще бросай это дело. Не твое это.
Anatoly Podgoretsky (2007-10-12 14:20:00) [2]> Маша Шрайбер (12.10.2007 13:39:19) [19]
> Я бы могла сказать, но, боюсь, вы меня обматерите.
Помогу плохому танцору :-)
Маша Шрайбер (2007-10-12 13:39:00) [3]>> Антон Шестаков (12.10.07 13:28) [17]
>> и что лишнего убрать,
Я бы могла сказать, но, боюсь, вы меня обматерите.
clickmaker (2007-10-12 13:33:00) [4]
> ругается компилятор
как?
Открою страшную тайну: если выделить ругань и нажать F1, то откроется справка по этой ошибке. Часто она бывает с примерами исправления
Антон Шестаков (2007-10-12 13:28:00) [5]Но всё же, почему ругается компилятор и что лишнего убрать, а что добавить (ну объясните мне, чайнику программирования)
Антон Шестаков (2007-10-12 13:02:00) [6]Но всё же...
clickmaker (2007-10-12 12:53:00) [7]
> чем непонимающе читать английские буквы.
вообще-то, они латинские )
Антон Шестаков (2007-10-12 12:52:00) [8]И да спрошу, ведь лучше пообщаться, чем непонимающе читать английские буквы.
Anatoly Podgoretsky (2007-10-12 12:39:00) [9]> Маша Шрайбер (12.10.2007 12:27:10) [10]
Нет в жизни совершенства.
Плохиш (2007-10-12 12:30:00) [10]
> Маша Шрайбер © (12.10.07 12:23) [8]
А ещё на этом сайте филиал всех поисковых систем...
> EvS © (12.10.07 12:27) [11]
Пессимист - это информированный оптимист
EvS (2007-10-12 12:27:00) [11]> А следующий вопрос будет «Почему компилятор ругается?»
Я оптимист, не думаю что так уж тут все запущено. Хотя
Маша Шрайбер (2007-10-12 12:27:00) [12]>> Игорь Шевченко © (12.10.07 12:25) [9]
Да, Игорь, наихудшие предположения оправдываются, что огорчает.
Игорь Шевченко (2007-10-12 12:25:00) [13]
> Скажите, в этой конфе принято задавать вопросы уровня справки
> вместо заглядывания в эту саму справку?
И не только в этой
Маша Шрайбер (2007-10-12 12:23:00) [14]>> Плохиш © (12.10.07 12:16) [6]
Скажите, в этой конфе принято задавать вопросы уровня справки вместо заглядывания в эту саму справку? Т.е. эта конфа и есть справка типа F1?
Просто боюсь быть огорченной.
Плохиш (2007-10-12 12:17:00) [15]
> EvS © (12.10.07 12:15) [5]
А следующий вопрос будет "Почему компилятор ругается?" ;-)
Плохиш (2007-10-12 12:16:00) [16]
> Антон Шестаков (12.10.07 12:13) [4]
> И куда вставить DateTimePicker.Date? Вместо '01.01.1903'?
Я позволю себе не отвечать на вопросы, описанные в любом букваре.
EvS (2007-10-12 12:15:00) [17]И куда вставить DateTimePicker.Date? Вместо '01.01.1903'?
Вот где у тебя написано '01.01.1903'-туда и вставляй
Антон Шестаков (2007-10-12 12:13:00) [18]И куда вставить DateTimePicker.Date? Вместо '01.01.1903'?
Ega23 (2007-10-11 14:44:00) [19]На IncDay похоже. Но та,Э всё-таки, раза в 4 больше была... :)
> Антон Шестаков (11.10.07 14:22)
Всё одной строчкой делается, см. [2]
Плохиш (2007-10-11 14:40:00) [20]
> Антон Шестаков (11.10.07 14:22)
Предлагаю заменить функцию CalculateAge функцией YearsBetween.