Вкладка Win32. Компонент TDateTimePicker

   
На этом шаге мы рассмотрим компонент TDateTimePicker.

   
Компонент TDateTimePicker (Ввод даты-времени) представляет собой раскрывающийся список
и используется для ввода даты и времени с клавиатуры (в соответствии с локальными настройками Windows).
При раскрытии списка открывается календарь (компонент TMonthCalendar). При проектировании настраиваются
следующие свойства компонента.

   
Свойства компонента TDateTimePicker.

Таблица 1. Свойства компонента TDateTimePicker

Свойство Описание
type TDTCalAlignment = (dtaLeft, dtaRight);
property CalAlignment: TDTCalAlignment;
Определяет размещение календаря относительно поля:

  • dtaLeft - слева от компонента;
  • dtaRight - справа от компонента.
property CalColors: TMonthCalColors; С календарем связан объект класса TDateTimeColors, свойства которого определяют цвета календаря
property Checked: Boolean; Если выполняются условия Checked=True и ShowChecked=True, флажок
рядом с полем даты (времени) будет показан и установлен. Наличие флажка или его отсутствие разрешает или
запрещает ручной ввод даты или времени
property Date: TDate; Содержит введенную дату
type TDTDateFormat = (dfShort, dfLong);
property DateFormat: TDTDateFormat;
Представление даты в коротком (dfShort) или длинном (dfLong) формате
type TDTDateMode = (dmComboBox, dmUpDown);
property DateMode: TDTDateMode;
Режим работы компонента. Он может отображаться как раскрывающийся список (dmComboBox)
или иметь счетчик для изменения даты (dmUpDown)
type TDateTimeKind = (dtkDate, dtkTime);
property Kind: TDateTimeKind;
Если значение свойства равно dtkDate, компонент используется для ввода даты, при значении dtkTime -
для ввода времени
property MaxDate: TDate;
property MinDate: TDate;
Используются для ограничения диапазона вводимых дат
property ParseInput: Boolean; Если содержит значение True, возникает событие OnUserInput при каждом вводе пользователя
в текстовое поле
property ShowCheckbox: Boolean; Имеет значение True, если рядом с полем отображается флажок для свойства Checked.
Изменяет режим ввода данных
property Time: TTime; Содержит введенное пользователем время

   
События компонента представлены в таблице 2.

Таблица 2. События компонента TDateTimePicker

Событие Описание
property OnChange: TNotifyEvent; Возникает при любом изменении содержимого компонента
property OnCloseUp: TNotifyEvent; Возникает при закрытии календаря
property OnDropDown: TNotifyEvent; Возникает при открытии календаря
type TDTParseInputEvent = procedure (Sender: TObject; const UserString: String;
var DateAndTime: TDateTime; var AllowChange: Boolean) of object;
property OnUserInput: TDTParseInputEvent;
Возникает при ручном вводе в текстовое поле, если ParseInput=True. UserString -
введенная пользователем строка; DateAndTime - значение свойств Date и Time.
В параметре AllowChange обработчик разрешает или запрещает изменения даты или времени

   
Используются следующие форматы даты и времени.

   
TDate (или его аналог TDateTime), объявление которых сделано следующим образом.

type TDateTime  =  type Double;

   
TSystemTime представляет собой запись, содержащую полное описание текущих даты и времени.

TSystemTime = record 
  wYear: Word; 
  wMonth: Word;
  wDayOfWeek: Word;
  wDay; Word; 
  wHour: Word; 
  wMinute: Word; 
  wSecond: Word; 
  wMilliseconds: Word;
end; 

   
Также используется формат TTimeStamp.

TTimeStamp = record 
  Time: Integer; 
  Date: Integer;
end; 

   
Здесь в поле Time хранится число миллисекунд, прошедшее с полуночи, а в поле Date - число дней от
1 января 0001 года плюс 1.

   
Для работы с этими форматами используются стандартные процедуры, приведенные ниже. Кроме того, в приложениях,
где требуется выполнять задачи, жестко привязанные к временным интервалам, можно воспользоваться функцией
GetTickCount, возвращающей число миллисекунд, прошедших от начала суток до данного момента, но удобнее
применять компонент TTimer.

   
Для работы с форматами даты и времени используются следующие процедуры.

function Date: TDateTime;

Возвращает текущую дату.

function DateTimeToStr (DateTime: TDateTime): String;

Преобразование даты и времени в строку.

procedure DateTimeToSystemTime (DateTime: TDateTime; var SystemTime: TSystemTime);

Преобразование даты и времени из формата TDateTime в формат TSystemTime.

function DateToStr (Date: TDateTime): String;

Преобразование даты в строку.

function DayOfWeek (Date: TDateTime): Integer; 

Номер дня недели (1..7).

procedure DecodeDate (Date: TDateTime; var Year, Month, Day: Word); 

Выделение из даты года, месяца и дня.

procedure DecodeTime (Time: TDateTime; var Hour, Min, Sec, MSec: Word);

Выделение из даты часов, минут, секунд и миллисекунд.

function EncodeDate (Year, Month, Day: Word): TDateTime; 

Преобразование явно заданных года, месяца и дня в дату формата TDateTime.

function EncodeTime (Hour. Min, Sec, MSec: Word): TDateTime; 

Преобразование явно заданных часов, минут, секунд и миллисекунд в дату формата TDateTime.

function FormatDateTime (const Format: String; DateTime: TDateTime): String;

Преобразование даты/времени в строку в соответствии с собственным форматом.

function IsLeapYear (Year: Word): Boolean;

Имеет значение True, если год високосный.

function MSecsToTimeStamp (MSecs: Comp): TTimeStamp;

Перевод числа миллисекунд в формат TTimeStamp.

function Now: TDateTime; 

Возвращает текущие дату и время.

function StrToDate (const S: String): TDateTime; 

Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям
Windows, в дату формата TDateTime.

 function StrToDateTime (const S: String): TDateTime;

Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows,
в дату и время формата TDateTime.

function StrToTime (const S: String): TDateTime;

Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows,
во время в формате TDateTime.

function SystemTimeToDateTime (const SystemTime: TSystemTime): TDateTime;

Преобразование времени из формата TSystemTime в формат TDateTime.

function Time: TDateTime; 

Возвращает текущее время.

function TimeStampToDateTime (const TimeStamp: TTimeStamp): TDateTime;

Преобразование из формата TTimeStamp в формат TDateTime.

function TimeStampToMSecs (const TimeStamp: TTimeStamp): Comp;  

Преобразование значения времени в формате TTimeStamp в число миллисекунд.

function TimeToStr (Time:  TDateTime): String;

Преобразование времени в строку.

   
На следующем шаге мы рассмотрим компонент TMonthCalendar.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий