Здравствуйте.
В данном случае лучше использовать скрипт с типом события "
Изменились переменные" , добавив переменную "
tr"(и при необходимости другие переменные), изменение которой необходимо отслеживать в список скрипта, как это описано
по ссылке. Тогда скрипт будет выполняться только при изменении переменной, а не каждую секунду.
procedure WriteValueToTable;
var
aQuery: string;
begin
aQuery :=
'INSERT INTO `info_archive` (`Time`, `State`) VALUES (' +
MySQLDateTime(Now, dttFull) + ', ' + // конвертирует дату и время в строку в формате MySQL
QuotedStr(StateDoor.AsStr) +
')';
RunSQL(aQuery, nil, 0);
end;
begin
if tr.AsBool then
WriteValueToTable;
end.
Если планируется использовать несколько таких "
Boolean" переменных как "
tr", то можно добавить их в список скрипта и чтобы скрипт был универсальным, код можно изменить следующим образом:
begin
if Variable.AsBool then
WriteValueToTable;
end.
Тогда не нужно будет писать отдельный скрипт для каждой переменной.