
- •Зертханалық жұмыс №1 (6сағат) байланыспаған кестелермен және локалды деректер базасымен жұмыс жасау
- •6.1. Локалды деректер базасымен жұмыс істеуге арналған қосымша
- •6.1.1. Жұмыстың мақсаты
- •6.1.2. Жұмысты орындауға арналған тапсырмалар
- •6.1.3. Қосымшаны құрастыру процесі
- •6.1.4. Деректер базасының псевдонимін құру
- •6.1.5. Деректер базасы кестесінің жазбаларының құрылымын жасау
- •6.1.6. Негізгі форма мен оның дб-мен жұмыс істейтін компоненттерін жасау
- •6.1.6.1. Негізгі компоненттерді орналастыру мен жөндеу
- •6.1.6.2. Панельдерді орналастыру және жөндеу
- •6.1.6.3. DbGrid компонентін жөндеу
- •6.1.6.4. Есептелетін өрісті құру
- •6.1.6.5. Форманы кестенің өрістер редакторынан алынған терезелермен толықтыру
- •6.1.8. «Деректерді көрсету» ішкі мәзірінің әдістері
- •6.1.8.1. Query компонентінің көмегімен сұрату арқылы таңдау
- •6.1.8.2. Table және Query компоненттерінің фильтрлерімен таңдау
- •6.1.9. Мәліметтерді сұрыптау әдістері
- •6.1.10. Мәліметтерді іздеу әдістері
- •6.1.12. ‘График’ мәзірі командасы әдісі және графиктің бапталуы
- •6.1.14. Проект мысалының листингісі
- •6.1.15. Локальдық мәліметтер қорымен жұмыс үшін тапсырмалар нұсқалары
- •6.1.16. Бақылау сұрақтары
- •6.2. Екі кестені біріктіруге арналған қосымша 1:1
- •6.2.1. Жұмыстың орындалу мақсаты және тапсырмалары
- •6.2.2. Қосымшаны өңдеу процесі
- •6.2.3. Екі кестедегі мәліметтерді біріктіру әдісі
- •6.2.4. Бақылау сұрақтары
- •6.3. Бір типті мәліметтер базасының кестелерінің қосу, ажырату және жасау қосымшасын құру
- •6.3.1. Жұмыстың орындалу мақсаты және тапсырмалары
- •6.3.2. Қосымшаны өңдеу процесі
- •6.3.3. Екі кестенің мәліметтерімен жұмыс жасауға арналған әдіс
- •6.3.4. Бақылау сұрақтары
- •Зертханалық жұмыс №2(4 сағат). Кестелермен байланысқан локальдық мәліметтер базасымен жұмыс
- •7.1. Тәуелді кесте жазбаларының құрылымын өңдеу үшін орнатылған Lockup қасиеті көмегімен кестелерден жіберілетін мәнді таңдауға арналған қосымша құру
- •7.1.1 Программаның орындалу мақсаты және тапсырмалары
- •7.1.2. Қосымшаны өңдеу процесі
- •7.1.3. Екі кестенің деректерімен жұмыс жасауға арналған әдіс
- •7.1.4. Бақылау сұрақтары
- •7.2. Тәуелді кестенің жаңа өрісін құру кезіндегі өрістердің редакторы көмегімен анықталған мүмкін болатын мәндерді таңдауға арналған кестесі бар қосымша
- •7.2.1. Жұмыстың мақсаты, тапсырмасы және орындалу процесі
- •7.2.2. Бақылау сұрақтары
- •7.3. Referential Integrity қасиетінің көмегімен байланысқан кестелерге арналған қосымша
- •7.3.1. Жұмыстың мақсаты және орындалу тапсырмасы
- •7.3.2. Жұмыстың орындалу барысы
- •7.3.3. Бақылау сұрақтары
6.1.12. ‘График’ мәзірі командасы әдісі және графиктің бапталуы
ДҚ-дағы мәліметтер бойынша графиктің құрылуы үшін TDBChart типті компонент қолданылады. Оның параметрлерінің бапталуы TСhart типті компоненттің параметрлерінің бапталуынан ешқалай ерекшеленбейді. Бір ерекшелігі: оның редакторында дерек көзі ретінде дерек қорын орнату қажет.
Қарастырылып отырған мысалда график бөлек формаға шығарылады. Оның көрсетілімі үшін программаны орындау процесінде График мәзірі пунктіне арналған әдісте Form2.Show; операторы қолданылады. Form1 модуліне Uses Unit2; операторы көмегімен Form2-ні қосу қажет.
Графикті баптау келесідегідей. Проектіге екінші Form2-ні қосу қажет. Оған DataControls бетінен TDBChart типті компонент орнатамыз. Editing DBChart1 компоненттер редакторын шақырамыз, мысалы, компонентте оң жақ батырманы екі рет шерту арқылы. Компонентке екі қисыұты орналастырамыз, мысалы, Line типті. Олардың Title қасиеттерін, мысалы ‘Номер зачетки - стипендия’, ‘Номер зачетки – новая стипендия’ етіп орнатамыз. Редактордың Chart\Titles бетінде атын орнатуымыз қажет, мысалы ‘Зависимость стипендии от номера зачетки’. Редактордың Chart\Panel, Chart\Axis, Chart\Walls беттерінде 8.4 және 15.1 бөлімдерінде көрсетілген баптауларға ұқсас параметрлерін баптау. Chart\Legend бетінде легенданың орналасуын компоненттің төменгі бөлігіне орнату қажет. Ол үшін Position тобында Bottom радиобатырмасын белсенді ету керек. Ал Legend Style параметрі үшін мәндер тізімінен Automatic-ті таңдайсыз.
Series\Data Source(дерек көзі) бетінде Dataset түріндегі дерек көзін таңдаймыз. Series\Data Source бетінің редакторының түрі 6.7 суретінде берілген. Төмен түсетін Dataset тізімі Form1формасының модуліндегі мәліметтер жиынтығының аттарынан тұрады. Ол жерден Form1.Table1 мәнін таңдау керек. Серияларды баптау.
6.7 сурет. Series\Data Source бейнесі – редактор беті
Бұл үшін серияны таңдау терзесінде ‘Номер зачетки - стипендия’ атымен Series1 қисығын таңдау қажет. Ол үшін Х терезесінде төмен түсетін тізімнен NZ мәнін таңдаймыз. Y терезесінде төмен түсетін тізімнен RS мәнін таңдаймыз. Осыған ұқсас ‘Номер зачетки – новая стипендия’ атымен Series2 қисығын таңдау қажет. Ол үшін Х терезесінде: төмен түсетін тізімнен NZ мәні. Y терезесінде: төмен түсетін тізімнен NRS мәні.
Қосымшаның орындалуы кезінде қисықтың графигі мына түрде болады. Form2 үшін модуль тексті 6.3 листингісінде берілген. Қосымшаны өңдеу кезеңіндегі графиктің түрі 6.8 суретінде берілген, ал қосымшаның орындалуы кезеңіндегі түрі – 6.9 суретінде.
6.8 сурет. Қосымшаны өңдеу кезеңіндегі график бейнесі
6.9 сурет. Қосымшаның орындалу кезеңіндегі графиктің бейнесі
6.1.13. Отчет(Есеп беру) мәзіршесі
6.1.13.1. Есеп берудің құрылуы
ДҚ-нан мәліметтермен есеп беруді шығару үшін Form3 бөлек формасы қолданылады. Негізгі форма модуліндегі Form3 модуліне сілтеме(Uses Unit3;) болу қажет. ДҚ мәліметтері есеп беруге QReport бетінде орналасқан компонентердің көмегімен шығарылады. Ол ДҚ-да орналасқан мәліметтерді шығаруға арналған 23 түрлі компоненттен тұрады. Қосымшаның мысалында қарапайым есеп беру құрылады. Ол үшін 7 түрлі компоненттер типі қолданған:
TQuickRep – компонент – есеп беру;
TQRBand – жолақтар – басқа компоненттер орналасатын есеп берудің негізгі құрамдас бөлігі;
TQRLabel – Tlabel типті компонентке ұқсас – бағандардың атын шығару үшін;
TQRDBText – жазба өрістерінің текстілік мәндерін шығару үшін (DBText және DBEdit-ке ұқсас);
TQRExpr – есеп беру үшін орындалған есептеулердің нәтижелерін шығару үшін;
TQRSysData – есеп берудің датасын шығару үшін;
TQRDBImage – ДҚ жазбаларының графикалық компоненттерін шығару үшін.
Форманың есеп беру фрагментінің түрі 6.10 суретінде берілген. Form3 формасының модулі 6.4 листингісінде көрсетілген.
TQuickRep типті QuickRep1 – компонент –есеп беру. Бұл басқа компоненттер орналасатын негіз. Ол А4 форматты беттің түріне ие. DataSet=Form1.Table1 қасиетінің көмегімен бұл компонент есеп беруге шығару қажет деректер жиынтығымен байланысады.
Есеп берудің компонентін орналастырған соң оның параметрін есеп беру бетінің редакторының (Report Settings) көмегімен өзгертуге болады. Редакторды компонентте екі рет шерту арқылы немесе тышқанның оң жақ батырмасын басу арқылы шақырылған мәзірдің көмегімен шақыруға болады.
Есеп беру бөлек жолақтардан тұрады(TQRBand типті компоненттер). Бұл жолақтарда есеп берудің басқа компоненттері орналасады. Әр компонент есеп берудің сәйкес компоненттері( тақырыптардың белгісі) немесе ДҚ-дағы мәліметтер бейнелену қажет жерде орналасады. Жолақтарды формада орналастырған соң оның өлшемін горизонтальді(көлденең) шекарасын жылжыту арқылы өзгертуімізге болады. есеп беру жолағы рамка және BandType Қасиетінде орнатылатын жолақ түрінен тұрады. Жолақ түрі 11 мәннің біріне ие, мысалы:
rbTitle – кестенің тақырыбын шығару үшін; есеп берудің басында шығарылады;
rbColumnHeader –бағандардың тақырыбын шығару үшін;
rbDetail – кестенің жазбаларының элементтерінің мәндерін шығару үшін;
rbSummary – жинақтық жолақ. ДҚ есеп беруінің барлық мәліметтердің астына шығарылады; есеп берудің астына қол қоюдан тұрады.
6.10 сурет. Қосымшаның өңдеу кезеңіндегі есеп беру формасының фрагменті
Есеп беруді баспаға берместен бұрын қарап алуға болады.rbTitle типті жолаққа есеп берудің тақырыбын шығару үшін оған TQRLabel типті компонент орнатуымыз қажет және оның Caption = Список студентов қасиетін орнатамыз. rbColumnHeader типті жолаққа өрістердің тақырыбын шығару үшін оған TQRLabel типті компоненттер орналастырып, Caption қасиеттеріне сәйкес тексттерді толтырамыз. rbDetail типті жолағына жазба өрістерінің текстілік мәліметтерін шығару үшін оған 4 TQRDBText типті компонент және 1 TQRDBImage типті компонент орналастырамыз. Содан соң олардың DataSet (дерек қоры) қасиеттерін және DataField(өріс аты) қасиеттерін орнатамыз. Мысалы: DataSet = Form1.Table1; DataField=FIO. Есеп берудің төменгі бөлігінде мысалда TQRLabel ,TQRSysData және TQRExpr типті компоненттерден тұратын жинақ жолағы орналасқан.
TQRExpr компонентінде жазба өрістерінің өңдеу нәтижесінің мәні қолданылатын өрнек құрылатын мән орналасады. Өрнектерді оларды есептеуге арналған әдістерде құруға болады. әдісті дайындау компонентте екі рет шерту арқылы шақырылады. Мәндерді есептеу үшін дайын формулаларды қолдануға болады. Функция тізімін шақыру QRExpr компонентінің Expression қасиетінде жүзеге асады. QRExpr компоненті үшін өрнек редакторының түрі 6.11 суретінде берілген.
6.11 сурет. QRExpr компоненті үшін өрнек редакторының түрі
Көрсетілген проект мысалында QRExpr компоненттерінде мына функциялар (6.10 суреттегі) қолданылады:
SUM –жаңа стипендияның суммасын есептеу үшін;
MAX – жаңа стипендияның максималды мәнін анықтау үшін.
QRSysData компоненті жүйелік ақпараттан тұрады. Оның типі TQRSysDataType қасиетімен анықталады. Ол 10 мүмкін мәндердің бірін қабылдайды. Мысалы: qrsDate – ағымдағы датаны шығарады, qrsDateTime – ағымдағы дата мен уақытты шығарады; qrsTime – ағымдағы уақытты; qrsDetailCount – дерек қорындағы жазбалар саны; qrsImage – графикалық образ.
Көрсетілген мысалда QRSysData компоненті қолданылады. Ағымдағы датаны шығару TQRSysDataType қасиетінің мәні qrsDate-қа тең, яғни TQRSysDataType= qrsDate(6.10 сурет).
6.1.13.2. Есеп беру мәзіршесінің әдістері
Отчет(Есеп беру) мәзіршесі екі пункттен тұрады: Просмотр және Печать. Просмотр командасының әдісі есеп беру формасын шақырады және ондағы мәліметтерді баспаға берместен бұрын тексеру үшін көрсетеді. Әдістің негізгі операторлары:
Form3.Show; //есеп беру формасын көрсету
Form3.QuickRep1.Preview; //алдын ала көрсету
Form3.QuickRep.Print; //есеп беруді баспаға беру
Печать мәзірі пунктінің әдісі Form3-те көрсетілген есеп беруді баспаға шығаруды шақырады. Есеп беруді баспаға берместен бұрын қарап алуға болады.