1.8.8. Scheduler¶
1.8.8.1. TcxSchedulerControlEvent¶
-
class
TcxSchedulerControlEvent
¶ TcxSchedulerControlEvent - объекты данного класса являются событиями которые отображаются во фрейме планировщика.
-
Selected
: Boolean¶ Задает является ли данное событие текущим.
Return type: Boolean
-
IsDataValid
: Boolean¶ Для внутреннего использования.
Return type: Boolean
-
State
: Integer¶ Содержит состояние события. Может принимать следующие значения:
- tlsBusy
- занят
- tlsFree
- свобоный
- tlsOutOfOffice
- Вне офиса
- tlsTentative
- гипотетически
Return type: Integer
-
Start
: TDateTime¶ Свойство задает время и дату старта текущего события. Если свойтво
AllDayEvent = true
, то свойствоStart
игнорируется. Для задания прододжительности события используются свойстваDuration
иFinish
.Return type: TDateTime
-
ResourceID
: Integer¶ Идентификатор Ресурса, с которым связано событие.
Return type: Integer
-
ReminderMinutesBeforeStart
: Integer¶ Количество минут до старта события, за которое необходимо начать показывать напоминание о событие.
Return type: Integer
-
ReminderDate
: TDateTime¶ Дата и время напоминания (но можно, как льтернативу, использовать
ReminderMinutesBeforeStart
).Return type: TDateTime
-
Reminder
: Boolean¶ Определяет включено или выключено напоминание о событие.
Return type: Boolean
-
RecurrenceInfo
: TcxSchedulerEventRecurrenceInf¶ Класс настройки периодичности.
Return type: TcxSchedulerEventRecurrenceInf
-
Pattern
: TcxSchedulerControlEvent¶ Ссылка на etPattern (родительское) событие, если текущее событие входит в последовательность перодических событий.
Return type: TcxSchedulerControlEvent
-
Message
: String¶ Описание события.
Return type: String
-
LabelColor
: Integer¶ Свойство задает цвет события.
Return type: Integer
-
ID
: Variant¶ Метод возвращает уникальный идентификатор события.
Return type: Variant
-
Finish
: TDateTime¶ Задает продожительность события, аналогично свойство
Duration
(Данные свойства взаимно друг на друга влияют). Свойство задает время конца события.Return type: TDateTime
-
EventType
: TcxEventType¶ Возвращает тип события. Может вернуть следующие значения:
- etNone
- Обычное пользовательское не периодическое событие
- etPattern
- Пользовательское событие, являющееся шаблоном(родительскием) для цепочки повторяющихся событий
- etOccurrence
- Событие в цепочке событий порожденных от etPattern события
- etException
- Событие удаленное из цепочки повторящихся событий становится типа etException.
- etCustom
- пользовательское событие из одной последовательности повторяющихся событий, но с измененными настройками периодичности.
Return type: TcxEventType
-
Duration
: TDateTime¶ Продолжительность событие, равноценно свойству
Finish
(Данные свойства взаимно друг на друга влияют).Return type: TDateTime
-
Caption
: String¶ Название события.
Return type: String
-
AllDayEvent
: Boolean¶ Событие длится весь день.
Return type: Boolean
-
ActualFinish
: TDateTime¶ Дата конца последнего события, если собитие периодическое, или дата окончания обычного события.
Return type: TDateTime
-
ActualStart
: TDateTime¶ Дата начала события события, если собитие периодическое, то первого события.
Return type: TDateTime
-
Post
()¶ Данный метод следует вызывать если мы хотим сохранить сделанные изменения в событии.
-
BeginEditing
()¶ Для внутреннего использования.
-
RemoveRecurrence
()¶ Удаляет у данный объект событий настройки периодичности. И устанавливает
EventType
в etNone.
-
DeleteException
()¶ Удаляет все события - исключения и Custom события, если данное событие шаблонное (pattern).
-
IsRecurring
(): Boolean¶ Возвращает является ли событие периодическим.
Return type: Boolean
-
EndEditing
()¶ Для внутреннего использования.
-
Delete
()¶ Удаляет событие.
-
1.8.8.2. TcxEventType¶
-
class
TcxEventType
¶ Перечисление
-
etCustom
¶ Пользовательское событие из одной последовательности повторяющихся событий, но с измененными настройками периодичности.
-
etException
¶ Событие удаленное из цепочки повторящихся событий становится типа etException.
-
etOccurrence
¶ Событие в цепочке событий порожденных от etPattern события.
-
etPattern
¶ Пользовательское событие, являющееся шаблоном(родительскием) для цепочки повторяющихся событий.
-
etNone
¶ Обычное пользовательское не периодическое событие
-
1.8.8.3. TcxSchedulerOptionsView¶
-
class
TcxSchedulerOptionsView
¶ TcxSchedulerOptionsView
-
StartOfWeek
: TcxStartOfWeek¶ День начала недели.
Return type: TcxStartOfWeek
-
WorkFinish
: TTime¶ Время окончания рабочего дня.
Return type: TTime
-
WorkStart
: TTime¶ Время начала рабочего дня.
Return type: TTime
<pascal> S := Scheduler; S.OptionsView.WorkStart := '10:00'; S.OptionsView.WorkDays := [dMonday,dTuesday,dWednesday,dThursday,dFriday,dSaturday]; S.OptionsView.StartOfWeek := swSunday; </pascal>
-
1.8.8.4. TcxStartOfWeek¶
1.8.8.5. TbtkScheduler¶
-
class
TbtkScheduler
¶ TbtkScheduler
- при добавлении нового события вызывается операция
OnEventAdd
- при начале редактирования существующего события вызывается операция
OnEditEvent
- при удалении вызывается операция
OnDeleteEvent
.
По умолчанию, диалоговые окна, которые должны показываться при срабатывании этих событий перекрываются и не отображаются, если вызвана операция-тригер. Если же диалоговое окно необходимо показать, то свойству
IsShowEventEditorForm
надо присвоить значение True. Новое событие можно полностью отредактировать в паскаль операции, без использования диалоговых окон. Для доступа к в вновь создаваемому событию следует использовать поле CurrentEvent. Закрепление изменений выполняется методомPost
объекта события, если не выполненPost
, событие не будет добавлено. Но данный метод не завершает текущую транзакцию. В случае, еслиIsShowEventEditorForm = True
, то методPost
ни в кое случае нельзя вызывать! Перед вызовомPost
, если задавались настройки периодичности, необходимо проверятьGetValidStatus
, и выполнятьPost
только в том случае, еслиGetValidStatus
вернет rvsValid. Особенностью использования операцииOnDeleteEvent
, является то, что если она вызвается, то удалять объект надо явно -TcxSchedulerControlEvent.Delete
// создаем периодическое событие которое // будет выполняться в течении 4х рабочих дней, начиная с '04.04.2008 // 18:00:00' продолжительностью 2 часов каждый рабочий день. <pascal> Scheduler.CurrentEvent.Caption := 'TEST onEventAdd Caption'; Scheduler.CurrentEvent.Location := 'TEST onEventAdd Location'; Scheduler.CurrentEvent.Message := 'TEST onEventAdd Message'; Scheduler.CurrentEvent.Caption := 'TEST onEventAdd'; Scheduler.CurrentEvent.State := tlsFree; Scheduler.CurrentEvent.Start := StrToDateTime('04.04.2008 18:00:00'); Scheduler.CurrentEvent.Duration := StrToTime('2:00:00'); Scheduler.CurrentEvent.LabelColor := clskyblue; Scheduler.CurrentEvent.Reminder := 0; Scheduler.CurrentEvent.EventType := etPattern; if Scheduler.CurrentEvent.RecurrenceInfo <> nil then begin Scheduler.CurrentEvent.RecurrenceInfo.Count := 4; Scheduler.CurrentEvent.RecurrenceInfo.Periodicity := 1; Scheduler.CurrentEvent.RecurrenceInfo.DayType := cxdtWeekDay; Scheduler.CurrentEvent.RecurrenceInfo.Recurrence := cxreDaily; end; if Scheduler.CurrentEvent.RecurrenceInfo.GetValidStatus = 0 then Scheduler.CurrentEvent.Post else ShowMessage('Don''t Valid: ' + IntToStr(Scheduler.CurrentEvent.RecurrenceInfo.GetValidStatus)); //Показать диалог редактировнания события нельзя, так как выполнен Post //scheduler.IsShowEventEditorForm := true; </pascal>
// в случае, если данная операция присутствует в выборке, удалять событие надо явно: <pascal> ShowMessage(Scheduler.CurrentEvent.caption); Scheduler.CurrentEvent.Delete; </pascal>
// доступ к редактируемому событию через scheduler.SelectedEvents[0] <pascal> if scheduler.SelectedEventCount > 0 then begin scheduler.SelectedEvents[0].Caption := scheduler.SelectedEvents[0].Caption + ' ScriptEditing'; //scheduler.SelectedEvents[0].Post; scheduler.IsShowEventEditorForm := true; end; </pascal>
-
CurrentEvent
: TcxSchedulerControlEvent¶ Свойство следует использовать в операциях-тригерах срабатывающих на события
OnEventAdd
,OnEditEvent
,OnDeleteEvent
. Причем в опеарцииOnEventAdd
это едиснтвенный способ получить доступ к вновь создаваемому событию. В других операциях доступ к событию можно получить через свойствоSelectedEvents[0]
.Return type: TcxSchedulerControlEvent
-
IsShowEventEditorForm
: Boolean¶ Свойство следует использовать в операциях-тригерах срабатывающих на события
OnEventAdd
,OnEditEvent
. Установка в свойства в True, говорит о том, что после выполнения операции, следует показать диалоговое окно редактирования событий.Return type: Boolean
-
OptionsView
: TcxSchedulerOptionsView¶ Параметры внешнего вида.
Return type: TcxSchedulerOptionsView
-
SelectionStart
: TDateTime¶ Дата начала выделения на рабочей области планировщика.
Return type: TDateTime
-
SelectedResource
: Variant¶ Идентификатор выделенного ресурса.
Return type: Variant
-
SelectedEventCount
: Integer¶ Количество выделенных событий.
Return type: Integer
-
SelectedEvents
: TcxSchedulerControlEvent¶ Список выделенных элементов с доступом по индексу.
Return type: TcxSchedulerControlEvent
-
SelectionFinish
: TDateTime¶ Дата окончания выделения на рабочей области планировщика.
Return type: TDateTime
Параметры календаря.
Return type: TcxSchedulerDateNavigator
-
GoToDate
(Date: TDateTime): Boolean¶ Переходит на заданную дату в навигаторе дат и планировщике.
Parameters: Date (TDateTime) – Дата, на которую надо перейти. Return type: Boolean Returns: - True
- При успешном переходе
- False
- В случае ошибки при переходе
New in version Global_5.12_ms_18.
-
SelectDays
(Days: array of TDateTime)¶ Выбирает набор дат в навигаторе дат и планировщике.
Parameters: Days (array of TDateTime) – Массив дат. New in version Global_5.12_ms_18.
-
SelectDays
(StartDay, FinishDay: TDateTime) Выбирает диапазон дат в навигаторе дат и планировщике.
Parameters: - StartDay (TDateTime) – Начальная дата.
- FinishDay (TDateTime) – Конечная дата.
Note
Если в диапазоне меньше 15 дней, в окне планировщика они отображаются в представлении дней. В противном случае они отображатся в представлении недель.
New in version Global_5.12_ms_18.
- при добавлении нового события вызывается операция
1.8.8.6. TcxSchedulerEventRecurrenceInfo¶
-
class
TcxSchedulerEventRecurrenceInfo
¶ Класс определяет настройки переодичности события для повторяющихся событий. Доступ к объекту данного класса можно получить через своство
RecurrenceInfo
объета классаTcxSchedulerControlEvent
. Если данные настройки заданы у события, то функцияIsRecurring
вернет True.-
YearPeriodicity
: Integer¶ Задает частоту с которой будет выполнятся события в последовательности событий со свойством
Recurrence = cxreYearly
.Return type: Integer
-
Start
: TDateTime¶ Задает дату и время начала последовательности повторяющихся событий.
Return type: TDateTime
-
Recurrence
: TcxRecurrence¶ - cxreDaily
- шаблон периодичности задается на посуточной основе
- cxreWeekly
- шаблон периодичности задается на недельной основе
- cxreMonthly
- шаблон периодичности задается на ежемесячной основе
- cxreYearly
- шаблон периодичности задается на годичной основе Свойство
связанно со свойством
Periodicity
.Если Periodicity = 3
,Recurrence = cxreDaily
, то событие будет выполнятся каждый третий день.
Return type: TcxRecurrence
-
Periodicity
: Integer¶ Задает частоту с которой будет повторятся данное событие с учетом свойства
Periodicity
.Return type: Integer
-
OccurDays
: TDays¶ Задает множество дней недели, в которые будут входить последовательность событий. То есть в данные дни недели будут выполняться данные события.
Return type: TDays
-
Finish
: TDateTime¶ Задает дату конца последовательности повторящихся событий.
Return type: TDateTime
-
Event
: TcxSchedulerControlEvent¶ Свойство является ссылкой на событие которому принадлжит данный шаблон периодичности.
Return type: TcxSchedulerControlEvent
-
DismissDate
: TDateTime¶ Задает дату, когда напоминает было выключено в последний раз.
Return type: TDateTime
-
DayType
: TcxDayType¶ - cxdtDay
- задает каждый n-ый день в месяце
- cxdtEveryDay
- задает каждый n-ый день в недели
- cxdtWeekDay
- задает все рабочие дни недели
- cxdtWeekEndDay
- задает все выходные дни недели
- cxdtSunday
- задает повтор в воскресенье
- cxdtMonday
- задает повтор в понедельник
- cxdtTuesday
- задает повтор во вторник
- cxdtWednesday
- задает повтор в среду
- cxdtThursday
- задает повтор в четверг
- cxdtFriday
- задает повтор в пятницу
- cxdtSaturday
- задает повтор в субботу.
Return type: TcxDayType
-
DayNumber
: Integer¶ Свойство задает номер дня в месяце/рабочей недели. Текущее значение
DayNumber
зависит от состояния DayType.Return type: Integer
-
Count
: Integer¶ Возвращает количество событий в цепочке периодических событий. Если
Count = 0
, то конец цепочки событий определяется свойствомFinish
. ЕслиCount < 0
, то дата окончания цепочки событий не определена, и будет выполняться бесконечно.Return type: Integer
-
Validate
()¶ Проверяет корректность настройек повторения события. В случае некорректных насстроек возбуждает исключение.
-
GetValidStatus
(): Integer¶ Возвращает состояние деталей повторения.
Return type: Integer
-
GetEndDate
(): TDateTime¶ Задает дату конца последовательности повторящихся событий.
Return type: TDateTime
-
1.8.8.7. TcxRecurrence¶
1.8.8.8. TcxDayType¶
1.8.8.9. TDays¶
1.8.8.11. TcxRecurrenceValidStatus¶
-
class
TcxRecurrenceValidStatus
¶ Перечисление
-
rvsValid
¶ Все детали повторения корректны.
-
rvsReplaceOccurrenceDate
¶ Дата, указанная как день в месяце для повторения события или праздника, действительна, но некоторые месяцы не имеют столько дней. В этих случаях событие произойдет в последний день месяца.
-
rvsInvalidPattern
¶ Шаблон поторения некорректен. Например, указан некорректный день, так как ни в одном из месяцев нет столько дней.
-
rvsInvalidDuration
¶ Диапазон повторения некорректен. Например, частота повторения короче длительности пользовательского события.
-