Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
ВнизКак составить список всех файлов в папке(включая вложенные). Найти похожие ветки
← →
Dmittry (2002-11-11 20:57) [0]Народ! Как создать список файлов находяшихся в указанной папке, так же включая файлы, которые лежат во вложенных папках и тд. тд.
← →
Damage (2002-11-11 22:16) [1]Примерно так
Files : TStringList
...
Procedure TForm1.FindAll(Const Path,Mask : String);
Var
F : TSearchRec;
i : Integer;
Res : Integer;
Begin
//PROCESS CURRENT FOLDER
Res:=FindFirst(Path + "\" + Mask,faAnyFile,F);
While Res = 0 Do
Begin
Files.Add(Path + "\" + F.Name);
Res:=FindNext(F);
End;
FindClose(F);
//PROCESS SUBFOLDERS
Res:=FindFirst(Path + "\" + "*.*",faDirectory,F);
While Res = 0 Do
Begin
If (F.Attr = faDirectory) AND (F.Name[1] <> ".") Then
FindAll(Path + "\" + F.Name,Mask);
Res:=FindNext(F);
End;
FindClose(F);
End;
← →
Poirot (2002-11-11 22:31) [2]А вот это универсальнее и на всю глубину вложенности....
Создаёт дерево и потом можно самому пройтись и найти файлы или моднуть сорец и прям в нём добавлять.... этот кусок почти из прроги и создаёт тока дерево, а файлы нет... просто некрасиво если с файлами... они вперемешку с папками....
procedure Dir(Path:TFileName;TT:TTreeNode);
var C:TsearchRec;
Z:Integer;
A:TTreeNode;
begin
Z:=FindFirst(Path+"\*.*",faDirectory,C);
if Z=0 then
begin
if Pos(".",c.Name)=1 then Z:=FindNext(c);
if Z<>0 then Exit;
Form1.LB.Items.Add(Path);
A:=Form1.TV.Items.AddChild(TT,Copy(Path,LPos("\",Path)+1,255));
A.OverlayIndex:=2;
if (C.Attr and faDirectory <> 0) and (C.Name<>"..")
then Dir(Path+"\"+C.Name,A);
repeat
Z:=FindNext(c);
if Z=0 then
if (C.Attr and faDirectory <>0)and (C.Name<>"..")
then Dir(Path+"\"+C.Name,A);
until Z<>0;
end;
FindClose(C);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c