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

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

Число дней в текущем месяце [D6, Win95/98]


phantom2040 ©   (2002-02-20 11:13:00) 

Мастера помогите, каким образом можно возвратить число дней в текущем месяце, желательно запихать значение в переменную типа Integer или Word.
Нужно для установки фильтрации в таблице по определенным диапазонам, в данном случае должны отображаться данные текущего месяца


phantom2040   (2002-02-20 13:56:00) [1]

Спасибо Мастера, уже сделал то что мен нужно было при помощи
MonthDays[IsLeapYear(год)][месяц], возвращает то что нужно, и еще к этому проверяет високосный год или нет.




Digitman   (2002-02-20 12:46:00) [2]

>McSimm
Ок, согласен. Явно обозначенную автором среду упустил из вида.


McSimm   (2002-02-20 12:39:00) [3]

В D6 есть. (Довольно богатый модуль)
Автор указал D6, поэтому Corwin дал вполне корректный ответ


Digitman   (2002-02-20 12:37:00) [4]

>Corwin
И где, позволь полюбопытствовать, ты нашел DateUtils ? К примеру, в D5.5 ничего подобного отродясь не бывало


Corwin   (2002-02-20 12:22:00) [5]

Все гораздо проще.

В разделе Uses укажи DateUtils.

Далее используй функцию DaysInMonth(Today);

Она вернет число дней в текущем месяце...


Digitman   (2002-02-20 11:44:00) [6]

function GetCurMonthDayCount: Integer;
var
NYear, NMonth, NDay: Word;
DateFrom: TDate;
begin
DecodeDate(Date, NYear, NMonth, NDay);
DateFrom := EncodeDate(NYear, NMonth, 1);
Result := Trunc(IncMonth(DateFrom, 1) - DateFrom);
end;


Юрий Зотов   (2002-02-20 11:38:00) [7]

Число дней в любом месяце любого года:

MonthDays[IsLeapYear(год)][месяц]

Детали см. в исходниках SysUtils.


Виктор Щербаков   (2002-02-20 11:27:00) [8]

Насколько я знаю, число дней в каждом месяце постоянно. Исключение - февраль.
IsLeapYear - определят, является ли год високосным.


Slava   (2002-02-20 11:25:00) [9]

Знаем текущий месяц?

Берем первое число следующего месяца и отнимаем от него один день.

Имеем последнюю дату текущего месяца, делаем DecodeDate и забираем день типа Word


Наверх

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