100 компонентов общего назначения библиотеки Delphi5

       

Компоненты — фрагменты диалогов

Начнем рассмотрение компонентов работы с файловой системой с компонента DriveComboBox — выпадающего списка дисков (драйверов). При размещении на форме этот компонент автоматически отображает список имеющихся на компьютере дисков. Во время выполнения приложения вы можете прочитать имя выбранного пользователем диска в свойстве Drive, а строку, содержащуюся в окне списка — в свойстве Text.

Свойство TextCase задает регистр отображения: tcUpperCase — в верхнем регистре, tcLowerCase — в нижнем.

Связать компонент DriveComboBox со списком каталогов, отображаемых компонентом DirectoryListBox, можно во время проектирования через свойство DirList компонента DriveComboBox. Это свойство может указывать на компонент типа DirectoryListBox. Можно обеспечить связь этих двух типов компонентов и программно, включив в обработчик события OnChange компонента DriveComboBox оператор DirectoryListBox1.Drive := DriveComboBox1.Drive;

Этот оператор задает имя диска, выбранное пользователем в компоненте DriveComboBox1, свойству Drive списка каталогов DirectoryListBox1.

Аналогичным оператором можно обеспечить связь компонента DriveComboBox с деревом каталогов и файлов в компоненте DirectoryOutline: DirectoryOutline1.Drive := DriveComboBox1.Drive;

Рассмотрим теперь выпадающий список фильтров — компонент FilterComboBox. Его основное свойство — Filter, которое задается так же, как в описанных ранее диалогах. К отдельным частям фильтра — тексту и маске, можно получить доступ через свойства Text и Mask соответственно. Связь компонента со списком файлов типа TFileListBox можно установить, задав свойство FileList.

Компонент DirectoryListBox отображает список каталогов диска, заданного свойством Drive. Значение этого свойства можно установить программно во время выполнения. Как уже говорилось выше, связь этого свойства с выбранным пользователем диском в компоненте DriveComboBox устанавливается или программно, или с помощью свойства DirectoryListBox компонента DriveComboBox.

Связь списка каталогов с компонентом типа TFileListBox, отображающим список файлов, осуществляется с помощью свойства FileList. Можно также использовать результаты выбора пользователем каталога, читая свойство Directory в обработчике события OnChange.

С компонентом DirectoryListBox можно также связать метку типа Label. В этой метке будет отображаться путь к текущему каталогу. Если путь не умещается в метке, он автоматически отображается в сокращенном виде (см. Рисунок 8.7) с помощью функции MinimizeName. Метка, отображающая каталог, указывается в свойстве DirLabel.

Список файлов содержится в компоненте FileListBox. Его свойства Drive, Directory и Mask определяют соответственно диск, каталог и маску файлов. Эти свойства можно устанавливать программно или связывая описанным ранее способом компонент FileListBox с компонентами DriveComboBox, DirectoryListBox и FilterComboBox. Свойство FileType позволяет включать в список не все файлы, а только те, которые имеют соответствующие атрибуты. Свойство FileType представляет собой множество, указывающее типы включаемых файлов. Элементы этого множества могут иметь значения: ftReadOnly — только для чтения, ftHidden — невидимые, ftSystem — системные, ftVoluimeID — обозначения дисков, ftDirectory — каталоги, ftArchive — архивные, ftNormal — не имеющие особых атрибутов.

Свойство ShowGlyphs разрешает или исключает показ пиктограмм файлов (в примере Рисунок 8.7 это свойство = true).

Свойство MultiSelect разрешает выбор нескольких файлов.

Основное свойство, в котором можно прочитать имя выбранного пользователем файла — FileName.

Со списком файлов может быть связано окно редактирования Edit, в котором отображается выбранный файл (см. окно над списком файлов на Рисунок 8.7). На этот список указывает устанавливаемое во время проектирования свойство FileEdit.

Теперь рассмотрим компонент DirectoryOutline, содержащий дерево каталогов. В этом компоненте значение диска устанавливается свойством Drive. Текущий каталог, выбранный пользователем, можно прочитать в свойстве Directory. Свойство TextCase определяет стиль отображения имен каталогов: tcLowerCase — преобразование к нижнему регистру, tcUpperCase — к верхнему, tcAsIs — без преобразования (этот режим использован в примере Рисунок 8.7). Остальные свойства идентичны компоненту OutLine, на основе которого построен данный пример. Вы можете найти исходный текст этого примера в каталоге ...\source\samples.



Содержание раздела