Перечислить все папки и файлы



style="display:block"
data-ad-client="ca-pub-0562610021414947"
data-ad-slot="5792664354"
data-ad-format="link">

Если необходимо вывести в TStrings все файлы и папки то можно воспользоваться данной процедурой.  Процедура ScanDir так же может вывести все файлы по расширению (по маске).

Procedure ScanDir (StartDir: String; Mask:string; List:TStrings);

{ Процедура выводит список директории в список List, начиная с директории, указанной в StartDir. Mask — маска для получения файлов

Источник delphi.mastak.ru

© А. Подгорецкий }

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; {IF}

end;

 

Что бы запустить процедуру можно сделать так

ScanDir (StartDir,'',temp1); // Поместить все файлы в temp1, без учета расширения.

ScanDir (StartDir,'*.txt',temp1); // Поместить все файлы в temp1, с расширением txt.

 

Популярность: 0 [?]

Рубрика: Delphi, Новости · Метки:

Выразите свои мысли

Скажите нам, что вы думаете...
и если вы хотите сопроводить комментарий своей аватаркой, воспользуйтесь сервисом gravatar!