Пример программного приложения
Задание: Вычислить значений х и у по следующим формулам:
; y=(a-b) * x
Технология создания программного приложения
1.Создадим папку для проекта. Запустим программу Delphi.
2.Откроем новое приложение с помощью команды главного меню File\New Application.
3.На пустой форме разместим следующие компоненты (см. рис.1.): Panel1, Panel2, Label1, StaticText1, StaticText2, Edit1, Edit2, Memo1, Memo2, Button1, Button2, BitBtn1.
Рис.1. Вид формы примера задачи расчета по формулам.
4.Свойству Caption метки Labell зададим значение: «Введите исходные данные – значения А и В». Для того чтобы текст располагался в двух строках и был выровнен по центру, необходимо установить следующие значения свойств:
Свойство |
Значение |
AutoSize |
False |
WordWrap |
True |
Alignment |
TaCenter |
Размеры метки и ее расположение отрегулировать вручную. Для выбора размера шрифта используем свойство Font.
5.Для компонентов StaticText1 и StaticText2 установим в свойстве BorderStyle значение sbsSunken, получим эффект вдавленности рамки компонента. Свойству Caption установим значение, равным «Значение А» и «Значение В» соответственно.
6.В свойство Text компонентов Edit1 и Edit2 помещаем символ «пробел», очищая поля ввода, в которые на этапе выполнения будут вводится исходные данные. Для правильной работы программы строка символов должна содержать только целые числа.
7
. . .
.Компонент Мemo1 используется для вывода результатов вычислений. Компонент Мemo2 используется для записи строк текста, содержащих инструкцию пользователю по работе с компонентами формы. Текст инструкции в поле компонента Мemo2 приведен на рис.3.1.. Для компонента Memo выберем свойство Lines и щелкнем на кнопке . В появившемся окне String List Editor удалим строку Memo1 и Memo2 соответственно. Затем в поле Memo2 введем строки инструкции.8.Для компонента Panell установим значение свойства Caption:
«Вычислить х=a+b*b/а; y=(a-b)*x».
Для расположения компонента в верхней части формы и изменения цвета поля, размера шрифта и цвета шрифта установим значения следующих свойств:
Align |
alTop |
Color |
clBlue |
Font |
size=14 Color=clYellow |
9.Для компонента Panel2 установим свойство Align равным alBottom для расположения панели в нижней части формы
10. Поместим три кнопки Button1, Button2 и BitBtn1 на панель Panel2. Кнопкам Button1 и Button2 установим свойство Caption равным «Вычислить» и «Очистить» соответственно. Для кнопки завершения работы приложения BitBtn1 установим свойство Kind, со стандартным названием Close и рисунком.
11. Двойным щелчком активизируем кнопку «Вычислить» и в окне кода появится шаблон обработчика события, в который запишем следующие строки кода.
procedure TForm1.Button1Click (Sender: TObject);
var а, b: integer; // исходные данные
x, y: integer; // результаты вычислений
begin
{Формирование числовых значений a и b}
a:=StrToInt (Edit1.Text);
b:= StrToInt (Edit2.Text);
{Вычисление значений х и у}
x:=a+b*b div a;
y:=(a-b)*x;
{Вывод результатов вычислений}
Memo1.Lines.Add (‘Результаты вычислений’);
Memo1.Lines.Add (‘х=’+IntToStr(x));
Memo1.Lines.Add (‘у=’+IntToStr(у));
end;
12. Вернемся на форму, нажав функциональную клавишу F12. Двойным щелчком активизируем кнопку «Очистить» и в обработчик событий OnClick вставим строку: Memo1.Clear; Edit1.Clear; Edit2.Clear; Edit1.SetFocus;
13.Для автоматического перевода курсора из Edit1 в Edit2 после ввода в Edit1 символов и нажатия клавиши Enter создадим обработчик события OnKeyPress для компонента Edit1: выделяем компонент Edit1, в Инспекторе Объектов на странице «События» справа от события OnKeyPress выполняем двойной щелчок ЛКМ. Получив в окне кода шаблон обработчика события OnKeyPress, вставим в него необходимые строки кода. В процедуре используется оператор выбора Case, который имеет следующий формат:
Case <селектор> of
<метка 1> : <оператор> ;
<метка 2> : <оператор> ;
. . . . . . . . . . . . . . . . . . .
<метка n> : <оператор> ;
else <оператор> ;
end;
В качестве селектора может быть целочисленная или символьная константа, либо имя переменной, значение которой определено до входа в оператор Case. В качестве меток внутри оператора Case могут быть целочисленные или символьные константы, не требующие объявления в разделе Const процедуры на языке Object Pascal, содержащей оператор Case. Правило выполнения оператора:
Значение селектора сравнивается с метками внутри оператора и при совпадении с одной из меток выполняется оператор, стоящий за этой меткой, после чего осуществляется выход из оператора Case.
Если значение селектора не совпадает ни с одной из меток внутри оператора, то выполняется оператор, стоящий после ключевого слова Else, после чего осуществляется выход из оператора Case.
Procedure TFrom1.Edit1 KeyPress (Sender: TObject; var Key: Char);
begin
{Проверка значения параметра Key, соответствующего нажатой клавиши}
case Key of
‘0’..’9’ : ; // цифра
#8 : ; // клавиша Backspace
#13 : Edit2.SetFocus; // клавиша Enter
else Key:= Chr (0);
end;
end;
Процедура заменяет недопустимый символ на символ с кодом 0 (пусто), в результате чего этот символ в поле редактирования не появляется.
14. Все компоненты формы, включая и название самой формы Form1, получили свои названия на этапе конструирования формы с использованием свойств компонентов, устанавливаемых в Инспекторе Объектов, т.е. сформированных статически.
В Delphi можно изменять надписи на компонентах на этапе выполнения программы, т.е. динамически. Для этого необходимо создать обработчик события OnCreate, который возникает после создания Windows-окна, но до появления окна на экране. Создадим обработчик события OnCreate для вывода следующего текста в строке заголовка формы: «Задание 1. Вычисление по формуле.»
Для создания обработчика события OnCreate необходимо выделить объект Form1, затем на странице «События» Инспектора Объектов выделить строку OnCreate и выполнить двойной щелчок ЛКМ в правой части строки. В окне кода появится шаблон процедуры, где между Begin и End записываются строки кода:
Procedure TFrom1.FormCreate (Sender: TObgect);
begin
Form1.Caption:= ‘Задание1. Вычисления по формулам’;
End;
15. Сохраним проект в папке и запустим на выполнение. Для вычисления значений функции X и Y введем значения А и В в поля Edit1 и Edit2 соответственно и щелкнем на кнопке «Вычислить». Для очистки полей ввода – вывода перед повторением вычислений щелкнем на кнопке «Очистить», а для завершения работы приложения щелкнем на кнопке «Close». Запустить приложение на выполнение можно одним из следующих способов:
к оманда Выполнить (Run) из пункта меню Выполнить (Run);
пиктограмма «Выполнить» на панели инструментов;
клавишей F9.
Форма с исходными данными и результатами вычислений представлена на рис.2
Рис. 2. Форма с исходными данными и результатами вычислений