Добрый день!
Значит ситуация следующая.
Открыли текстовый файл.
TextFileOpen(nameFileTxt, namePath, fomReset, fcpUTF8);
Есть набор простых действий:
txtLineFile := TextFileReadLn;
setting := Copy(txtLineFile, 1, 8);
setting := Trim(setting);
byteSetting_1.Value := StrToInt(setting);
txtLineFile := TextFileReadLn;
position := Copy(txtLineFile, 9, 8);
position := Trim(position);
rPosition_1.Value := StrToFloat(position);
Далее повтор для необходимого количества byteSetting_... и rPosition_... . Получаем небольшую (или большую) "простыню" кода.
Понимаем что в принципе код повторяется и можно использовать глобальный модуль.
Вот вопрос и возникает можно ли вообще использовать операции с файлом в глобальном модуле?
Можете пояснить.
Здравствуйте.
Да, для сокращения повторяющегося кода можно использовать глобальный модуль (https://simple-scada.com/help/script/globalmodule.html). Например, можно создать в глобальном модуле свою процедуру или функцию, перенести в нее однотипный код работы с файлом и при вызове передавать в нее необходимые параметры (имя файла, путь и т.д.).
byteSetting_1.Value := StrToInt(setting);
rPosition_1.Value := StrToFloat(position);
Здесь для надежности можно использовать функции преобразования типов с условием, например: StrToIntDef (https://simple-scada.com/help/script/strtointdef.html), StrToInt64Def (https://simple-scada.com/help/script/strtoint64def.html), StrToFloatDef (https://simple-scada.com/help/script/strtofloatdef.html). Это позволит избежать ошибок в случае, если в строке могут содержаться не только числовые значения.