Решение
Приведем пошаговое описание процесса создания оконного приложения.
1. Прежде всего нужно создать новую папку, в которую вы поместите все файлы, входящие в проект. В дальнейшем всегда будем создавать отдельную папку для каждого нового проекта. Заметим, что создать новую папку можно также и в момент сохранения файлов, входящих в проект, используя кнопку Создание новой папки, имеющуюся в диалоговом окне сохранения файлов.
2. Для создания нового проекта можно воспользоваться командой главного меню File New Application либо, если вы только что загрузили среду Delphi, можно, сразу приступать к созданию нового проекта.
3. Из страницы Standard Палитры Компонентов поместим на форму Form1 девять компонент: Labell, Label2, Label3, Label4, Edit1, Edit2, Button1, Button2, Button3 (см. рис. 3).
При помещении компонентов на форму можно сразу же задавать их размеры. Для этого после выбора компонента в Палитре Компонентов следует указать на форме прямоугольную область, которую займет компонент. Левый верхний угол области определяется щелчком левой клавиши мыши, затем, не отпуская клавиши мыши, нужно переместить указатель мыши в правый нижний угол области.
Рис.3. Расположение компонентов
Label1, Label2, Label3, Label4 – метки – компоненты, предназначенные для отображения текстовой информации. Отображаемый ими текст может быть размещен в них как на этапе конструирования формы, так и на этапе выполнения программы. В метку Label1 мы поместим текст «Расчет выражения», в метку Label2 – "Ввод х", в метку Label3 – "Ввод у", а в метку Label4 на этапе выполнения программы будем помещать вычисленное значение функции.
Edit1, Edit2 – строки ввода – компоненты, предназначенные для ввода символьной строки. При помощи этого компонента, мы будем вводить значение радиуса. Поскольку данные будут вводится в виде символьной строки, в программе необходимо предусмотреть преобразование строки в вещественное число.
Button1, Button2, Button3 – кнопки – компоненты, предназначенные для формирования события при нажатии на них. В нашей программе при нажатии на кнопку Button1 будет происходить вычисление значения функции; при нажатии на Button2 – будет производится очистка компонент Edit1, Edit2, для задании новых значений х и у; при нажатии на Button3 – будет производится завершение работы программы.
4. Перейдем к формированию внешнего вида нашей будущей программы. Для этого используя Инспектор Объектов, установим свойства формы и расположенных на ней компонентов. Начнем с формы.
Сделаем форму активной, щелкнув мышью по любому ее месту, не занятому другими компонентами. В дальнейшем всегда будем подразумевать, что, изменяя свойства того или иного компонента в Инспекторе Объектов, мы предварительно выделили его мышью.
Выберем в Инспекторе Объектов свойство Caption (Заголовок) и вместо текста «Form1» введем текст «Лабораторная работа №1». Таким образом мы изменим заголовок нашей формы.
Изменим размеры формы и, следовательно, окна будущей программы. Для этого можно подвести курсор мыши к любому краю формы (курсор при этом примет вид двунаправленной стрелки) и, не отпуская левой клавиши мыши, изменить формы. При этом автоматически будут изменяться свойства Height (Высота) и Width (Ширина), находящиеся в Инспекторе Объектов. Это означает, что мы моглибы бы изменить размеры формы, указав значения свойств Height и Width непосредственно в Инспекторе Объектов. Но, с другой стороны, преимущество визуального программирования как раз и заключается в том, чтобы непосредственно наблюдать за процессом проектирования формы.
Используя любой из указанных приемов, положим свойства Height и Width формы равными соответственно 480 и 600 (пикселей).
Свойства Left и Тор задают расстояние от левого верхнего угла экрана дисплея до левого верхнего угла формы по горизонтали и вертикали соответственно. Установим их значения равными 250 и 200 (пикселей) соответственно. Для этого мы можем воспользоваться Инспектором Объектов либо перемещать форму, ухватившись мышью за ее заголовок. В результате наша форма будет находиться приблизительно на середине экрана.
5. Установим свойства компонентов Labell, Label2, Label3 и Label4. Компоненты Labell, Label2, Label3 и Label4 также имеют свойства Height, Width, Left и Top. Но, в отличии от формы, свойства Left и Тор указывают расстояние от левого угла формы, на которой располагается компонент, до левого верхнего угла самого компонента. Приведем значения этих свойств для компонентов Labell, Label2, Label3 и Label4:
|
Label1 |
Label2 |
Label3 |
Label4 |
Height |
50 |
25 |
25 |
50 |
Width |
150 |
100 |
100 |
150 |
Left |
200 |
80 |
80 |
50 |
Top |
25 |
106 |
156 |
260 |
Свойство Caption является основным для метки и содержит отображаемый ею текст. Для метки Label1 установим свойство Caption равным Расчет выражения. Для метки Label2 свойство Caption – Ввод х, для метки Label3 – Ввод у, а для метки Label4 свойство Caption – будет определятся на этапе выполнения программы.
Свойство AutoSize метки определяет, будет ли размер метки устанавливаться автоматически, в зависимости от длины символьной строки, помещенной туда. Если да, то свойство AutoSize следует установить равным True, в противном случае – False.
Свойство WordWrap (Перенос слов) разрешает либо запрещает перенос слов если строка не помещается в метку и свойство AutoSize равно False. В первом случае свойство WordWrap должно быть установлено равным True, во втором – False.
Свойство Alignment (Выравнивание) определяет, как будет выровнен текст внутри метки: по левому краю, по центру или по правому краю.
Приведем значения этих свойств для меток Label1, Label2, Label3 и Label4:
|
Label1 |
Label2 |
Label3 |
Label4 |
AutoSize |
True |
True |
True |
False |
WordWrap |
False |
False |
False |
True |
Aligment |
taCenter |
taleftJustify |
taleftJustify |
taleftJustify |
Как было сказано выше, символьная строка будет присваиваться свойству Caption метки Label2 на этапе выполнения программы, а сейчас для улучшения внешнего вида будущей программы можно для свойства Caption удалить значение Label4 и в качестве значения присвоить символьную строку, содержащую несколько пробелов – , чтобы компонент Label4 был лучше виден на форме.
Свойство Font является сложным свойством и определяет различные характеристики, описывающие шрифт, используемый при отображении текстов, например высоту шрифта, его имя, начертание и т.д. Для того чтобы установить характеристики шрифта, выберем щелчком мыши свойство Font в Инспекторе Объектов и щелкнем по кнопке с тремя точками, появившейся в правой колонке – . На экране появится окно Выбор шрифта.
При помощи этого окна установим следующие характеристики шрифтов для меток Labell, Label2, Label3 и Label4:
|
Label1 |
Label2 |
Label3 |
Label4 |
Шрифт |
Arial |
Times New Roman |
Times New Roman |
Times New Roman |
Начертание |
Полужирный |
Обычный |
Обычный |
Обычный |
Размер |
16 |
14 |
14 |
14 |
Заметим, что после изменения характеристик шрифтов для меток Labell, Label2, Label3 и Label4 имеющееся у них свойство ParentFont поменяло свое значение с True на False. Свойство ParentFont определяет, будет ли для данного компонента использоваться шрифт (свойство Font) родительского компонента-контейнера. Для рассматриваемых компонентов родительским компонентом является форма, содержащая их. Если свойство ParentFont компонента равно True, то в компоненте используется шрифт, характеристики которого заданы в компоненте–родителе. В противном случае родительский и дочерний компоненты имеют разные характеристики своих шрифтов.
6. Свойства Height, Width, Left и Top для компонентов Edit1, Edit2 имеют тот же смысл, что и для компонентов Labell, Label2, Label3 и Label4. Приведем значения этих свойств для компонентов Edit1, Edit2:
|
Edit1 |
Edit2 |
Height |
30 |
30 |
Width |
200 |
200 |
Left |
220 |
220 |
Top |
100 |
150 |
Свойство AutoSize, имеющееся у компонентов Edit1, Edit2, определяет, будет ли строка ввода увеличивать свою высоту, если изменится высота шрифта у текста, размещенного в компоненте. Если мы хотим, чтобы строка ввода автоматически увеличивалась, значение свойства следует положить равным True, в противном случае — False. В нашем примере оставим для определенности значение, заданное по умолчанию – True.
Свойство Text является основным для компонентов Edit1, Edit2 и предназначено для ввода (или реже – для вывода) символьных строк. По умолчанию значением этого свойства являются имена компонентов – Edit1, Edit2, но для улучшения внешнего вида программы зададим в качестве значения этого свойства пустую строку – один пробел.
Установим следующие характеристики шрифтов для компонентов Editl и Edit2:
|
Editl1 |
Edit2 |
Шрифт |
Times New Roman |
Times New Roman |
Начертание |
Обычный |
Обычный |
Размер |
14 |
14 |