Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: BLoodySUNday от 15 Ноября 2023, 13:58:43

Название: UnicodeString to string?
Отправлено: BLoodySUNday от 15 Ноября 2023, 13:58:43
Добрый день. Совсем недавно начал пользоваться simple scada. В данный момент учусь писать скрипты. Возникла довольно простая ошибка несовпадения типов, однако я так и не смог найти решение
Код: (delphi)
begin
  case Sender.Name of
  "camera1":
    begin
      TM_Text(camera1).Color := clBlue;
      TM_Text(camera2).Color := clGreen;
      TM_Text(camera3).Color := clGreen;
      camera1.Value := 0;
    end;
    "camera2":
    begin
      TM_Text(camera1).Color := clGreen;
      TM_Text(camera2).Color := clBlue;
      TM_Text(camera3).Color := clGreen;
      camera1.Value := 1;
    end;
  end;
end.
В данном коде возникает ошибка несовпадения типов данных (Incompatible types) при сравнении Sender.Name типа UnicodeString и 'camera1' типа (насколько я понимаю) string. Проблема в том, что ни один из способов приведения к единому типу данных, которые я нашёл, не работает. Есть ли решение моей проблемы?
Название: Re: UnicodeString to string?
Отправлено: Simple_Scada от 15 Ноября 2023, 14:11:32
Здравствуйте.

Компиляция блоков case..of со строками и boolean-значениями недоступна - подробнее см. изменение 2 по ссылке (https://simple-scada.com/help/script/compilerchange.html#:~:text=%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%202.,else%2C%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B%20%D0%BD%D0%B8%D0%B6%D0%B5%3A). Опишите подробно задачу, которую хотите решить, мы напишем наилучшее решение.