Delphiは(RPM)の下のすべてのファイルのパスを取得します

    手順GetFileListEx(ファイルパス、ExtMask:文字列;ファイルリスト:TStringsは、サブディレクトリ:ブール= TRUE);

 


// ------------------------------------------------ ------------------------------
//遍历目录及子目录
手続きTForm2.GetFileListEx(ファイルパス、ExtMask:文字列;ファイルリスト: TStringsは、サブディレクトリ:ブール= TRUE);
機能マッチ(ファイル名:文字列; MaskList:TStringsは):ブール;
VAR
I:整数;
開始
結果:= Falseにします。
私のために:= 0 MaskList.Countに- 1か
始める
MatchesMask(ファイル名は、MaskListは、[i])と続いた場合に
始まる
の検索結果を:=真;
ブレーク;
終わり;
終わり;
終わり;

VAR
FileRec:TSearchRec。
MaskList:TStringListの。
開始
DirectoryExists(ファイルパス)を次い場合
始める
ならファイルパス[長さ(ファイルパス)] <>「\」を
ファイルパス「\」=ファイルパス+。
この関数は、FindFirst(ファイルパス+ '* *'、faAnyFile、FileRec)= 0が続いた場合に
始まる
MaskListを:= TStringList.Create。
試す
ExtractStrings([する';']、[]、PChar型(ExtMask)、MaskList)。
FileList.BeginUpdate;
繰り返し
た場合((FileRec.AttrとfaDirectory)<> 0)とサブディレクトリ、次に
始まる
(FileRec.Name <> '.. ')場合(FileRec.Name <>'。')、その後
GetFileListEx(ファイルパス+ FileRec.Name + '\'、ExtMask、ファイルリスト)。



もしマッチ(ファイルパス+ FileRec.Name、MaskList)を
FileList.Add({ファイルパス+} FileRec.Name)。
終わり;
FindNextの(FileRec)<> 0まで。
FileList.EndUpdate;
最後に
MaskList.Free;
終わり;
終わり;
FindClose(FileRec)。
終わり;
終わり;

 

手順TForm2.btn1Click(送信者:TObjectを);
ヴァールのfileList:TStringListの。
fileStr:TStringsは、
開始
Memo1.Lines.Clearを。
GetFileListEx( 'D:\ ghsoft \ ECG \アウト'、 '* .CSV'、Memo1.Lines、偽);
GetFileListEx( 'D:\ ghsoft \ ECG \アウト'、 '* .CSV'、fileStr、偽);
ShowMessage(fileStr.Text)。
終わり;

おすすめ

転載: www.cnblogs.com/meitai/p/11428581.html