| Код | procedure ScanDir(Dir: string;IncludeFiles: Boolean); var SearchRec: TSearchRec; SL : TStringList; begin SL := TStringList.Create; if Dir[Length(Dir)] <> '\' then Dir := Dir + '\'; if FindFirst(Dir + '*.*', faDirectory, SearchRec) = 0 then begin repeat if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then begin if (SearchRec.Attr and faDirectory > 0) then ScanDir(Dir + SearchRec.Name, IncludeFiles); end else if IncludeFiles then if dir+SearchRec.Name[1] <> dir+'.' then {1} Form1.Memo1.lines.add(dir+SearchRec.Name); {2} SL.add(dir+SearchRec.Name); until FindNext(SearchRec) <> 0; FindClose(SearchRec); SL.SaveToFile('C:\File.txt'); SL.Free; end; end;
|
С помощью этого кода, можно найти файлы в паке которую указал и в его подпапках. Результат выводиться в мемо очень даже хорошо, все файлы все папки, а если поменять строки {1} и {2}, то результат совсем другой. В программе нельзя использовать StdCtrls. Из-за чего такие глюки ? |