Здравствуйте, Иван Левченко!
Вызов указанной в приложении функции:
А уж алгоритм добавления в ListBox придётся вам самим реализовывать.
[Вырезано]Приложение:
procedure ScanFiles(SrcDir: string);
var
i: integer;
SearchRec: TSearchRec;
sFileName: string;
begin
if SrcDir = '' then Exit;
if SrcDir[Length(SrcDir)] <> '\' then SrcDir := SrcDir + '\';
if FindFirst(SrcDir + '*.*', faAnyFile, SearchRec) <> 0 then Exit;
repeat
Application.ProcessMessages;
if AbortClose then Break;
if ((SearchRec.Attr and faDirectory) <> faDirectory) then
begin
//Найден очередной файл
for i := 0 to 0 do
begin
SetCurrentDirectory(PChar(SrcDir));
// Это полный путь найденного файла
sFileName := SrcDir + SearchRec.Name;
... Здесь организуете сами код добавления в ListBox end;
end else
if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
begin
//Найдена ещё директория или поддиректория
ScanFiles(SrcDir + SearchRec.Name + '\');
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;