Информация об изменениях

Сообщение Re: Запретить удаление файлов пользователям но не навредить от 06.10.2014 20:28

Изменено 06.10.2014 20:35 Буравчик

Здравствуйте, AlexanderDz, Вы писали:

AD>Для тех кто не знает, обычная программа на Delphi и MFC пишет приблизительно так: если пользователь сказал сохранить данные в новый файл c:\xyz\a.abc, то программа создает "временный" файл c:\xyz\a.$$$, производит сохранение данных, и, наконец, если запись завершилась успешно, переименовывает a.$$$ в a.abc. В случае перезаписи файла a.abc после модификации данных, уже существующий файл a.abc удаляется, а "временный" файл a.$$$ переименовывается в a.abc.


Создавать временный файл в специально отведенном для этого месте в системе, т.е. в Temporary folder?
Папка для временных файлов должна (by design) позволять удалять файлы из нее
Re: Запретить удаление файлов пользователям но не навредить
Здравствуйте, AlexanderDz, Вы писали:

AD>Для тех кто не знает, обычная программа на Delphi и MFC пишет приблизительно так: если пользователь сказал сохранить данные в новый файл c:\xyz\a.abc, то программа создает "временный" файл c:\xyz\a.$$$, производит сохранение данных, и, наконец, если запись завершилась успешно, переименовывает a.$$$ в a.abc. В случае перезаписи файла a.abc после модификации данных, уже существующий файл a.abc удаляется, а "временный" файл a.$$$ переименовывается в a.abc.


1. Создавать временный файл в специально отведенном для этого месте в системе, т.е. в Temporary folder? Папка для временных файлов должна (by design) позволять удалять файлы из нее. Вместо переименования a.$$$ в a.abc, просто переписывать содержимое a.$$$ в a.abc (т.е. файл a.abc не удалять)

2. Ну или программу пускать от имени другого пользователя, который имеет права на удаление файлов из нужных программе директорий.

P.S. Мне, правда, не нравится ни тот, ни другой вариант