Когда? Мне до Нового года нужно сдаться. Успеем?
Скорее всего в ближайшие две-три недели.
А вот как извлечь данные трендов? Ткните пальцем, где почитать.
Сейчас это возможно функциями экспорта в Excel. Смотрите процедуру ToExcel (http://simple-scada.com/scripts_manual?section=script_variable) у переменных. Например:
var
aBegin, aEnd: TDateTime;
begin
aEnd := Now; // конец интервала: текущая дата;
aBegin := IncMonth(aEnd, -1); // начало интервала: текущая дата минус 1 месяц;
{ экспортировать в Excel все значения тренда переменной MyVariable за последний месяц }
MyVariable.ToExcel('MyFile', aBegin, aEnd, evtAll, False);
end.
Здравствуйте.
Сохраняю данные (текущее время и значение переменной) в текстовый файл, для последующего импорта в Excel.
Какими средствами добавить разделитель между значениями (пробел или ";")?
TextFileWriteLn(TimeToStr(Now)+(?)+IntToStr(VrRes.Value));
Здравствуйте!
В процедуру TextFileWriteLn необходимо передать данные в виде строки - тип String. Один символ " " или ";" будет определен компилятором как тип WideChar - это вызовет ошибку несовпадения типов. Поэтому, нужно явно привести символ " " или ";" к типу String как показано ниже:
TextFileWriteLn(TimeToStr(Now) + String(';') + IntToStr(VrRes.Value)); // точка с запятой
TextFileWriteLn(TimeToStr(Now) + String(' ') + IntToStr(VrRes.Value)); // пробел
да, действительно. Есть проблема с передачей WideChar. В следующем обновлении добавим функцию для сложения строки и символа. Сейчас остается использовать такой вариант:
var
aChar: string;
begin
aChar := ';';
TextFileOpen('My.txt', '', fomRewrite, fcpUTF8);
TextFileWriteLn(TimeToStr(Now) + aChar + VrRes.AsStr);
TextFileClose;
end.
Т.е. сначала объявить строку и записать в неё нужный символ, а затем использовать его при сложении.