hiro_rwのvcl的な何か

JvSearchFiles

最終更新:

handk

- view
だれでも歓迎! 編集

ファイルとフォルダの検索



プロパティ


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と同じ

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;
ウィキ募集バナー