# PredicateAllowFalse

рус.: Фильтр false

Компонент PredicateAllowFalse является фильтром, подсоедененный между двумя компонентами (Напр.: Между двумя кнопками), он пропускает только значения false.

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

Предыдущий компонент PredicateOr

Откроем проект "lessons". Мы уже создали конфигурацию, в которой выполняются логические операции "и", "не и" "или" и "не или". Добавим в нее возможность обнулять значения операндов А и В.

Нам понадобится два компонента класса TextButton и два класса PredicateAllowTrue.

На вкладку "Main" добавим TextButton_8 и PredicateAllowFalse.

Создадим связь от компонента контейнера для представлений к TextButton_8. Чтобы обнулить значения операндов А и В, участвующих в операции логического "и", создадим связи (Тип связей "Связь для управления эффекторами") от компонента PredicateAllowFalse к компонентам TextButton (операнд А) и TextButton_1 (операнд В). Так как PredicateAllowFalse является по сути фильтром, то он будет пропускать только значения false, которые будет пропускать по всем связям и устанавливать обе кнопки в положение "не нажата".

Создадим связь (Тип связи "Связь для управления эффектором") от компонента TextButton_8 к компоненту AllowFalse, чтобы обрабатывать все сигналы, передаваемые кнопкой, и пропускать только значения false.

Отредактируем свойства компонента TextButton_8: PositionX - 90; PositionY - 180; SizeWidth - 350; Pushed - true; TextOn - "Установить 0 для операндов логической операции "и""; TextOff: - "" (Оставим пустым).

Мы сделали функцию установки значения 0 обоим операндам, участвующим в логической операции "И". Сейчас при нажати на кнопку TextButton_8 значение передается компоненту PredicateAllowFalse, который пропускает только значения false. Значения от компонента PredicateAllowFalse передается по всем связям к кнопкая TextButton и TextButton_1, которым устанавливается значение "0" (Не нажата).

Добавим на вкладку "or" компоненты TextButton_9 и PredicateAllowFalse_1.

Создадим связи: от контейнера для предаставлений к компоненту TextButton_9, от TextButton_9 к PredicateAllowFalse_1 (Тип связи "Связь для управления эффектором"), от PredicateAllowFalse_1 к TextButton_3 и TextButton_4 (Тип связи "Связь для управления эффектором"). Все эти связи реализуют логику работы обнуления операндов в логической операции "Или"

Отредактируем свойства компонента TextButton_9: PositionX - 90; PositionY - 350; Pushed - true; SizeHeight: 20; SizeWidth: 350; TextOf - "" (оставим пустым); TextOn - "Установить 0 для операндов логической операции "или""

Сохраним проект.

Запустим конфигурацию нажиматием кнопки F9.

При запуске конфигурации, кнопки, обнуляющие значения операндов нажаты, если установить значения операндов "1", то при нажатии обнуляющих кнопок, операнды обнулятся.

Следующий компонент PredicateAllowTrue

Подробнее о компоненте PredicateAllowFalse ▼ | Распечатать

## Связи

### Входящие связи

ExecuteB
  Связь изменяет операнд B, выполняет предикат и результат передается по всем исходящим связям
ExecuteBbyEffector
  Связь изменяет операнд B, выполняет предикат и результат передается по всем исходящим связям
ExecuteBbySensor
  Возвращает последнее выполненное значение предиката

### Исходящие связи

OutS
  Исходящай связь для эмуляции сенсора
OutE
  Исходящай связь для управления эффекторами

## Свойства

AllowFalse
  Пропуск значения false. Значение: логическое (true/false)
AllowTrue
  Пропуск значения true. Значение: логическое (true/false)
AntiCircle
  Предотвращение бесконечных циклов. Если результат воздействия равен текущему состоянию, при состоянии AntiCircle=true - не отрабатывать воздействие. Значение: логическое (true/false).
Operation
  Выполняемая компонентом операция. Значение: строка (Напр.: A_and_B, A_or_B, A_eq_B, A_xor_b, not_A_and_B, A_and_not_B, not_A_and_not_B), по-умолчанию A_AND_B
StatusA
  Значение от операнда А по-умолчанию
StatusB
  Значение от операнда B по-умолчанию

Последнее изменение: 09.02.2009