Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
6ddc9e41-585f-11e5-884b-f6d299da70eeУМКД_ИСП03.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.67 Mб
Скачать

Тақырыбы: Delphi-де дқбж-н құру.

  1. ДҚБЖ құрамын анықтау

  2. ДҚБЖ компоненттерін құру жобасы және жоспары

  3. TDataModule контейнерін құру

Сабақтың мақсаты: Экрандық форманы құру, ДҚ-ға рұқсатты орнату және мәліметтерді өңдеуді ұйымдастыру

ДҚБЖ құрамын анықтау

ДҚБЖ ДҚ-ға енгізілетін және ДҚ-дан шығарылатын мәліметтерді өңдеу процедураларынан және экрандық және есептік формалар жиынтыңынан тқрады. Windows ортасында ДБЖ бағдарламалау кезінде ДҚБЖ-ны қосымша деп атайды.

Экрандық формалар тізімін анықтау үшін қолданушы жұмысының тәртібін анықтаймы, яғни біздің жүйеміздің қолданушысының тәртібін береміз.

Қолданушы жқмысының тәртібін келесі тәсңм арқылы берейік.

Қолданушы жұмысының тәсімі.

Қолданушы интерфейсі бас меню арқылы жүзеге асырылады. Сондықтан жүйеде бас меню болу қажет.

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

Сонымен қатар қолданушы қорда баспа түріндегі мәліметті алу керек, әр түрлі мәліметтер әртүрлі формада болу қажет. Осы барлық шығыс мәліметтер есептік немесе есептеу формалары деп аталады. Сондықтан қолданушыға есептік формаларды алу қажет.

Осылайша есептерді алу үшін қолданушынығ толық жұмысына қажет есеп формаларын қарастыру қажет.

Қарастырылған формалар негізінде қолданушы жұмысының тәртібі келесі түрде іске асырылады.

Жүйені іске қосқан кезде экранда жүйенің бас менюі көрінуі керек. Менюда жүйе орындай алатын команда іс-әрекеттер тізімі берілген. Егер қолданушы түскен материалдар туралы мәліметтерді енгізуді жоспарласа, ол менюден ақпарат енгізу үшін форма шақырады.

Қорды алдын-ала қарау үшін ол менюден қорды қарау формасын шығарады. Қолданушы үшін есепте мәліметтерді шығару үшін әртірлі нұсқаулар қарастыруға болады. Қолданушы бас менюден қорды алдын-ала қару формасын шақыра алады және одан мәліметтер мен есеп формасын таңдай алады. Генерацияланған есеп нұсқауы баспа құралына беріледі. Иілгіштікке жету үшін ақпаратты енгізу режимінде және қорды алдын-ала қарау режимінде есепті қалыптастыру нұсқауын қарастыру қажет.

Осылайша жоғарыда көрсетілген “қолданушы –жүйе” жұмысының тәсімі нде жүйе жұмыс істеу үшін келесі формалар қажет екені көрініп тұр:

  • Меню үшін форма;

  • Қорға мәліметтер енгізу үшін форма;

  • ДҚ-ны алдын-ала қарау үшін форма;

  • №1-есеп үшін форма

  • №2-есеп үшін форма

  • №3-есеп ұшін форма

Жоғарыда ДБЖ-ның сыртқы формасының көрсетілуі берілді. ДБЖ-ның жұмыс мүмкіншілігін қамтамасыз ету үшін ДҚ формасымен байланысты қамтамасыздандыру керек: экрандық формада ДҚ мәліметтерін өңдеу. Ол келесі пунктерде жасалады.

ДҚБЖ компоненттерін құру жобасы және жоспары

Сыртқы көрініс формасына басқа ДҚБЖ-да ДҚ-ға қатынау қамтамасының құралдары және өңдеу процедуралары болу керек. ДҚБЖ-ны құрайтын барлық компоненттер жиынтығы құрулы және сақтаулы болу керек.

ДҚБЖ-ны жобалаудың негізі форма болып табылады. Форма барлық қалған компонентердің негізі және тасымалдаушысы болып мәліметтерді өңдеу процестері үшін фундамент қызметін атқарады. Бұл тәсілдің теориялық негізі объектіге бағытталған технология жобасы және бағдарламалау болып табылады.

Алайда объектіге бағытталған технология жобасы және бағдарламалаудың теориялық сұрақтарына арнайы тоқталмаймыз.

Енді ДҚБЖ жобасын құрайық, яғни ДҚБЖ компоненттерінің арасындағы байланысты, құрамын және тағайындалуын бекітеміз. Ол үшін қолданушы жұмысының жоғарыда көрсетілген тәсімінен шығамыз.

Қолданушы жұмысы ұшін үш есеп формасы қажет. Сондықтан әрбір экрандық және септік форма үшін бөлек форма берілу керек.

Delphi-де ДҚ және ДҚБЖ формалады арасындағы ақпараттық байланыс анықталған визуалды емес компоненттер арқылы іске асырылады. Сондықтан ДҚ-мен экрандық форма арасындағы байланысты қамтамасыз ету үшін жобада арнайы визуалды емес компонент (контейнер) TdataModule қолданылады, ол бөлек құрылу керек.

Осылайша эвристикалық алдын-ала сілтемелеуден шыға біздің форма үшін қажет тізімді берейік:

  • Меню үшін форма;

  • Қорға мәліметтер енгізу үшін форма;

  • ДҚ-ны алдын-ала қарау үшін форма;

  • №1-есеп үшін форма

  • №2-есеп үшін форма

  • №3 есеп үшін форма

  • TDataModule компоненті

Жобалаушы үшін ең ыңғайлы форманың және олардың компоненттерін қарастыру тәртібі келесі болып табылады.

  1. TDataModule компоненті

  2. Меню үшін форма;

  3. Қорға мәліметтер енгізу үшін форма;

  4. ДҚ-ны алдын-ала қарау үшін форма;

  5. №1-есеп үшін форма

  6. №2-есеп үшін форма

  7. №3 есеп үшін форма

ДҚБЖ құру үшін формалардың екі әдіспен беру керек:

  1. Егер алдын-ала олардың саны белгілі болса, монитор экранында және сәйкесінше IDE Delphi жобасның қоймасында (repository) алдын-ала визуолды және визуалды емес формалардың қажет санын шығаруға болады. File/New form командасы көмегімен визуалды формалар қосылады, ал File/New data module командасымен визуалды емес форма қосылады. Біздің жүйе алты визуалды форма және бір TDataModule компонентін талап етеді.

  2. Егер жоба үшін қажет формалар саны белгісіз болса, онда монитор экранында және сәйкесінше IDE Delphi жобасның қоймасына (repository) ДҚБЖ құрудың ағымды деігейінде жоба үшін тек қажетті форма қосылады. Экранда формаларды қою келесі команда арқылы іске асырылады. Басқа сөзбен айтқанда әрбір форма қажеттілік молшері бойынша қосылады.

Бұл жағдайда жоба қоймасына жаңа форманы қосу (File/ Add to project) командасын қосу арқылы іске асырылады.

Осылайша жобадан шығатын болсақ, мәліметтерді өңдеу процедурасы, экрандық және есептік формалардан жоғарыда қойылған есепті автоматтандыру үшін ДҚБЖ құру бойынша жұмыс жоспарын ұсынайық.

Алдымен ДҚБЖ-ның барлық формаларын құру үшін қажетті формаларды экранға шығару керек болсын деп есептейік. Егер форма жетіспесе оларды қажетті санға дейін жеткізейік. Бұл (File/New form) іс-әрекетін форма саны қанша талап етсе сонша рет қайталау және бір контейнерді File/New data module командасын қайталау жолымен жасалады.

Енді форманың жобалау тізбегін анықтайық. Жалпы жағдайда формаларды құру тізбегі ретсіз, бірақ сонда-да біз жоғарыда сипатталған тізбекті тағдаймыз. Формаларды хаттау және құру тізбегі ДҚБЖ құру процесін жеіәлдетеді.

ДҚБЖ құруды ДҚ-мен байланыс үшін TDataModule контейнерін құрудан бастаймыз. ДҚБЖ формасын жобалаудың экрандық формадан бастаймыз, онда ДҚ құрамы көрсетіледі.

ДҚБЖ жобалауы ДҚ-дан алынатын немесе экрандық формаға енгізілетін мәліметтерді өңдеу процедураларын құру және Дқ-мен байланыс жасаудың бөлек жолы бойынша әрі форма бойынша әске асырылады.

Сонымен қатар әртүрлі форма компоненттенрі арсында байланыс жасау керек. Бір экрандық формада жүйе жұмысын аяқтау командасын қарастыру қажет.

Компоненттер жиыны және олардығ формада орналасуын анықтағаннан кейін олардың ДҚ-ға қатынауы жасалады және форманың әр компоненті үшін мәліметтерді өңдеу процедурасы құрылады.

Жоғарыда көрсетілген анықтамадан көреміз: ДҚБЖ ДҚ сияқты көптеген компоненттерден тұрады. ДҚБЖ-нығ барлық компоненттері қалыптастыруды және бағдарламалуды талап етеді. Сондықтан оларды ДҚ сияқты анықталған орында сақтау керек. Бұл мақсат үшін C:\Primer каталогында АРР қосалқы каталогын құру қажет. Онда біз өңделген қосымшааларды сақтаймыз.

Жалпы жағдайда қосымшаны кез-келген жерде сақтауға болады, алайда, ДҚ-мен бірге бір папкада бірақ бөлек қосалқы директорияда сақтау жобалаушы жұмысы үшін ыңғайлы.

TDataModule контейнерін құру

Экранды формамен ДҚ байланысы арнайы компаненттермен қамтамасыздандырылады, олар визуальды емес компанент деп аталады. Бұл элементтер конструкциялау режимінде ғана көрінеді, ал жүйенің жұмыс режимі экранында көрінбейді.

Егер ДҚБЖ бір экрандық формадан тұрса, онда визуальды емес компаненттерді сақтау үшін контенер түріндегі арнайы қойма қажет емес. Бұл жағдайда визуальды емес компаненттерді сол жалғыз экрандық формаға орналастыруға болады. ДҚ қатынай алатын экрандық форманың көптігінен қатынауды келесі түрде ұйымдастыруымызға болады.

Барлық экрандық және есепберу формаларынан ДҚ қатынау (байланыс) қажет. ДҚБЖ-ның бірнеше экрандық формалары бар және олардың ДҚ-ға қатынауын екі тәсілмен жүргізуімізге болады.

1.Әр форманың (және оның компоненттерінде) ДҚ-ға қатынауын қалған формаларға тәуелсіз автономды іске асырамыз.

2.Екінші тәсіл әр форма үшін ДҚ-ға қатынауды ұйымдастыруды қайталамауды ұсынады. Барлық экрандық және есепберу формалары үшін арнайы TDataModule компонент арқылы бірдей қатынауды ұйымдастыру. TDataModule типті компанент ішіне визуальды компоненттері TTable, TQuery, DataSource, бар контейнер ұсынады.Онда ДҚ-ға қатынау керек формалар қатынауды TdataModule компоненті арқылы алады. Сондықтан ДҚБЖ құруда әр экрандық TdataModule типті компанентімен байланыс орнату қажет.

Сонымен ДҚБЖ жұмысы үшін TDataModule типті компанент құру қажет. Delphi ортасында TdataModule данасын құру File|New Data Module меню пункті арқылы іске асады.

TDataModule компонент мәліметтер базасымен жұмыс жасау компоненті контейнер қызметін атқарады. Delphi компонент палитрасына Data Access парағында тышқанмен ТТаblе визуальды емес компонент таңдаймыз (сурет. 20), тышқанды шертіп және содан контейнерде тышқанды шертеміз. Осыдан кейін компаненттің бейнеленуі контейнерде қалады.

Сурет-10.1. Delphi компоненттері палитрасы

TTable компоненті (басқада компоненттер сияқты, мысалы, TQuery, TDataSource) мәліметтерге қатынау және сақтау үшін қолданады, сондықтан визуальды емес компанент деп аталады, ал визуализациялау мақсатына визуалды компаненттер қолданылады. (TDBGrid, TEdit және т.б).

TTable компонентін орналастырғанан кейін енді оның қасиетін орнатайық. Ол үшін форманың сол жағында болатын объекті инспекторын пайдананамыз (Object Inspector). Егер ол көрінбесе F11 батырмасын басып шақыруымызға болады, Объектов инспекторы тышқан көмегімен бөлінген компоненттердің қасиетін орнатуға мүмкіндік береді. TTable компонентін тышқанмен бөлейік.

DatabaseName (ДҚ псевдонимі) қасиетінің мәнін PRIMER-ге тізім көмегімен немесе оны қолмен енгізіп орнатамыз TableName (ДҚ кестесінің аты) қасиетінің мәнін түскен тізім көмегімен Materialy.DB-ға орнатамыз. Осылардан кейін True-ға Active қасиеті мәнін орнатамыз. Осыдан кейін в TTable компонентінің (үнсіздік бойынша аты Table1) Materialy.DB шынайы кестемен шынайы байланысы болады.

TTable және TQuery (кейінірек қарастырамыз) компоненттері мәліметтер жиынын сақтау үшін қызмет етеді. Мәлңметтер жиыны түсінігі ДҚ кестелер түсінігінен кейінірек, олар келесідей мәліметтер жиынын құрай алады:

  • ДҚ кестесі алаңының немесе жазбалардың ішкі көптігі (TTable, TQuery компоненттері);

  • ДҚ бірнеше кестелерінен форматталған жазбаларынан (TQuery компоненті).

DataModule контейнеріне TdataSource қасиетін орнатайық.Ол біз №3 формаға кейінірек қосатын визуалды және визуалды емес (осы жағдайды Table1) компоненттер арасын байланыстыратын звено қызметін атқарады. Сондықтан TDataSource қасиетін жиі мәліметтер көзі (қоры) деп атайды. TDataSource компанентінің DataSet (мәліметтер жиыны аты) қасиетін түскен тізімді таңдау фолымен орнатайық

TdataModule-не қандайда болмасын атпен сақтау керек(үнсіздік бойынша Unit5.pas). TdataModule сипатталған модулінің аты unit, осы TdataModule-де орналасқан TdataSource және ДҚ қолданылатын қосымшанаң барлық түріне unit модуль текстіне қосылады. Бұл Delphiсының басты менюі File|Use Unit меню элементіне жазылады. Әрі қарай мәліметтер жиынының мәліметінмен жұмыс істейтін визуальды компаненттер өзінің DataSource қасиетінде TdataSource және TdataModule компанентіне сай келетін аттар құру керек. Аты қосымша болады: алдымен TDataModule компанентінің аты содан нүктеден кейін- TDataSource компонентінің аты, мысалы DataModule5.DataSource1.

MБ –на қортынды орнату және мәліметтерді өңдеуді ұйымдыстыру экранды форма құру(қарапайым вариант)

А. ДҚБЖ менюі үшін

Экранды форма құру . форм 1 диалог терезесінен таңдап ОК батырмасын басып №1 формаға (View|Forms меню элементі), өтейік Standard филтра компанент беттерінен MainMenu компаненті формасына орналастрайық ,содан кейін менюді өңдеу амалдарын шақырамыз.(2 амалмен жасауға болады.):

  • №1 форма ішінде MainMenu команентіне

  • 2 рет басу арқылы формада бөлінген компанент

  • Object Inspector терезесіне өтейік Items қасиетін шертіп бастрмасын басайық.

Form1.MainMenu1 меню конструтурында болып “Файл/Ввод/Просмотр/Отчет/Выход ” меню пункіттеріне береміз. Келесі деңгейге өту үшін <Enter>. Басамз. Меню пункттерін жеке топтарға визуальді бөлу есеп беруден кейін(-), плюс символдарын бірнеше рет қолданамыз“Ввод” меню пункітіне “Название материала/Поступление материала” ішкі менюін құрамыз. Ол үшін оны бөліп тышқанның оң жақ батырмасын шертеміз. Пайда болған терезе Create Submenu пункітін таңдаймыз.

Енді меню құрылған кезде менюдің әр пункттеріне кодпен байланыстрамыз,ол пайдаланушы берілген пункітті таңдалған кезде орындалады.осы OnClick оқиғасының конструктор менюінде болып өңдеуші процедура құру үшін меню пунктінде тышқанды екі рет шерту керек . пайда болған OnClick оқиғасының өңдеуші процедурасы редактор терезесінде осы меню пункітін таңдалған кезде орындалатын кодты жазамыз. Мұндай нәтижені Object Inspector терезесі Events парағында бар өңдеуші процедура атын тышқанмен екірет шерту арқылы алуымызға болады.

Мысалы: просмотр пунктіне келесі кодты енгіземіз.

Form1.Visible := False;

Form3.Visible := True;

Материаланың түсу элементінің менюі:

Form1.Visible := False;

Form2.Visible := True;

Шығу элемент менюі: Сlose;

File|Save Project As элемент менюін таңдау жобасын сақтаймыз, алдымен жоба формасының аты сұралады(бізде 5 форма аттары Form1 Form4 DataModule5) 'Unit*.pas' атымен мормалаларды сақтаймыз.содан жоба аты сұралады.,жобаны 'appl.dpr' атымен сақтаймыз.

№1. формы unit модул текстіне Unit2және Unit3модуль аттарын қосамыз.

Осыдан кейін қосымшаны орындаймыз. (Delphi ортасынан шықпай қосымшаны орындау үшін F9 батырмасын басу қажетті),ал қосымша құрып оны Delphi-ден басқа ортаға жіберу үшін Ctrl+F9 батырмалар комбенациясын басып және .ехе кеңейтілуі және атымен құрылған файлды жібереміз. Біздің жағдайда 'appl.exe' файлын жіберу керек.

Жұмыс жасап тұрған қосымшаны Run|Program Reset –пен тоқтатуға болады.

Дәріс №11

Тақырыбы: Деректер қоры құрамын көрсету үшін экрандық форма құру

  1. Экранды формада ДҚ-ның бір кестенің мазмұнын ұсыну

  2. ДҚ-ң екі кестелерінің мазмұнын ұсыну .

Сабақтың мақсаты: мәліметтерді және олардың қасиеттерін бейнелеуге арналған компоненттерді үйрену, кестелер арасындағы байланысты орнату.

Екі кесте бір-бірімен кілт арқылы байланысады. Байланысқан кестелердің біреуі негізгі, екіншісі қосымша кесте болады. Деректер қорымен жұмыс істеуге арналған компоненттер DataAccess (деректерге кіру) және DataControls (деректерді басқару) беттеріндегі компоненттер кітапханасында орналасқан.

Деректер қорында қолданатын әрбір қосымша келесі үш түрдегі компоненттердің біреуін қамтиды:

  • Деректер қорымен тікелей байланысатын деректер жиыны (dataset) компоненттері. Бұл Table, Query компоненттері;

  • Бірінші түрдегі,визуалды және деректерді басқару компоненттері арасындағы ақпарат алмасу деректер көзі (Datasource) компоненттері арқылы болады. Бұл компонент Data Source болып табылады;

  • DBGrid, DBText және DBEdit сияқты, деректерді басқару және визуалды компоненттер.