Scheduler

TcxSchedulerControlEvent

Warning

Не поддерживается в Application Server

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()

Удаляет событие.

TcxEventType

class TcxEventType

Перечисление

etCustom

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

etException

Событие удаленное из цепочки повторящихся событий становится типа etException.

etOccurrence

Событие в цепочке событий порожденных от etPattern события.

etPattern

Пользовательское событие, являющееся шаблоном(родительским) для цепочки повторяющихся событий.

etNone

Обычное пользовательское не периодическое событие

TcxSchedulerOptionsView

Warning

Не поддерживается в Application Server

class TcxSchedulerOptionsView

TcxSchedulerOptionsView

StartOfWeek TcxStartOfWeek

День начала недели.

Return type:

TcxStartOfWeek

WorkDays TDays

Рабочие дни.

Return type:

TDays

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>

TcxStartOfWeek

class TcxStartOfWeek

Перечисление. День, с которого начинается неделя.

swSaturday
swFriday
swThursday
swMonday
swWednesday
swTuesday
swSunday
swSystem

TbtkScheduler

Warning

Не поддерживается в Application Server

class TbtkScheduler

TbtkScheduler

  • при добавлении нового события вызывается операция OnEventAdd

  • при начале редактирования существующего события вызывается операция OnEditEvent

  • при удалении вызывается операция OnDeleteEvent.

По умолчанию, диалоговые окна, которые должны показываться при срабатывании этих событий перекрываются и не отображаются, если вызвана операция-тригер. Если же диалоговое окно необходимо показать, то свойству IsShowEventEditorForm надо присвоить значение True. Новое событие можно полностью отредактировать в паскаль операции, без использования диалоговых окон. Для доступа к в вновь создаваемому событию следует использовать поле CurrentEvent. Закрепление изменений выполняется методом Post объекта события, если не выполнен Post, событие не будет добавлено. Но данный метод не завершает текущую транзакцию. В случае, если IsShowEventEditorForm = True, то метод Post ни в кое случае нельзя вызывать! Перед вызовом Post, если задавались настройки периодичности, необходимо проверять GetValidStatus, и выполнять Post только в том случае, если GetValidStatus вернет rvsValid. Особенностью использования операции OnDeleteEvent, является то, что если она вызывается, то удалять объект надо явно - TcxSchedulerControlEvent.Delete

Пример операции OnEventAdd
// создаем периодическое событие которое
// будет выполняться в течении 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>
Пример операции onDeleteEvent
// в случае, если данная операция присутствует в выборке, удалять событие надо явно:

<pascal>
  ShowMessage(Scheduler.CurrentEvent.caption);
  Scheduler.CurrentEvent.Delete;
</pascal>
Пример операции OnEditEvent
// доступ к редактируемому событию через 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

DateNavigator TcxSchedulerDateNavigator

Параметры календаря.

Return type:

TcxSchedulerDateNavigator

GoToDate(Date: TDateTime) Boolean

Переходит на заданную дату в навигаторе дат и планировщике.

Parameters:

Date (TDateTime) – Дата, на которую надо перейти.

Return type:

Boolean

Returns:

True

При успешном переходе

False

В случае ошибки при переходе

SelectDays(Days: array of TDateTime)

Выбирает набор дат в навигаторе дат и планировщике.

Parameters:

Days (array of TDateTime) – Массив дат.

SelectDays(StartDay, FinishDay: TDateTime)

Выбирает диапазон дат в навигаторе дат и планировщике.

Parameters:
  • StartDay (TDateTime) – Начальная дата.

  • FinishDay (TDateTime) – Конечная дата.

Note

Если в диапазоне меньше 15 дней, в окне планировщика они отображаются в представлении дней. В противном случае они отображатся в представлении недель.

TcxSchedulerEventRecurrenceInfo

Warning

Не поддерживается в Application Server

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

TcxRecurrence

Warning

Не поддерживается в Application Server

class TcxRecurrence

Перечисление

cxreYearly
cxreMonthly
cxreWeekly
cxreDaily

TcxDayType

Warning

Не поддерживается в Application Server

class TcxDayType

Перечисление

cxdtSaturday
cxdtFriday
cxdtThursday
cxdtWednesday
cxdtTuesday
cxdtMonday
cxdtSunday
cxdtWeekEndDay
cxdtWeekDay
cxdtEveryDay
cxdtDay

TDays

Warning

Не поддерживается в Application Server

class TDays

Перечисление

dSunday
dMonday
dTuesday
dWednesday
dThursday
dFriday
dSaturday

TcxSchedulerDateNavigator

Warning

Не поддерживается в Application Server

class TcxSchedulerDateNavigator

TcxSchedulerDateNavigator

SelectedCount Integer

Количество дней, выделенных в календаре.

Return type:

Integer

SelectedList Array

Массив выделенных дат.

Return type:

Array

Date TDateTime

Дата выделенная на календаре. Если выделены несколько дат (период), свойство должно иметь значение наименьшей даты в периоде.

Return type:

TDateTime

Пример
<pascal>
  if Assigned(Scheduler) then
  begin
    ShowMessage('Выделенная Дата: ' +
    FloatToStr(Scheduler.dateNavigator.Date));
    ShowMessage('Количество выделенных дней: ' +
    FloatToStr(Scheduler.dateNavigator.SelectedCount));
    res := '';
    for i := 0 to Scheduler.dateNavigator.SelectedCount - 1 do
    Res := Res + ' --> ' +
    DateToStr(Scheduler.dateNavigator.SelectedList[i]) ;
    ShowMessage('Все выделенные записи: ' + Res);
  end;
</pascal>

TcxRecurrenceValidStatus

Warning

Не поддерживается в Application Server

class TcxRecurrenceValidStatus

Перечисление

rvsValid

Все детали повторения корректны.

rvsReplaceOccurrenceDate

Дата, указанная как день в месяце для повторения события или праздника, действительна, но некоторые месяцы не имеют столько дней. В этих случаях событие произойдет в последний день месяца.

rvsInvalidPattern

Шаблон повторения некорректен. Например, указан некорректный день, так как ни в одном из месяцев нет столько дней.

rvsInvalidDuration

Диапазон повторения некорректен. Например, частота повторения короче длительности пользовательского события.