Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите разобраться с Datetimepicker'ом
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Lik
Есть решаемая проблемма: нужно выяснить сколько дней в конкретном месяце конкретного года (високосный или обычный). Все это можно решить и через пользовательскую процеду, но не хочется загромождать код, а решить через стандартные компненты, либо у винды спросить... В программе уже присутствует DateTimePicker. Пробовал через него узнать... разобрался с кучей не нужных вещей =) пока ничего конкретного не нашел, зато голова - как в тумане.. "мягко" соображаю wacko.gif . Помогите кто чем может smile.gif Может есть стандартные запросы какие-нибудь? Собственно TimePicker выбран для удобного задания даты, так что его можно заменить и на др. компонент, у которого, в свою очаредь, можно спросить поболшье информации (день недели, номер недели и т.д.).
GoodWind
Код
function DaysOfMonth(mm, yy: Integer): Integer;
begin
  if mm = 2 then  
  begin
    Result := 28;
    if IsLeapYear(yy) then Result := 29;
  end  
  else  
  begin
    if mm < 8 then  
    begin
      if (mm mod 2) = 0 then
        Result := 30
      else
        Result := 31;
    end  
    else  
    begin
      if (mm mod 2) = 0 then
        Result := 31
      else
        Result := 30;
    end;
  end;
end;


взято из DelphiWorld.
volvo
А на фига? Есть же в DateUtils вот это:

function DaysInAMonth(const AYear, AMonth: Word): Word;
GoodWind
добавлено позже.
оказывается в дельфи есть готовая функция

Цитата
Returns the number of days in a specified month of a specified year.
Unit DateUtils

Category date/time routines

function DaysInAMonth(const AYear, AMonth: Word): Word;

Description
Call DaysInAMonth to obtain the number of days in the specified month of the specified year.
AYear is a year between 1 and 9999 (inclusive).
AMonth is a month between 1 and 12 (inclusive).


вот так =)

volvo, я тоже вспомнил когда уже запостил ту функцию smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.