みなさんこんにちは
質問があります。
FindFirst,FindNext の TSearchRec で返ってくる Attr の値について
教えてください。
1.ディレクトリで [$2030] が返ってくるのですが $2000 ってなんでしょう?
2.ファイルでも同様に[$2000] が返ってきますが $2000 ってなんでしょう?
3.ファイルで[$0006] が返ってくるファイルがウィンドウでは見れません。
隠しファイルでも、「ツール」−「ファイルのオプション」−「表示」で
全てのファイルとフォルダを表示するにしても表示されません。
表示できないのでしょうか?
4.ファイルで[$0080] が返ってくるファイルがありますが、
[$0080]は何を意味するのでしょうか?
上記に関してわからないので教えてください。
もしくは ATTR に関しての詳しい情報がどこかに無いでしょうか?
よろしくお願いします.
*ヘルプより
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
ってことです。ビット同士のフラグになっています。
りおりお さんありがとうございます.
D6のヘルプには $003F までしか
のっていなくて、こまってました。
通常の隠しファイル(C:\config.sysやC:\AUTOEXEC.BAT)は
薄いアイコンでウィンドウ上で表示されるんですけど
FILE_ATTRIBUTE_SYSTEM のフラグがあると、
Windows上のウィンドウではファイルの確認ができないのでしょうか?
すみません。
Delphiと直接関係無くて・・・
一応、当初問題が解決しましたので
解決にチェックしておきます.
わたしの Win2k ではエクスプローラのメニューの ツール/フォルダオプション/表示の
ところで設定できますけど
りおりおさんありがとうございます.
「保護されたオペレーティングシステムファイルを表示しない(推奨)」
のチェックボックスをはずすと見えるようになりました。
でも・・・
推奨されていないし、はずすときに警告文章がでるので
やっぱり表示するのはやめておきます。
どうもありがとうございました.
ツイート | ![]() |