代码改变世界

[delphi函数]FileGetAttr、FileSetAttr 读取与设置文件属性

2009-12-04 22:19  HYrz的菜园子  阅读(1672)  评论(0编辑  收藏  举报

 

代码


//读取与设置文件属性 FileGetAttr; FileSetAttr
var
FileName: 
string;
Attr: Integer; 
//属性值是一个整数
begin
FileName :
= 'c:\temp\Test.txt';
Attr :
= FileGetAttr(FileName);
ShowMessage(IntToStr(Attr)); 
//32, 存档文件

//设置为隐藏和只读文件:
Attr :
= FILE_ATTRIBUTE_READONLY or FILE_ATTRIBUTE_HIDDEN;
if FileSetAttr(FileName,Attr)=0 then //返回0表示成功
    ShowMessage(
'设置成功!');

//属性可选值(有些用不着):
//FILE_ATTRIBUTE_READONLY = 1; 只读
//FILE_ATTRIBUTE_HIDDEN = 2; 隐藏
//FILE_ATTRIBUTE_SYSTEM = 4; 系统
//FILE_ATTRIBUTE_DIRECTORY = 16
//FILE_ATTRIBUTE_ARCHIVE = 32; 存档
//FILE_ATTRIBUTE_DEVICE = 64
//FILE_ATTRIBUTE_NORMAL = 128; 一般
//FILE_ATTRIBUTE_TEMPORARY = 256
//FILE_ATTRIBUTE_SPARSE_FILE = 512
//FILE_ATTRIBUTE_REPARSE_POINT = 1204
//FILE_ATTRIBUTE_COMPRESSED = 2048; 压缩
//FILE_ATTRIBUTE_OFFLINE = 4096
//FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192; 不被索引
//FILE_ATTRIBUTE_ENCRYPTED = 16384
end;

===================

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

function FileSetAttr(const FileName: string; Attr: Integer): Integer;
begin
Result :
= 0;
if not SetFileAttributes(PChar(FileName), Attr) then
    Result :
= GetLastError;
end;
{$ENDIF}

function FileSetAttr(const FileName: string; Attr: Integer): Integer;
begin
Result :
= 0;
if not SetFileAttributes(PChar(FileName), Attr) then
    Result :
= GetLastError;
end;
{$ENDIF}