Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Данная статья скопирована из справки по ZennoPoster, т.к. эти действия идентичны в обеих программах. Оригинал - Switch (выбор из нескольких вариантов)

Внутри данной статьи могут встретиться скриншоты, внутренние ссылки на справку и другие вещи, которые относятся к ZennoPoster.

Оглавление

 Нажмите здесь, чтобы развернуть оглавление

Описание

Оператор Switch представляет собой расширенную версию IF (условие "Если ... то ...") .

Если оператор IF имеет всего два исхода - True или False (зеленая или красная ветви), то Switch имеет возможность выбора нескольких вариантов. В случае отсутствия нужного варианта, кубик выйдет по ветке “Default”.


Как добавить действие в проект?

Через контекстное меню Добавить действиеЛогикаSwitch

Либо воспользуйтесь умным поиском.


Для чего это используется?

  • Выбор варианта из перечня

  • Проверка на определенное вхождение (соответствие)


Как пользоваться экшеном?

Переменная

Здесь необходимо указать переменную, которую мы будем проверять

Начиная с версии 7.4.0.0 из этого поля сразу можно и создать переменную (до этого можно было только выбрать из уже существующих).

Список условий

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

В качестве условия для выхода можно использовать не только жестко заданный текст, но и переменные:

Default

Если не будет найдено ни одного совпадения, то экшен выйдет по ветке Default.

Если ветка Default не соединена ни с одним из экшнов и выполнение попадает на неё, то экшен завершит работу ошибкой.

Пример


Пример использования

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

Далее создадим операции Оповещение (Notification/Запись в лог) для каждого из вариантов.

Видео с примером использования

bandicam 2020-08-06 22-36-18-491.mp4
 Для тех, кто хочет поработать с C# кодом

Вы можете реализовать подобный функционал через C# C# код (Си шарп код .net)

Пример кода для варианта выше

string switch_var = project.Variables["switch_test"].Value;
switch(switch_var){
case "A": 
		project.SendInfoToLog("В переменной заключена буква A", true);
		break;
case "B": 
		project.SendInfoToLog("В переменной заключена буква B", true);
		break;
case "C": 
		project.SendInfoToLog("В переменной заключена буква C", true);
		break;
case "D": 
		project.SendInfoToLog("В переменной заключена буква B", true);
		break;
case "E": 
		project.SendInfoToLog("В переменной заключена буква E", true);
		break;
default:
		project.SendInfoToLog("Не обнаружено нужное соответствие, значение переменной: " + project.Variables["switch_test"].Value, true);
		break;
}

Полезные ссылки

  • No labels