Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аршын апай.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.52 Mб
Скачать

Тәжірибелік жұмыс№6. «MyWorld» мқ құру. Алмастыру буферімен және графикалық бейнелермен жұмыс

BDMyWorld.mdb жобасы бар папканы қайтарыңыз.Мәліметтер қорында маңызды ролді Memo- өрісі атқарады. Бұл өріс құрамында өлшемі анықталмаған көпжолды мәтін болады.

1 –қадам Жаңа өріс құру және бастапқы форманы баптау.

  1. Ms-Access-те BDMyWorld.mdb файлын ашыңыз және содан кейін конструктор режимінде «Страны» кестесін ашыңыз. Осы кестеде жаңа өріс құрып, суретте көрсетілгендей етіп толтырыңыз:

  1. Ms-Access-ті жауып, Delphi-ге оралыңыз. Щелкните дважды мышью по компоненту ADOQuery1 компононтін екі рет шертіп, содан кейін пайда болған өрісті редактрлеу терезесінде тышқанның оң жағын шертіңіз. Қалқып шығатын менюден «Add Fields» пунктін таңдаңыз. Жаңа өрістер тізімде болуы керек.Редактор өрісін жабыңыз.

  2. DataControls бетінен біздің бастапқы формамыздың проектісіндегі dbImage-дің 3 компонентіне paLeft панелін ретпен жоғарыдан төмен орналастырыңыз.

  3. Инспекторе объектте барлық жаңа компоненттердің DataSource қасиетіне DataSource1 мағынасын орнатыңыз. ShowHint және Stretch қасиеттеріне True мағынасын орнатыңыз. Сонымен қатар төмендегі кестеде көрсетілген қасиеттерді де кестедегідей етіп орнатыңыз:

    Имя

    компонента

    Значения свойств

    DataFild

    Align

    Hint

    DBImage1

    Flag

    alTop

    ФЛАГ

    DBImage2

    Map

    alTop

    КАРТА

    DBImage3

    FOTO

    alClient

    ФОТОГРАФИЯ

  4. Қалқып шығатын көмек беруші тез қалқып шығуы үшін бастапқы формадағы OnCreate өңдеушісінің соңына төменде қалың қаріппен белгіленген процедураны жазыңыз:

procedure TfmMain.FormCreate(Sender: TObject);

var sbase:string;

begin

sbase:=FindFileBD('BDMyWorld.mdb','MyWorld.INI',ConStr,dlgBD);

if sbase<>'' then begin

ADOQuery1.Active :=False;

ADOQuery1.ConnectionString :=ConStr;

ADOQuery1.Active :=True;

NameSortField:=DBGrid1.Columns[0].FieldName;Desc:=False;

NewQuerySQL;

end else Application.Terminate;

Application.HintPause :=0;

end;

  1. DBImage компонентінің формасының өлшемін өзгерткенкезде әрқашан бірдей биіктікте болуы үшін, OnResize формасының төменде көрсетілген процедурасын жазыңыз:

  2. procedure TfmMain.FormResize(Sender: TObject);

begin

DBImage1.Height:=paLeft.Height div 3;

DBImage2.Height:=paLeft.Height div 3;

end;

  1. Жаңа өріске суретті графикалық файлдарды ашу жолы арқылы орналастырамыз, сонымен қатар алмасу буферінің көмегі арқылы . Әрбір компонент үшін кнопка құру ыңғайсыз болғандықтан, керек командаларды орындайтын қалқымалы меню құрамыз.

  2. Win32 бетінен ImageList компонентін формаға орналастырамыз және Name қасиетіне imClip мағынасын таңдаймыз, ал Width және Height қасиеттеріне 16 деген мән беріңіз. Содан кейін осы объектке екі рет шертіп, пайда болған Add кнопкасын басу арқылы ../STUDENT/Заготовки/Buttons папкасынан табуға болатын керек суреттерді қосыңыз :

Төменде көрсетілгендей етіп 12 суретті ретімен орналастырыңыз:

Имя файла с картинкой

(индекс) в наборе

penEnabled.bmp

0

OpenDisabled.bmp

1

PasteEnabled.bmp

2

PasteDisabled.bmp

3

CopyEnabled.bmp

4

CopyDisabled.bmp

5

CutEnabled.bmp

6

CutDisabled.bmp

7

SaveEnabled.bmp

8

SaveDisabled.bmp

9

ClearEnabled.bmp

10

ClearDisabled.bmp

11

Формаға PopupMenu компонентін орналастырыңыз және оның Name қасиетіне MenuClip мағынасын беріңіз. Кейін оған екі рет шертіп, дизайнер менюінде төменде көрсетілген пункттерді формалап оған төмендегі кестеде көрсетілген қасиеттерді беріңіз:

Name

Caption

ImageIndex

ShortCut

cmOpen

Открыть

0

F3

cmPaste

Вставить

2

Ctrl+V

cmCopy

Копировать

4

Ctrl+C

cmCut

Вырезать

6

Ctrl+X

cmSave

Сохранить как …

8

Shift+F2

cmClear

Очистить

10

Ctrl+Del

DBImage1, DBImage2 және DBImage3 компоненттерінің PopupMenu қасиетіне MenuClip мағынасын беріңіз.

2-қадам . Қалқып шығатын менюінің тосқауыл және рұқсат командалары.

Мүмкін болатын рұқсат етілген командалары:

  • «Открыть» командасына әрқашан рұқсат етіледі.

  • «Вставить» командасына рұқсат етіледі, егер графикалық сурет алмасу буферінде болған жағғдайда.

  • Ал қалған командаларға рұқсат етіледі, егер МҚ-ның сәйкес өрісінің құрамында сурет болған жағдайда.

Меню пайда болатынның алдындағы OnPopup жағдайын қолданамыз. Онда МҚ-ның қай өрісінде тексерілетін берілгендер бар екенін міндетті түрде анықтау керек:

  1. Қолданылатын модульдер құрамына clipbrd. Модульін қосыңыз.

  2. Отметьте на Формада ClipMenu компонентін белгілеңіз және инспектора объект көмегімен OnPopup жағдайының төменде көрсетілген өңдеушісін құрыңыз:

procedure TfmMain.MenuClipPopup(Sender: TObject);