Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_форм_дом.docx
Скачиваний:
2
Добавлен:
19.08.2019
Размер:
120.86 Кб
Скачать

Пример программного приложения

Задание: Вычислить значений х и у по следующим формулам:

; 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. Правило выполнения оператора:

  1. Значение селектора сравнивается с метками внутри оператора и при совпадении с одной из меток выполняется оператор, стоящий за этой меткой, после чего осуществляется выход из оператора Case.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]