Как получить список файлов со всеми подкаталогами
Как получить список файлов со всеми подкаталогами
Как получить список файлов со всеми подкаталогами procedure ScanDir(StartDir: string; Mask:string; List:TStrings); var SearchRec : TSearchRec; begin if Mask = '' then Mask := '*.*'; if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\'; if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then begin repeat Application.ProcessMessages; if (SearchRec.Attr and faDirectory) <> faDirectory then List.Add(StartDir + SearchRec.Name) else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then begin List.Add(StartDir + SearchRec.Name + '\'); ScanDir(StartDir + SearchRec.Name + '\',Mask,List); end; until FindNext(SearchRec) <> 0; FindClose(SearchRec); end; end; Пример вызова. параметры 1. имя папки 2. маска, по умолчанию *.* 3. хранилище для результата, любой наследник от TString, например TStringList procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.Clear; ScanDir('c:','',ListBox1.Items); Label1.Caption := IntToStr(ListBox1.Items.Count); end; *************************************************************** Мой вариант для TreeView: