ファイルとフォルダの検索
プロパティ
DirOption : enum
サブディレクトリを含めるとか
- doExcludeCompleteInvalidDirs
- doExcludeInvalidDirs
- doExcludeSubDirs
- doIncludeSubDirs
DirParams : class
ディレクトリの検索条件
- Attributes
- FileMasks : TStrings
- LastChangeAfter : String
- LastChangeBefore : String
- MaxSize : int
- MinSize : int
- SearchTypes : Contains
- stAttribute
- stFileMask
- stFileMaskCaseSensitive
- stLastChangeAfter
- stLastChangeBefore
- stMaxSize
- stMinSize
ErrorResponse : enum
エラー発生時の処理法方法
- erAbort
- erIgnore
- erRaise
FileParams : class
ファイルの検索条件
DirParamsと同じ
DirParamsと同じ
Options : Contains
使用するものにチェック
- soAllowDuplicates
- soCheckRootDirValid
- soExcludeFilesInRootDir
- soOwnerData
- soSearchDirs
- soSearchFiles
- soSorted
- soStripDirs
- soIncludeSystemHiddenDirs
- soIncludeSystemHiddenFiles
RscurseDepth : int
検索深度
RootDirectory : String
検索するルートディレクトリ
Files : TStrings
発見したファイルのリスト
FindData : class
FIND_DATA
IsRootDirValid : bool
ルートディレクトリが有効
IsSearch : bool
検索中
TotalDirectories : int
発見ディレクトリ数
TotalFiles : int
発見ファイル数
TotalFileSize : int
発見ファイルの総バイト数
イベント
OnAbort
中止
OnBeginScanDir
ディレクトリの検索開始
OnCheck
ファイルを発見。このイベントを作成した場合、Result=trueにする事でOnFind系のイベントが発生する。
OnError
ディレクトリがないなどのエラー
OnFindDirectory
ディレクトリ発見
OnFindFile
該当ファイルを発見した
OnProgress
イベントの間に発生します。ここでAbortとかするのか?
メソッド
Search()
検索開始
Abort()
検索中止
使ってみる
- フォームの上にJvSearchFilesを設置
- プロパティ変更
- DirOptionをdoExcludeSubDirs
- FileParams->FileMasksを"*.cpp"
- FileParams->SearchTypes->stFileMaskにチェック
- RootDirectoryをプロジェクトフォルダ
- イベントは設定しない
- フォームに以下を書いてみる
JvSearchFiles1->Search(); Caption = JvSearchFiles1->TotalFiles;