По-умолчанию, компонент "Заслонка" может работать в трех режимах с использованием стандартных цветов: серого, зеленого и красного. Допустим, что стандартные режимы не подходят и необходимо организовать работу заслонки следующим образом:
Значение переменной |
Цвет |
---|---|
0 |
Красный |
1 |
Зеленый |
2 |
Синий |
3 |
Желтый |
В этом случае, нужно не указывать основную переменную заслонки, а указать переменную, по которой должен меняться цвет в качестве дополнительной переменной:
Далее, остается только написать скрипт на событие OnDataChangeEx заслонки:
begin
if Sender is TM_Valve then // проверяем, что Sender это заслонка
with Sender as TM_Valve do // приводим Sender к типу "TM_Valve"
case VariableEx.AsInt of // меняем цвет в зависимости от значения доп. переменной
0 : Color := clRed;
1 : Color := clGreen;
2 : Color := clBlue;
3 : Color := clYellow;
end;
end.
Это универсальный скрипт, который можно использовать для любой заслонки: