Задание 1 к лабораторной работе

5.2.1 Создать главное меню, меню должно состоять из двух пунктов: обработка массива и сервис (рисунок5.1). Пункт обработка массива состоит из команд: max, min, sum. Пункт сервис состоит из команд: clear и close. Команда clear содержит подменю: clear stringgrid и clearmemo.

В качестве реакции на выбор пункта меню вывести значения максимума, минимума и суммы элементов массива. Значения элементов массива ввести в таблицу StringGrid.

5.2.2 Создать контекстное меню для вывода значений максимума, минимума и суммы элементов массива.

5.2.3 Вывести значения максимума, минимума и суммы элементов массива, используя компонент Button, но в качестве обработчика события использовать процедуру, созданную ранее – реакцию на пункты главного меню.

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

1) Разместить компоненты на дизайнере форм, согласно рисунку 5.1:

MainMenu1 – со страницы Standard;

PopupMenu1 – со страницы Standard;

Memo1- со страницыStandard;

Button1-5 – со страницы Standard; присвоить значения свойству caption, согласно рис 5.1.

StringGrid1 – со страницы Additional; задать значения свойств:

colcount - 5,

rowcount – 5,

fixed row-0,

fixed col – 0,

options – goEditing – true,

options – goTab – true.

2) Выбрать свойство Items компонента MainMenu1. Щелкнуть на кнопке с тремя точками. Появится окно конструктора меню. Пункты меню верхнего уровня формируются по горизонтали. Свойства captio n имеют следующие значения caption:=’обработка массива’ и caption:=’сервис’.

3) Набрать пункты меню следующего уровня в соответствии с рисунком 5.2. Для пункта обработка массива– max, min, sum. Для команды max задать клавишу быстрого перехода (акселератор). В этом случае свойство caption имеет значение &max. Для команды min задать «горячую» клавишу: выбрать свойство ShortCut и в выпадающем списке выбрать нужное значение, например, Ctrl+M.

Рисунок 5.1

4) Для пункта меню сервис добавить команды clear и close (рисунок 5.3).Для того чтобы по команде clear открывалось подменю, необоходимо выполнить следующие действия. Выделить команду clear,щелкнуть правой кнопкой мыши и в открывшемся контекстном меню конструктора выбрать команду Create Submenu и далее ввести пункты подменю: clear stringgrid и clear memo.

Рисунок 5.2

5) Для определения реакции на выбор пунктов меню выбирается пункт меню и щелкают по нему. В результате появится окно редактора кода, в котором вводится код обработчика события OnClick. Например, для элемента меню max обработчик события OnClick будет иметь следующий вид:

procedure TForm1.max1Click(Sender: TObject);

var max:integer; i,j:integer;

begin

max:=a[1,1];

for i:=1 to 5 do

for j:=1 to 5 do

if a[i,j]>=max then max:=a[i,j];

memo1.Lines.Add('max value ='+ inttostr(max));

end;

Аналогично вводятся коды обработчиков события для остальных команд меню обработка массива – min и sum, и команды clear stringgrid из меню сервис.

Рисунок 5.3

6) Активизировать кнопку start, предназначенную для ввода элементов массива из таблицы stringgrid1, написать код обработчика события OnClick:

procedure TForm1.Button4Click(Sender: TObject);

var i,j:integer;

begin

for i:=1 to 5 do

for j:=1 to 5 do

a[i,j]:=strtoint(stringgrid1.Cells[j-1,i-1]);

end;

7) Активизировать кнопку clear memo,предназначенную для очистки memo.

8) Активизировать кнопку Close (button6), предназначенную для закрытия формы.

9) Для команды Close из меню Сервис используется процедура, созданная ранее в пункте 8 – Button6Click. Обработчик события close1Click (команда close из меню сервис) имеет следующий вид:

procedure TForm1.close1Click(Sender: TObject);

begin;

button6Click(button6);

end;

Аналогично из команды clear memo из меню сервис вызывается процедура, созданная в пункте 7).

10) Для кнопок max (Button1) и min(Button2) вызываются соответственно процедуры max1Click(max1) и min1Click(min1);

procedure TForm1.Button1Click(Sender: TObject);

begin;

max1Click(max1);

еnd;

11) Сохранить проект в папке menu и запустить на выполнение.

12) Создание контекстного меню. В свойстве Items компонента PopupMenu зададим элементы контекстного меню: те же, что и в главном меню: max, min, sum, clear stringgrid, close;

13) Для элемента max контекстного меню реакция на OnClick будет такой же, как для элемента max главного меню. Тогда обработчик события OnClick для элемента max контекстного меню будет иметь следующий вид:

procedure TForm1.max2Click(Sender: TObject);

begin;

max1Click(max1);

end;

Аналогично, из остальных элементов контекстного меню вызываются процедуры главного меню.

14) Для того чтобы локальное меню было доступным в любой точке формы Form1, необходимо установить ее свойство PopupMenu равным PopupMenu1.

15) Сохранить проект и запустить на выполнение. Щелчок правой кнопки активизирует локальное меню.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: