объект 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