Серега,
символ <TAB>, используемый в Вашем файле как разделитель полей, является недопустимым для функции StrToFloat.
Примеры некорректных последовательнстей из ровно 4-х символов:
Temp Hi Low Out Dew
Date Time Out Temp Temp Hum Pt.
09.07.18 14:24 23.2 23.2 23.2 [u]54 1[/u]3.3 54<TAB>1 табулятор + цифра из следующего поля
...
09.07.18 14:45 [u]1.9 [/u]22.8 1.9<TAB> табулятор
Скрипт, преобразующий строку до первого разделителя <TAB> в вещественное число:
var
S: UTF8string;
i: integer;
begin
S := aStr.AsUTF8String;
for i := 1 to UTF8Length(S) do
if S[i] = #9 then // поиск разделителя ( =табулятор)
begin UTF8Delete(S, i, 10); break; end; // удаление лишнего и выход из цикла
try
aVal.Value := StrToFloat(UTF8ToString(S)); // преобразование в вещественное
Text1.Text := FloatToStr(aVal.Value, 2);
except // исключение: ошибка прееобразования
Text1.Text := 'Это не число';
end;
end.
Замечание. При вводе с клавиатуры символ <TAB> заменяется на ...
Ввод осуществляется копированием-вставкой из исходного файла, открытого в Блокноте. В поле ввода он не отображается.
Пример во вложении.
Здравствуйте.
На форуме ища инфу нашел тему с организацией таймера. С учетом того, что в скаде есть скрипты на 1 сек и 1 час может быть приведете пример или ссылку (не могу найти) как организовать скрипт, который будет срабатывать например каждые 5 минут.
Скрипт с типом события "Прошла секунда":
const
INTERVAL = 300; // интервал таймера 300 сек. (5 минут)
var
aCounter: Integer;
begin
aCounter := aCounter + 1;
if aCounter >= INTERVAL then
begin
// ...код расположенный здесь будет выполняться с интервалом INTERVAL секунд
aCounter := 0;
end;
end.