- •Тема 2.3.16: Дополнительные компоненты Delphi. План.
- •Примеры программы с использованием компонент Флажок, Переключатель, Полоса прокрутки, Панель (самостоятельная работа).
- •Форматы даты и времени (самостоятельная работа).
- •Пример программы с использование таймера (самостоятельная работа).
- •1. Примеры программы с использованием компонент Флажок, Переключатель, Полоса прокрутки, Панель.
- •2. Форматы даты и времени.
- •3. Пример программы с использование таймера.
2. Форматы даты и времени.
Работа с календарем происходит на основе типа Tdate (или его аналога TdateTime). Текущая выбранная дата записывается в свойство Date этого типа. Само значение хранится в запакованном формате в поле типа Double. Кроме типа TdateTime можно применять также системный формат TsystemTime, который содержит полное описание текущих даты и времени:
type TsystemTime = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;
Можно использовать и формат TtimeStamp.
Type TtimeStamp = record
Time: Integer;
Date: Integer;
end;
В поле Time хранится число миллисекунд, прошедшее с полуночи, в поле Date — число дней от 1 января 0001 года плюс 1.
Для работы с этими форматами в системе Delphi имеется набор стандартных подпрограмм. Кроме того, в приложениях, где требуется выполнять задачи, жестко привязанные к временным промежуткам, можно воспользоваться функцией GetTickCount, возвращающей число миллисекунд, прошедших с начала суток (с полуночи) до данного момента, хотя лучше в подобных ситуациях применять компонент Ttimer.
Подпрограмма |
Назначение |
Date() DateTimeToStr() DateTimeToSystemTime()
DateToStr() DayOfWeek()
DecodeDate() DecodeTime()
EncodeDate()
EncodeTime()
FormatDateTime()
IsLeapYear() MsecsToTimeStamp() Now StrToDate()
StrToDateTime()
StrToTime()
SystemTimeToDateTime()
Time TimeStampToDateTime()
TimeStampToMSecs()
TimeToStr() |
Возвращает текущую дату Преобразование даты и времени в строку Преобразование даты/времени из формата TdateTime в формат TsystemTime Преобразование даты в строку Номер дня недели, число от 1 до 7 (1 — воскресенье, 7 — суббота) Выделение из даты года, месяца и дня Выделение из даты часов, минут, секунд и миллисекунд Преобразование явно заданных года, месяца и дня в дату формата TdateTime Преобразование явно заданных часов, минут, секунд и миллисекунд в дату формата TdateTime Преобразование даты/времени в строку в соответствии с собственным форматом Имеет значение True, если год високосный Перевод числа миллисекунд в формат TtimeStamp Возвращает текущие дату и время Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows, в дату формата TdateTime Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows, в дату и время формата TdateTime Преобразование строки, хранящей описание даты в формате, соответствующем локальным требованиям Windows, во время в формате TdateTime Преобразование времени из формата TsystemTime в формат TdateTime Возвращает текущее время Преобразование из формата TtimeStamp в формат TdateTime Преобразование значения времени в формате в число миллисекунд Преобразование времени в строку |
Если выбран диапазон дат, то завершающая дата запишется в свойство EndDate. Для программной установки даты можно использовать метод MsgSetDateTime.
Function MsgSetDateTime(Value: TsystemTime): Boolean;
