Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

суреті. Массивті 'деу пункті мынадай командалардан т'рады- min sum

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

ертханалык жумыс №5

5 Зертханалық жұмыс . Мәзір құру. Main Menu және Popup Menu омпоненттері.

Жұмыстың мақсаты: Main Menu және Popup Menu басқару компоненттерімен танысу және осы компоненттерді Windows– қосымшасын құруда қолдану.

Тапсырма:

  1.  Екі пункттен тұратын мәзір құру: массивті өңдеу және сервис. (5.1.суреті). Массивті өңдеу пункті мынадай командалардан тұрады: min, sum. Сервис пункті clear  және close командаларынан тұрады. Clear командасы мынадай ішкі мәзірден  тұрады: clear stringgrid және clear memo. Әсер етуіне байланысты мәзір таңдау пунктіне  максимум, минимум және массив элементтерінің қосындысын шығару. Массив элементінің мәнін StringGrid кестесіне енгізу.  
  2.  Максимум, минимум және массив элементтерінің қосындысының мәндерін шығару үшін контексті мәзір құру
  3.  Button компонентін қолдана отырып максимум, минимум және массив элементтерінің қосындысының мәнін шығару қажет, бірақ өңделу оқиғасы ретінде алдын құрылған бастапқы мәзір пунктіне әсер ететін процедураны қолданамыз.

Main Menu и Popup Menu

Әрбір Windows – қосымшасының негізгі интерфейс атрибуты мәзір болып табылады. Мәзір бөлек функционалды категорияларға топтастырылған, өзіндік   командалар  жиынтығын береді.  Басып алу функционалдылығының деңгейіне қарамастан негізгі мәзір және локальді мәзір деп ажыратады. Көптеген қосымшалардың жіберілетін операциялар тізімі бар негізгі мәзірі бар. Бастапқы мәзір пунктін басқаша нолдік деңгейлі мәзір элементі деп те атайды, себебі оның әрқайсысы бірінші деңгейлі элементі түсетін мәзірге байланысты болуы мүмкін. Негізгі мәзірді құру үшін Standard  компоненттер палитрасының бетінде орналасқан  Main Menu визуалды емес компоненті алынады.форманы жобалау деңгейіндегі бастапқы мәзірді құру үрдісі Menu Designer кірістірілген конструктор мәзірінің көмегімен іске асады.  Мәзір конструктрын шақыру үшін Menu Designer командасын таңдап және тышканның оң жақ батырмасымен компонентке шертеміз немесе инспектор объектісіндегі Items қасиеттерімен қолданған жөн.

Main Menu  ТMainMenu класының экземпляры болып табылады.

Класстың негізгі қасиеті- бұл қасиет.

Items: ТMenuItem; default;  негізгі мәзір қосымшасының нолдік деңгей элементін құрайды.

Caption: string;   мәзір элементінің мәтінін құрайды. Егер мәтін символының алдынан  & символын орнатсақ, осылайша тез ауысу батырмасын беруімізге болады(акселератор).  Егер  Caption қасиетінің тақырып мәтініне  «-» мәнін енгізсек, онда ағымдағы пункт орнына бөлу сызықшасы бейнеленеді.  

Checked:Boolean; Егер қасиет  True мәнді болса, онда элемент белгімен белгіленеді.

ShortCut: TshortCut; «горячих» батырмасының комбинациясын анықтайды. (тез басқару батырмасы).

Bitmap:TBitMap; бұл қасиет сол жақ бейнелі мәзір пунктінің тақырыпшасын толықтыру үшін.  Ол үшін Bitmap қасиеті редакторын ашуымыз қажет және  .bmp. кеңейтілуі бар графикалық файлды жүктеуіміз қажет.

Ішкі мәзір құру үшін мәзір элементін таңдап, тышқан батырмасының оң жағын шертеміз және контекстті мәзірден Create Submenu пунктін таңдаймыз, ары қарай ішкі мәзір пунктін енгіземіз.

Контекстті мәзір (немесе локальді ) берілген элементке тышқанның оң жақ  батырмасын шертумен көрінеді. Контекстті мәзірді құру үшін Standard палитра компоненті бетінде орналасқан, PopupMenu компоненті қолданылады. Main Menu аналогты қасиеті бар.

Программаны өңдеу жоспары

5.1 6.1 суретіне сәйкес компоненттерді форма дизайнына орналастыру:

MainMenu1 – Standard бетінен;

PopupMenu1 – Standard бетінен;

Memo1- Standard бетінен;

Button1-5 – Standard бетінен; caption қасиетіне 6.1. суретіне сәйкес мән тағайындау. 

StringGrid1 – Additional бетінен; қасиет беру: colcount - 5, rowcount – 5,            fixed row-0, fixed col – 0, options – goEditing – true, options – goTab – true;

5.2 MainMenu1 компонентінен Items қасиетін таңдау. Батырмаға үш нүктемен шерту. Мәзір конструкторының терезесі шығады.Жоғарғы деңгейлі мәзір пункті горизонталь бойымен қалыптасады. Caption қасиеті келесі мәндерді береді:  caption:=’массивті өңдеу’ и caption:=’сервис’.

5.3 6.2. суретіне сәйкес келесі деңгейлі мәзір пунктын таңдаймыз. Массивті өңдеу пункты үшін – max, min, sum. Max командасы үшін жылдам ауысу батырмасын беру (акселератор). Бұл жағдайда caption қасиеті &max мәнді болады. min командасы үшін  «горячую»  батырмасын беру: ShortCut қасиетін таңдап және шығатын тізімдер ішінен керекті мәнді таңда, мысалы, Ctrl+M.

Сурет 5.1

Сурет 5.2

5.4 Сервис мәзір пункті үшін clear және close  командаларын қосу(сурет 6.3).  Сlear командасы бойынша ішкі мәзір ашылу үшін келесілерді орындау қажет. Сlear командасын ерекшелеп, тышқанның оң жақ батырмасын шертеміз және ашылған конструктордың контекстті мәзірінде Create Submenu командасын таңдап аламыз және ары қарай ішкі мәзір пунктін енгіземіз: clear stringgrid және  clear memo.

Сурет 5.3

5.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.6 Stringgrid1 кестесінен массив элементін енгізу үшін арналған Start батырмасын белсендендіру, 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;

5.7 memo тазалауға арналған, Сlear memo батырмасын белсендендіру.

5.8Форманы жабуға арналған Close (button6) батырмасын белсендендіру.

5.9 Сервис мәзіріндегі Close командасы үшін алдын ала құрылған  5.8 пунктіндегі – Button6Click процедурасы қолданылады. Сlose1Click (сервис мәзіріндегі close командсы) өңдеу оқиғасы келесідей түрде болады:

procedure TForm1.close1Click(Sender: TObject);

begin

button6Click(button6);

end;

Сервис мәзіріндегі clear memo командасынан аналогты түрде 5.7. пунктінде құрылған процедура шақырылады.

5.10 max (Button1) және min(Button2)батырмалары үшін сәйкес max1Click(max1) және  min1Click(min1) процедуралары шақырылады;

procedure TForm1.Button1Click(Sender: TObject);

begin

max1Click(max1);

еnd;

5.11 Жобаны menu папкасында сақтап, орындауға жібереміз.

5.12Контекстті мәзір құру. Popup Menu  компонентінің Items  қасиетінде контекстті мәзір элементтерін береміз: бастапқы мәзірдегідей: max, min, sum, clear stringgrid, close;

6.13 Контекстті мәзірдің max элементі үшін OnClick –ке әсер ету дәл негізгі мәзірдің max элементіндей болады. Контексті мәзірдің max элементі үшін OnClick қңдеу оқиғасы келесі түрде болады:

procedure TForm1.max2Click(Sender: TObject);

begin

max1Click(max1);

end;

Контекстті мәзірдің қалған элементтерінен негізгі мәзір процедуралары шақырылады.

5.14Локальды мәзір Form1 формасының барлық нүктелерінде қол жетімді болу үшін  оның PopupMenu1.- ге тең  PopupMenu қасиетін орнатуымыз қажет.  

5.15 Жобаны сақтап, орындауға жіберу. Оң батырма шертпесі локальді мәзірді белсендендіреді.

Unit1.pas модуль мәтіні

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Menus, StdCtrls, Grids;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

PopupMenu1: TPopupMenu;

StringGrid1: TStringGrid;

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

Button6: TButton;

N1: TMenuItem;

max1: TMenuItem;

min1: TMenuItem;

sum: TMenuItem;

N2: TMenuItem;

clear1: TMenuItem;

clearstringgrid1: TMenuItem;

clearmemo1: TMenuItem;

close1: TMenuItem;

Button7: TButton;

Button3: TButton;

max2: TMenuItem;

min2: TMenuItem;

sum1: TMenuItem;

memoclear1: TMenuItem;

close2: TMenuItem;

procedure Button7Click(Sender: TObject);

procedure max1Click(Sender: TObject);

procedure min1Click(Sender: TObject);

procedure sumClick(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure close1Click(Sender: TObject);

procedure clearstringgrid1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure clearmemo1Click(Sender: TObject);

procedure max2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;    a:array [1..5,1..5] of integer;

implementation

{$R *.dfm}

procedure TForm1.Button7Click(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;

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;

procedure TForm1.min1Click(Sender: TObject);

var min:integer;  i,j:integer;

begin

min:=a[1,1];

for i:=1 to 5 do

for j:=1 to 5 do

if a[i,j]<=min then min:=a[i,j];

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

end;

procedure TForm1.sumClick(Sender: TObject);

var sum:integer;  i,j:integer;

begin

sum:=0;

for i:=1 to 5 do

for j:=1 to 5 do

sum:=sum+a[i,j];

memo1.Lines.Add('sum ='+ inttostr(sum));

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

max1Click(max1);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

min1Click(min1);

end;

procedure TForm1.close1Click(Sender: TObject);

begin

button6Click(button6);

end;

procedure TForm1.clearstringgrid1Click(Sender: TObject);

var i,j:integer;

begin

for i:=0 to 4 do

for j:=0 to 4 do

StringGrid1.Cells[j,i]:=' ';

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

memo1.Clear;

end;

procedure TForm1.clearmemo1Click(Sender: TObject);

begin

button3Click(button3);

end;

procedure TForm1.max2Click(Sender: TObject);

begin

max1Click(max1);

end;

end.

5- ші зертханалық жұмысқа тапсырма

4 зертханалық жұмысқа 2 тапсырманы орындау, бірақ команданы шақыру үшін мәзір, контекстті мәзір және батырма қлданылады.

 

PAGE  10




1. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата філологічних наук
2. Лизинговая форма аренды
3. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата педагогічних наук11
4. Экономическая география и регионалистика
5. Моря и Страны Белгород прт Б
6. Лабораторная работа 8 Универсальный механизм- модуль моделирования продольной динамики железнодорожного
7. Тема 8. Проектне планування та управління проектами 2 год.html
8. Преимущества и недостатки основных видов электромеханических преобразователей
9. Лабораторная работа по физике на тему- Изучение распределения Максвелла Препода
10. Винкельман и его эстетическая и историческая концепция классического искусствознания
11. ВАРИАНТ 4 ~німдерді сатудан ж~мыстан ~ызметтен материалды~ ~~ндылы~тардан таратудан тыс~ары табыстар
12. Тема 1. Производство как основа экономического развития общества Производство служит основой благосостоя
13. Агротехнічні основи захисту земель від ерозії
14. ЛАБОРАТОРНА РОБОТА 1 ОДНОПОЛУПЕРІОДНИЙ ТА ДВОПОЛУПЕРІОДНИЙ ВИПРЯМЛЯЧ Мета- зрозуміти принцип роботи до
15. Тема 10. Інноваційна діяльність Питання 1 Науково ~ технічний процес
16. ТЕМА- Экологическая политика государства в рыночной экономике и механизм ее реализацииrdquo;
17. Тема- Операції над множинами
18. А Излюбленным способом уклонения от налогов стало сокрытие фирмами части своей деятельности Прекра
19. Содержание обследования моторных функций и речи
20. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата економічних наук.7