Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
instryk_op_2016.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

1.1.8. Написание программы обработки события создания формы (FormCreate)

При запуске программы на некотором этапе ее выполнения воз-никает событие «создание формы» (событие OnCreate). Составим подпрограмму – обработчик этого события, который заносит на-чальные значения переменных x, y, z в соответствующие окна Edit, а в окне Memo – номер группы и фамилию Обучающийсяа. Для этого дважды щелкнем мышью на любом свободном месте формы. На экране отобразится окно редактора кода, в котором автоматически внесена заготовка процедуры с заголовком процедуры-обработчика события создания формы:

Procedure TForm1.FormCreate(Sender:TObject); begin end;

Между begin ... end программист записывает текст программы.

Последнюю операцию также можно инициировать двойным щелчком в правой части события onActivate на странице Properties инспектора объектов рассматриваемого компонета Form.

1.1.9. Написание программы обработки события нажатия кнопки (ButtonClick)

Поместите на форму кнопку посредством компонента Button, который находится на странице Standard панели компонентов. С помощью инспектора объектов измените заголовок (Caption) компонента Button1 на слово «Выполнить» или другое. Отрегулируйте положение и размер кнопки. После этого два раза щелкните мышью на кнопке: появится заготовка для текста программы c за­головком процедуры-обработчика события - нажатия кнопки:

Procedure TForm1.Button1Click(Sender: TObject);

Заголовки рассматриваемых процедур формируются средой Delphi автоматически (если набрать их вручную - программа работать не будет). Так, имя процедуры TForm1.Button1Click составляется системой из имени формы (Form1), имени компонента (Button) и имени соответствующего события (onClick), но без префикса on. Надо иметь в виду, что при запуске программы на выполнение все функции обработки событий, у которых между begin и end не было написано текста, удаляются автоматически по соответствующему запросу среды Delphi. Поэтому не следует удалять вручную ошибочно созданные обработчики.

1.1.10. Работа с приложением

После запуска программы (например, щелчком мыши по зеленой пиктограмме происходит компиляция, если нет ошибок, компоновка программы и создание единого выполняемого файла с расширением .exe. На экране появляется активная форма программы (рис. 1.3).

Работа с программой осуществляется следующим образом. Введите исходные значения x, y, z. Нажмите (щелкните мышью) кнопку «Выполнить». В окне Memo1 отображается результат. Измените исходные значения x, y, z в окнах Edit и снова нажмите кнопку «Выполнить» - отображаются новые результаты. Завершить работу программы можно путем активизации пункта Program Reset в главном меню Run или кнопку на форме.

На рисунке 1.3 показан интерфейс приложения после ввода исходных данных и нажатия кнопки «Выполнить».

Рис 1.3. Интерфейс приложения после его выполнения

В листинге 1.1 представлен текст программы. Для наглядности в этой работе операторы, которые набирает программист, выделены полужирным шрифтом. Остальные операторы вставляются средой Delphi автоматически.

Листинг 1.1.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label4: TLabel;

Memo1: TMemo;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private{ Private declarations }

public{ Public declarations }

end;

var Form1: TForm1;

implementation {$R *.dfm}

{Процедура обработки события создания Формы}

procedure TForm1.FormCreate(Sender: TObject);

begin

Edit1.Text:='13.8e-2'; //начальное значение X

Edit2.Text:='1.54'; //начальное значение Y

Edit3.Text:='0.2e-3'; //начальное значение Z

Memo1.Clear; //очистка окна редактора Memo1

end;

{Процедура обработки события нажатия кнопки "Выполнить"}

procedure TForm1.Button1Click(Sender: TObject);

var //объявление локальных переменных

x,y,z,a,b,c,r : extended;

begin

Memo1.Clear; //очистка окна редактора Memo1

{Ввод, преобразование и присвоение исходных данных }

x:=StrToFloat(Edit1.Text); //считывается значение x

y:=StrToFloat(Edit2.Text); //считывается значение y

z:=StrToFloat(Edit3.Text); //считывается значение z

{Вывод заголовка и исходных данных в окно Memo1}

Memo1.Lines.Add('Программирование линейных алгоритмов');

Memo1.Lines.Add('Исходные данные:'); //вывод строки в Memo1

Memo1.Lines.Add('x='+FloatToStrF(x,ffFixed,8,4));

Memo1.Lines.Add('y='+FloatToStrF(y,ffFixed,8,4));

Memo1.Lines.Add('z='+FloatToStrF(z,ffFixed,8,4));

{Вычисления}

a:=exp((x+1)*ln(y))/(exp((1/3)*ln(abs(y-2)))+3); b:=(x+y/2)*exp((-1/sin(z))*ln(x+1));

c:=2*abs(x+y); r:=a+b/c+cos(pi/2);

{Вывод результата r в окно Memo1}

Memo1.Lines.Add('Результат r = '+FloatToStrF(r,ffFixed,8,4)); end; end.

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