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

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

Колическтво дней в месяце. [D7, XP]


Gizza ©   (2006-06-19 19:05:00) 

Доброго времени....
У мну вопрос:
Есть программа (жалкое подобие :) в которой считается количество дней. Подробнее: в DateTimePicker выбераешь дату, нажимаешь Button и выводится сообщение сколько дней осталось до выбранной даты...
Если месяца совпадают (сегодняшний и выбранный в DateTimePicker) то все хорошо получается:


procedure TForm1.Button1Click(Sender: TObject);
var y,m,d,y1,m1,d1:word;
begin
DecodeDate(date,y,m,d);
DecodeDate(date1.Date,y1,m1,d1); // date1 - компонент DateTimePicker

lb1.Caption:='Вам осталось ' + IntToStr (d1-d) + ' дней.'; // lb1 - компонент  Label (на Form1)
end;


Вот...
А, как Вы, наверно, уже догадались, если, например, сегодня 19.06.2006, а, допустим, выбранная дата 05.07.2007, то результатом будет число 5-19 = -14... А надо, чтобы было 35...

Заранее спасибо.

P.S.
Пожалуйста, не предлагайте устанавливать количество дней для каждого месяца, типа:
m1 := 30
m2 := 31
m3 := 30
... и тд.

Еще раз спасиба.


evvcom   (2006-06-20 08:51:00) [1]

Почитай, почитай. Иногда полезно бывает...


Gizza   (2006-06-20 08:42:00) [2]

Извиняюсь за слэнг. Старая привычка....
Большое всем спасибо! Все работает!
Только непонятно чего такое "Trunc", но ладно, HELP-аки почитаю...


SergP.   (2006-06-19 22:48:00) [3]

> Не предлагаю. Предлагаю вычислить Trunc(date1.Date - date)
> -- это и будет количество полных дней между датами.


если время (часы, минуты, и т.д.) роли не играют, то лучше  Trunc(date1)- Trunc(date), иначе можно 1 день потерять...


begin...end   (2006-06-19 19:16:00) [4]

> Gizza ©   (19.06.06 19:05) [0]

> У мну вопрос

У мну тоже. Когда-нибудь использование этого дурацкого сленга прекратится?

> Пожалуйста, не предлагайте устанавливать количество дней
> для каждого месяца

Не предлагаю. Предлагаю вычислить Trunc(date1.Date - date) -- это и будет количество полных дней между датами.


Плохиш   (2006-06-19 19:15:00) [5]

А чем Date1-Dateне подходит?
или DaysBetween?


Наверх

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