русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Формы

Формы представляют собой стандартные окна 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);
END;

VAR

Form1:TForm1;

IMPLEMENTATION

PROCEDURE TForm1.Button1Click(Sender:TObject);

BEGIN

Close(); { Если нажать на кнопку Button1,
форма будет закрыта }

END;

END.

Класс TForm является базовым для всех пользовательских форм и содержит большое количество свойств, методов и событий. В дальнейшем для всех рассматриваемых элементов интерфейса будем приводить только основные свойства, необходимые для работы с этими элементами. Для форм основные свойства и методы представлены в следующей таблице.

Свойство или метод Значение
Свойство Name Определено для любого визуального элемента (формы, элементов управления и т.д.) и задает его имя, которое будет использоваться в программе для доступа к этому элементу. В вышеприведенном примере созданная форма имеет имя 'Form1'. Из этого имени конструируется имя класса (TForm1), и описывается в разделе интерфейса глобальная переменная (Form1), с помощью которой в дальнейшем производится доступ к форме
Свойства Left и Top Также для любого визуального объекта. Для формы задают положение (в пикселях) левого верхнего угла окна формы на экране
Свойства Width и Height Задают соответственно ширину и высоту (в пикселях) окна формы
Свойство Caption Заголовок окна формы, выводимый на экран
Процедура Show Показывает форму на экране. Основная форма программы показывается автоматически
Процедура Hide Скрывает форму, временно убирая ее с экрана
Процедура Close Закрывает форму. Если закрыть основную форму программы, то ее выполнение будет завершено

В программе может быть создано несколько форм. При этом только одна из них будет являться главной (основной). Основная форма программы будет автоматически показана на экране при запуске, остальные формы будут созданы в памяти, но не будут автоматически выведены на экран. Чтобы отобразить их необходимо использовать процедуру Show (например, Form2.Show). Закрытие форм, как и любых окон Windows, может производиться с помощью мыши путем нажатия кнопки с изображением крестика в правом верхнем углу окна формы, с помощью клавиатуры нажатием сочетания клавиш Alt-F4, либо программным способом при помощи вызова процедуры Close. Закрытие окна основной формы (любым из описанных способов) приводит к завершению выполнения программы. Закрытие любой другой формы программы приводит только к скрытию формы с экрана (как при использовании процедуры Hide). Позже ее снова можно отобразить на экране с использованием процедуры Show.

9.2. Элемент управления «Поле ввода»

Элемент управления «Поле ввода» находится на вкладке «Стандартные» («Standard») панели элементов и обозначается пиктограммой

Поля ввода используются для ввода с клавиатуры строковых значений. Если проводить аналогию с рассмотренным для консольных приложений оператором ввода, то использование этого элемента аналогично оператору Readln(S), где S – строковая переменная типа STRING. Однако если в консольных приложениях данные вводились строго в определенном порядке (в порядке вызова соответствующих операторов ввода), то при использовании полей ввода на форме данные в них можно вводить в любом порядке совершенно независимо, а потом производить их обработку, например при нажатии на кнопку.

Полям ввода в Delphi соответствует класс TEdit, который содержит следующие основные свойства:

Свойство Значение
Name Как и для любого визуального элемента, задает имя, которое используется в программе для доступа к этому элементу. Например, в приведенном ранее классе формы TForm1 поле ввода с именем 'Edit1' описано как переменная типа TEdit
Left и Top Положение левого верхнего угла поля ввода (в пикселях) относительно левого верхнего угла элемента, в который он вставлен (например, формы)
Width и Height Ширина и высота (в пикселях) поля ввода
Text Строковое значение, введенное в данное поле

Пример использования полей ввода в программе будет приведен ниже.

Значение основных свойств формы, а также элемента управления «Поле ввода» проиллюстрировано на следующем рисунке.

Свойства формы, как и свойства других элементов, задаются на вкладке «Свойства» в панели «Инспектор объектов»:

9.3. Элемент управления «Кнопка»

Элемент управления «Кнопка» также находится на вкладке «Стандартные» панели элементов и обозначается пиктограммой

Пользователь использует кнопки для выполнения определенных действий. Например, после ввода данных, пользователь нажимает на кнопку «Расчет». При этом в программе выполняется процедура, производящая соответствующие расчеты. Кнопки описываются при помощи класса TButton, который кроме свойств содержит также одно важное событие, вызываемое при нажатии на кнопку.

Свойство или событие Значение
Свойство Name Имя элемента в программе
Свойства Left и Top Положение кнопки
Свойства Width и Height Ширина и высота кнопки
Свойство Caption Текст, который будет изображен на кнопке
Событие OnClick Задает процедуру обработки события, возникающего при нажатии на кнопку

События для элементов можно задать на вкладке «События» панели «Инспектор объектов». Процедура обработки события автоматически описывается в классе формы и разделе реализации модуля. В ранее рассмотренном примере в классе 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 строку, которая не содержит правильного представления вещественного числа, будет выдано сообщение об ошибке, но выполнение программы продолжится.

9.4. Элемент «Метка»

Метки используются для отображения текстовых надписей на форме. На вкладке «Стандартные» панели элементов метки обозначены пиктограммой

Метки описываются при помощи класса TLabel и имеют следующие основные свойства:

Свойство Значение
Name Имя элемента в программе
Left и Top Положение надписи
Width и Height Ширина и высота надписи рассчитываются автоматически в зависимости от заданного текста
Caption Текст надписи, отображаемый в форме

9.5. Элемент «Группа переключателей»

Группы переключателей предназначены для выбора одного из нескольких вариантов действий. Их можно применять вместо экранных меню, которые использовались ранее в консольных приложениях. На вкладке «Стандартные» панели элементов группы переключателей обозначены пиктограммой

Группы переключателей описываются при помощи класса
TRadioGroup, основные свойства которого приведены в следующей таблице:

Свойство Значение
Name Имя элемента в программе
Left и Top Положение в форме
Width и Height Ширина и высота
Caption Заголовок группы, отображаемый на форме
Items Список строк (класс TStrings), который содержит названия элементов группы, между которыми производится выбор
ItemIndex Номер выбранного элемента в группе, причем элементы нумеруются с 0. По умолчанию ItemIndex = –1, что обозначает, что никакой элемент не является выбранным

Для задания списка вариантов необходимо на вкладке свойств инспектора объектов нажать на кнопку с изображением многоточия, появляющуюся при выборе свойства 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», будет выдано сообщение о выборе соответствующего варианта.

Просмотров: 473


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.