Лабораторная работа №9. Работа с файлами и каталогами Цель работы:

advertisement
Лабораторная работа №9. Работа с файлами и каталогами
Цель работы: Познакомиться с основными приёмами работы с каталогами и файлами в системе Delphi.
Основные понятия: При организации многих приложений требуется
работа с файлами и каталогами (папками). В модулях System и SysUtils находятся многочисленные процедуры, функции, типы и константы, предназначенные для работы с файловой системой.
Модуль System реализует средства ввода/вывода, обработки строк, операций с числами и динамической памятью и ряд других.
Модуль SysUtils расширяет и дополняет возможности модуля System. В
нём находятся средства, предназначенные для работы с дисками, каталогами
и файлами, датой, временем, строками и другие процедуры и функции.
Для работы с файловой системой предназначены четыре специальных
компонента (FileListBox, DirectoryListBox, DriveComboBox, FilterComboBox),
расположенные на вкладке Win3.1 Палитры компонентов.
С помощью этих компонентов можно программировать операции, связанные с навигацией по файловой системе. Обычно они используются совместно, но при необходимости их можно применять по отдельности. На рис.
1 показаны связи между вышеперечисленными компонентами, а также Label
и Edit, при их совместном использовании.
Edit
Label
FileEdit
DirLabel
DriveComboBox
DirList
DirectoryListBox
FilterComboBox
FileList
FileListBox
FileList
Рисунок 1 – Связи между компонентами для работы с файлами и каталогами
Компонент DriveComboBox используется для выбора дисковода. Он
представляет собой комбинированный список, содержащий все установленные в системе дисковые накопители. Выбранное устройство отображается в поле компонента, а соответствующая выбранному дисководу буква
содержится в свойстве Drive. Аналогичное свойство имеется у компонентов
DirectoryListBox и FileListBox.
Компонент DirectoryListBox служит для просмотра и перемещения по
дереву каталогов. Он представляет собой прямоугольную область, в которой
отображается дерево каталогов с выбранным текущим каталогом.
Свойство Directory содержит строку, указывающую текущий каталог.
Для отображения текущего каталога с компонентом DirectoryListBox
может быть связана надпись Label, в которой автоматически отображает каталог. При этом на длину накладывается ограничение – не более 24 симво-
Высокоуровневые методы информатики и программирования
лов. Если название текущего каталога имеет длину больше, чем 24 символа,
то часть названий каталогов заменяется многоточием.
Компонент FileListBox предназначен для просмотра списка файлов заданного каталога и выбора имени файла. Он представляет собой прямоугольную область, в которой отображается список файлов заданного каталога с
возможностью визуального выбора файлов.
Просматриваемый каталог задаётся свойством Directory.
Для автоматического отображения выбранного в списке файла можно
использовать компонент Edit, который должен быть связан с компонентом
FileListBox. Первоначально, когда выбранных файлов нет, в поле Edit отображается выбранная маска, например, *. *.
При выборе пользователем файла в свойство FileName заносится полное
имя выбранного файла. Это свойство доступно для чтения и записи, поэтому
можно программно выбрать требуемый файл.
Управлять отображением файлов в списке можно с помощью свойств
FileType и Mask. Свойство FileType указывает атрибуты файлов, содержащихся в списке, и принимает комбинации следующих значений:
∙ ftReadOnly (только чтение);
∙ ftDirectory (каталог);
∙ ftHidden (скрытый);
∙ ftArchive (архивный);
∙ ftSystem (системный);
∙ ftNormal (обычный).
∙ ftVolumeID (метка диска);
Свойство Mask содержит маску для файлов списка. По умолчанию используется маска *.*, и в списке отображаются все файлы. При необходимости для маски можно задать другое значение.
Файлы в списке могут выводиться со значками или без них, наличие или
отсутствие значка задаётся свойством ShowGlyphs.
Компонент FilterComboBox осуществляет выбор маски для списка файлов. Этот компонент представляет собой комбинированный список, который
содержит фильтры. Фильтр состоит из текстового описания и маски. Доступ
к фильтру осуществляется, через свойство Filter.
При совместном использовании компонентов FilterComboBox и
FileListBox для организации связи между ними используется свойство
FileList. После установки связи между этими компонентами в случае смены в
компоненте FilterComboBox фильтра, а вместе с ним и маски, список файлов
в компоненте FileListBox автоматически обновляется с учётом новой маски.
Работу с файлами соответствующих форматов поддерживают также такие компоненты как Memo, ListBox, Picture и Clipboard.
Работа с файлами. При работе с текстовыми файлами можно использовать объект типа TStrings, который имеет ряд методов, например:
∙ Clear – очистка содержимого объекта;
∙ LoadFromFile – загрузить файл, имеет параметр – полное имя файла;
∙ SaveToFile – сохранить в файл, имеет параметр – полное имя файла.
2
Высокоуровневые методы информатики и программирования
Порядок выполнения работы
1. Запустите Delphi. Создайте новый проект.
2. Назовите форму MainForm с заголовком Главная. Для формы задайте:
 размер – 600х600;
 минимальный размер – 200х200;
 максимальный размер – 900х900.
3. Cохраните проект в папку D:\Users\...\Lab9\... . Окно сохраните под именем
MainUnit, а проект под именем Catalog.
4. На форме Главная создайте:
 панель высотой 50, сделайте, чтобы она выравнивалась по верхнему
краю, измените её цвет;
 разделитель высотой 10, сделайте, чтобы он выравнивался по верхнему краю;
 панель высотой 50, сделайте, чтобы она выравнивалась по нижнему
краю, измените её цвет;
 разделитель высотой 10, сделайте, чтобы он выравнивался по нижнему краю;
 многострочный редактор, назовите его MMemo, сделайте, чтобы он
занимал всю оставшуюся фору;
 главное меню с пунктами Файл, Шрифт, О программе и Выход;
 в меню Файл пункты Сохранить и Загрузить;
 на первой панели по центру надпись Информация, измените размер
шрифта;
 на второй панели:
 создайте 5 графических кнопок с заголовками Очистить, Выделить всё, Копировать, Вырезать и Вставить;
 кнопки сделайте с рисунками;
 для кнопок создайте подсказки: "Очистить редактор", "Выделить
всё в редакторе", "Копировать в буфер", "Вырезать в буфер" и
"Вставить из буфера";
 запрограммируйте кнопки, чтобы они выполняли соответствующие действия.
5. Сделайте так, чтобы при выборе меню Выход программа закрывалось.
6. Создайте вторую форму:
 назовите SaveForm с заголовком Сохранение файла;
 сделайте форму размером 400х600.
7. На форме Сохранение файла создайте:
 панель высотой 50, сделайте, чтобы она выравнивалась по нижнему
краю, измените её цвет;
 разделитель высотой 10, сделайте, чтобы он выравнивался по нижнему краю;
 вторую панель, сделайте, чтобы она занимала всю оставшуюся фору.
8. На форме Сохранение файла на второй панели создайте:
3
Высокоуровневые методы информатики и программирования
надпись Устройство, рядом с ней компонент выбора дисковода
(DriveComboBox);
 надпись Путь, рядом с ней компонент для просмотра и перемещению
по дереву каталога (DirectoryListBox), высотой 120;
 надпись, свяжите её с компонентом для просмотра и перемещению по
дереву каталога (см. рис. 1). Под ней компонент для просмотра списка
файлов заданного каталога и выбора имени файла (FileListBox), высотой 120. Сделайте, чтобы файлы выводился со значками;
 надпись Тип файла, рядом с ней компонент для выбора маски для
списка файлов (FilterComboBox). В него добавьте фильтр для выбора
текстовых файлов (с расширением txt);
 надпись Имя файла, рядом с ней однострочный редактор, назовите
его FNEdit. Сделайте, что бы в нём отображалось имя выбранного
файла;
 организуйте связи между компонентами (см. рис. 1).
9. Сделаем, чтобы изначально в устройствах был выбран папка Users на диске D. Для этого в процедуру OnShow для формы Сохранение файла введите код:

DriveComboBox1.Drive := 'D';
DirectoryListBox1.Directory := 'D:\Users';
10. На форме Сохранение файла на второй панели создайте кнопки Сохранить и Закрыть.
11. Запрограммируем кнопку Сохранить, что бы при нажатии на неё данные
из многострочного редактор на форме Главная сохранялись в указный в
редактор FNEdit файл. Для этого в процедуру обработки для кнопки введите код:
MainForm.MMemo.Lines.SaveToFile (Label3.Caption + '\' +
FNEdit.Text);
12. При нажатии кнопки Закрыть окно должно закрываться.
13. Создайте третью форму размером 400х600, назовите её LoadForm с заголовком Загрузка файла.
14. По аналогии с формой Сохранение файла создайте форму Загрузка
файла, только вместо кнопки Сохранить создайте кнопку Загрузить, при
нажатии которой выбранный файл должен загружаться в многострочный
редактор на форме Главная.
15. Создайте четвёртую форму размером 400х400, назовите форму PropertForm с заголовком Параметры шрифта.
16. На форме Параметры шрифта создайте:
 панель высотой 50, сделайте, чтобы она выравнивалась по нижнему
краю, измените её цвет;
 разделитель высотой 10, сделайте, чтобы он выравнивался по нижнему краю;
 вторую панель, сделайте, чтобы она занимала всю оставшуюся фору.
4
Высокоуровневые методы информатики и программирования
на первой панели графическую кнопку с предопределённым видом
Close.
17. На форме Параметры шрифта на второй панели:
 создайте надпись Цвет шрифта, рядом комбинированный список с
раскрывающим списком, содержащий название шести цветов;
 сделайте так, чтобы шрифт многострочного редактора на форме
Главная принимал выбранный цвет;
 создайте надпись Размер шрифта, рядом счётчик SpinEdit (вкладка
Samples Палитры компонентов). Для него установите:
 минимальное значение – 6;
 максимальное значение – 32;
 начальное значение – 8;
 сделайте чтобы, при изменении значения счётчика соответствующе
изменялся размер шрифта многострочного редактора на форме Главная;
18. Создайте пятую форму размером 400х300, назовите форму AboutForm с
заголовком О программе.
19. На форме О программе:
 создайте фигуру (компонент Shape) в виде прямоугольника с закругленными краями, размером 320х220, измените тип линии и её цвет;
 поверх фигуры создайте надписи, содержащие:
 № лабораторной работы;
 своё Ф.И.О.;
 группу;
 город, год.
 измените размер, цвет и шрифт надписей;
 создайте графическую кнопку с предопределённым видом Ok. Запрограммируйте, чтобы при нажатии кнопки форма закрывалась.
20. На форме Главная сделайте, чтобы при выборе меню:
 Файл / Сохранить открывалась форма Сохранение файла;
 Файл / Загрузить открывалась форма Загрузка файла;
 Шрифт открывалась форма Параметры шрифта;
 О программе открывалась форма О программе;
 Выход программа закрывалась.
21. Сохраните и запустите проект на выполнение.
22. Закройте Delphi.

5
Related documents
Download