Ваши комментарии
Добрый вечер.
Достаточно интересно как получилось такое сделать, пришлите мнемосхему для анализа на simp@simplight.ru.
Попробуйте восстановить мнемосхему из резервной копий - C:\Users\Public\Documents\SimpLight\Backup\
День добрый.
К сожалению напрямую влиять на видимость элементов на мнемосхеме на данный момент возможности нет. Опишите подробней задачу, какой индикатор надо скрывать, и по каким условиям, подумаем можно ли это будет реализовать в рамках нашей системы.
Автозагрузку мнемосхемы тоже можно назначить
Добрый день.
Ответили письмом.
День добрый.
Посмотрите про настройку авторизации вот тут: https://support.simplight.ru/knowledge-bases/2/articles/394-byistryij-start-nastrojka-prav-dostupa
День добрый.
1) OnStartScript, OnStopScript отрабатывают только при запуске и закрытии Монитора?
Да, все верно.
2) Есть ли возможность запуска скрипта при открытии или закрытии окна\мнемосхемы ?
На данный момент - нет. Можно попробовать следующую реализацию - вирт. канал со скриптом по событию. В скрипте будет инициализация нужных переменных и открытие мнемосхемы. Соответственно по кнопке будет запускаться скрипт и открывать нужную мнемосхему.
3) Нельзя ли в список объектов добавить объект чекбокс: т.е. при нажатии на него он меняет свое отображение и производит запись соответствующего значения в прикрепленный канал логического типа. Пока приходится лепить из двух объектов: кнопка (которая записывает значение 0 или 1 в канал логического типа) и объекта изображение (который отображает состояние канала логического типа)
Можно смоделировать "чекбокс" используя кнопку типа тумблер, назначив в качестве "картинок" на состояние нажато/отжато изображение в виде состояний "чекбокса"
Сервис поддержки клиентов работает на платформе UserEcho
День добрый.
Вот пример как работать с БД из под скрипта:
var
begindate, enddate, date: TDateTime;
reccount: integer;
res, value: double;
stream: TMemoryStream;
error: word;
Begin
// дата начала
begindate := Now - ((1/24) * 15));
// конечная дата
enddate := begindate + (1/24/60);
stream := TMemoryStream.Create;
try
// считаем данные из БД в буфер
error := StreamReadFromDatabase(begindate, enddate, 'Имя канала', stream);
// error code
// DB_READ_OK = 0;
// DB_DATE_ERROR = 1;
// DB_MEMORY_OVERFLOW = 2;
// DB_CHANNEL_NOTFOUND = 3;
res := 0;
if error = 0 then
begin
// кол - во записей за считываемый интервал времени
reccount := GetCountRecordToStream(stream);
// вычитываем данные из буфера
while GetValueFromStream(stream, date, value) do
begin
// date - метка времени
// value - значение канала
end;
end;
finally
stream.free;
end;
end.