Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Название переменной как String  (Прочитано 1988 раз)

greenmore

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Название переменной как String
« : 18 Марта 2018, 19:52:35 »
Имеется ли возможность получить название привязанной перемены как стринг.
Хочется реализовать следующее:

Датчик температуры, переменная SupplyTemp
Тренд с именем T_SupplyTemp и атрибутом Visible:=FALSE

Событие OnMouseEnter для поля с датчиком:
Код: (delphi)
var
   aObject: TM_Object;
begin
  with Sender as TM_Object do
    begin
       aObject := GetObjectByName('T_'+Sender.VARABLENAMEASSTRING); 
       if aObject <> nil then
         aObject.Visible := TRUE;
     end
end.
« Изменён: 26 Мая 2018, 13:34:01 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Название переменной как String
« Ответ #1 : 19 Марта 2018, 09:49:04 »
Здравствуйте.

Цитировать
Имеется ли возможность получить название привязанной перемены как стринг.
Да, такая возможность есть. Вот измененный пример Вашего кода:

Код: (delphi)
begin
  if Sender is TM_Object then
  begin
    aObject := GetObjectByName('T_' + TM_Object(Sender).Variable.Name); 
    if aObject <> nil then
      aObject.Visible := TRUE;
  end;
end.

Цитировать
Тренд с именем T_SupplyTemp и атрибутом Visible:=FALSE
Но функция GetObjectByName не работает с трендами, она работает только с объектами на мнемосхемах. Кроме того нельзя показывать/скрывать архивные тренды через скрипты.
« Изменён: 26 Мая 2018, 13:34:08 от Simple-Scada »