Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_СА_СМ_ДМ.doc
Скачиваний:
36
Добавлен:
02.05.2019
Размер:
3.46 Mб
Скачать

Порядок выполнения работы

Пример 1. Создание простейшего приложения, содержащего кнопки и простейшие компоненты для вывода текста, а также определение некоторых обработчиков событий.

Работа будет выполняться в три этапа.

Этап 1. Создание и сохранение проекта. Для этого выполните действия, описанные выше.

Итак, мы получили заготовку (прототип) будущего приложения. Теперь добавим в приложение кнопку, при нажатии которой будет появляться модальное окно с надписью «ПРИВЕТ». Для этого необходимо выполнить следующую последовательность действий:

  1. Добавить в форму кнопку TButton со страницы Standard. Для этого на Палитре компонентов щелкните на значке компонента Button, который выглядит так:

  2. С помощью мыши разместите кнопку на форме в нужном месте.

  3. В окне Object Inspector измените с помощью свойства Caption заголовок кнопки Button1 на ОК. Аналогично измените свойство Caption формы Form1 на Лабораторная работа № 1.

  4. Открыть Code Editor, выполнив двойной щелчок на кнопке ОК. Именно здесь вводятся строки кода, предписывающие необходимые действия программе, после нажатия на кнопку пользователя во время выполнения программы. Находясь в Code Editor, в теле процедуры TForm1.Button1Click наберите между зарезервированными словами begin и end следующие строки:

ShowMessage(‘ПРИВЕТ’);

Close;

Процедура ShowMessage создает стандартное окно для вывода сообщений. В скобках пишется текст сообщения, заключенный в кавычки. Метод Close закрывает окно формы, когда мы закроем модальное окно, щелкнув на кнопке Ok окна.

Полный текст модуля:

unit Unit1;

interface

uses

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

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

begin

ShowMessage (' ПРИВЕТ');

Close;

end;

end.

  1. Компиляция и выполнение программы выполняется командой Run из меню Run (или F9). Теперь Delphi автоматически компилирует программу для генерирования кода времени выполнения (run–time code), необходимого для запуска проекта на выполнение. После выполнения программы на экране появится окно, вид которого приведен на рис. 1. 9.

Рис. 1.9. Окно приложения после выполнения пунктов 4, 5

После нажатия на кнопку ОК появится небольшое диалоговое окно с надписью ПРИВЕТ, вид которого приведен на рис. 1.10.

Рис. 1.10. Результат работы приложения

Это диалоговое окно является модальным, а это значит, что пока Вы не щелкните на кнопке ОК и не закроете модальное окно, программа дальше не выполняется.

При щелчке на кнопке OK программа завершит свое выполнение. Метод Close закрывает форму и управление возвращается к Delphi.

Этап 2. Немного усложним программу. С этой целью для вывода сообщения используем компонент TEdit, представляющий собой однострочный редактор. Для этого необходимо выполнить следующую последовательность действий:

  1. Из палитры компонентов (страница Standard) выбрать компонент TEdit и разместить его на форме.

  2. В Object Inspector изменить свойство Name объекта Edit1 на editHello, свойство Name объекта Button1 на btnHello и свойство Caption на Hello.

  3. Выбрать свойство Text объекта editHello и очистить строку окна ввода/вывода.

  4. Свойство ReadOnly объекта editHello установить равным True. Это позволит защитить строку ввода/вывода редактора от изменений.

Рис. 1.11 Окно приложения

  1. Изменить тело процедуры TForm1.btnHelloClick. Удалить строки

ShowMessage(‘ПРИВЕТ’);

Close;

Вместо них набрать:

editHello.Text:=’ПРИВЕТ’

  1. При выполнении процедуры свойству Text объекта editHello присваивается значение ’ПРИВЕТ’.

  2. После запуска программы на экране появится окно, изображенное на рис. 1.11.

Результат выполнения программы при нажатии на кнопку Hello изображен на рис. 1.12.

Рис. 1.12. Результат работы приложения

Этап 3. Добавим на форму еще две кнопки, одна из которых (btnGoodBye) будет менять текст в строке editHello на ‘До свидания’, а вторая (btnClose) закрывать форму, завершая тем самым программу.

Для закрытия формы определим обработчик события

procedure TForm1.btnCloseClick(Sender: TObject);

begin

Form1.Close;

end;

При закрытии формы можно уточнить, действительно ли пользователь хочет завершить приложение, и в случае подтверждения закрывать форму и завершать приложение. Для этого в Проектировщике форм следует активизировать форму, выбрать в Инспекторе объектов вкладку Events и дважды щелкнуть в окне события OnCloseQuery. Затем определить обработчик события следующим образом:

procedure TForm1.Form1CloseQuery(Sender:TObject;

Var CanClose: boolean);

begin

if MessageDlg(‘Вы действительно желаете завершить работу программы?’, mtConfirmation , [mbYes, mbNo] ,0)= mrNo

then CanClose:=false;

end;

Обработчик события btnGoodByeClick пишется аналогично обработчику события btnHelloClick.

Пример 2.

Вычислить значения p = lg(a+x2)+sin2(z/a), t = xa и

при a=0,59; z= -4,8; x=2,1

  1. Открыть новое приложение с помощью команды File| New Application.

  2. Сохранить проект.

  3. Добавить на форму три компонента Edit.

  4. В Object Inspector Выбрать свойство Text добавленных компонентов и очистить строку ввода-вывода.

  5. Добавить на форму 3 компонента Label. Установить для них свойства Caption равными a=, z= и x= соответственно.

  6. Добавить на форму компонент Memo. Для компонента Memo1 выбрать свойство Lines и открыть окно String list editor. Удалить в нем строку ‘Memo1’.

  7. Добавить на форму 2 кнопки (компонент Button). Установить для них свойства Caption равными Вычислить, Очистить и Выход соответственно. Окончательный вид формы показан на рис. 1.13.

Рис. 1.13. Вид формы приложения

  1. В редакторе кода перед разделом Var добавить строку

Const a=0.59; z=-4.8; x=2.1;

  1. Сделать двойной щелчок на кнопке Вычислить. В появившемся редакторе кода обработчик события определить так:

procedure TForm1.Button1Click(Sender: TObject);

Var y, p, c, t: real;

begin

Edit1.Text:=FloatToStr(a);

Edit2.Text:=FloatToStr(z);

Edit3.Text:=FloatToStr(x);

c:=ArcTan(a+x*x);

y:=Exp(3*Ln(c))+Sqrt(z*z/(a*a+x*x));

p:=(Ln(a+x*x))/Ln(10)+Sqr(Sin(z/a));

t:=Exp(a*Ln(x));

Memo1.Lines.Add('Результаты вычислений');

Memo1.Lines.Add('p='+FloatToStrF(p,FFfixed,5,4));

Memo1.Lines.Add('t='+FloatToStrF(t,FFfixed,5,4));

Memo1.Lines.Add('y='+FloatToStrF(y,FFfixed,5,4));

end;

  1. Сделать двойной щелчок на кнопке Очистить. Обработчик события определить так:

procedure TForm1.Button2Click(Sender: TObject);

begin

Memo1.Clear;

end;

  1. Сделать двойной щелчок на кнопке Выход. Обработчик события определить так:

procedure TForm1.Button3Click(Sender: TObject);

begin

Form1.Close;

end;

  1. Откомпилировать и выполнить приложение.

Рис. 1.14. Пример работы приложения.