FindFirst、FindNextのATTRについて

解決


こまったちゃん  2005-02-21 21:11:30  No: 13372

みなさんこんにちは
質問があります。

FindFirst,FindNext の TSearchRec で返ってくる Attr の値について
教えてください。

1.ディレクトリで  [$2030] が返ってくるのですが $2000 ってなんでしょう?
2.ファイルでも同様に[$2000] が返ってきますが $2000 ってなんでしょう?
3.ファイルで[$0006] が返ってくるファイルがウィンドウでは見れません。
    隠しファイルでも、「ツール」−「ファイルのオプション」−「表示」で
    全てのファイルとフォルダを表示するにしても表示されません。
    表示できないのでしょうか?
4.ファイルで[$0080] が返ってくるファイルがありますが、
    [$0080]は何を意味するのでしょうか?
  
上記に関してわからないので教えてください。
もしくは  ATTR に関しての詳しい情報がどこかに無いでしょうか?
よろしくお願いします.


りおりお  2005-02-21 22:50:27  No: 13373

*ヘルプより

Attr はファイル属性を表します。Attr を次の属性定数または値と比較すれば,ファイルの属性がファイルのプロパティと一致しているかどうかがわかります。

定数  値  説明

faReadOnly  $00000001  読み出し専用ファイル
faHidden  $00000002  非表示ファイル
faSysFile  $00000004  システムファイル
faVolumeID  $00000008  ボリュームファイル
faDirectory  $00000010  ディレクトリファイル
faArchive  $00000020  アーカイブファイル
faAnyFile  $0000003F  すべてのファイル

* Windows.pas より

  FILE_ATTRIBUTE_READONLY             = $00000001;
  FILE_ATTRIBUTE_HIDDEN               = $00000002;
  FILE_ATTRIBUTE_SYSTEM               = $00000004;
  FILE_ATTRIBUTE_DIRECTORY            = $00000010;
  FILE_ATTRIBUTE_ARCHIVE              = $00000020;
  FILE_ATTRIBUTE_NORMAL               = $00000080;
  FILE_ATTRIBUTE_TEMPORARY            = $00000100;
  FILE_ATTRIBUTE_COMPRESSED           = $00000800;
  FILE_ATTRIBUTE_OFFLINE              = $00001000;

*WEB より

http://yokohama.cool.ne.jp/chokuto/advanced/function/CreateFile.html

0x00000001 (FILE_ATTRIBUTE_READONLY) 
読み取り専用属性を持ちます。アプリケーションは、この属性を持つファイルを読み込むことができますが、書き込んだり削除したりすることはできません。この属性を持つディレクトリを削除することはできません。

0x00000002 (FILE_ATTRIBUTE_HIDDEN) 
隠しファイル属性を持ちます。通常のディレクトリリスト出力には含まれないようになります。

0x00000004 (FILE_ATTRIBUTE_SYSTEM) 
システム属性を持ちます。オペレーティングシステムの一部もしくはオペレーティングシステムにより使用されるファイルです。

0x00000020 (FILE_ATTRIBUTE_ARCHIVE) 
アーカイブ属性を持ちます。アプリケーションは、バックアップや修復のためにファイルをマークするのにこの属性を用います。

0x00000080 (FILE_ATTRIBUTE_NORMAL) 
ほかのどの属性も設定されていません。この属性フラグが単独で指定された場合のみ有効です。

0x00000100 (FILE_ATTRIBUTE_TEMPORARY) 
一時ストレージ(一時記憶領域として利用されている領域)として使用されることを指定します。多くのアプリケーションはファイルハンドルをクローズした後すぐに一時ファイルを削除するので、キャッシュメモリが利用可能な場合は、キャッシュを利用します。

0x00001000 (FILE_ATTRIBUTE_OFFLINE) 
ファイルのデータが直接に利用できるものではないことを示します。この属性は、ファイルデータがオフラインストレージへ物理的に移動されたものであることを示します。この属性はリモートストレージ(階層ストレージ管理ソフトウェア)によって利用されます。アプリケーションはこの属性を変更するべきではありません。

0x00002000 (FILE_ATTRIBUTE_NOT_CONTENT_INDEXED) 
ファイルがコンテンツインデックスサービスによってインデックス付けられないことを示します。

0x00004000 (FILE_ATTRIBUTE_ENCRYPTED) 
暗号化属性を持ちます。この属性を持つファイルはデータが暗号化されていることを示します。この属性を持つディレクトリは、このディレクトリの中に新しく作成されるファイルやサブディレクトリがデフォルトで暗号化属性を持つことを示します。

----------------------

以上から

> 1.ディレクトリで  [$2030] が返ってくるのですが

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED or FILE_ATTRIBUTE_DIRECTORY or FILE_ATTRIBUTE_ARCHIVE

> 2.ファイルでも同様に[$2000] が返ってきますが $2000 ってなんでしょう?

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED

> 3.ファイルで[$0006] が返ってくるファイルがウィンドウでは見れません。

FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM

> 4.ファイルで[$0080] が返ってくるファイルがありますが、 [$0080]は何を意味するのでしょうか?

FILE_ATTRIBUTE_NORMAL

ってことです。ビット同士のフラグになっています。


こまったちゃん  2005-02-21 23:52:29  No: 13374

りおりお さんありがとうございます.

D6のヘルプには $003F までしか
のっていなくて、こまってました。

通常の隠しファイル(C:\config.sysやC:\AUTOEXEC.BAT)は
薄いアイコンでウィンドウ上で表示されるんですけど
 FILE_ATTRIBUTE_SYSTEM のフラグがあると、
Windows上のウィンドウではファイルの確認ができないのでしょうか?
すみません。
Delphiと直接関係無くて・・・

一応、当初問題が解決しましたので
解決にチェックしておきます.


りおりお  2005-02-21 23:57:38  No: 13375

わたしの Win2k ではエクスプローラのメニューの ツール/フォルダオプション/表示の
ところで設定できますけど


こまったちゃん  2005-02-22 01:53:44  No: 13376

りおりおさんありがとうございます.

「保護されたオペレーティングシステムファイルを表示しない(推奨)」
のチェックボックスをはずすと見えるようになりました。
でも・・・
推奨されていないし、はずすときに警告文章がでるので
やっぱり表示するのはやめておきます。

どうもありがとうございました.


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加