1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| TStringList* __fastcall lsdir(AnsiString cbl,AnsiString filetype) { TSearchRec sr; TStringList* result = new TStringList(); AnsiString cdir; if (!FindFirst(cbl+"\\*.*",faAnyFile,sr)) { do { if ( sr.Name!="." && sr.Name!="..") { if ((sr.Attr & faDirectory)==faDirectory) { result->AddStrings(lsdir(cbl+"\\"+sr.Name,filetype)); }
cdir=cbl+"\\"+sr.Name; result->Add(cdir);
} }
while (FindNext(sr) == 0); FindClose(sr); }
if (filetype.Length()>0) { int i; for (i = result->Count-1; i >=0 ; i--) { if (StrRight(result->Strings\[i\],1+filetype.Length()).LowerCase()!="."+filetype) { result->Delete(i); } } } return result; result->Clear(); }
|