Лабораторная работа №3. Стандартные диалоговые компоненты Цель работы: Основные понятия:

реклама
Лабораторная работа №3. Стандартные диалоговые компоненты
Цель работы: Познакомиться возможностями Delphi по организации
взаимодействия программы с пользователем с помощью диалоговых окон.
Основные понятия:
Диалоговые
компоненты
являются
наследниками
класса
TCommonDialog, в котором описан метод Execute, предназначенный для вывода диалогового окна на экран. Во время разработки приложения диалоговые компоненты отображаются на форме в виде пиктограмм, соответствующих им в Палитре компонентов.
Метод Execute является функцией, возвращающей логическое значение,
соответствующее тому, как пользователь завершил работу с диалогом. Значение True возвращается, если пользователь выполнил все необходимые действия, подразумеваемые данным диалоговым окном, и нажал, например, на
кнопку Ок. Значение False возвращается, если пользователь отказался от работы с диалогом.
Необходимо заметить, что внешний вид диалога, вызываемого командой
Execute, формируется не самим диалоговым компонентом, а операционной
системой, вследствие чего существенно зависит от версии и настроек
Windows, в которой выполняется программа.
В Delphi диалоговые компоненты представлены на вкладке Dialogs Палитры компонентов. Их можно условно разделить на четыре групп:
1. Диалоги для работы с файлами:
 OpenDialog – диалог открытия файла:
 SaveDialog – диалог сохранения файла;
 OpenPictureDialog – диалог открытия графического файла;
 SavePictureDialog – диалог сохранения графического файла.
2. Диалоги выбора шрифта и цвета:
 FontDialog – диалог выбора шрифта;
 ColorDialog – диалог выбора цвета.
3. Диалоги настройки параметров печати:
 PrintDialog – диалог выбора принтера;
 PrinterSetupDialog – диалог настройки принтера;
 PageSetupDialog – диалог настройки страницы при печати.
4. Диалоги текстового поиска и замены:
 FindDialog – диалог поиска подстроки;
 ReplaceDialog – диалог замены подстроки.
Все представленные диалоги готовы к работе, не требуют установки дополнительных свойств и вызова каких-либо методов и тесно интегрированы
со средой.
Диалоги для работы с файлами. Все диалоги для работы с файлами
имеют одинаковые свойства. Диалоги для работы с графическими файлами
отличаются от обычных только возможностью просмотра открываемого файла в самом диалоге.
Высокоуровневые методы информатики и программирования
Свойства файловых диалогов:
 InitialDir – определяет каталог, выводимый в окне диалогов при открытие;
 Filter – фильтрация выводимых в окне диалога файлов. Значением
свойства должна являться строка следующего вида:
<Название группы 1>|<Маска 1; ...; Маска N>|...|
<Название группы М>|<Маска 1; ...; Маска К>
Например:
Delphi and Pascal files (*.pas) |*.pas|
C and C++ files (*.c, *.cpp)|*.c; *.cpp
Диалоги выбора шрифта и цвета. В Delphi предусмотрены следующие
диалоговые компоненты для выбора шрифтового и цветового оформления
документов:
Компонент ColorDialog отображает диалоговое окно, в котором пользователь может выбрать один из заданных цветов. Вместо выбора цвета из палитры можно ввести его составляющие на основе одной из двух моделей
представления цвета – RGB или HSB.
При выборе пользователем цвета и нажатии кнопки ОК метод Execute
возвращает значение True, а выбранный цвет заносится в свойство Color комлента.
Диалог выбора шрифта позволяет пользователю указать атрибуты некоторого текстового документа, такие как шрифт, начертание, размер, цвет и
другие.
Диалог тесно интегрирован с операционной системой и самостоятельно
выполняет множество функций, облегчающих работу с ним. Например, список шрифтов, доступных системе, определяется автоматически, а в список
начертаний и размеров выводятся только те, которые поддерживаются
шрифтом, выбранным в списке шрифтов.
В случае выбора пользователем шрифта и нажатия кнопки Ok метод
Execute возвращает значение True и фрагмент программы, вызвавший диалоговое окно, может получить доступ к характеристикам шрифта, установленным пользователем, с помощью свойства Font.
Диалоги настройки параметров печати. Диалоги настройки параметров печати необходимы каждой программе, которая выводит информацию на
принтер. Пользователь, работающий с программой, может иметь доступ к
нескольким принтерам, в том числе и сетевым, поэтому программный продукт должен предложить возможность выбора места назначения документа.
Современные устройства вывода имеют множество настроек, которые
могут изменяться пользователем с помощью программ, поставляемых с такими устройствами. Таким образом, прикладная программа не имеет воз-
2
Высокоуровневые методы информатики и программирования
можности поддержать все функции, реализуемые устройством, и должна использовать стандартные диалоги.
Получение и изменение информации о печатающем устройстве является
достаточно трудоёмкой процедурой, а стандартные системные диалоги, используемые в Delphi-компонентах настройки параметров печати, существенно облегчают процесс построения качественного программного продукта.
Диалоги текстового поиска и замены. Данные диалоги предназначены
для предоставления возможности пользователю быстрого поиска подстроки в
некотором текстовом документе либо её замены на другую подстроку. Сами
диалоги не выполняют таких действий, а представляют собой пользовательский интерфейс, позволяющий указать, какую подстроку следует искать в
документе, на какую строку следует заменить найденное вхождение. Каким
образом использовать информацию, введенную пользователем, решает непосредственно программа, вызвавшая диалог.
Порядок выполнения работы
1. Запустите Delphi. Создайте новый проект.
2. Для формы задайте:
 размер – 600х800;
 минимальный размер – 400х600;
 максимальный размер – 800х1200.
3. Назовите форму MainForm с заголовком Главная.
4. Cохраните проект в папку D:\Users\...\Lab3\... . Главное окно сохраните под
именем MainUnit, а проект под именем WinDialog.
5. На форме создайте:
 первую панель высотой 50, сделайте, чтобы она выравнивалась по верхнему краю окна. Измените цвет панели;
 вторую панель высотой 50, сделайте, чтобы она выравнивалась по нижнему краю окна;
 многострочный редактор, назовите его MainMemo. Сделайте, чтобы он
занимал всю оставшуюся форму;
 диалог открытия файла. Сделайте, чтобы в окне могли отображаться все
файлы и текстовые (txt);
 диалог сохранения файла. Сделайте, чтобы в окне могли отображаться
все файлы и текстовые (txt).
6. На первой пенале создайте 3 кнопок: Открыть, Сохранить и Очистить.
7. Сделаем, чтобы при нажатии на кнопку Открыть выбранный в диалоговом окне файл загружался в многострочный редактор. Для этого в процедуру обработки для кнопки введите код:
If OpenDialog1.Execute
Then MainForm.MainMemo.Lines.LoadFromFile (OpenDialog1.FileName);
3
Высокоуровневые методы информатики и программирования
8. Запрограммируйте кнопку Сохранить, чтобы она позволяла сохранять
информацию из многострочного редактора.
9. Сделайте, чтобы при нажатии на кнопку Очистить удалялось содержимое
многострочного редактора
10. На второй пенале создайте 2 кнопок: Разработчик и Закрыть.
11. Запрограммируйте кнопку Закрыть, чтобы при нажатии на неё окно закрывалось.
12. Создайте вторую форму. Для новой формы:
 задайте размер 300х300;
 назовите её AboutForm с заголовком Разработчик;
 создайте надпись, содержащую ваше Ф.И.О.;
 создайте графическую кнопку с предопределенным видом Ok. Запрограммируйте, чтобы при нажатии кнопки форма закрывалась;
 создайте две кнопки: Шрифт и Цвет;
 создайте диалог выбора шрифта;
 создайте диалог выбора цвета;
 сохраните окно под именем AboutUnit.
13. Запрограммируйте кнопку Шрифт, чтобы она позволяла изменять шрифт
надписи.
14. Запрограммируйте кнопку Цвет, чтобы она позволяла изменять цвет
формы.
15. На форме Главная запрограммируйте кнопку Разработчик, чтобы при
нажатие на неё открывалось соответствующее окно.
4
Скачать