![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как снять атрибут с файла [D6, Win95/98]
graveyard © (2005-08-28 03:56:00)Подскажите пожалуйста, что сделать если есть файлик с атрибутом только чтение и делфи этот атрибут снимать не хочет. Пользуюсь процедурой setfileattributes, для некооторых файлов снимается а для некоторых нет, также пользуюсь FileMode:=fmOpenReadWrite; но тоже не работает... когда доходит до перезаписи файла выдает ошибку, а если отключать проверку ошибок то файл не будет обработан. Вся фишка в том что все файлы на которые я сам ставлю атрибут только чтение, прога обрабатывает, а большинство тех которые системой выставленны в только чтение не снимаются...
Турист (2005-08-28 20:00:00) [1]>graveyard (28.08.05 03:56)
procedure ExcludeFileAttributes(const aFileName: string; aAttributes: DWord);
var
dwAttributes: DWord;
begin
dwAttributes := GetFileAttributes(PChar(aFileName));
if (dwAttributes and aAttributes) <> 0 then
SetFileAttributes(PChar(aFileName), dwAttributes and not aAttributes);
end;
procedure IncludeFileAttributes(const aFileName: string; aAttributes: DWord);
var
dwAttributes: DWord;
begin
dwAttributes := GetFileAttributes(PChar(aFileName));
if (dwAttributes and aAttributes) <> aAttributes then
SetFileAttributes(PChar(aFileName), dwAttributes or aAttributes);
end;
Anatoly Podgoretsky (2005-08-28 10:43:00) [2]Установить его и обработай ошибку.
begin...end (2005-08-28 10:25:00) [3]Приведите код снятия атрибута. Если SetFileAttributes возвращает False, сообщите код ошибки (GetLastError).