объект TDirList - основа для создания файловых менеджеров

В проектах Delphi для операций с файлами используется два объекта OpenDialog и SaveDialog. Если мы рассмотрим такие системы, как Far, WindowsCommander, ACDC, то увидим, что в некоторых случаях удобнее иметь свой собственный движок для управления файлами. Именно такой движок, не привязанный к конкретным интерфейсным элементам представляет собой объект TDirList

Посмотреть работу объекта в действии можно на примере программы
Di (zip-архив,9K), где в качестве визуального объекта используется StringGrid. Программа Di позволяет просмотреть все каталоги текущего диска, а также открывает любой файл в виде текста. Она запоминает историю прохождения по каталогам в виде стека и позволяет вернуться в предыдущие пройденные каталоги.
Программа Di предусматривает всего две операции - вход (клавиша ) и выход (клавиша ). Редактирование строк не предусмотрено, поэтому Di абсолютно безопасна. Программу легко расширить, добавив функций от открытия файлов в заданных приложениях до редактирования имён или атрибутов файлов.

Структура строки с описанием файла или каталога, возвращаемая объектом TDirList

TDirList содержит коллекцию файлов и поддиректорий, найденных внутри текущей директории. Он может выдавть строку с описанием файла или поддиректории по заданному номеру. Строка разбита на три части
  • левая - информационная, содержит имя, размер, время создания файла
  • правая - корректная ссылка на файл / подкаталог, т.е. подстрока, которая может быть вставлена в процедуры типа Assign или SetDirectory
  • средняя - служебная, в примере просто разделитель вида "!----!"
Вы можете приспособить формат строки к собственным нуждам.
В системе SWE (SunWorldEditor) левая часть строки редактируется и заменяется на произвольный комментарий. Сами строки отчуждаются от TDirList, проще говоря, копируются оттуда в обыкновенные текстовые файлы. Но и в текстовых файлах, если их расширение ".DIR", правая часть строки используется как ссылка, превращая SWE в мощное средство организации текстовых документов.

Ещё по теме: Исходникики.ру Пример манипуляций с файлами

Вернуться
(с) Можаровский С.Г. // mailto:mozharovskys@mail.ru // swHome page