![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать - сколько дней в месяце?
Кирил © (2009-01-13 11:29:00)Как программно по месяцу и году - узнать сколько дней вмесяце?
Anatoly Podgoretsky (2009-01-13 19:50:00) [1]
> Как узнать - сколько дней в месяце?
В этом месяце 31, насчет февраля - спрашивай в феврале.
MsGuns (2009-01-13 16:38:00) [2]В свое время я решил эту "проблему раз и навсегда, написав функцию, которой передается указатель на дескриптор (рекорд), где задан тип периода или две даты.
Функция создает модальное окно, в котором показывает способ выбора периода (тип):
Весь период
Последний год
Последний квартал
Последний месяц
Последняя декада
Произвольный период
и две кнопки "Выбрать" и "Отмена"
Если выбирается 1 вариант, то в рекорде обе даты в 0, тип 0
Если последний, то показываются два дататаймпикера, куда пользователь вводит дату начала и дату конца, которые и переносятся в рекорд (после проверки на пересечение ессно), тип (-1)
Иначе вычисляется дата начала и конца и вместе с типом передаются в рекорд
Приложение должно лишь создать рекорд, если надо, записать туда границы и тип периода, установленные в последний раз (и сохраненные, например, в ини-файле) и вызвать эту функцию, передав ей указатель на этот рекорд. Если функция вернула "ложь", то ничего, а если "истина", то даты принимаются к обработке.
Функцию положил в "свою" библиотеку Делфи
Ega23 (2009-01-13 15:53:00) [3]
> А что можно придумать?
Да полно вариантов. Например, 2 комбика, в одном - года, в другом - месяцы.
Всё от задачи и фантазии зависит.
Кирил (2009-01-13 15:46:00) [4]> MsGuns © (13.01.09 15:28) [7]
> Нет
А что можно придумать? ComboBox + SpinEdit?
Хотя, может и лучше! ))
function DaysInAMonth(const AYear, AMonth: Word): Word;
У ComboBox номер строки, SpinEdit.Value...!
MsGuns (2009-01-13 15:28:00) [5]Нет
Кирил (2009-01-13 14:15:00) [6]> function DaysInAMonth(const AYear, AMonth: Word): Word
Спасибо! Супер!
=================================================
А дополнительно хотел спросить - можно ли в TDateTimePiker показывать/выбирать только месяц и год? (дату скрывать)
Плохиш (2009-01-13 12:17:00) [7]
> Как программно по месяцу и году - узнать сколько дней вмесяце?
>
>
Вот они современные недоучки, даже количество дней в месяцах не знают.
Ega23 (2009-01-13 11:36:00) [8]DateUtils.DaysInAMonth + F1
{RASkov} (2009-01-13 11:36:00) [9]function DaysInAMonth(const AYear, AMonth: Word): Word;
clickmaker (2009-01-13 11:33:00) [10]хм... вроде бы это фиксированное число всегда. За исключением февраля, но тут IsLeapYear() поможет
Медвежонок Пятачок (2009-01-13 11:31:00) [11]первый день следующего месяца и шаг назад