Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

Всем привет   Найти похожие ветки 

 
Yu ©   (2002-03-28 10:30) [0]

Как снять к-н атрибут с файла? например - ReadOnly?


 
PVOzerski ©   (2002-03-28 10:43) [1]

Посмотри WinAPI-функции SetFileAttributes и GetFileAttributes.


 
Dok_3D ©   (2002-03-28 10:46) [2]

Ну есть же функция
FileSetAttr(const FileName: string; Attr: Integer): Integer;

В хелпе даже пример для нее есть.
От нее и пляши ...


 
Yu ©   (2002-03-28 10:51) [3]

FileSetAttr устанавливает атрибуты, а нужно СНЯТЬ. Кстати, а что за атрибут VolumeID, не в курсе?


 
PVOzerski ©   (2002-03-28 11:13) [4]

>Посмотри WinAPI-функции SetFileAttributes и GetFileAttributes.

>Ну есть же функция
> FileSetAttr(const FileName: string; Attr: Integer): Integer;

А это, по сути дела, без разницы, какой вариант использовать.
Внутренняя реализация:

function FileGetAttr(const FileName: string): Integer;
begin
Result := GetFileAttributes(PChar(FileName));
end;

>FileSetAttr устанавливает атрибуты, а нужно СНЯТЬ
Получаешь старое значение атрибутов, убираешь из него ненужный и устанавливаешь то, что осталось.
Способ "уборки" должен сработать такой:

if Attr and faReadOnly=faReadOnly then
dec(Attr,faReadOnly);


 
I/O ©   (2002-03-28 21:34) [5]

Это где-то я видел:
At: Integer;
begin
At:= FileGetAttr(filelistbox1.FileName);
if At and faHidden <> 0 then
FileSetAttr( filelistbox1.FileName, At - faHidden);
end;
А раньше я делал так:
FileSetAttr(filelistbox1.FileName, faHidden-faHidden );


 
I/O ©   (2002-03-28 21:40) [6]

faVolumeID - Идентификатор тома


 
Anatoly Podgoretsky ©   (2002-03-28 21:50) [7]

I/O © (28.03.02 21:34)
Раньще ты делал неправильно!
FileSetAttr(filelistbox1.FileName, FileGetAttr(filelistbox1.FileName) and not faHidden );



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-32820
serg
2002-04-01 13:17
2002.04.11
update 2 for Delphi 6


14-32984
Fellomena
2002-02-28 10:51
2002.04.11
Pro глюки программеров и не только... ;)


6-32929
dougine
2002-01-30 09:41
2002.04.11
Помогите отправить SMS на мобилу


6-32930
OlegR
2002-01-29 13:18
2002.04.11
E-mail на ICQ


1-32772
anod
2002-03-30 14:13
2002.04.11
Скрыть форму