Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: greenmore от 18 Марта 2018, 19:52:35

Название: Название переменной как String
Отправлено: greenmore от 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.
Название: Re: Название переменной как String
Отправлено: Simple-Scada от 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 не работает с трендами, она работает только с объектами на мнемосхемах. Кроме того нельзя показывать/скрывать архивные тренды через скрипты.