Здравствуйте.
Появление баннера при нарушении "Верхней аварийной" границы и пропадание по выходу из зоны нечувствительности:
1.Если для прочих нужд проекта не используется "Верхняя предупредительная" граница, скрипт "Нарушена граница":
begin
Shape5.Visible := Variable.GetValueZone = 2;
end.
, в вариациях задания зоны нечувствительности:
- "Только аварийные" границы - сама "Зона нечувствительности";
- "Аварийные и предупредительные" границы - либо нижняя граница зоны нечувствительности задается "Верхней предупредительной" границей при "Зоне нечувствительности"=0, либо "Зоной нечувствительности" при "Верхней предупредительной"="Верхней аварийной".
2. Без использования стандартной процедуры контроля границ, скрипт "Изменилась переменная":
- с нулевой зоной:
begin
Shape5.Visible := Variable.AsFloat >= Variable.HighAlarm;
end.
- с ненулевой зоной:
const hist = 4.00; // величина зоны в единицах измерения переменной
begin
if (Variable.AsFloat >= Variable.HighAlarm) then Shape5.Visible := true;
if Shape5.Visible and (Variable.AsFloat < (Variable.HighAlarm - hist)) then Shape5.Visible := false;
end.
.
Вариант 1 более предпочтительный, т.к. и скрипт проще, и событий меньше. Примеры для некоторых вариантов во вложении.