DelFusa Blog 総本山

プログラミングの話題とかです。

NEW | PAGE-SELECT | NEXT

≫ EDIT

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

| スポンサー広告 | --:-- | comments(-) | trackbacks(-) | TOP↑

≫ EDIT

ファイル列挙

Q&A掲示板で、また質問があがっていましたが、
Delphiはファイル列挙処理が比較的弱いというか、
実装的に古い感じがします。

私のもっとも評価しているテクニックサイト
DelphiAcidFloorでは次のように紹介されています。

ファイルを検索する
http://www.wwlnk.com/boheme/delphi/tips/tec0270.htm

DelphiAcidFloorが悪いわけではないんですが
FindFirst/FindNext、
これみると、相当APIに依存しすぎて
VCLの利点をほとんど生かしていないというか
わかりにくいというか....


ということで、


ずいぶん昔に実装してる
自作のライブラリの中でもよくつかうコンポーネントを紹介しときます。
FileList.pas

単一フォルダでも、階層指定有り/無しなサブフォルダでも、
ファイルリストの検索はすぐにできます。

使い方は、こんな感じ
FileList.Directory := 'C:\Temp'
FileList.FileListType := flNormal; //ファイルかフォルダか両方かを指定
FileList.OnFileFind := FileList1FileFind; //ファイルを見つけた時のイベントを指定
FileList.DestStrings := DestStrList; //ファイル列挙の出力先を指定

FileList.SubFolderList; //サブフォルダ検索(引数で検索階層を指定可能)
//FileList.List; //単独フォルダ検索


実装が、ちょっと未熟なのは、
別スレッドにして動作するような処理実装は出来てません。
やろうかと思ったんですが、ちょっと必要性と技術が足りなくてね。

誰か、作って欲しいなあ...
スポンサーサイト

| 未分類 | 09:38 | comments:1 | trackbacks:0 | TOP↑

COMMENT

スレッド対応の列挙が、そのスレで紹介されてましたね。

フルパスを列挙について
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200605/06050096.txt

| Delフサ | 2006/05/31 13:31 | URL | ≫ EDIT















非公開コメント

TRACKBACK URL

http://delfusa.blog65.fc2.com/tb.php/14-0251b60e

TRACKBACK

PREV | PAGE-SELECT | NEXT

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。