Как перестать беспокоиться и начать программировать

       

TAskDateEdit


– наследник компонента TDateEdit . Так уж получилось, что RX-компонент для ввода даты мне нравится больше стандартного; к тому же он более функционален. Ну а недостающую функциональность добирает производный компонент TAskDateEdit.

Отличается от предка следующим: если язык локализации Windows – русский или один из французских диалектов, то некоторые параметры компонента устанавливаются в значения, принятые для календаря во Франции, откуда, собственно, они и заимствованы Россией вместе с метрической системой мер и весов:

  • Неделя начинается в понедельник, а не в воскресенье, как в Пиндустане
  • Выходные – суббота и воскресенье, оба выделяются красным цветом.
  • Указанная доп. функциональность выполняет некие действия автоматически в "runtime", что позволяет не заморачиваться ручной установкой этих свойств в "designtime" для каждого компонента, брошенного на форму.

    У этого компонента также есть дополнительное свойство "AskBegDateType", которому можно присвоить одно из следующих значений (в том числе и в "designtime", в "Инспекторе объектов"): ebdtNone, ebdtToday, ebdtBegPrevMonth, ebdtEndPrevMonth, ebdtBegPrevQuarter, ebdtEndPrevQuarter, ebdtBegCurMonth, ebdtEndCurMonth, ebdtYesterday

    В зависимости от значения этого свойства, отображаемая дата будет:

  • Пустая
  • Текущая дата
  • 1-й день предыдущего месяца
  • Последний день предыдущего месяца
  • 1-й день предыдущего квартала
  • Последний день предыдущего квартала
  • 1-й день текущего месяца
  • Последний день текущего месяца
  • Вчерашняя дата
  • Как уже понял проницательный читатель, это свойство введено для того, чтобы исключить написание кода для задания даты или периодов (начальная и конечная даты) – например, при формировании отчётов за период.

    Для полноты описания следует добавить, что существует свойство "DateToStr6", которое переводит дату в строку вида "ГГММДД", что достаточно часто бывает нужным при разработке деловых приложений.



    Содержание раздела