FAQ Infinity

Вывод названий файлов из папки - Delphi

В Delphi имеется возможность получить список файлов в указанной директории. Это часто используется, когда нужно работать со множеством файлов, например, когда нужно обрабатывать изображения, текстовые файлы и другие файлы.

Получение списка файлов

Для получения списка файлов в указанной директории в Delphi используется функция FindFirst и FindNext. Также следует учесть, что для работы с файловой системой необходимо использовать библиотеку SysUtils.

procedure GetFilesList(const folder: string);
var
  searchResult: TSearchRec;
begin
  if FindFirst(folder + '*.*', faDirectory, searchResult) = 0 then
  begin
    repeat
      if ((searchResult.Attr and faDirectory) = 0) then // Если это файл, то выводим его название
        Writeln(searchResult.Name);
    until FindNext(searchResult) <> 0;

    FindClose(searchResult);
  end;
end;

Анализ полученных данных

Каждый файл находится в своей строке, что может усложнить дальнейшую обработку. Для этого рекомендуется использовать библиотеку StrUtils, чтобы разделить строку на массив строк.

uses StrUtils;

procedure GetFilesList(const folder: string);
var
  searchResult: TSearchRec;
  files: TStringDynArray;
begin
  if FindFirst(folder + '*.*', faDirectory, searchResult) = 0 then
  begin
    repeat
      if ((searchResult.Attr and faDirectory) = 0) then // Если это файл, то добавляем его в массив строк
        files := files + [searchResult.Name];
    until FindNext(searchResult) <> 0;

    FindClose(searchResult);

    // Выводим все названия файлов
    for i := 0 to Length(files) - 1 do
      Writeln(files[i]);
  end;
end;

Теперь мы получаем массив строк, который можно обрабатывать дальше.

Вывод

В данной статье мы рассмотрели, как можно получить список файлов из указанной директории в Delphi. Результатом является массив строк, который может быть использован для дальнейшей обработки файлов.

Надеюсь, эта информация окажется полезной для вас в работе с файловой системой в Delphi.