Работа со входами и выходами

<< Click to Display Table of Contents >>

Navigation:  Проект > Элементы дерева объектов > Палитра ФБ > Служебные > Скрипт > Руководство и примеры > Начало работы >

Работа со входами и выходами

Для примера сделаем простейший вариант скрипта, у нас будет 3 входа, один - логический, и два - вещественных и один выход. Если на логическом входе истина, то на выход мы пишем сумму двух вещественных, а если ложь - то разницу.

Сначала создадим входы, для этого нажмем на кнопку Добавить.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami1

В появившемся окне изменим тип на Логический, а имя дадим Условие, тип значения оставим также на Чтение. В именах переменных нельзя использовать пробелы и спецсимволы, также переменные не могут начинаться с цифры.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami2

Нажмем на кнопку еще раз, но теперь создание двух параметров типа Вещественный.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami3

Теперь добавим выход.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami4

Нажмем на кнопку Применить

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami5

Входы и выходы добавились в скрипт. Теперь можно работать с ними в коде.

В методе Execute напишем следующий код.

public override void Execute()
{
 if (Условие == true)
 {
   Выход = Параметр1 + Параметр2;
 }
 else
 {
   Выход = Параметр1 - Параметр2;
 }
}

Код очевидный и в комментариях не нуждается.

Нажмем на кнопку Компилировать.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami6

Компиляция успешна. Если же в коде будут ошибки, то они появятся в поле. Например, сделаем небольшую ошибку:

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami7

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

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami8 sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami9

Код функционирует корректно.

Но что будет если на входах не будет значений? Остановим режим исполнения и привяжем наши входы к командам, у которых не будем задавать значение до опроса.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami10

Запустим режим исполнения.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami11

Значений нет. Входы и выходы имеют Nullable типы, поэтому если их значения равны null, то они отображаются как пустые значения.

Зададим значение Параметра1 и Условия.

sluzhebnie_skript_rukovodstvo_i_primery_nachalo_raboty_rabota_so_vhodami_i_vyhodami12

Результата нет, так как операция двух Nullable типов если у одного из них значение равно null дает null. Если такой результат устраивает - можно оставить так. Но мы исправим - сделаем в следующем разделе, что если условие задано, но нет одного из параметров то будет выдаваться сообщение.

​​