В приложенном Вами примере изменённый текст будет сохраняться на сервере и изменения будут видны у всех клиентов?
Изменения всегда отображаются на всех клиентах подключенных к серверу.
Если выполнение проекта остановить и запустить по новой то будут отображены названия механизмов уже измененные или те же самые которые создавались при создании проекта в редакторе.?
После перезапуска проекта Simple-Scada просто считает текущие значения переменных с OPC-серверов, отобразит эти значения в соответствующих полях, выполнит соответствующие OnDataChange-скрипты (если такие есть в проекте) и т.д. Если у Вас на контроллере есть строковая переменная для хранения названия механизма, то вы можете вывести её в скаду и менять когда угодно. После перезапуска проекта эта переменная снова считается с контроллера и отобразится в скаде. Т.е. контроллер в этом случае будет запоминающим устройством. Если нужно восстановить какую-то информацию на мнемосхеме, которой нет на внешних устройствах, то придется делать свою систему сохранения данных и загрузки после перезапуска. Данные можно сохранить либо в файлы, используя
функции для работы с файлами, либо в БД, выполняя пользовательские SQL-запросы
процедурой RunSQL. Пример по работе с файлами и БД можно найти в стандартном Demo-проекте. Работа с файлами реализована на странице "Скрипты" -> "Работа с файлами". Работа с БД на странице "Скрипты" -> "Работа с БД".
И ещё один вопрос как в редакторе можно изменить тип события, по которому будет вызван скрипт например с "универсального" на "полностью запущен"
Нужно создать новый скрипт с нужным типом события, а старый скрипт удалить.
Только из руководства по скриптам не понятно как можно обратиться к конкретному номеру строки в файле.
Есть два типа файлов: текстовые и двоичные. В них нет номеров строк, как и самих строк. Данные на самом деле являются одной большой "строкой". А когда Вы открываете такой файл в текстовом редакторе, то он просто находит в этой большой строке символы переноса и отображает файл разбитым на строки. Поэтому, если Вам нужно перейти к 10 строке в текстовом файле, то придется выполнить
функцию TextFileReadLn десять раз. При работе с двоичными файлами такого недостатка нет и можно установить "курсор" в любое место файла используя
процедуру FileSeek. Но это удобно только если Вы знаете точный размер каждой "строки" в файле. Если же размер заранее неизвестен (например когда в строке есть строковое значение произвольной длины), то опять же придется читать файл построчно, пока курсор не дойдет до нужной позиции.