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

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

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

<Object Name="TimerName" />

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

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

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

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

Change

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

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

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

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

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

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>

Тэг <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