FileAttr ファイル属性

FileAttr関数は指定されたファイルの属性を返します。
Delphiでは FileGetAttr関数を使用します。

以下のサンプルは G:\cp32e408.exe の読みとり専用属性を外すものですが、 定数 faReadOnly が DBユニットにも定義されているため、明示的に SysUtilsユニットを宣言しています。この問題を回避するにはこのように記述するか、もしくは uses 節の宣言で SysUtilsを Db よりも後方に配置します。

■ FileGetAttr の使用例
procedure TForm1.Button1Click(Sender: TObject);
var
  S     : string;
  Attr  : integer;
begin
  //処理対象のファイル
  S   :=  'G:\cp32e408.exe';
  //ファイルの存在チェック
  if  FileExists(S) then  begin
    //現在の属性を取得
    Attr    :=    FileGetAttr(S);
    //読みとり専用かどうか
    if  (Attr and SysUtils.faReadOnly <>  0) then  begin 
      //読みとり専用ならその属性を外す
      FileSetAttr(S, Attr - SysUtils.faReadOnly);
    end;
  end;
end;

faReadOnly などは集合型ではないので注意して下さい。定数の内容は以下のとおり。

定数
意味
faReadOnly
読み出し専用ファイル
faHidden
非表示ファイル
faSysFile
システムファイル
faVolumeID
ボリュームファイル
faDirectory
ディレクトリファイル
faArchive
アーカイブファイル
faAnyFile
すべてのファイル