Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
laboratornye_Delphi.doc
Скачиваний:
16
Добавлен:
17.05.2015
Размер:
2.78 Mб
Скачать

Контрольные вопросы

  1. Понятие класса, поля и метода.

  2. Понятие инкапсуляции.

  3. Понятие полиморфизма.

  4. Основные принципы наследования.

  5. Правила создания виртуальных методов.

  6. Назначение директив используемых в описании класса.

Лабораторная работа № 18Компоненты для работы с файлами и каталогами

Цель работы: получение навыков сохранения информации в файле и считывания из файла с использованием компонентов FileListBox, DirectoryListBox, DriveComboBox, FilterComboBox.

Теоретические сведения Компоненты для работы с файлами и каталогами

Для работы с файлами и каталогами используют специальные компоненты:

  • FileListBox — просмотр списка и выбор имени файла;

  • DirectoryListBox — просмотр и перемещение по дереву каталогов;

  • DriveComboBox — выбор дисковода;

  • FilterComboBox — выбор маски для списка файлов.

С помощью этих компонентов программируют операции, связанные с навигацией по файловой системе. Обычно компоненты, связанные с файлами и каталогами, используются совместно, но при необходимости про­граммист может применять их отдельно. На рис. 18.1 показаны связи компонентов при их совместном использовании. Кроме четырех рассмотренных компонентов, здесь изображены также эле­менты Label и Edit. Над соединительными линиями указаны свойства, с по­мощью которых устанавливается связь между компонентами (свойства принадлежат элементу, от названия которого проведена линия).

Рис. 18.1. Связи между компонентами

Выбор дисковода

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

DriveComboBoxl.Drive:=’D’;

Если указанное устройство в системе отсутствует, то оператор присваивания игнорируется.

Аналогичное свойство Drive также имеется у компонентов DirectoryListBox и FileListBox. Если компоненты DriveComboBox, DirectoryListBox и FileListBox используются совместно, то после смены в элементе DriveComboBox устройства нужно соответственно изменить значение свойства Drive для двух других компонентов.

Просмотр и перемещение по дереву каталогов

Для просмотра и перемещения по дереву каталогов служит компонент DirectoryListBox, представляющий собой прямоугольную область, в которой отображается дерево каталогов с выбранным текущим каталогом. Пользователь имеет возможность перемещаться по этому дереву.

Свойство Directory типа string содержит строку, указывающую текущий ката­лог, который может быть выбран пользователем или установлен программно, например, через оператор присваивания

DirectoryListBoxl.Directory: =’С:\GAMES’;

Если указанный каталог отсутствует, то генерируется исключительная ситуация.

Компонент DirectoryListBox обычно связывается посредством свойства FileList типа TFiieListBox с компонентом FileListBox. В этом случае при смене каталога компонент FileListBox автоматически сформирует и отобразит новый список файлов, соответствующий выбранному каталогу.

Просмотр списка и выбор имени файла

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

Просматриваемый каталог задает свойство Directory типа string. Чаще всего компоненты FileListBox и DirectoryListBox используются совместно и связаны свойством FileList, поэтому при смене каталога список файлов обновляет­ся автоматически.

При выполнении программы список файлов каталога доступен благодаря свойству items типа TStrings.

При выборе пользователем файла в свойство FileName типа string заносится полное имя выбранного файла. Это свойство доступно для чтения и записи, поэтому можно программно выбрать требуемый файл, установив в качестве значе­ния свойства FiieName имя этого файла. Например

FileListBoxl . FiieName : = ‘f ilecom.exe’;

Если указанный файл отсутствует в каталоге, то генерируется исключительная ситуация.

Управлять отображением файлов в списке можно с помощью свойств FileType и Mask. Свойство FileType типа TFiieType указывает атрибуты файлов, содер­жащихся в списке, и принимает комбинации следующих значений:

  • ftReadOnly — только для чтения;

  • ftHidden — скрытый;

  • ftSystem — системный;

  • ftVolumID — метка диска;

  • ftDirectory — каталог;

  • ftArchive — архивный;

  • ftNormal — обычный.

Эти значения соответствуют константам атрибутов файлов, определенных в мо­дуле Sysutils. По умолчанию свойство FileType имеет значение [ftNormal], и отображаются все файлы, не имеющие специальных атрибутов.

Свойство Mask типа string содержит маску для файлов списка. По умолчанию используется маска *.* и в списке отображаются файлы с любыми именами и типами. При выполнении приложения маску для компонента FileListBox можно выбрать из одноименного свойства компонента FilterComboBox. Более удобно фильтра­цию файлов осуществлять с помощью связи компонентов FileListBox и FilterComboBox посредством свойства FileList.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]