Simple-Scada 2 > Ваши вопросы
Вопросы по скриптам в Simple-Scada 2
Simple-Scada:
В этой теме будут размещаться примеры с использованием скриптов Simple-Scada 2 и подробным описанием. Задавайте вопросы, если что-то непонятно.
Simple_Scada:
Рассмотрим случай когда нам нужно изменять цвет объекта при изменении значения связанной с ним переменной.
* В свойстве "Переменная" объекта выбираем нужную нам переменную.
* В инспекторе объектов переходим на вкладку События и дважды кликаем по событию OnDataChange (изменение значения переменной связанной с объектом).
* Пишем скрипт. Можно использовать if... then если у Вас будет одно условие, если условий несколько рекомендуем использовать case...of. например для изменения цвета поля:
--- Код: (delphi) ---begin
// цвет можно указывать в виде констант цветов (например clRed), в виде HTML кода (например $FFFF00), в виде RGB (например RGB(0,0,255));
case Field1.ValueAsInt of // если значение переменной поля равно:
1..3: Field1.Color := clRed; // от 1 до 3 - изменить цвет поля на красный;
4 : Field1.BorderColor := clGreen; // 4 - изменить цвет рамки поля на зеленый;
5 : Field1.FontColor := $FFFF00; // 5 - изменить цвет шрифта поля на желтый;
6 : Field1.Color := RGB(0,0,255); // 6 - изменить цвет поля на синий;
end;
end.
Если Вам необходимо, например, чтобы множество однотипных объектов меняли цвет по одинаковым условиям не обязательно писать скрипт для каждого объекта отдельно. Для этого необходимо:
* В свойстве "Переменная" одного из объектов выбрать требуемую переменную.
* В инспекторе объектов перейти на вкладку События и кликнуть по событию OnDataChange.
* Написать скрипт такого вида:
--- Код: (delphi) ---begin
// Sender - это тот объект который вызвал скрипт
if Sender is TM_Object then // если Sender это компонент то(например - уровень, поле и т.д.)
case TM_Object(Sender).ValueAsInt of // если значение переменной связанной с объектом равно:
1..5: Sender.Color := clDarkBlue; // от 1 до 5, то изменить цвет на темно синий
6, 7: Sender.Color := clGray; // 6 или 7 - изменить цвет на серый
8 : Sender.Color := clYellow; // 7 - изменить цвет на желтый
end;
end.
Теперь можно любому объекту выбрать этот скрипт, для этого:
1. У любого объекта через инспектор объектов переходим на вкладку "События" .
2. В свойстве OnDataChange выбираем из списка наш созданный скрипт.
Теперь все объекты у которых в событии OnDataChange мы выбрали наш скрипт будут менять свой цвет в соответствии с условиями скрипта. Чтобы последний способ работал у Вас должна быть версия не позднее 29.01.2015.
Simple_Scada:
Добавили несколько видеоуроков по созданию скриптов. Задавайте вопросы если что-то непонятно.
Рассмотрено создание простых скриптов:
Рассмотрено создание универсального скрипта:
Andrey1883:
Может глупый вопрос, но все же...А как помигать одним цветом?
toreto:
По событию OnDataChange пробую скрывать изображение с помощью прозрачности(Alpha) работает, а вот через событие видимость(Visible) нет.
Навигация
Перейти к полной версии