Switch
Switch (Переключатель) - используется для выбора одного из нескольких путей выполнения программы, в зависимости от текущих условий.
Свойства
Входной аргумент | Тип аргумента | Тип переменной | Описание |
---|---|---|---|
Expression | Variable, Constant, Expression | Int32, Double | Проверяемое выражение (переменная) |
По умолчанию, имеет 3 стандартных выхода: ОК, Default и Error. Программа будет следовать ветке Default, если ни одно из условий не выполнено. Кроме того, выполнение также будет происходить по этому пути, если не добавлен ни один Case.
но количество выходов может быть изменено.
Для этого необходимо открыть свойства блока и увеличить количество кейсов кликом по кнопку "Добавить".
После этого в окне появится дополнительное поле, для настройки добавленного случае. Можно добавить несколько кейсов.
Тип проверяемого значения в поле Case будет зависеть от переменной в поле Expression.
Пример
Рассмотрим работу блока Switch на примере.
Создадим переменную value1 типа Double с начальным значением равным 1.
В блоке присваивания, будем прибавлять единицу к текущему значению переменной. Для этого составим следующий Expression:
value1+1
Теперь настроим блок Switch. В качестве входного аргумента будем использовать нашу переменную value1 и добавим два кейса на проверку. Для этого необходимо нажать на кнопку "Добавить" и выбрать "Сase" в выпадающем списке.
Первый кейс сработает, если наша переменная станет равной 2, а второй - если переменная станет равной 3.
Проведём связь от первого кейса (value1 = 2
) до блока Delay. Установим задержку в этом блоке на 3 секунды, а после вернёмся по связям к блоку присваивания.
Для второго кейса (value1 = 3
) проведём связь к блоку сообщения, выведем полученное значение во всплывающем окне и закончим программу.
Назначим текущую программу главной в проекте и запустим его.
Следить за ходом выполнения программы можно на панели «Контекст». Сначала, значение переменной value1 становится равным 2 и происходит задержка в 3 секунды. Далее, значение value1 увеличивается в блоке SetVariable и блок Switch направляет выполнение программы на вторую ветку, на блок Message.