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

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

Автор Тема: Палитра  (Прочитано 2468 раз)

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Палитра
« : 21 Февраля 2022, 16:15:44 »
Добрый день!

Можно ли создать свой набор цветов в палитре? Есть определенные требования к дизайну, в котором используются нестандартные цвета.
Приходится каждый раз вводить три цифры RGB для каждого элемента.

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Re: Палитра
« Ответ #1 : 07 Апреля 2022, 15:11:23 »
Добрый день!

Решил сделать свою палитру в виде констант для использования в скриптах.
Код: (delphi)
interface
  const
    clmyGreen:Cardinal=RGB(60,154,95);
    clmyRed:Cardinal=RGB(240,65,36);
    clmyYellow:Cardinal=RGB(233,144,2);
    clmyGray:Cardinal=RGB(204,044,204);

implementation

end.
Механизм работает, константы появляются в списке, но как переменные. И они не показывают цвет как ваши. Что я сделал не так?
« Изменён: 07 Апреля 2022, 15:41:11 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Палитра
« Ответ #2 : 07 Апреля 2022, 15:40:24 »
Здравствуйте.

Можно ли создать свой набор цветов в палитре? Есть определенные требования к дизайну, в котором используются нестандартные цвета.
Приходится каждый раз вводить три цифры RGB для каждого элемента.
Случайно пропустили Ваш первый вопрос. Сейчас такой возможности нет, но в ближайшем обновлении в палитру цветов можно будет добавлять до 9 пользовательских цветов.

Цитировать
Механизм работает, константы появляются в списке, но как переменные. И они не показывают цвет как ваши. Что я сделал не так?
Редактор скады не сможет понять, что данные константы являются цветами, они будут рассматриваться как обычные переменные соответствующего типа. Добавить переменную, чтобы её цвет отображался в списке методов, невозможно.

ART63

  • Постоялец
  • ***
  • Сообщений: 151
    • Просмотр профиля
Re: Палитра
« Ответ #3 : 07 Апреля 2022, 16:45:33 »
Но почему именно var, а не const? Объявлены они как const в глобальном модуле.
Не хотелось бы случайно поменять их значения в скрипте.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Палитра
« Ответ #4 : 08 Апреля 2022, 10:02:10 »
Цитировать
Но почему именно var, а не const?
Из-за оптимизаций компилятора, т.к. явно указан тип и значение берётся через функцию. Обычное объявление констант цвета, которые будут рассматриваться именно как константы должно быть таким:
Код: (delphi)
const
  myclRed = $FF0000;

Цитировать
Не хотелось бы случайно поменять их значения в скрипте.
Вряд ли можно поменять его случайно, т.к. для этого придётся написать отдельно код с присвоением, например: "clmyGreen := $FF0000;"

Начиная с версии 2.6.0.0 в палитру можно добавить до 9 пользовательских цветов.
« Изменён: 15 Апреля 2022, 10:59:49 от Simple-Scada »