Timer

Таймер, выполняющий определенные команды в указанное время некоторое количество раз; не имеет графического отображения.

Шаблон Timer

Перечень всех возможных тэгов объекта:

<MyObject Name="" Type="Timer" Assembly="SimpleControls" ChangeForm="">
  <ManualStart></ManualStart>
  <StartTime></StartTime>
  <Interval></Interval>
  <StopCount></StopCount>
  <StopTime></StopTime>
  <StopCondition></StopCondition>
  <Commands StopOnError="" Lock="">
    <Command Name="" />
    <If>
      <When></When>
      <Then StopOnError="" Lock="">
        <Command Name="" />
      </Then>
      <ElseIf>
        <When></When>
        <Then StopOnError="" Lock="">
          <Command Name="" />
        </Then>
      </ElseIf>
      <Else StopOnError="" Lock="">
        <Command Name="" />
      </Else>
    </If>
  </Commands>
</MyObject>

Описание Timer

<MyObject Name="" Type="Timer" Assembly="SimpleControls" ChangeForm="True">
  <!--Тэги, специфичные для Timer-->
</MyObject>

Атрибуты Timer

Name

Название объекта.

Обязательный атрибут.

Type

Название типа объекта в сборке.

Обязательный атрибут.

Assembly

Название сборки (библиотека).

Обязательный атрибут.

Получение значения Timer

Значением Timer считается значение, равное количеству совершенных запусков таймера.

<Object Name="TimerName" />

Задание значения Timer

Значение объекта: любое значение.

<Object Name="TimerName"></Object>

Тэги, специфичные для Timer

Change

Настройки изменения проперти ValueChanged объекта.

Необязательный тэг.

Если тэг <Change> отсутствует, то для атрибутов User, Source и ValueSet используются значения True, True, и True соответственно.

<Change User="True" Source="False" ValueSet="True" />

Атрибуты тэга <Change>

User

Признак, будет ли ValueChanged иметь значение True, если пользователь в графическом интерфейсе изменит значение объекта.

Обязательный атрибут. Ожидается логическое значение.

Source

Признак, будет ли ValueChanged иметь значение True, если значение объекта перезагрузится из источника.

Если атрибут Source имеет значение False, и при этом значение из источника перезагрузилось, то ValueChanged будет иметь значение False.

Обязательный атрибут. Ожидается логическое значение.

ValueSet

Признак, будет ли ValueChanged иметь значение True, если значение объекта будет присвоено из команды ValueSetCommand.

Если атрибут ValueSet имеет значение False, и при этом значение было присвоено из команды ValueSetCommand, то ValueChanged будет иметь значение False.

Обязательный атрибут. Ожидается логическое значение.

ManualStart

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

Необязательный тэг. Ожидается логическое значение.

По умолчанию используется значение False.

<ManualStart>False</ManualStart>

StartTime

Дата и время начала работы таймера.

Необязательный тэг. Ожидается значение даты/времени.

Если значение тэга будет пустым, то таймер никогда не будет запущен.

Если тэг <StartTime> отсутствует, то ограничение на начало работы таймера не устанавливается.

Время, заданное в тэге <StartTime> не должно превышать текущее время работы программы больше чем на 2 147 483 647 миллисекунд (~24 дня и 20 часов).

<StartTime>19.09.2014 13:57</StartTime>

Interval

Интервал (в миллисекундах) между запусками цикла таймера.

Обязательный тэг. Ожидается положительное целочисленное значение.

<Interval>1000</Interval>

StopCount

Количество выполненных циклов, требуемых для завершения работы таймера.

Необязательный тэг. Ожидается положительное целочисленное значение.

Если тэг <StopCount> отсутствует, то время работы таймера не ограничивается по количеству запусков.

<StopCount>5</StopCount>

StopTime

Дата и время окончания работы таймера.

Необязательный тэг. Ожидается значение даты/времени.

Если тэг <StopTime> отсутствует, то время работы таймера не ограничивается по времени.

<StopTime>19.09.2014 14:04</StopTime>

StopCondition

Прочее условие окончания работы таймера.

Необязательный тэг. Ожидается логическое значение.

Если тэг <StopCondition> отсутствует, то время работы таймера не ограничивается другими условиями.

<StopCondition>True</StopCondition>

Commands

Список команд, которые будут выполнены в одном цикле таймера.

Необязательный тэг. В качестве значения тэга ожидается список тэгов <Command> и/или конструкций <If>.

<Commands StopOnError="True"  Lock="">
  <Command Name="CommandName1" />
  <If>
    <When></When>
    <Then StopOnError="True" Lock="">
      <Command Name="CommandName2">
        <Input Name="InputName1">input 1</Input>
        <Input Name="InputName2">input 2</Input>
      </Command>
    </Then>
    <ElseIf>
      <When></When>
      <Then StopOnError="True" Lock="">
        <Command Name="CommandName3" />
      </Then>
    </ElseIf>
    <Else StopOnError="True" Lock="">
      <Command Name="CommandName4" />
    </Else>
  </If>
</Commands>

Атрибуты тэга <Commands>

StopOnError

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

Необязательный атрибут. Ожидается логическое значение.

По умолчанию используется значение True.

Lock

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

Необязательный атрибут. Ожидается логическое значение.

По умолчанию используется значение False.

Тэг <Command>

Обращение к команде по имени для ее выполнения.

Необязательный тэг. В качестве значения тэга ожидается список тэгов <Input>.

<!--Вариант 1-->
<Command Name="CommandName1" />

<!--Вариант 2-->
<Command Name="CommandName2">
  <Input Name="InputName1">input 1</Input>
  <Input Name="InputName2">input 2</Input>
</Command>

Get-проперти для получения свойств

Value

Возвращает количество совершенных запусков таймера.

<Object Name="TimerName">
  <Property Name="Value" />
</Object>

ValueChanged

Возвращает признак изменения количества совершенных запусков таймера.

Есть 3 способа изменить значение объекта:

  1. Изменить значение прямым образом в графическом интерфейсе формы, с помощью set-проперти ValueChanged.

  2. Указать источник значения (ссылка на любые данные на форме). В случае изменения значения в источнике, автоматически изменится значение и самого объекта.

  3. Присвоить значение объекту посредством команды ValueSetCommand.

<Object Name="TimerName">
  <Property Name="ValueChanged" />
</Object>

StartTime

Возвращает дату и время начала работы таймера.

<Object Name="TimerName">
  <Property Name="StartTime" />
</Object>

Interval

Возвращает интервал (в миллисекундах) между запусками цикла таймера.

<Object Name="TimerName">
  <Property Name="Interval" />
</Object>

StopCount

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

<Object Name="TimerName">
  <Property Name="StopCount" />
</Object>

StopTime

Возвращает дату и время окончания работы таймера.

<Object Name="TimerName">
  <Property Name="StopTime" />
</Object>

StopCondition

Возвращает прочее условие окончания работы таймера.

<Object Name="TimerName">
  <Property Name="StopCondition" />
</Object>

Count

Возвращает количество совершенных запусков таймера.

<Object Name="TimerName">
  <Property Name="Count" />
</Object>

Set-проперти для динамического задания свойств

Value

Задает количество совершенных запусков таймера.

Ожидается целочисленное значение.

<Object Name="TimerName">
  <Property Name="Value">0</Property>
</Object>

ValueChanged

Задает признак изменения значения количества совершенных запусков таймера.

Ожидается логическое значение.

<Object Name="TimerName">
  <Property Name="ValueChanged">False</Property>
</Object>

StartTime

Задает дату и время начала работы таймера.

Ожидается значение даты/времени.

<Object Name="TimerName">
  <Property Name="StartTime">19.09.2014 14:09</Property>
</Object>

Interval

Задает интервал (в миллисекундах) между запусками цикла таймера.

Ожидается положительное целочисленное значение.

<Object Name="TimerName">
  <Property Name="Interval">1000</Property>
</Object>

StopCount

Задает количество выполненных циклов, требуемых для завершения работы таймера.

Ожидается положительное целочисленное значение.

<Object Name="TimerName">
  <Property Name="StopCount">5</Property>
</Object>

StopTime

Задает дату и время окончания работы таймера.

Ожидается значение даты/времени.

<Object Name="TimerName">
  <Property Name="StopTime">19.09.2014 14:09</Property>
</Object>

Count

Задает количество совершенных запусков таймера.

Ожидается целочисленное значение.

<Object Name="TimerName">
  <Property Name="Count">0</Property>
</Object>

Start

Запускает таймер (при условии, что дата и время, соответствующие свойству <StartTime>, меньше текущего времени) и немедленно начинает выполнение его команд в соответствии с признаком ExecuteAfterStart.

<Object Name="TimerName">
  <!--Значение тэга Property: тэг Parameters со вложенными тэгами Parameter-->
  <Property Name="Start" >
    <Parameters>
      <!--Необязательный параметр. При отсутствии используется значение True-->
      <!--Значение тэга Parameter с атрибутом Name, равным ExecuteAfterStart: ожидается логическое значение-->
      <Parameter Name="ExecuteAfterStart">True</Parameter>
    </Parameters>
  </Property>
</Object>

Stop

Останавливает выполнение команд таймера.

Значение тэга Property: не ожидается.

<Object Name="TimerName">
  <Property Name="Stop" />
</Object>

Last updated