Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОД_ТРПО (отдать).DOC
Скачиваний:
22
Добавлен:
17.08.2019
Размер:
4.36 Mб
Скачать

Лабораторная работа 3. Разработка проекта «Диалог»

Постановка задачи

Создать программу, выполняющую следующие действия.

После запуска программы пользователь вводит свое имя, например Александр, в прямоугольник с мигающим текстовым курсором и нажимает клавишу Enter (рис.5).

Появляется вопрос: «Александр, ты любишь читать?». Если пользователь щелкает на кнопке «Да», то появляется реплика «Молодец!», если на кнопке «Нет», то реплика «Почему же? Надо читать». Для выхода из программы необходимо щелкнуть на кнопке «Выход».

Пояснение. Новым в этой работе является использование строки ввода Edit (вкладка палитры компонентов Standart) и обработки события OnKeyPress – нажатия клавиши.

План разработки программы

  1. Открыть новый проект. Дать форме название «Диалог».

  2. Разместить на форме экземпляры компонентов в соответствии с рис.6

Рис. 5. Рис.6.

  1. Выполнить следующие действия:

    Выделенный объект

    Вкладка окна Object Inspector

    Имя свойства/имя события

    Действие

    BitBtn1

    Properties

    Caption

    Установка имени кнопки «Выход»

    Kind

    bk Close

    Label1

    Properties

    Caption

    Ввод надписи «Введи свое имя и нажми Enter»

    Edit1

    Events

    OnKeyPress

    Begin

    if key=#13 then

    Labe12.Caption:=Edit1.Text+’ты любишь читать?’

    end;

    Button1

    Properties

    Caption

    Установка имени кнопки: «Да»

    Events

    OnClick

    Labe13.Caption:=’Молодец!’

    Button2

    Properties

    Caption

    Установка имени кнопки: «Нет»

    Events

    OnClick

    Labe13.Caption:=’Почему же? Надо читать.’ ;

  2. Сохранить код программы и проект под именами, например, pr-2.pas и pr-2.dpr.

  3. Запустить программу, затем закрыть окно проекта, щелкнув на кнопке «Выход».

  4. Сохранить проект, запустить и протестировать его.

Дополнительное задание

  1. Сделать кнопки «Да» и «Нет» доступными только после ввода имени и нажатия клавиши Enter.

Подсказка. Значение свойства Enabled кнопок «Да» и «Нет» установить равным False, а в процедуру Edit1KeyPress включить код

Button1.Enabled : = true;

Button2.Enabled : = true;

  1. Удалить имена объектов Edit1, Labe12, Labe13 для обеспечения возможности повторить диалог.

Подсказка .Значение на форме еще одну кнопку BitBtn. Установить значение bkRetry свойства Kind и значение « Повторить» свойства Caption. Ввести программно по нажатию кнопки « Повторить» пустые строки вместо надписей и имен кнопок:

Label2.Caption:=΄΄;

Label3.Caption:=΄΄;

Edit1.Text:= ΄΄;

  1. Сделать так, чтобы при повторении диалога строка ввода была снова активной.

Подсказка .Ввести команду

Form1.ActiveControl:=Edit1

Листинг программы

unit Unit2

interface

uses

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

type

TForm1 = class (TForm)

Edit1: TEdit;

Button1: TButton;

Labe11: TLabe1;

Labe12: TLabe1;

Button2: TButton;

Labe13: TLabe1;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

procedure Edit1KeyPress (Sender: TObject; var Key: Char) ;

procedure Button1Click (Sender: TObject) ;

procedure Dutton2Click (Sender: TObject) ;

procedure BitBtn2Click (Sender: TObject) ;

private

( Private declarations )

public

( Public declarations )

end;

var

Form1: TForm1;

implementation

(SR * DFM)

procedure TForm1.Edit1KeyPress (Sender: TObject; var Key: Char);

begin

if key=#13 then begin

Labe12.Caption:=Edit1.Text+’, ты любишь читать?’;

Button1.Enabled:=true;

Button2.Enabled:=true;

end;

end;

procedure TForm1.ButtonClick (Sender: TObject);

begin

Labe13. Caption:=’Молодец !’;

end;

procedure TForm1. Button2Click(Sender: TObject);

begin

Labe13.Caption:=’Почему же? Надо читать.’;

end;

procedure TForm1.BitBtn2Click(Sender: TObjtct);

begin

Edit1.Text:=’’;

Labe12.Caption:=’’;

Labe13.Caption:=’’;

Button1.Enabled:=false;

Button2.Enabled:=false;

Form1.ActivControl:=Edit1;

end;

end.