Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Автоматическое получение следующего имени файла в каталоге

Автор: Igor Kovalevsky
WEB-сайт: http://delphibase.endimus.com

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Автоматическое получение следующего имени файла в каталоге

Функция предоставляет Вам каждый раз новое имя файла,
а если список файлов исчерпан, начинает перебор снова.
Может пригодиться при написании Вашего собственного
слайдшоу с фотографиями или в похожих задачах, где
важно не повторить до конца списка уже воспроизведённый файл.

Зависимости: Windows, Messages, SysUtils, Classes, DIALOGS;
Автор:       Igor Kovalevsky, pc-ambulance@mail.ru, Владикавказ
Copyright:   Igor Kovalevsky
Дата:        1 июня 2002 г.
***************************************************** }

function GetNextFileName(Path: string): string;
const
  ListFileName = 'ListFile.lst';
  FileMask = '*.*'
  var
  SearchRec: TSearchRec;
begin
  with TStringList.Create do
  begin
    if FileExists(ListFileName) then
    begin
      LoadFromFile(ListFileName);
    end;
    if FindFirst(IncludeTrailingBackslash(Path) + FileMask,
      faAnyFile and not faDirectory,
      SearchRec) = 0 then
    begin
      // Редкий случай, когда цикл repeat..until
      // на что-то годится
      repeat
        Result := SearchRec.Name;
        if (FindNext(SearchRec) <> 0) then
        begin
          Clear;
        end;
      until (IndexOf(Result) = -1);
      Add(Result);
      FindClose(SearchRec);
    end
    else
    begin
      Result := '';
    end;
    SaveToFile(ListFileName);
    Free;
  end;
end;

Пример использования:

ShowMessage(GetNextFileName('C:\Windows\'));
Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay