Лабораторная
работа № 1
ИНТЕГРИРОВАННАЯ СРЕДА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ BORLAND DELPHI. РАЗРАБОТКА ПРИЛОЖЕНИЙ
Цель работы: изучение среды Borland Delphi.
Используемые программные средства: Borland Delphi.
Delphi относится к системам визуального
программирования, которые
называются также системами RAD (Rapid Application Development) – быстрая разработка приложений. Для написания программ в Delphi используется разработанный фирмой Borland язык программирования Object Pascal.
Запуск Delphi в среде Windows: Пуск – Программы – Borland Delphi – Delphi.
Интегрированная
среда разработки Delphi представляет собой много- оконную систему. После загрузки интерфейс Delphi имеет 4 окна (рис. 1.1).
При запуске Delphi автоматически
создается новый проект Project1. Название проекта приложения выводится в строке
заголовка главного окна. Delphi является однодокументной средой (позволяет
работать только с одним проектом приложения). В главном окне Delphi отображаются: главное меню, панели инструментов, палитра компонентов. Главное меню содержит
обширный набор команд для доступа к функциям Delphi и предназначено для управления процессом создания
программы. Панели инструментов содержат
набор кнопок для вызова часто используемых команд главного меню. Палитра компонентов содержит наборы
компонентов, размещаемых в создаваемых формах. Компоненты являются структурными единицами и делятся на визуальные и невизуальные. Кроме того, все компоненты делятся на группы, каждая
из которых в палитре компонентов располагается на отдельной вкладке, а сами
компоненты представлены соответствующими пиктограммами. Настройка
Палитры компонентов проводится через пункты Component – Configure Palette
главного меню.
Т ри
Рис. 1.1. Интерфейс Delphi
Для каждого компонента
при создании программы выполняются следующие операции:
– выбор компонента в Палитре
компонентов и размещение его на форме;
– изменение свойств компонента.
Выбор компонента в Палитре
компонентов выполняется щелчком мыши на нужном компоненте. Для выбора
нескольких компонентов перед их выбором в Палитре
компонентов нужно нажать и удерживать клавишу < Shift >. Свойства
компонента представляет собой атрибуты, определяющие способ отображения и
функционирования компонентов при выполнении приложения. В Object Inspector приводятся названия всех свойств компонента,
которые доступны на этапе разработки
программы, и значения,
которые они принимают.
Свойства,
доступные в Object Inspector, также можно изменять и при выполнении
приложения. Основные свойства компонентов приведены в Приложении В.
В окне Конструктора
формы выполняется проектирование
формы, для чего на форму помещаются
необходимые компоненты. По умолчанию
форма имеет имя Form1. Форма
– контейнер, в котором размещаются визуальные и невизуальные
компоненты, при этом сама
форма является компонентом типа TForm.
Некоторые свойства компонента Form приведены в табл. 1.1.
Таблица
1.1
Свойства компонента Form
BorderIcons |
определяет набор кнопок,
которые имеются в полосе заголовка |
biSystemMenu |
кнопка системного меню |
biMinimize |
кнопка Свернуть |
biMaximize |
кнопка Развернуть |
biHelp |
кнопка справки |
BorderStyle |
определяет общий вид
окна и операции с ним, которые разрешено выполнять пользователю |
bsDialog |
неизменяемое по размерам
окно (окна диалогов) |
bsSingle |
окно, размер которого
нельзя изменять, потянув курсором мыши край окна, но можно менять кнопками в
полосе заголовка |
bsNone |
окно без полосы
заголовка, не допускает изменения размера и перемещения по экрану |
bsSizeable |
обычный вид окна Windows |
bsToolWindow |
то же, что и bsSingle, но с полосой заголовка
меньшего размера |
bsSizeToolWin |
то же,
что и bsSizeable, но с
полосой заголовка меньшего размера и отсутствием кнопок изменения размера |
Caption |
содержит строку для
надписи заголовка |
FormStyle |
стиль формы |
Position |
положение окна приложения |
poDefault |
определяется Windows |
poDesigned |
определятся разработчиком |
poScreenCenter |
по центру экрана |
WindowState |
определяет вид, в
котором окно первоначально предъявляется пользователю при выполнении приложения |
wsMaximized |
окно развернуто на весь экран |
wsMinimized |
окно свернуто |
wsNormal |
нормальный вид окна |
В окне Редактора кода содержится исходный
текст разрабатываемой программы. Первоначально в нем имеется одна страница Unit1.pas кода для новой формы Form1.
Переключение между окнами Конструктора
формы и Редактора кода выполняется
с помощью функциональной клавиши F12 или нажатием кнопки
на Панели инструментов.
Окно Object Inspector (Инспектора объектов) предназначено для задания и
отображения свойств
компонентов, расположенных на форме, на этапе
разработки программы. Окно Object Inspector имеет две страницы
(вкладки): Properties (свойства) для изменения
свойств выбранных компонентов, и Events (события) для определения реакции компонента на то или иное событие. Окно Object Inspector можно отобразить/спрятать с помощью нажатия функциональной клавиши F11.
Приложение
(программа), создаваемое в среде Delphi , состоит из нескольких элементов (файлов),
объединенных в проект (табл. 1.2).
Таблица 1.2
Название файлов |
Расширения
файлов |
файл проекта |
*.dpr |
файлы описания форм |
*.dfm |
файлы модулей форм |
*.pas |
файлы модулей (без формы) |
*.pas |
файл параметров проекта |
*.opt |
файл ресурсов |
*.res |
Кроме приведенных
файлов, автоматически могут создаваться
их резервные копии, отличительным
признаком которых является наличие знака " ~" в расширении файла, например, *.~ dp – резервная
копия для dpr-файлов. Взаимосвязи между файлами проекта показаны на рис. 1.2.
Файл проекта является основным и представляет собой собственно программу. Имя проекта
совпадает с именем файла проекта, то же название имеют файлы ресурсов и параметров проекта.
Файл проекта формируется Delphi
автоматически.
Файл описания формы содержит
характеристики формы и ее компонентов. Для каждой формы в составе проекта
автоматически создаются файл описания формы (расширение .dfm) и файл модуля (расширение .pas). При конструировании формы с помощью Конструктора формы и Object Inspector изменения в файл описания вносятся автоматически.
Т БН ий ор
Рис. 1.2.
Взаимосвязи между файлами проекта
Кроме модулей,
входящих в состав форм, можно использовать модули, не связанные ни с какой
формой. Они оформляются по обычным правилам Object Pascal и сохраняются в отдельных файлах. Для подключения
модуля его имя указывается в разделе Uses того модуля или проекта, в котором он используется. В отдельных модулях
целесообразно размещать процедуры, функции,
переменные и т.д., общие для нескольких модулей проекта. В файле ресурсов содержатся пиктограммы,
растровые изображения и курсоры, которые являются ресурсами Windows. Файл параметров проекта представляет
собой текстовый файл, в котором располагаются параметры проекта и их значения.
Запуск проекта из
среды Delphi осуществляется командами меню Run – Run или нажатием
функциональной клавиши F9 или
нажатием кнопки на Палитре инструментов. При этом происходит компиляция проекта и создается
готовый к выполнению файл с расширением
.exe.
Для создания нового
проекта из среды Delphi надо выполнить команду главного
меню File – New Application.
Чтобы сохранить
текущий проект, надо
выполнить команду главного меню File – Save all. Если до сохранения проекту не было присвоено имя, то в открывшемся диалоговом окне будет предложено
сохранить файл с исходным текстом (по умолчанию Unit1.pas) (нажать кнопку Сохранить), а затем
сохранить файл проекта (по умолчанию Project1.dpr) (нажать кнопку Сохранить). В этом же каталоге после компиляции будет
сохранено и само приложение (расширение
файла .exe). Имя файла приложения совпадает с именем файла проекта.
Для открытия
проекта надо выполнить команду главного меню File – Open Project , в диалоговом окне выбрать имя
проекта и нажать кнопку Открыть.
Разработка приложений в Delphi . Понятие событий
Разработка приложений в Delphi состоит из двух
этапов:
–
создание интерфейса приложения;
–
определение функциональности приложения.
Интерфейс приложения определяет способ взаимодействия пользователя и
приложения, т.е. внешний вид формы при выполнении приложения и то, каким
образом пользователь управляет приложением. Интерфейс создается путем
размещения в форме компонентов. Функциональность
приложения определяется процедурами, которые выполняются при возникновении
определенных событий.
Простейшее приложение представляет собой каркас (заготовку),
обеспечивающее все необходимое для каждого приложения, и является равноправным
приложением Windows .
Операционная
система Windows работает по принципу обработки
возникающих в ней событий: щелчок мыши
на кнопке, выбор пункта меню, нажатие клавиши, изменение размеров окна – и передает их
выполняющейся программе. Обычно
программа ожидает сообщений о событиях и реагирует на них. Сообщения обрабатываются программой не
одновременно, а
последовательно. Программа в
среде Delphi составляется как описание
алгоритмов, которые надо
выполнить при возникновении какого-либо события для активного приложения (открытие формы, щелчок мыши
на компоненте, нажатие
клавиши на клавиатуре, и т.д.):
·
onClick – событие
нажатия, возникающее при щелчке (левой) кнопкой мыши на компоненте или при
других способах нажатия на управляющий элемент;
· onMouseDown – событие, возникающее при нажатии любой кнопки мыши;
· onMouseUp – событие, возникающее при отпускании кнопки мыши;
·
onDblClick – событие,
возникающее при двойном нажатии (левой) кнопки мыши;
· onKeyDown – событие, возникающее при нажатии клавиши на клавиатуре;
· onKeyUp – событие, возникающее при отпускании клавиши на клавиатуре;
· onCreate – событие, возникающее один раз при создании формы;
· onClose – событие, возникающее при закрытии формы.
Обработчик событий
для компонента выбирается в Object Inspector во вкладке Events или двойным щелчком левой
кнопки мыши на этом компоненте.
С помощью Delphi можно создавать программы в стиле операционной
системы MSDOS, так называемые консольные
приложения. Запуск Delphi в режиме консольного приложения приведен в Приложении Г.
1.2. Порядок выполнения работы
Изучить структуру интегрированной среды Delphi, свойства основного
компонента Form и выполнить контрольные примеры.
Контрольный
пример 1.1
Создать
простейшее приложение Windows на основе
компонента Form.
Изучить основные свойства этого компонента.
Решение
1.
Открыть
новый проект Delphi: File – New Application.
2.
В Object Inspector изменить свойство Caption компонента Form1 с 'Form1' на
'Простейшее приложение'.
3.
Запустить проект на
компиляцию и выполнение с помощью клавиши F9 .
4.
Закрыть приложение, нажав
на значок .
5.
C помощью Object Inspector для компонента Form1 изменить свойство Color,
задавая ему различные значения, например clRed, clBlue и т.д.
6.
Изменить
свойства Height и Width компонента Form1,
задавая этим свойствам различные значения, например:
Height =
480, 350, 130;
Width =
120, 200, 400.
7.
Задавая
различные значения свойствам BorderIcons и BorderStyle, запустить проект на компиляцию и выполнение
и проанализировать изменения во внешнем виде окна приложения, например:
BorderStyle
= bsSizeable, bsSingle, bsDialog, bsToolWindow; BorderIcons:
biSystemMenu
= true, false; biMinimize = = true, false; biMaximize = true, false;
8.
Аналогично,
изменяя свойства FormStyle , Position и WindowState , запустить проект на выполнение и
проанализировать изменения во внешнем виде окна приложения, например:
FormStyle = fsNormal, fsStayOnTop
Position
= poDefault, poDesigned, poScreenCenter WindowState = wsNormal, wsMaximized
Контрольный пример 1.2
Составить программу для вычисления площади круга произвольного радиуса.
Решение
1.
Открыть
новый проект Delphi: File – New Application.
2. Поместить на форму четыре компонента: Label1, Label2, Edit1 и Button1
(рис. 1.3).
Рис. 1.3. Вид формы для контрольного примера 1.2
При помещении
компонентов на форму можно сразу же задавать их размеры. Для этого после выбора
компонента в Палитре компонентов следует
указать на форме прямоугольную область, которую займет компонент. Левый угол
области определяется щелчком левой клавиши мыши, затем, не отпуская клавиши
мыши, нужно переместить указатель мыши в правый нижний угол области.
3.
В Object Inspector изменить свойство Caption компонента
Form1 с 'Form1'
на «Вычисление площади круга».
4.
Изменить
размеры формы. Для этого можно подвести курсор мыши к любому краю формы и, не
отпуская левой клавиши мыши, изменить размеры формы. При этом автоматически
будут изменяться свойства Height (Высота) и Width (Ширина),
находящиеся в Инспекторе объектов. Положить указанные свойства равными
соответственно 350 и 400 (пикселей).
Свойства Left и Top задают расстояние от левого верхнего угла монитора
до левого верхнего угла формы соответственно. Установить их значения равными
300 и 200 (пикселей) соответственно. В результате
форма будет находиться примерно на середине
экрана.
5. Установить следующие свойства компонентов Label1 и Label2:
|
Label1 |
Label2 |
Height |
57 |
Любое число |
Width |
129 |
Любое число |
Left |
131 |
100 |
Top |
34 |
218 |
Как и для формы, эти
значения можно установить, перемещая компоненты
по форме и изменяя их размеры при помощи мыши, либо прибегнув к помощи Инспектора объектов. Кроме того, можно
воспользоваться панелью инструментов Align.
Свойство Caption является главным для метки и содержит отображаемый
ею текст. Для метки Label1 установить свойство Caption равным «Введите радиус круга и нажмите кнопку
Счет». Для метки Label2 свойство Caption будет определяться на этапе выполнения программы.
Свойство AutoSize метки определяет, будет ли размер метки
устанавливать автоматически, в зависимости от длины символьной строки,
помещенной туда.
Свойство WordWrap (Перенос слов)
разрешает, либо запрещает перенос слов, если строка не помещается в метку и свойство
AutoSize равно False.
Свойство Aligment (Выравнивание) определяет, как будет выровнен текст внутри метки: по левому краю, по
центру или по правому краю.
|
Label1 |
Label2 |
AutoSize |
False |
True |
WordWrap |
True |
False |
Aligment |
taCenter |
taLeftJustify |
Для того чтобы
установить характеристики шрифта, выбрать свойство Font в Инспекторе
объектов. Щелкнуть по кнопке с тремя точками, появившейся в правой колонке. На
экране появится окно «Выбор шрифта».
При помощи этого
окна установить следующие характеристики шрифтов для меток Label1 и Label2:
|
Label1 |
Label2 |
Шрифт |
Times
New Roman |
Arial |
Начертание |
Полужирный |
Курсив |
Размер |
10 |
11 |
6. Установить в Инспекторе
объектов для компонентов
Edit1 и Button1
следующие значения свойств Height, Width, Left и Top:
|
Edit1 |
Button1 |
Height |
21 |
25 |
Width |
193 |
75 |
Left |
31 |
285 |
Top |
146 |
146 |
Свойство Text является
основным для компонента Edit1 и предназначено
для ввода (или вывода) символьных строк. Задать в качестве значения этого
свойства пустую строку.
Для компонента Button1 в качестве
значения свойства Caption положить символьную строку Счет.
7.
Все
использующиеся в программе компоненты обладают именами, задаваемыми в имеющемся
у них свойстве Name (Имя). Имена
компонентов генерируются автоматически интегрированной средой Delphi при создании компонента, например при размещении
компонента на форме. Для образования имени компонента используется имя класса с
отброшенной первой буквой Т. В конце имени добавляется цифра, указывающая
под каким порядковым номером в своем классе появился на свет компонент.
8.
Чтобы
создать заготовку обработчика события OnClick, необходимо выполнить двойной щелчок мышью по
кнопке Button1. В
результате окно редактора кода станет активным и будет содержать заготовку
обработчика события.
Добавить в заготовку код для вычсления площади круга:
procedure
TForm1.Button1Click(Sender: TObject); var r,s:real;
begin r:=StrToFloat(Edit1.Text); s:=pi*sqr(r);
Label2.Caption:='Площадь
круга равна' + FloatToStrF(s,ffGeneral,7,2);
end;
9.
Перед запуском программы ее необходимо сохранить. Для
этого выполнить команду главного меню: File – Save All.
10.
Сохранив
проект, запустить его на выполнение. В случае отсутствия ошибок, на экране
монитора появится окно программы (рис. 1.4).
Рис. 1.4. Результат выполнения программы для
контрольного примера 1.2