СЕМЕЙ ҚАЛАСЫНЫҢ ШӘКӘРIМ АТЫНДАҒЫ МЕМЛЕКЕТТIК УНИВЕРСИТЕТI
|
3-деңгейлi АӘК құжаты
|
ПОӘК
|
ПОӘК 042-18-11.1.20.122/01-2013
|
ПОӘК
«Бағдарламаларды әзірлеудің құрал-саймандары» пәнінен оқу-әдістемелік материалдар | №1 баспа
26.08.2013 ж.
|
«Бағдарламаларды әзірлеудің құрал-саймандары» пәнінен
ОҚУ -ӘДІСТЕМЕЛІК КЕШЕНІ
5В070200 - Автоматтандыру және басқару мамандығы үшiн
ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР
Семей
2013
Алғы сөз
1. Құрастырған
Құрастырушы________ Р.С.Бекбаева, техника ғылымдарының кандидаты, «Автоматика және электротехника» кафедрасының доценті м.а.
«_____» ____________________ 2013 ж.
2. Талқыланды
2.1. Семей қаласының Шәкәрім атындағы мемлекеттік университетінің «Автоматика және электротехника» кафедрасы отырысында қарастырылды.
Хаттама № 1 « 29 » тамыз 2013 ж.
Кафедра меңгерушісі __________ А.Д.Золотов
2.2. Факультеттің оқу-әдістемелік бюросы отырысында қарастырылды.
Хаттама № 1 « 11 » қыркүйек 2013 ж.
Төрағасы __________ Р.С.Бекбаева
3. бекітілді
Университеттің Оқу-әдістемелік кеңесі отырысында баспаға жіберуге ұсынылды және мақұлданды.
Хаттама № 1 « 18 » қыркүйек 2013ж.
ОӘК төрағасы___________ Г.К.Искакова
4. АЛҒАШ РЕТ ЕНГІЗІЛІП ОТЫР
Мазмұны
1
|
Дәрістер
|
4
|
2
|
Практикалық сабақтар
|
87
|
3
|
Курстық жұмыс
|
140
|
|
|
|
|
|
|
1 ДӘРІСТЕР
1 БАҒДАРЛАМАЛАРДЫ ӘЗІРЛЕУ ОРТАСЫМЕН ТАНЫСУ. DELPHI ОРТАСЫМЕН ТАНЫСУ 1.1 Негізгі ұғымдар.
Delphi – Windows операциялық жүйесінде жұмыс істеуге бағытталған бағдарлама құру ортасы. Delphi - дегі бағдарлама қазіргі көркемдік жобалау технологиясының негізінде құрылады, ал олар өз кезегінде объектілі – бағытталған бағдарламалау идеясына сүйенеді (2 – ші бөлімді қараңыздар). Delphi – дегі бағдарлама Object Pascal тілінде жазылады, ол Turbo Pascal тілінің қабылдауышы мен дамушысы болып табылады. Turbo Pascal бағдарламалау тілі мен ол қолданылатын біратты интегралдық құру ортасы кезінде бағдарламалық өнімді құру құралы, соның ішінде бағдарламалауды оқып – үйренетін құрал негізінде кеңінен танымал болған. Бұл танымалдық тілдің қарапайымдылығы, жоғары сапалы компилятор және қолайлы құру ортасына байланысты. Бірақ бағдарламалық технологиялар бір орында тұрмай ары қарай дамиды, сондықтан Borland фирмасы (1998 жылдың сәуір айынан бастап Inprise Corporation) тағы бір жаңалық ашады: Turbo Pascal тілінің орнына Object Pascal тілі келеді, ол объектілі – бағытталған бағдарламалау концепциясына сүйенеді.
Delphi және Object Pascal көп жылғы эволюцияның нәтижесі болып саналады, сондықтан бүгінгі таңда олар қазіргі компьютерлік технологияның өнімі болып табылады. Жеке тұрғыдан алғанда оны былай айтуға болады, Delphi – дің көмегімен бағдарламаның әртүрлі типін – консольді қосымшалардан бастап, деректер базасы мен Internet – те жұмыс істейтін бағдарлама құруға болады.
Delphi бағдарлама құратын және жаңа бағдарламаны даярлайтын бағдарлама құру әдістерінен, сондай-ақ құрауыштар кітапханасынан тұрады. Delphi бағдарламасы – бұл өзара байланысқан бірнеше файлдар. Кез – келген бағдарлама жоба файлы (мұндай файл .dpr кеңейткішінен тұрады) және бір немесе бірнеше модульден тұрады (.pas кеңейткіші бар файлдар). Жоба файлы бағдарламаның жинақтаушы бөлігі болып табылады, ол өте үлкен емес және Delphi бағдарламалау жүйесінде автоматты түрде қалыптасады.
Класс – берілгендер мен оларға әрекет жасайтын арнайы тип. Ол өріс, әдіс және қасиеттерден тұрады. Кластың данасы болып объект табылады.
Объект – белгілі тапсырманы орындауға арналған, екілік бағдарламалық кодтың автономды бөлігі болып саналады. Объектінің барлық құрауыштары объект болып табылады, бірақ керісінше емес.
Құрауыш – Delphi – дің стандартты класы, Delphi ортасында көрнекілік бағдарламаны іске асыруға арналған. Құрауыш болып меню, батырмалар, стандартты диалогтар (мысалы, қаріпті таңдау, файлды сақтау), енгізу терезесі және редактірлеу терезесі және т.б. табылады. Құрауыштар өріс, әдіс және қасиеттерден тұрады. Қолданушының құрауыштармен жұмысы, оны негізгі терезедегі Құрауыштар палитрасынан таңдап және пішіннің терезесіне орналастырып, олардың қасиеттері мен мазмұнына қарай белгілі оқиғаға ықпалын икемдеу болып табылады. Delphi құрауыштары қолданушымен жылдам қарым – қатынас жасау үшін қолданылады.
Құрауыштар қасиеті – белгілі объекті берілгенде немесе өзгергенде автоматты түрде оның атрибутын өзгертетін құрауыштың өрісі. Құрауыштың функциясын (атқаратын міндетін) анықтайды.
Құрауыштың оқиғасы – құрауыштың қолданушы немесе операциялық жүйемен әрекеттесуінің нәтижесінде пайда болады. Әрбір құрауыш стандартты оқиғалардың жиынынан тұрады.
Құрауыш хабарламаны өңдеу әдісінен тұрады, олардың әрқайсысы құрауыштың белгілі оқиғаға ықпалын анықтайды (пернені басу немесе тышқанды жылжыту).
Оқиғаны өңдеу деп – өрбіген оқиғаға жауап ретінде белсенділік танытатын қосымшаның код бөлімін айтамыз.
Құрауыш пішінге немесе басқа құрауышқа тиісті болуы мүмкін.
Пішін деп - Windows терезесінің қасиеттеріне ие және біркелкі функционалдық тағайындалумен байланысқан, құрауыштарды орналастыруға негіз болатын көрнекілік құрауышты айтамыз.
Қосымшаның пішіні қолданушылық интерфейстің негізі болып саналады. Қосымшада бірнеше пішін болуы мүмкін.
Пішін туралы ақпарат екі типті файлда сақталады: - .dfm және - .pas, файлдың бірінші типі (пішіннің файлы) – екілік – пішіннің кескінін және қасиеттерін сақтайды, екінші тип (пішіннің модульі ) сіздің қосымшаңыздың функциясын іске асыратын кодтардан тұрады және пішін мен оның құрауыштары үшін оқиғаларды өңдеуді қарастырады. Екі файл да автоматты түрде Delphi – де синхрондалады. Әрбір пішінге өзінің модульі сәйкес келеді.
Бағдарламаның сыртқы құрылымы
Delphi - дің көмегімен құрылған бағдарламаның құрылымы дәстүрлі бағдарламаның құрылымынан өзгешелеу болады, ол өз кезегінде мұндай бағдарламаларды құрудың ерекшеліктерін шартты түрде көрсетеді. Мұндай бағдарламаны екі бөлімнен тұрады деп көрсетуге болады: интерфейс – бағдарламаның бөлімі, ол бағдарламаға ақпаратты енгізуге және оны шығаруға, сонымен бірге тікелей тапсырманы шешуге арналған операторларды тағайындауға арналған (есептеу, ақпараттың түрленуі және т.б.). Бағдарлама өз жұмысында операциялық жүйе, әртүрлі сыртқы құрылғылар, деректер базасы, басқа бағдарлама және т.б. әрекеттеседі. Сондықтан бағдарламаның соған қатысты сыртқы құрауыштармен әрекеттесу құрылымын сурет 1.1 көрсетілгендей түрде көруге болады.
Интерфейс бұл объектілердің жиынтығы, оның көмегімен ақпаратты белгілі бағытқа жіберу асырылады, - пішін, қарым – қатынас терезелері, басқару элементтері және т.б. Көптеген жағдайларда таңдап алынған интерфейс барлық бағдарламаның құрылымын анықтайды.
Объектілер бағдарламада жеткілікті түрде автономды болғандықтан, олардың арасында ақпаратты жіберу, сонымен бірге бағдарлама мен операциялық жүйе, бағдарлама мен сыртқы құрылғылар т.б. арасында ақпаратты беру үшін хабарлама жүйесі қолданылады.
Сурет 1.1 Бағдарламаның сыртқы құрылғылармен әрекеттесуі
Мұндай бағдарламаның жұмысы да өз сипатында. Әдетте ол іске қосылғаннан кейін келесі хабарламаны күту режимінде тұрады. Хабарлама пайда болғанда бағдарлама оған талдау жасайды, қандай әрекет жасау керек екенін анықтайды, одан кейін сол әрекетті орындап, келесі хабарламаны күтеді. Әртүрлі хабарлама пайда болғаннан кейін бағдарлама шарт бойынша әртүрлі әрекет жасайды, барлық орындалатын операторлар бағыныңқы бағдарламалардың жиынтығын береді, олар әртүрлі объектінің әдістері ретінде бекітіледі (хабарламаны және оқиғаны өңдеу әдістерін қоса алады), немесе өздік бағыныңқы бағдарлама. Нақтылы түрде әртүрлі операциялық жүйелер және оларды баптау, олар белгілі командаларды күтеді, содан кейін оларды өңдеуге кіріседі.
Объект (TApplication класының) болып бағдарламаның өзі саналады. Шынында бұл объектіні программист өзі құрмайды, ол Delphi ортасында автоматты түрде құрылады, бірақ бағдарлама құру кезінде оның әдістері мен қасиеттерін қолдануға болады.
Объектілердің классификациясы
Жобаны жоғарыда айтылғандай нақты тағайындалуы анықталған жеке объектілердің жиынтығы ретінде қарастыруға болады. Бұл объектілерді ортақ қасиеттері бар кластарға біріктіруге болады. Мұндай кластардың құрылымы қиынырақ болып келеді, сондықтан оны түгелдей көру үшін Browser бағдарлама элементтерін көру терезесінің көмегімен көруге болады. Мұнда жобаның құрылымын ұйыдастыру үшін қолданылатын тек маңызды кластарды ғана қарастырамыз (сурет 1.2).
Жобада қолданылатын негізгі объект болып қосымша, пішін және құрауыш табылады.
Қосымша келіп түскен хабарламаны өңдеу циклін ұйымдастыратын жобаның негізгі байланыс объектісін көрсетеді.
Пішін интерфейстік элементті көрсетеді, оның арқасында қосымшалар мен сыртқы құрылғылар арасында ақпарат алмасу үрдісі жүреді. Пішін қосымшада орналасады, ал қосымша бір немесе бірнеше пішіннен тұруы мүмкін.
Сурет 1.2 Жобаның құрылымдық құрауыштарының классификациясы
Құрауыштар пішінге орналастырылады және ақпаратты алу, түрлендіру және бейнелеу үшін операцияларды орындауға қатысты объектілерді сипаттайды. Олардың классификациясы қиындау, сондықтан жиі қолданылатын құрауыштар тобын қарастырайық. Пішін құрауыштардың кез келген санынан тұра алады.
Құрылымдық түрде жоғарыда көрсетілген құрауыштардың бәрі TComponent (Құрауыш) класына, объект жобасында қолданылатын жалпы және көп санды топтарға қарайды. Нақты түрде бұнда тек файлдармен жұмыс істеу, графикалық әдістер, әртүрлі тізімдер мен ағындар және басқа объектілер қатары ғана кірмейді. Қосымша меншік TApplication (Қосымша) класын қалыптастырады, ол тікелей TComponent класының ұрпағы болып саналады.
Кластың басқа элементтері пішіннің өзін қоса алғанда айтарлықтай қиынырақ құрылымды жасайды. Ең алдымен бұл элементтерді екі топқа бөлуге болады:
-
TControl (Басқару) класын қалыптастыратын басқару элементтері.
Басқару элементтері (TControl класының ұрпақтары болып келген құрауыштар) – қолданушымен қарым – қатынасты жүзеге асыратын экранда бейнеленетін құрауыштар (көрнекілік құрауыштар) Бағдарламада қолданушы шарт бойынша оларды басқара алады (пернетақтаның көмегімен ақпаратты енгізу, оларға тышқанның көмегімен әсер ету және т.б.). Олар экранда қосымша орындалғанда бейнеленеді.
-
Экранда бейнеленбейтін элементтер (бейнеленбейтін немесе көрнекілік емес құрауыштар). Олар жүйелік ресурстарға қатынауға жауап береді: драйвер, деректер базасы, таймер, меню, әртүрлі қиын объектілер, стандартты диалог терезелеріне ұқсас және т.б. Құру кезінде көрнекілік емес құрауыштар пиктограмма түрінде бейнеленеді, ал қосымшаны орындағанда ереже бойынша көрінбейді.
Басқару элементтерін өз кезегінде екі үлкен кластарға бөлуге болады және олардың арасында принциптік айырмашылық бар:
-
Терезелік басқару элементтерінің класы TWinControl (Терезелік басқару элементі).
Терезелік басқару элементі ( TForm, TButton, TEdit, TMemo, TPanel, TGroupBox және т.б. кластардың құрауыштары) терезелік функциялардан (немесе процедуралар) тұрады, олардың арқасында ол келіп түскен ақпаратқа ықпал етеді және экранда активтенеді.
-
Графикалық басқару элементтерінің класы TGraphicControl (Графикалық басқару элементі).
Графикалық басқару элементі ( TImage класының құрауышы – кескін, TPaintBox – сурет салуға арналған панель, TShape – геометриялық фигура, TCustomLabel – белгінің тегі) мұндай функцияны басқармайды, тек экранға ақпаратты ғана шығарады, олар тышқан арқылы берілетін хабарламадан басқа белгілі қимылға ықпалын тигізе алмайды. Жеке жағдайларда пішін терезелік басқару элементіне жатады.
Жобаның құрылымдық элементтерінің әрекеттесуі
Жанұя деп өзінің ұрпақтарымен қоса алғандағы класты айтамыз.
TComponent жанұясының әрбір объектісінің Owner қасиеті бар: TComponent (Иесі), берілген объекті орналасқан объектіге нұсқағыш.
Негізгі объект деп - басқа объект орналасатын объектіні айтамыз.
Көмекші объект деп – орналасатын объектіні айтамыз.
property ComponentCount: Integer – тек оқу үшін. Негізгі объектінің көмекші құрауыштарының санын береді (ағымды құрауыштың).
property Components[Index: Integer]: TComponent – тек оқу үшін. Ағымды құрауыштың көмекші құрауыштарының тізімінен тұрады. Құрауыштарды нөмірлеу нөлден басталады.
Кез – келген пішін TApplication класының қосымшасына орналастрылады, қосымша ол үшін негізгі объекті болып саналады.
TControl жанұясының құрауыштарын пішінге екі түрлі жолмен орналастыруға болады:
-
тікелей пішінге;
-
TWinControl жанұясының қосымша топталған бір құрауышына (TGroupBox – тақырыбы бар панель, TPanel – панель, TTabControl – бетбелгі және т.б.).
TControl жанұясының әрбір құрауышында Parent қасиеті бар: TWinControl (Аталық), онда үлкен құрауышқа нұсқағыш беріледі.
Үлкен құрауыш – тікелей берілген құрауыш орналастырылған құрауыштың өзі.
Кіші құрауыш – орналасатын құрауыш.
Бейнеленбейтін құрауыштарда Parent қасиеті болмайды.
Пішіннің үлкен құрауышы жоқ (Parent = nil).
Мысал 1.1. Бұл мысал ерікті түрде пішінге орналастырылған келесі құрауыштардан тұрады: радиотоп, екі радиобатырма және батырма. Қосымшаны іске қосқанда, пішіннің OnCreate оқиғасы туындағанда екі радиобатырма RadioGroup1 құрауышына жоғарғы сол жақтың берілген координатасы бойынша орналасады. Button1 батырмасына шерткенде екі радиобатырма пішінге тасымалданады.
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioGroup1.Caption := 'Радиогруппа';
RadioButton1.Parent := RadioGroup1;
RadioButton1.Caption := 'Первая радиокнопка';
RadioButton1.Top := 15;
RadioButton1.Left := 10;
RadioButton1.Checked := True;
RadioButton2.Parent := RadioGroup1;
RadioButton2.Caption := 'Вторая радиокнопка';
RadioButton2.Top := 35;
RadioButton2.Left := 10;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RadioButton1.Parent := Form1;
RadioButton2.Parent := Form1;
end;
property ControlCount: Integer – тек оқу үшін. Басқару элементінің кіші құрауыштарының санын береді (тек терезелік құрауыштарда ғана болады).
property Controls[Index: Integer]: TControl – тек оқу үшін. Ағымды басқару элементінің барлық кіші құрауыштарының тізімін береді (тек терезелік құрауыштарда ғана болады).
«Негізгі » - «Көмекші » деген қарым – қатынасты бейнеленген және бейнеленбеген құрауыштарға қолдануға болады.
«Үлкен» - «Кіші» қарым – қатынасы тек қана бейнеленген құрауыштарға ғана қолданылады.
Мысал 1.2. Бір пішіннен тұратын жобаны қарастырамыз. Тікелей пішінге төмендегілерді орналастырамыз:
-
Негізгі меню - MainMenu.
-
Таймер - Timer.
-
GroupBox – тақырыбы бар панель.
-
Button - батырмасы.
GroupBox тақырыбы бар панельге орналастырамыз:
-
Енгізу жолы - Edit.
-
Белгі - Label.
Құрауыш
|
ComponentCount
|
Components
|
Owner
|
ControlCount
|
Controls
|
Parent
|
Form1
|
6
|
MainMenu1
Timer1
GroupBox1
Button1
Edit1
Label1
|
Application
|
2
|
GroupBox1
Button1
|
nil
|
GroupBox1
|
0
|
Бос
|
Form1
|
2
|
Label1 Edit1
|
Form1
|
Button1
|
0
|
Бос
|
Form1
|
0
|
Бос
|
Form1
|
Label1
|
0
|
Бос
|
Form1
|
-
|
-
|
GroupBox1
|
Edit1
|
0
|
Бос
|
Form1
|
0
|
Бос
|
GroupBox1
|
MainMenu1
|
0
|
Бос
|
Form1
|
-
|
-
|
-
|
Timer1
|
0
|
Бос
|
Form1
|
-
|
-
|
-
|
Бағдарлама құрарда шешілетін тапсырмалар
Негізгі болып келесілер табылады:
-
Жобаның түрін анықтау
-
бір құжатты интерфейс;
-
көп құжатты интерфейс;
-
DLL-кітапханасы.
-
Пішінді таңдау
-
Құрауыштарды орналастыру
-
Менюді құру
-
Хабарламаны өңдеу
хабарламаны өңдеудің келесі кезеңдерін ерекшелеуге болады:
-
хабарламаның типін қалыптастыру;
-
хабарламаны инициализациялау;
-
хабарламаны өңдеу және оқиғаны құру;
-
оқиғаны өңдеу;
-
хабарламаны өңдеу циклін қалыптастыру.
-
Деректер базасын қалыптастыру.
-
Тапсырманы бағдарламалау.
-
Қарым – қатынас, ақпарат терезелерін қалыптастыру.
-
Ерекше жағдайларды өңдеуді қамтамасыз ету.
-
Анықтама жүйесін құру.
Тексеру сұрақтары:
-
Көрнекілік бағдарламалау дегеніміз не және оның қарапайым бағдарламалаудан айырмашылығы неде?
-
Жоба дегеніміз не, жаңа жобаны қалай бастаймыз және дайын жобаны қалай орындайды?
-
Пішін дегеніміз не, жаңа пішінді қалай қосамыз, жобада сіздер пішіннің қандай шаблонын қолдандыңыздар?
-
Delphi терезесі қандай элементтерден тұрады?
-
Құрал – саймандар панельі дегеніміз не? Құрал – сайман батырмаларына мысал келтіріңіздер.
-
Құрауыш, құрауыштар палитрасы дегеніміз не, палитра құрауыштарының қандай құрауыштар тобын білесіздер, өз жобаңызда қандай құрауыштарды қолдандыңыздар ?
-
Құрауыштардың қасиеті дегеніміз не, Объект Инспектірі не үшін қажет, құрауыш пен объект арасында қандай байланыс бар?
-
Бірнеше құрауыштарды және олардың қасиеттерін атап өтіңіздер.
-
Модульдің және жобаның бағдарламалық коды дегеніміз не, оларды экранда қалай көрсетеді ?
-
«Модульді қосу» дегеніміз не? Жобаға қандай модульдер қосылды?
-
Модуль қандай бөліктерден тұрады?
-
Жоба файлының құрылымы.
-
Меню дегеніміз не? Ол қандай элементтерден тұрады?
-
Оқиға дегеніміз не? Оқиғаларға мысалдар келтіріңіздер.
-
«Оқиғаны өңдеу» дегеніміз не? Оқиғаны өңдеуге мысалдар келтіріңдер.
-
Қандай процедуралар пішінді демонстрацияға шақырады ?
-
«Тест» жобасында нені өзгертер едіңіз және не қосар едіңіз?
Достарыңызбен бөлісу: |