Style BSSolid - тұтас бояйды;
BSHorizontal – горизонталь сызықтармен бояйды.
8. Сурет салуға болатын обьектілер немесе компоненттер. Суретті салуға немесе
қарауға Image компонентіне басқа Form немесе PaintBox компоненттерін де қолдануға
болады. Оларда да Canvas қасиеті бар. Формада сурет салғанда оның OnPaint оқиғасы
қолданылады.
Image- де сурет салған кезде оның DrawIng қасиеті қолданылады.
Аннимация. Аннимация – бұл кесінді немесе суретті қозғалтуды айтады.
C++ Builder-де Windows -тың дайын аннимацияларын қолдануға болады немесе
салынғансуреттің оның бӛліктерін қозғалту арқылы жылжытуға болады.
Кескінді қозғалысқа келтірудің бірнеше тәсілдері бар:
1.
Timer компоненттері пайдаланылады. Мұнда уақытқа байланысты кескінді
жылжытуға болады. Мұнда кескін алдын-ала процедура түрінде анықталып алынады.
Уақытқа байланысты кескіннің қозғалатын бӛлігінің координаталары ӛзгертіледі.
2.
Кескіннің түсін Canva-ның түсімен сәйкестендіру. Мұнда сурет салушы
қаламның түсін ӛзгертіп отырады.
3.
Animate компоненті бар. Win32-де орналасқан.Бұл компонент Windows-тағы
стандарт видеоклиптерді формада кӛрсету үшін қолданылады. Бұл видеоклиптердің
кеңеймесі. AVI. Стандарт видеоклиптерінің Shell 32.dll библеотекасы болады.
Ӛзіндік жұмыс тапсымалары
Тапсырмалар:
a) Функцияның графиктерін салу программасын құрыңыз:
1. y=a*x^2+b*x
2. y=x^3+a*x^2+b*x
3. y=a*sinx +b
4. y=-a*x^2+b*x
5. y=a*x^5
6. y=a*cos(x-1)+|x|
7. y=a/x
8. y=(x+a)/(x-b)
9. y=a+b/x+c/x^2
10. y=a-b/x-c/x^2
b) Суреттерді салу және оларды қозғалту программасын құрыңыз:
Вариант 1 –“тышқан” Вариант 2 – “нысана”
Вариант 3 – “қорған” Вариант 4 – “робот”
Вариант 5-“танк” Вариант 6 –“штанга”
Вариант 7-“Саққұлақ” Вариант 8 –“қоян”
Вариант 9- «чебурашка» Вариант 10 – «жұлдызша»
11 – зертханалық жұмыс.
С++ Buildеr 6 ортасында деректер қорын құру
Әдістемелік нұсқаулар
Borland C++ Builder қолданып, бiр қолданушылық деректер қорымен, сонымен қатар
ДҚБЖ серверлерімен, яғни Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, сондай-ақ
ODBC-кӛздерімен жұмыс жасайтын қосымша құруға болады.
C++ Builder-де деректер жиыны – бұл жазбалар жиынынан тұратын объект, олардың
әрқайсысы ӛрістерден және ағымдағы жазба кӛрсеткіштерінен тұрады. Деректер жиыны
C++ Builder –де TDataSet абстрактілі класының (абстрактілі клас- басқа кластарды
туындататын класс, бірақ берілген кластан объект экзамплярын құруға болмайды) тума
класстары
болады. Мысалы, Data Access парағының компоненттер палитрасындағы TQuery,
TTable және TStoredProc компоненттері - TDBDataSet мұрагерлері, олар ӛз кезегінде
TDataSet мұрагерлері. TDataSet - кестелерді ашу, сұраныстарды және жолдар бойынша
ауыстыруларды орындайтын құралдармен қамтамасыз ететін, кестелерді басқару және
сұраныстар абстракциясынан тұрады.
TDataSource компоненті
DataSource компоненті TDataSet (TTable, TQuery, TStoredProc) және Data Controls
компоненттері арасындағы аралық қызметін атқарады. Data Controls компоненттері -
формада деректердің ұсынылуын қамтамасыз ететін басқару элементтері. TdataSet
компоненттері Borland Database Engine (BDE) кітапханасымен байланысты басқарады, ал
DataSource компоненті Data Controls компоненті деректерімен байланысты басқарады.
ДҚ-ның қарапайым қосымшаларында DataSource компоненті - TDataSet (TTable немесе
TQuery) бір компонентімен және Data Controls (DBGrid, DBEdit және т.б.) бірнеше
компонентімен байланысты. DataSource компонентінің TDataSet және DataControls
компоненттерімен байланысы келесі қасиеттер мен оқиғаларды қолдану арқылы жүзеге
асады:
DataSet қасиеті – TDataSource компонентінің атын белгілейді. DataSet мәнін объектілер
инспекторы арқылы орнатылады.
Enabled қасиеті - TDataSource және Data Controls компоненттері арасындағы
байланысты белсенді етеді немесе тоқтады. Егер Enabled қасиетінің мәні true болса, онда
TDataSource Data Controls компоненттерімен байланысқан, яғни деректер жиыны
ӛзгерiстерiн қабылдайды. Enabled қасиетін қолдану TDataSource пен Data Controls
визуальды компоненттерiн уақытша айыруға мүмкiндiк бередi. Мысалы, іздеу жағдайында,
экранда барлық кестелерді парақтағанда кестеде үлкен кӛлемдегі жазбаларды кӛрсетпеу
үшін.
AutoEdit қасиеті - Data Controls компоненттерінде ӛңдеу қалай басталатынын
бақылайды. Егер мәні true болса, онда ӛңдеу тәртiбі TDataSet компонентімен байланысқан
Data Controls компонентiнің фокус алу кезiнен басталады. Қарсы жағдайда ӛңдеу режимі
TDataSet компонентінің Edit әдісін шақыру кезінде басталады, мысалы DBNavigator
компонентіндегі Edit батырмасын қолданушы басқаннан кейін.
OnDataChange оқиғасы – ӛрістер, жазбалар, кестелер, сұраныстар мәндерін ӛзгерту
кезінде шақырылады.
OnUpdateData оқиғасы - қолданушы TDataSet-тегі ағымдағы жазбаны ӛзгерткісі
келгенде шақырылады.
TTable компоненті
Деректер қорындағы кестелерге қатынаудың ең қарапайым жолы TТable компонентін
қолдану, ол бір кестеге қатынауға рұқсат береді. Осы мақсатта жиі қолданатын қасиеттері
тӛмендегілер:
Active – берілген кесте ашық (true) немесе жоқ (false) екенін кӛрсетеді.
DatabaseName - құрамында ізделінетін кесте бар каталог аты, немесе қашықтағы ДҚ
псевдонимі (alias) (Псевдонимдер BDE конфигурациясы утилиталары арқылы орнатылады,
немесе мәзірдің Database/Explore пункті арқылы шақырылатын SQL Explorer арқылы
орнатылады). Бұл қасиет кесте жабық (оның Active қасиеті false болғанда) болған жағдайда
ғана ӛзгертіледі.
Мысалы:
Table1->Active = false;
Table1->DatabaseName = "BCDEMOS"
Table1->Active = true;
TableName – кесте аты.
Exclusive – егер бұл қасиет true мәнін қабылдаса, кесте берілген қосымшамен ашық
болғанда, кестені басқа ешқандай қолданушы аша алмайды. Егер бұл қасиет false (үнсіздік
бойынша) болса, онда басқа қолданушыларда осы кестені аша алады.
IndexName – кестеге екінші индексті белгілейді. Бұл қасиетті кесте ашық болғанда
ӛзгертуге болмайды.
MasterFields – басқа кестемен байланыс жасау үшiн ӛрiстiң атын анықтайды.
MasterSource – TDataSource компонентінің аты, TTable осы арқылы байланысқан
кестеден деректерді алады.
ReadOnly - егер бұл қасиет true болса, кесте "тек қана оқу үшiн" тәртiбінде ашылған.
Кесте ашық болғанда ReadOnly қасиетiн ӛзгертуге болмайды.
Fields - TField объектілері массиві. Бұл қасиетті қолданып, кесте құрылымы алдан-ала
белгілі болғанда, ӛрістерге нӛмірі бойынша қатынауға болады:
Edit1->Text=Table1->Fields[2]->AsString;
TTable компонентімен жұмыс жасағанда жиі қолданылатын әдістер:
Open және Close - Active қасиетіндегі True және False мәндеріне сәйкес.
Refresh - ДҚ деректер жиынын қайтадан санауға мүмкiндiк бередi.
First, Last, Next, Prior ағымдағы жазба кӛрсеткішін біріншіге, соңына, келесіге және
алдынғы жазбаларға сәйкес ауыстырады, мысалы:
Table1->First();
while (!Table1->Eof)
{
//бірнәрсе жасаймыз...
Table1->Next();
};
Insert, Edit, Delete, Append – жазба қосу үшін кестелерді жазу, ӛңдеу, алып тастау,
жазбаларды қосу режимдерiне ауыстырады
Post – ӛзгертілген деректерді физикалық сақтауды жүзеге асырады.
Мысалы,
Table2->Insert();
Table2->Fields[0]->AsInteger = 100;
Table2->Fields[1]->AsString =Edit1->Text;
Table2->Post();
Cancel – енгізілген ӛзгертулерді (физикалық сақталмаған) болдырмайды.
Формаға TТable компонентін енгізу үшін, келесілерді орындау қажет:
Data Access парағындағы TТable компонентін формаға немесе деректер модуліне
орналастыру;
DatabaseName қасиетіне ДҚ орналасқан каталог немесе псевдоним атын беру;
TableName қасиетіне кесте атын беру немесе тізімнен кесте атын таңдау;
Формаға DataSource компонентін орналастыру және DataSet қасиетінің мәніне TТable
компоненті атына беру;
Data Controls компоненттерін орналастыру және оларды DataSource компонентімен
байланыстыру, яғни ДҚ кестелеріндегі деректер экранда кӛріну үшін.
TDBGrid компоненті
TDBGrid компоненті TTable немесе TQuery компоненттері деректерін экранда кестелік
түрде кӛрсетуді қамтамасыз етеді. Қосымшада берілген ДҚ кӛрсету, қою, жою, ӛңдеу үшін
TDBGrid қолданады. Әдетте TDBGrid DBNavigator-мен бірге қолданылады, сонымен қатар
басқа да интерфейстік элементтерді TTable компонентінің First, Last, Next, Ptior, Insert,
Delete, Edit, Append, Post, Cancel ӛңдеуші оқиға әдістерін қосу арқылы қолдануға болады.
Кестенің сыртқы түрін (мысалы, баған тақырыбы жазуын) ӛңдеушінің Columns Editor
қасиеті арқылы ӛзгертуге болады. Columns Editor шақыру DBGrid компонетінің контекстті
мәзірінен сәйкес опцияны таңдау арқылы немесе объектілер инспекторы бағанынан Columns
қасиетінің мәнін беру арқылы жүзеге асады.
4.18-сурет. DBGrid бағаны қасиетін Columns Editor арқылы орнату.
DBGrid сипаттамаларын берудің тағы бір жолы TField компоненттері жиынының
статистикалық әдістері бойынша. Деректер жиынындағы әр ӛріске құрылған TField типіндегі
компонент арқылы DBGrid-те кӛріну үшін енін, форматын, маскасын, орналасатын жерін
және басқа да сипаттамаларын орнатуға болады.
Float, Integer және Date ӛрістері DisplayMask қасиетіне ие. Бұл қасиетті, деректерді
DBGrid компонентінде немесе Data Controls-тың басқа компонентінде форматтау үшін
қолдануға болады. Мысалы, дата типті ӛрістерге mm-dd-yy экрандық форматын қолдануға
болады.
Кейбір TField (мысалы, TStringField) компоненттері EditMask қасиетіне ие, ол DBGrid
және басқа Data Controls компоненттеріне деректерді енгізуді орнатады.
EditMask қасиетін орнату үшін Object Inspector-дегі Field компонентін орнатып,
EditMask қасиетін таңдау керек, кейін Input Mask Editor диалогты панелі кӛрінеді /4.19-
сурет/. Ӛңдеу маскасын тексеру үшін Test Input ӛрісіне мән енгізу қажет
4.19-сурет. Input Mask Editor диалогтік панелі
Жаттығу жұмыстары
Қарапайым қосымша құру
ДҚ кестелерін ӛңдеуге арналған қарапайым қосымша құрып кӛрейік. Ол үшін
BCDEMOS деректер қорындағы COUNTRY кестесін қолданамыз, C++ Builder комплектісінің
құрамындағы.
Жаңа жоба құрамыз және оның басты формасын COUNT1.CPP деп сақтаймыз, ал
жобаның ӛзін COUNT.MAK деп сақтаймыз. Data Access парағының компоненттер
палитрасын қолдана отырып, TTable және DataSource компоненттерін формаға
орналастырамыз. Table1 компонентінің Database Name қасиетіне BCDEMOS мәнін
орнатамыз, TableName қасиетіне COUNTRY.DB мәнін, Active қасиетіне true мәніне
теңестіреміз. Ары қарай DataSource1 компонентінің DataSet қасиетінің мәніне Table1
теңестіреміз.
Data Controls парағының компоненттер палитрасын қолданып, формаға DBGrid және
DBNavigator компоненттерін орналастырамыз. Екі компоненттің DataSource қасиетіне
DataSource1 мәнін меншіктейміз.
4.20-сурет. COUNT қосымшасының басты формасы
Алынған жобаны компиляциялауға және тестілеуге болады.
Бұдан басқа, осындай қосымша құрудың ӛте қарапайым әдісі бар. Осы мақсатта
мәзірден Database/Explore пунктін таңдап, SQL Explorer утилитасын қолдануға болады. SQL
Explorer терезесінің сол жақ бӛлігінен Databases парағын таңдап және сәйкесінше деректер
қоры атының жаңындағы "+" белгісін басып, Tables опциясын таңдау қажет. Осыдан кейін
терезенің оң жақ бӛлігінен Summary бүктемесін таңдаймыз және қажетті кесте аты (біздің
жағдайда COUNTRY.DB) жұлдызшасын тышқан арқылы бос формаға әкелеміз. Формада
TDBGrid, TDataSource және TTable компоненттері пайда болады. Осыдан кейін DBNavigator-
ды қосып, оны TDataSource-пен байланыстырамыз және кестені белсенді етеміз.
4.21-сурет. SQL Explorer
Ӛзіндік жұмысқа тапсырмалар
1.
Студенттердің стипендиясын есептеу. Студенттерге тӛлейтін стипендияны есептейтін
деректер қорын құру, онда келесі мәліметтер болуы керек: сынақ кітапшасының
нӛмірі, фамилиясы, аты, студенттің тегі, туған жылы, топ шифры, рейтинг, ақы
коэффициенті, негізгі степендия, ақы суммасы, жалпы сумма, айлық тӛлем және т.б.
Жоғарғы стипендия алатын студенттер санын, орташа стипендияны, стипендия
алмайтындар санын анықтау (%-бен), сонымен қатар жалпы стипендиялық фондты
анықтау.
2.
Автотранспорттық шаруашылық жұмысының есебі. Келесі мәліметтері бар деректер
қорын құру: жүргізушінің табельдік нӛмірі, фамилия және инициалы, класс, дата,
жүру уақыты, тоннасы, жол парағының нӛмiрi, автомобил типі, нӛмірі және т.б. Әрбір
жүргізушіге ағымдағы айлығын есептеу, 1 км_тоннасы – 3 000 т.
3.
Компьютерлік фирма жұмысы есебі. Келесі мәліметтері бар деректер қорын құру:
компьютер маркасы, процессор типі, қатты диск және оперативті жады ӛлшемі
,
бағасы, бастапқы саны, сатылу датасы, сатып алушы фамилиясы, сатылғандар саны
және т.б. Белгілі уақыт аралығында сатылған бір маркалы компьютерлер санын
есептеу және тізімін шығару.
4.
Аэропорт кассасы жұмысының есебі. Келесі мәліметтері бар деректер қорын құру:
рейс нӛмірі, белгіленген пункт, ұшу уақыты, жолаушылардың фамилиясы және
инициялы, документ нӛмірі, рейске билет құны, рейс билеттерінің сатылу санын
анықтау
5.
Оқытушылардың жүктемесiн есептеу. Келесі мәліметтер бойынша деректер қорын
құру: табельдік нӛмірі, фамилиясы, аты, тегі, жұмысқа кірген жылы, атағы, ғылыми
дәрежесі, пәндері, семестр нӛмірі, сағат саны, экзамен немесе сынық және т.б.
Профессорлер, доценттер және ассистенттер құрамының пайызын есептеу, сонымен
қатар әр оқытушының жалпы жүктемесін сағатпен есептеу.
6.
Автосалондағы машиналарды маркасына, шыққан жылына және бағасына және түсіне
қарай сұрыптап шығарып беретін деректер қоры қосымшасын құру.
7.
Поликлиникадағы дәрігерлердің аты-жӛні бойынша, мамандығы бойынша және еңбек
ӛтілі бойынша деректер қоры қосымшасын құрыңыз.
8.
Кітапханадағы кітаптарды, авторы, шыққан жылы, бағасы және тиражы бойынша
деректер қоры қосымшасын құрыңыз.
9.
Аэропорт анықтамалық бюросының мәліметтеріне сәйкес рейстерді бағыттары
бойынша, апта күндері бойынша және номерлері бойынша деректер қоры
қосымшасын құрыңыз.
10.
Стоматологқа келушілердің тізімі, келген күні бойынша және дәрігері бойынша
деректер қоры қосымшасын құрыңыз.
12 – зертханалық жұмыс.
С++ Buildеr 6 ортасында деректер қорын басқару
Әдістемелік нұсқаулар
Borland C++ Builder ортасы деректер қорына қатынаудың үлкен мүмкіндіктеріне ие.
Деректер қоры тек сақтауға емес, сонымен қатар ақпараттарды таңдау және ӛңдеуге,
маңызды аспектілердің бірі оларға сұраныстар құруға арналған.
C++ Builder-дегі сұраныстар – ӛзімен бірге деректер жиынын ұсынатын объект. Әдетте
сұраныстар құру үшін TQuery компоненті – TDataSet абстрактілі класының тума класстары
қолданылады.
TQuery компоненті
TQuery компоненті TTable компоненті сияқты, TDataSet компонентінің барлық
қасиеттеріне ие.
TDataSource компоненті Data Controls компоненттері және TQuery компоненті
арасындағы ӛзара әрекеттерді басқарады. Әдетте қосымшада әрбір TQuery компонентіне бір
DataSource компоненті болады.
TQuery компонентінің жиі қолданылатын қасиеттері:
Active - берілген сұраныс ашық (true) немесе жабық (false) екенін кӛрсетеді.
Eof, Bof – бұл қасиеттер, ағымдағы жазба кӛрсеткіші деректер жиынының сәйкесінше
бірінші немесе соңғы жолында болғанда true мәнін қабылдайды, яғни сұраныстың орындалу
нәтижесі болатын.
DatabaseName - сұраныс жүзеге асатын каталог аты немесе қашықтағы ДҚ псевдонимі
(alias).
DataSource – параметрленген сұраныстар үшін деректер кӛзін кӛрсетеді.
Fields – бұл қасиет тек орындалу уақытында қол жетімді (run-time only) және реттік
нӛмірі бойынша анықталған ӛрісті модификациялау немесе оқу үшін қолданылады.
Params – құрамында параметрленген сұраныстар үшін параметрлер болады, келесі
мысалдағы SomeNo сияқты
Select * from Orders where CustNo=:SomeNo
SQL – жолдық массив, құрамында SQL сұраныс операторының мәтіні бар.
TQuery компоненті экранда кӛрінетін деректер жиынын құру және анықтау, жолдарды
ӛңдеу, жою және қою үшін SQL операторларын қолдануға рұқсат береді.
RequestLive – егер бұл қасиет true мәнін иемденсе, сұраныс синтаксисінің нәтижесі,
қолданушы деректер ӛзгерісін ДҚ-да сақтай алады. Егер RequestLive false мәнін иемденсе
сұраныс нәтижесі read-only күйіне қайтарылады.
TQuery компонентінің келесі әдістері жиі қолданылады:
ExecSQL – SQL-сұраныстарды орындайды. Бұл әдісті деректерді жою немесе ӛңдеу,
қою кезінде қолдану керек. SELECT (деректерді таңдау) операторы орындалғанда Open
әдісін қолдану керек. Келесі мысал ExecSQL әдісін қолдануды кӛрсетеді:
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("Delete emp where empno=1010");
Query1->ExecSQL();
Open - TQuery компонентін ашады. Ол Active қасиетіне true мәнін меншіктеу
эквиваленті. Сұраныс нәтижесі деректер жиыны болғанда қолданылады (әдетте мұндай
сұраныстар SELECT операторынан басталады). Open әдісін қолдану мысалы:
Query1->Open();
Close - TQuery компонентін жабады. Close шақыру эквиваленті Active қасиетіне false
мәнін меншіктеу. Close әдісін қолдану мысалы:
Query1->Close();
TQuery компоненттерінің жиі қолданылатын әдістері:
First, Last, Next, Prior ағымдағы жазба кӛрсеткішін сәйкесінше бірінші, соңғы, келесі
және алдынғы жазбаларға ауыстырады.
Insert, Edit, Delete, Append, Post, Cancel – сұраныс нәтижесін түрлендіреді. Insert әдісі
жол сұранысы нәтижесіне енгізуге мүмкіндік береді, мысалы:
Query2->Insert();
Query2->Fields[0]->AsInteger = 100;
Query2->Fields[1]->AsString =Edit1->Text;
Query2->Post();
Post әдісі Insert, Update немесе Delete операцияларын бекітеді. Cancel әдісі Insert,
Delete, Edit немесе Append аяқталмаған операцияларын болдырмайды.
Visual Query Builder
Visual Query Builder (VQB) – SQL-ге негізделген сұраныстар құрудың визуалды құралы
болып табылады. Бұл құрал арқылы комплексті сұраныстар құруға болады.
Visual Query Builder –ді TQuery компонетін таңдау арқылы және тышқанның оң жағын
басып, пайда болған контексті мәзірден Query Builder опциясын таңдау арқылы шақыруға
болады.
Ескерту. Visual Query Builder - Borland C++ Builder барлық версиясының комплектісіне
кірмеуі немесе орнатылмаған болуы мүмкін. Бұл жағдайда контекстті мәзірде сәйкес опция
болмайды.
Query Builder таңдағаннан кейін экранда Databases диалогтік панелі пайда болады, ол
ДҚ таңдауға және онымен байланысты жүзеге асыруға мүмкіндік береді /4.22-сурет/.
4.22-сурет. Деректер қоры псевдоним таңдау
Деректер қорымен байланысқаннан кейін экранда Visual Query Builder терезесі шығады
және сұраныста қолданатын кестелерді таңдау диалогтық панелі пайда болады /4.23-сурет/.
4.23-сурет. ДҚ-мен байланысқаннан кейін Visual Query Builder
терезесі және Add Table диалогтық панелі пайда болады.
Visual Query Builder инструменттер панелі кестеде кӛрсетілген.
Достарыңызбен бөлісу: |