Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

  Официальный форум Simple-Scada.

Автор Тема: Файл только на чтение  (Прочитано 154 раз)

vladka767

  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Файл только на чтение
« : 19 Ноября 2019, 19:37:18 »
Здравствуйте.
Есть объект - стенд тестирования характеристик насосных агрегатов.
Алгоритм крутится на контроллере, а за визуализацию отвечает ПК с SimpleScada.
Так же по завершению теста на ПК формируется файл с итогом тестирования.

Все работает отлично, заказчик рад и счастлив за исключением одного НО :
Файл, который создается на ПК может легко отредактировать оператор под себя, что не приемлимо.

Пробовал установить атрибут "только чтение" на папку, в которую пишутся файлы, но атрибут применяется только к уже созданным файлам, вновь созданные можно редактировать.
Так же пробовал запретить редактирование этой папки на уровне учетной записи, но в этом случае SCADA так же не может создавать файлы...

Собственно вопрос : как сделать так чтобы SCADA могла создавать файлы, которые в последствии  можно только читать?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2162
    • Просмотр профиля
    • Simple-Scada
Re: Файл только на чтение
« Ответ #1 : 20 Ноября 2019, 09:55:59 »
Здравствуйте.

Можем в одном из будущих обновлений добавить процедуру для смены атрибутов файлов, чтобы можно было задать доступ только для чтения. Но это странное решение, которое никак не помешает оператору открыть свойства файла, разрешить чтение и запись, затем изменить файл и вернуть только чтение. Более правильным был бы способ формирования .pdf-документа через систему отчетов.

vladka767

  • Новичок
  • *
  • Сообщений: 28
    • Просмотр профиля
Re: Файл только на чтение
« Ответ #2 : 20 Ноября 2019, 12:40:41 »
Да, я понимаю, что система отчетов была бы здесь кстати, но на данный момент глобально переделывать проект нет возможности...

Было бы неплохо если бы вы добавили функционал по указанию атрибутов файла при создании. Согласен, что можно потом атрибут поменять, но до этого нужно еще додуматься, а там персонал не из смышленых  :)

Подскажите, когда ориентировочно будет такое обновление?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2162
    • Просмотр профиля
    • Simple-Scada
Re: Файл только на чтение
« Ответ #3 : 21 Ноября 2019, 09:52:41 »
Цитировать
Подскажите, когда ориентировочно будет такое обновление?
Пока не знаем. Это зависит от того как быстро будут решены другие вопросы.

pan2000

  • Пользователь
  • **
  • Сообщений: 82
    • Просмотр профиля
Re: Файл только на чтение
« Ответ #4 : 22 Ноября 2019, 02:08:00 »
Можно изменить атрибуты файла (только чтение) командой "attrib <+/->R <файл>"
Скрипт для изменения атрибута по событиям с разными тэгами:
Код: (delphi)
var aStr: string;
begin
  // первый символ + (Tag=43) или - (Tag=45)
  aStr := char(Sender.Tag) + "R """ + UTF8ToString(GetProjectPath) + 'User files\MyTextFile.txt' + """";
  RunApplication(GetClientName, 'attrib', aStr);

  Text1.Text := aStr;   // контроль формирования строки-параметра
end.
При выполнении скрипта на экране мелькнет окно командной строки.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 2162
    • Просмотр профиля
    • Simple-Scada
Re: Файл только на чтение
« Ответ #5 : 07 Декабря 2019, 11:41:52 »
В последнем обновлении 2.3.6.4 добавили процедуру FileSetAttr для задания атрибутов файла. Примеры:
Код: (delphi)
begin
  FileSetAttr('D:\TestFile.txt', 0);   // устанавливаем атрибут "Чтение и запись"
  FileSetAttr('D:\TestFile.txt', 1);   // устанавливаем атрибут "Только чтение"
  FileSetAttr('D:\TestFile.txt', 2);   // устанавливаем атрибут "Скрытый файл"
  FileSetAttr('D:\TestFile.txt', 4);   // устанавливаем атрибут "Системный файл"
end.