ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Структура программного модуляОсновы визуального программирования Программные модули (или библиотеки) являются еще одним из средств логического структурирования программы. Текст программы для удобства может быть разделен на отдельные модули. Также часть сравнительно независимых и общих по смыслу процедур, функций, объектов или других элементов нескольких программ может быть вынесена в библиотеку, выполненную в виде независимого программного модуля. В последствии одни и те же библиотеки и модули могут использоваться в различных программах. Программный модуль – это отдельный файл с расширением PAS. Структура программного модуля UNIT <Имя модуля>; INTERFACE [USES <Список библиотек>;] <Описательная часть интерфейса>
IMPLEMENTATION [USES <Список библиотек>;] <Описательная часть раздела реализации>
[BEGIN <Исполнительная часть>] END.
В описательной части интерфейса находятся описания общих типов данных, классов, переменных, констант, а также заголовков общих процедур и функций, которые будут доступны любой программе, подключившей данный модуль. Сами процедуры и функции, раскрываются в разделе реализации. Все остальные данные, описанные в разделе реализации, являются локальными для модуля и не будут доступны внешним программам подключившим его. Если присутствует исполнительная часть, то она будет выполнена в момент подключения модуля внешней программой для инициализации описанных в модуле данных, если таковая необходима.
Формы Формы представляют собой стандартные окна 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.
Элемент управления «Поле ввода» Элемент управления «Поле ввода» находится на вкладке «Стандартные» («Standard») панели элементов и обозначается пиктограммой Поля ввода используются для ввода с клавиатуры строковых значений. Если проводить аналогию с рассмотренным для консольных приложений оператором ввода, то использование этого элемента аналогично оператору Readln (S), где S – строковая переменная типа STRING. Однако если в консольных приложениях данные вводились строго в определенном порядке (в порядке вызова соответствующих операторов ввода), то при использовании полей ввода на форме данные в них можно вводить в любом порядке совершенно независимо, а потом производить их обработку, например при нажатии на кнопку. Полям ввода в Delphi соответствует класс TEdit, который содержит следующие основные свойства:
Пример использования полей ввода в программе будет приведен ниже. Значение основных свойств формы, а также элемента управления «Поле ввода» проиллюстрировано на следующем рисунке. Свойства формы, как и свойства других элементов, задаются на вкладке «Свойства» в панели «Инспектор объектов»: Элемент управления «Кнопка» Элемент управления «Кнопка» также находится на вкладке «Стандартные» панели элементов и обозначается пиктограммой Пользователь использует кнопки для выполнения определенных действий. Например, после ввода данных, пользователь нажимает на кнопку «Расчет». При этом в программе выполняется процедура, производящая соответствующие расчеты. Кнопки описываются при помощи класса TButton, который кроме свойств содержит также одно важное событие, вызываемое при нажатии на кнопку.
События для элементов можно задать на вкладке «События» панели «Инспектор объектов». Процедура обработки события автоматически описывается в классе формы и разделе реализации модуля. В ранее рассмотренном примере в классе TFrom1 нажатие кнопки обрабатывается процедурой Button1Click. Процедуры обработки событий, задаются на вкладке «События» в панели «Инспектор объектов»: Для примера перепишем рассмотренную ранее в классе TForm1 процедуру обработки события нажатия кнопки Button1Click для иллюстрации работы кнопок и полей ввода на примере расчета степени числа e. Значение степени должно будет вводиться в поле Edit1. При нажатии на кнопку Button1 будет производиться расчет и выдача на экран соответствующего сообщения. В следующей программе используются функции StrToFloat и FloatToStr для преобразования введенного строкового значения в вещественное число и наоборот, некоторого рассчитанного значения в строку для показа результата. Также используется процедура ShowMessage для вывода на экран сообщения. Текст программы 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 строку, которая не содержит правильного представления вещественного числа, будет выдано сообщение об ошибке, но выполнение программы продолжится.
Элемент «Метка» Метки используются для отображения текстовых надписей на форме. На вкладке «Стандартные» панели элементов метки обозначены пиктограммой Метки описываются при помощи класса TLabel и имеют следующие основные свойства:
Элемент «Группа переключателей» Группы переключателей предназначены для выбора одного из нескольких вариантов действий. Их можно применять вместо экранных меню, которые использовались ранее в консольных приложениях. На вкладке «Стандартные» панели элементов группы переключателей обозначены пиктограммой Группы переключателей описываются при помощи класса TRadioGroup, основные свойства которого приведены в следующей таблице:
Для задания списка вариантов необходимо на вкладке свойств инспектора объектов нажать на кнопку с изображением многоточия, появляющуюся при выборе свойства 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», будет выдано сообщение о выборе соответствующего варианта.
Не нашли, что искали? Воспользуйтесь поиском:
|