2013-09-04 3 views
2

Я пытаюсь сделать утилиту для сканирования нашего FTP-сайта для старых файлов.Как получить и отфильтровать список файлов из TIdFTP?

Я столкнулся с Indy FTP как часть RAD Studio сегодня и как это работает, но как мне это сделать?

  1. Получить список файлов/каталогов, которые я могу увидеть (перейдите из списка TIdFTP.List() в список).
  2. Узкие эти результаты по дате (с указанием имени файла/путь)
+2

Добро пожаловать, Пожалуйста, покажите, что вы попробовали, чтобы мы могли помочь. – ErrorNotFoundException

+0

взгляните на: http://www.indyproject.org/sockets/demos/index.en.aspx – bummi

+0

Я смущен, как вы можете сказать, что вы «как это работает», когда кажется, что уровень вашего вопроса вы на самом деле не заметили, что он работает вообще. Если бы у вас было, я бы предположил, что вы бы видели, что он получил список файлов, так как эта функциональность, несомненно, включена в каждую демонстрацию, когда-либо написанную. –

ответ

6

TIdFTP имеет DirectoryListing коллекцию, вы можете проходное после вызова TIdFTP.List(). Каждый элемент в коллекции имеет FileName, ItemType и ModifiedDate свойства, среди многих других.

Существует много форматов списков FTP, используемых онлайн, и Indy реализует для них множество парсеров, однако большинство парсеров по умолчанию не включены. Если FTP-сервер (ы) вы подключаетесь не поддерживают MLSD команду (что синтаксический анализатор всегда включен), и/или вы устанавливаете TIdFTP.UseMLIS свойство ложно, то вам нужно либо:

  1. добавьте отдельные IdFTPListParse... единиц в ваш пункт uses, чтобы включить только парсеры для определенных форматов, которые вы хотите поддерживать.

  2. Добавить блок IdAllFTPListParsers в ваш пункт uses, чтобы включить все парсеры.

Смежные вопросы