Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОА Delphi формата А4.doc
Скачиваний:
7
Добавлен:
29.08.2019
Размер:
1.58 Mб
Скачать
  1. Создание теста с помощью функции MessageBox.

Структура функции MessageBox: function MessageBox(const Text, Caption: PChar; Flags: Longint): Integer;

ЗАДАЧА1: Поместить на форму компонент кнопку Button1. Организовать работу следующим образом: при нажатии на кнопку появляется диалог “СПРАВКА”, оповещающий о недопустимой операции.

Для этого необходимо: поместить на форму кнопку Button1

н аписать программу, согласно которой при нажатии на кнопку будет появляться диалоговое окно:

по событию onClick кнопки Button1:

procedure TForm1.Button1Click(Sender: TObject);

begin

Application.MessageBox('Вы совершили недопустимую операцию', 'СПРАВКА', MB_Ok) end;

Функция MessageBox после нажатия какой-либо кнопки генерирует число. По этому числу можно определить, какая кнопка была нажата.

выбранная кнопка

значение

выбранная кнопка

значение

mbOK

1

mbIgnore

5

mbCancel

2

mbYes

6

mbAbort

3

mbNo

7

mbRetry

4

ЗАДАЧА2: Поместить на форму компонент кнопку Button1. Организовать работу следующим образом: при нажатии на кнопку появляется диалог, в котором по нажатию кнопки выводится следующий диалог, где сообщается какая кнопка была выбрана.

Для этого необходимо:

-поместить на форму кнопку Button1;

-написать программу, отвечающую за нажатие на кнопку Button1;

по событию OnClick кнопки Button1:

Функция ShowMessage позволяет показать сообщение.

procedure TForm1.Button1Click(Sender: TObject);

Var I:integer;

begin

i:=Application.MessageBox('Выберите одну из кнопок', 'КНОПКА', MB_OkCancel);

if i=1 then ShowMessage('Вы выбрали OK');

if i=2 then ShowMessage('Вы выбрали Отмена');

end;

ЗАДАЧА3: Поместить на форму компонент кнопку Label1, Button1, Memo1. Осуществить работу теста “Добры ли Вы?” с помощью функции MessageBox. Организовать работу следующим образом: при нажатии на кнопку Button1 будет предложено ответить на ряд вопросов. После ответа на последний вопрос в memo1 появится результаты теста.

Для этого необходимо:

-поместить на форму метку label1, кнопку Button1 и компонент memo1;

-изменить свойство Caption для компонента Label1на тест “Добры ли Вы?;

-для компонента Memo1 изменить свойство text на пустое значение, а свойство Visible на false для того, чтобы

-сделать компонент невидимым после запуска формы;

-изменить свойство Caption для кнопки Button1 на ЗАПУСК;

-написать программу, отвечающую за запуск теста:

по событию OnClick кнопки Button1:

procedure TForm1.Button1Click(Sender: TObject);

Var otv: array[1..12] of integer; m: array[1..12]of string; t,ball, I: integer;

begin

m[1]:='У Вас появились деньги. Могли бы вы истратить всё, что у Вас есть, на подарки?';

m[2]:='Товарищ рассказывает вам о своих невзгодах. Дадите ли Вы ему понять, что Вас это мало

интересует, даже если это так?';

m[3]:='Если Ваш партнёр плохо играет в шахматы или в другую игру, будете ли Вы ему иногда

поддаваться, чтобы сделать приятное?';

m[4]:='Часто ли Вы говорите людям приятное просто, чтобы поднять настроение?';

m[5]:='Любите ли Вы злые шутки?';

m[6]:='Вы злопамятны?';

m[7]:='Сможете ли Вы терпеливо выслушать даже то, что Вас не интересует?';

m[8]:='Умеете ли вы на практике применять свои способности?';

m[9]:='Бросаете ли Вы игру, если начинаете проигрывать?';

m[10]:='Если Вы уверены в своей правоте, отказываетесь ли Вы слушать аргументы своего оппонента?';

m[11]:='Вы охотно выполняете просьбу?';

m[12]:='Станете ли Вы подтрунивать над кем-то, чтобы рассмешить окружающих?';

o tv [1]:=6;

otv[2]:=7;

otv[3]:=6;

otv[4]:=6;

otv[5]:=7;

otv[6]:=7;

otv[7]:=6;

o tv[8]:=7;

otv[9]:=7;

otv[10]:=7;

otv[11]:=6;

otv[12]:=7;

ball:=0;

for i:=1 to 12 do

begin

memo1.text:=m[i];

t:=Application.MessageBox(memo1.Lines.GetText,'Вопрос', MB_YesNo);

if t=otv[i] then ball:=ball+1

end;

memo1.Clear;

memo1.Lines.Add('РЕЗУЛЬТАТ ТЕСТА');

memo1.Visible:=True;

if ball<=3 then memo1.lines.Add('Надо быть добрее')

else if ball<=8 then memo1.Lines.Add('Доброта - дело случая')

else memo1.Lines.Add('Очень добрый человек');

end;

ЗАДАНИЕ: Осуществить работу теста с помощью функции MessageBox, вопросы теста получить у преподавателя.

ВОПРОСЫ: 1. Функция MessageBox. Использование функции для написания программ.

2. Функция ShowMessage. Основные возможности.