Работа с файлами и мультимедиа


Download 361.5 Kb.
bet1/9
Sana20.10.2023
Hajmi361.5 Kb.
#1711567
TuriЛекции
  1   2   3   4   5   6   7   8   9
Bog'liq
Работа с файлами и мультимедиа


Работа с файлами и мультимедиа
Продолжая знакомство с библиотекой VCL, рассмотрим еще несколько групп компонентов, в частности, для работы с файлами, а так же компоненты для работы с графикой и видео. Здесь следует отметить, что данные компоненты, в отличие от уже рассмотренных диалогов или коллекции изображений, являются визуальными. Также примечателен тот факт, что некоторые компоненты для работы с файлами, которые мы рассмотрим в этой главе, относятся к группе 16-разрядных элементов интерфейса, т.е. достались в наследство со времен Windows 3.1 и Delphi 1. Тем не менее, во многих случаях их использование бывает вполне уместно.
Списки файлов и каталогов
Самый простой путь отображения содержимого дисков ПК в Delphi - это использование компонентов FileListBox (список файлов) и DirectoryListBox (список каталогов). Оба этих компонента появились еще в 1-й версии Delphi и относятся к группе компонент Win 3.1. Компонент списка файлов позволяет просматривать содержимое указанного каталога. Он является наследником обычного списка (ListBox) и имеет набор дополнительных свойств, определяемых собственной спецификой. С ними можно ознакомиться в таблице 15.1.

Таблица 15.1. Свойства FileListBox

Свойство

Тип

Описание

Directory

String

Определяет каталог, файлы которого должны отображаться в данном списке

Drive

Char

Определяет букву диска, файлы которого должны отображаться в данном списке

FileEdit

TEdit

Связывает данный список с полем редактирования, в котором будет отображаться выбранный файл

FileName

String

Определяет имя текущего выбранного файла в списке (включая путь файла)

FileType

TFileType

Определяет, файлы какого типа (по атрибутам) должны отображаться в списке

Mask

String

Ограничивает видимые в списке файлы по маске

ShowGlyphs

Boolean

Указывает, должны ли отображаться иконки файлов, коих предусмотрено всего 2 типа - доя выполняемых и для остальных

Следует учитывать, что ряд свойств, в частности, Directory, Drive и FileName являются взаимозависимыми. Т.е., скажем, установив определенное значение для FileName, вы можете параллельно изменить Drive и Directory (например, если файл находится на другом диске). Свойства FileType и Mask позволяют ограничить отображаемые файлы, отбирая их по принципу принадлежности к той или иной группе по атрибутам (FileType) или по шаблону имени (Mask). Шаблон задается в соответствии с обычными для Windows правилами подстановки масок, т.е. с использованием подстановочных знаков "*" и "?". Что касается атрибутов, то для свойства FileType предусмотрены следующие флаги:

  • ftReadOnly - Отображаются только файлы с атрибутом "только чтение";

  • ftHidden - Отображаются только файлы с атрибутом "скрытый";

  • ftSystem - Отображаются только файлы с атрибутом "системный";

  • ftVolumeID - Должна отображаться метка диска;

  • ftDirectory - Будут отображаться каталоги;

  • ftArchive - Отображаются только файлы, подлежащие архивации;

  • ftNormal - Отображаются любые файлы без специальных атрибутов.

Следует учитывать, что если даже включен флаг ftDirectory и каталоги отображаются в списке, автоматическая смена каталога при щелчке пользователем мышкой, этим компонентом не предусмотрена.
В то же время, не будем забывать, что у нас имеется еще один компонент - DirectoryListBox, который как раз и предназначен для навигации по каталогам диска. Он имеет всего 4 собственных свойства - Directory, DirLabel, Drive и FileList. При этом свойства Drive и Directory полностью аналогичны таковым у FileListBox, а свойство DirLabel весьма похоже на FileEdit, с той лишь разницей, что если с FileListBox ассоциируется однострочный редактор, то с DirLabel - метка, свойство Caption которой и подлежит изменению в зависимости от выбранного каталога.
Последнее свойство DirectoryListBox - FileList. Оно служит для ассоциирования данного списка каталогов с компонентом - списком файлов. Имея связанные таким образом компоненты, мы получим автоматически работающую связку, в которой при изменении текущего каталога в списке каталогов, будет автоматически производиться смена каталога в ассоциированном списке файлов.
Рассмотрим эту пару компонент на простом примере. Для этого создадим приложение и поместим на его главную форму следующие компоненты, разместив их один под другим: Label, DirectoryListBox, Edit и FileListBox. Назовем их DirLbl, DirLst, FileEd и FileLst, после чего установим свойство DirLabel списка каталогов в DirLbl, его же свойство FileList - в FileLst, а свойство FileEdit списка файлов - в FileEd. Саму программу можно назвать FileView, или FV. Запустив приложение, можно будет убедиться, что в зависимости от того, какой каталог в списке каталогов выбран, меняется надпись метки и содержимое списка файлов, а при выборе файла его имя отображается в текстовом редакторе (рис. 15.1).

Рис. 15.1. Работа программы просмотра содержимого каталогов
Отдельно хочется отметить, что в данном случае мы не написали ни одной строчки кода, получив при этом, в общем-то, вполне работающее приложение.

Download 361.5 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling