КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Лекция 10. Основы визуального программирования
Формы Основы визуального программирования Лекция 9 Формы представляют собой стандартные окна Windows, содержащие элементы управления, и являются основой визуального интерфейса программы. Например, если создать новую форму и вставить на нее поле ввода и кнопку, то результат будет выглядеть следующим образом: В Delphi пользовательские формы всегда наследуются от базового класса TForm и выполняется в виде отдельного модуля, в котором в разделе интерфейса находится описание класса формы, а в разделе реализации методы обработки событий от элементов этой формы. Для приведенного примера формы будет создан модуль с именем Unit1, который будет находится в файле Unit1. pas. Этот модуль будет описывать класс пользовательской формы TFrom1. Модуль Unit1.pas UNIT Unit1; INTERFACE USES Windows,Messages,...; TYPE TForm1=CLASS(TForm) Edit1:TEdit; Button1:TButton; PROCEDURE Button1Click(Sender:TObject); VAR Form1:TForm1; IMPLEMENTATION PROCEDURE TForm1.Button1Click(Sender:TObject); BEGIN Close(); { Если нажать на кнопку Button1, END; END.
Класс TForm является базовым для всех пользовательских форм и содержит большое количество свойств, методов и событий. В дальнейшем для всех рассматриваемых элементов интерфейса будем приводить только основные свойства, необходимые для работы с этими элементами. Для форм основные свойства и методы представлены в следующей таблице.
В программе может быть создано несколько форм. При этом только одна из них будет являться главной (основной). Основная форма программы будет автоматически показана на экране при запуске, остальные формы будут созданы в памяти, но не будут автоматически выведены на экран. Чтобы отобразить их необходимо использовать процедуру Show (например, Form2. Show). Закрытие форм, как и любых окон Windows, может производиться с помощью мыши путем нажатия кнопки с изображением крестика в правом верхнем углу окна формы, с помощью клавиатуры нажатием сочетания клавиш Alt - F4, либо программным способом при помощи вызова процедуры Close. Закрытие окна основной формы (любым из описанных способов) приводит к завершению выполнения программы. Закрытие любой другой формы программы приводит только к скрытию формы с экрана (как при использовании процедуры Hide). Позже ее снова можно отобразить на экране с использованием процедуры Show.
9.2. Элемент управления «Поле ввода» Элемент управления «Поле ввода» находится на вкладке «Стандартные» («Standard») панели элементов и обозначается пиктограммой Поля ввода используются для ввода с клавиатуры строковых значений. Если проводить аналогию с рассмотренным для консольных приложений оператором ввода, то использование этого элемента аналогично оператору Readln (S), где S – строковая переменная типа STRING. Однако если в консольных приложениях данные вводились строго в определенном порядке (в порядке вызова соответствующих операторов ввода), то при использовании полей ввода на форме данные в них можно вводить в любом порядке совершенно независимо, а потом производить их обработку, например при нажатии на кнопку. Полям ввода в Delphi соответствует класс TEdit, который содержит следующие основные свойства:
Пример использования полей ввода в программе будет приведен ниже. Значение основных свойств формы, а также элемента управления «Поле ввода» проиллюстрировано на следующем рисунке. Свойства формы, как и свойства других элементов, задаются на вкладке «Свойства» в панели «Инспектор объектов»: 9.3. Элемент управления «Кнопка» Элемент управления «Кнопка» также находится на вкладке «Стандартные» панели элементов и обозначается пиктограммой Пользователь использует кнопки для выполнения определенных действий. Например, после ввода данных, пользователь нажимает на кнопку «Расчет». При этом в программе выполняется процедура, производящая соответствующие расчеты. Кнопки описываются при помощи класса TButton, который кроме свойств содержит также одно важное событие, вызываемое при нажатии на кнопку.
События для элементов можно задать на вкладке «События» панели «Инспектор объектов». Процедура обработки события автоматически описывается в классе формы и разделе реализации модуля. В ранее рассмотренном примере в классе TFrom1 нажатие кнопки обрабатывается процедурой Процедуры обработки событий, задаются на вкладке «События» в панели «Инспектор объектов»: Для примера перепишем рассмотренную ранее в классе TForm1 процедуру обработки события нажатия кнопки Button1Click для иллюстрации работы кнопок и полей ввода на примере расчета степени числа e. Значение степени должно будет вводиться в поле Edit1. При нажатии на кнопку Button1 будет производиться расчет и выдача на экран соответствующего сообщения. В следующей программе используются функции StrToFloat и Текст программы PROCEDURE TForm1.Button1Click(Sender:TObject); VAR Power,Result:Real; BEGIN { Преобразование введенного в поле Edit1 текста в вещественное число } Power:=StrToFloat(Edit1.Text); Result:=Exp(Power); { Расчет результата } { Вывод на экран сообщения } ShowMessage('e^'+FloatToStr(Power)+'='+ FloatToStr(Result)); END;
Если, например, ввести в поле Edit1 значение 1 и нажать на кнопку Button1, то на экран будет выдано следующее сообщение: Вещественные числа для функции StrToFloat должны задаваться через запятую (а не через точку, как обычно). При попытке преобразовать с помощью функции StrToFloat строку, которая не содержит правильного представления вещественного числа, будет выдано сообщение об ошибке, но выполнение программы продолжится.
9.4. Элемент «Метка» Метки используются для отображения текстовых надписей на форме. На вкладке «Стандартные» панели элементов метки обозначены пиктограммой Метки описываются при помощи класса TLabel и имеют следующие основные свойства:
9.5. Элемент «Группа переключателей» Группы переключателей предназначены для выбора одного из нескольких вариантов действий. Их можно применять вместо экранных меню, которые использовались ранее в консольных приложениях. На вкладке «Стандартные» панели элементов группы переключателей обозначены пиктограммой Группы переключателей описываются при помощи класса
Для задания списка вариантов необходимо на вкладке свойств инспектора объектов нажать на кнопку с изображением многоточия, появляющуюся при выборе свойства Items: Для примера рассмотрим форму, на которую вставлены два компонента: группа переключателей и кнопка. В группе переключателей зададим список из трех вариантов. В результате форма будет иметь следующий вид: Модуль Unit1. pas UNIT Unit1; INTERFACE USES Windows,Messages,SysUtils,Classes,Controls,...; TYPE TForm1=CLASS(TForm) RadioGroup1:TRadioGroup; Button1:TButton; PROCEDURE Button1Click(Sender:TObject); END; VAR Form1:TForm1; IMPLEMENTATION PROCEDURE TForm1.Button1Click(Sender:TObject); BEGIN CASE RadioGroup1.ItemIndex OF 0:ShowMessage('Выбран вариант 1'); 1:ShowMessage('Выбран вариант 2'); 2:ShowMessage('Выбран вариант 3'); END; END; END.
Если в списке «RadioGroup1» выбрать некоторый вариант и нажать кнопку «Button1», будет выдано сообщение о выборе соответствующего варианта.
Дата добавления: 2014-01-05; Просмотров: 449; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |