Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисление даты [D7, XP]


Страницы:   1 2

Антон Шестаков ©   (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.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо