3-ДӘРІС. Жоба сипаттамасы
Қарастырылатын сұрақтар:
1. жоба құрамы;
2. жоба файлы;
3. форма файлы;
4. модульдер файлдары;
5. ресурстар файлы;
6. жоба параметрлері.
Delphi тіліндегі бағдарламаның құрылымы
Delphi тіліндегі бағдарламаның құрамына .dpr кеңейтілуі бар жобаның файлы және .pas кеңейтілуі бар бір немесе бірнеше модульдер файлдары кіреді.
Жобаның құрылымы
Жобаның файлы Object Pascal тілінде жазылған және компилятормен өңделетін бағдарлама. Бұл бағдарламаны Delphi автоматты түрде құрастырады (1-сурет) және ол біреше жолдардан тұрады.
Delphi oртасын іске қосыңыз, Project – View Source опцияларын орындау арқылы келесі терезені шығарыңыз:
Бағдарлама Program сөзімен басталып, End сөзінен кейін қойылған нүктемен аяқталады. Object Pascal тілінде көптеген арнайы сөздер әртүрлі нұсқау ретінде қолдаылады, компилятор оларды солдан оңға жән ежоғары төмен қарай оқиды. Жүйелі жақшаға алынған таңбалар түсініктеме ретінде қолданылады. Сонымен қатар, түсініктемені көрсету үшін “(* * )” немесе “//” белгілерін қолдануға болады.
Бірақ {$R*.RES} жолы (жақшадан кейін бірден $ белгісі тұрған) түсініктеме емес, ол компиляторға берілген нұсқау болып табылады. Мысалы, жоғарыда келтірілген {$R*.RES} жолы бағдарламаны ресурстар файлын қоса есептегенде компиляциялау керек екендігі туралы баяндайды.
Program cөзі және кейін анықталған бағдарламаның атауы – бағдарламаның тақырыбы деп саналады.
USES (пайдалану) сөзімен басталған сөйлем бағдарламаны осы сөзбен анықталған басқа файлдарда орналасқан модульдерді қоса есептегенде компиляциялау керек екендігін хабарлайды. Жоғарыдағы мысалда жобаның файлымен бірге стандартты Forms және бағдарламаушы өзі құрастырған ‘Unit1.pas’
файлындағы Unit1 модульдерін бірітіре отырып, компиляциялау керектігі туралы берілген нұсқау.
Осындай нұсқаудан соң бағдарламаның денесі орналасады, ол Begin сөзімен басталып, End және одан кейін қойылған нүктемен (терминатормен( аяқталады. Қарастырылып отырған бағдарламаның денесі үш орындалатын операторлардан құралған:
Begin
Application.CreateForm(TfmExample, fmExample);
Application.Run;
End.
Әр оператор Application (қосымша) объектінің белгілі ір әдісін шақыру жұмысын атқарады.
Object Pascal-да объект деп арнайы даярланған берілгендер мен оларды өңдеуде қолданылатын ішкі бағдарламалардың жиынтығынан тұратын және біртұтас болып саналатын бағдарламаның үзіндісін атайды. Объектінің берілгендерін өріс деп атайды және олар кез келген түрде анықталуы мүмкін. Объектінің ішкі бағдарламаларын әдістері деп атайды.
Объектілік типтердің негізгі ерекшелігі болып, ол объектінің өрістерен бірге қолданылатын әртүрлі іс-әрекеттердің жиынын ішкі бағдарламалар (процедура және функциялар) арқылы анықтауға болады. Берілгендердің осындай қасиетін инкапсуляция деп атайды. Инкапсуляция – берілгендерді өңдеудің алгоритмдерін бір бүтін құрылымға біріктіру деген тұжырым.
Объекттілік типтердің негізгі қасиеттері – функционалды толықтығ және өрістер мен дәстердің бір-бірінен ажыратылмауы оларды бағдарламанң блек бір тәуелсіз бөлігі ретінде қолдануға мүмкіндік береді. Мұндай объектілерді бір бағдарламадан екіншіге оңай алмастыруға болады. Бұл принципті объектіге бағытталған бағдарламалау тәсілдері деп атайды.
Қарастырылған мысалдағы Application объектінің құрамына Windows бағдарламасының жұмысын ұйымдастыратын көптеген берілгендер мен ішкі бағдарламалар кіреді. Жалпы Delphi ортасы кез келген жаңа жобаның Application – объектілік бағдарламасын автоматты түрде құрастырады.
Initialize әдісі арқылы бағдарлама Windows–тің басқаруымен әртүрлі көмекші жұмыстарды орындайды. Application.Initialize әдісі шақырылғанда компилятордың құрастырған коды процессорды Delphi ортасының даяр тұрған бір үзіндісін орындатуға мұқтаж етеді. Осы үзінді орындалғаннан кейін (немесе бағдарламадан шыққаннан ейін) келесі жолдғы CreatForm әдісі орындалады және т.с.с.
CreatForm әдісі негізгі терезені құрастырып, оны экранда көрсетеді. Ал Run әдісі берілгендер мен оларды өңдеу туралы Windows–тан келген хабарларды қабылдайды. Батырмасы басылғанда, бағдарламаға Windows–тан жұмысты тоқтату және жүйелі ресурстарды (жадыны және процессорды) босату туралы нұсқау беріледі.
Жобаның коды, жоғарыда айтылғандай, Delphi ортасымен құрастырылады және көптеген жағдайларда бұл кодқа килігуге тыйы салынған. Егер бағдарламаушы осы кодқа әртүрлі өзгерістер енгізіп киліксе, онда Delphi ортасы осы өзгерістерді алып тастауға тырысады. Сондықтан жобаның файлында ерекше кеңейтілу қолданылады және әдетте бұл код көрінбей тұрады.
Модульдер
Модульдер – бағдарламаның үзіндісін орналастыру үшін қолданылатын бағдарламалық бірлік. Модуль деп бағдарламаның белгілі бір тәуелсіз бөлігін атайды және олар стандартты және бейстандартты болып екі топқа бөлінеді.
Модульдің коды бағдарламаның бет алысын анықтайды.
Модуль басқа модульдерде және бағдарламада пайдалану мүмкіндігін туғызатын бөлек компиляцияланатын әртүрлі типтердің анықтамалық бөлігінен және орындалатын операторлар жиынтығынан тұратын бағдарлама. Модульдер қолданбалы бағдарламалардың жиынын құрастыруға мүмкіндік береді және олар жадтың бөлек сегментінде орналасады. Жалпы модульдер бөлек орындала алмайтын бағдарлама. Модульдерді қолдну арқылы күрделі бағдарламаларды құруға болады.
Кез келген модульдің құрамына келесі бөліктер кіреді:
Тақырыбы;
Интерфейстік бөлігі;
Орындалатын бөлігі;
Терминатор.
Модуль тақырыбы арнайы Unit сөзінен басталады, содан соң модуль атауы және нүктелі үтір тұрады. Интерфейстік бөлігі Interface , ал орындалатын бөлігі Implementation–түйінді сөзімен басталады. Модульдің терминаторы бағдарламаның терминаторы сияқты -End . түйінді сөзімен аяқталады.
Unit <Модульдің аты, мысалы Unit>
//интерфейстік бөлігі
Interface
Uses <модульдер тізімі>
Const <тұрақтылар тізімі>
Type <типтер анықтамасы>
Var <aйнымалыларды жариялау>
<процедуралар тақырыбы>
<функциялар тақырыбы>
Implementation
Uses <модульдер тізімі>
Const <тұрақтылар тізімі>
Type <типтер анықтамасы>
Var <aйнымалыларды жариялау>
<процедуралар анықтамасы>
<функциялар анықтамасы>
//инициялизациялау бөлігі
Initalisation
<операторлар>
// модульдің жұмысын тоқтатқандығы
Fininitalisation //орындалатын әрекеттер жиыны
<операторлар>
end.
Интерфейс бөлігінде аталмыш модульде қолданылатын, аты Uses тізімінде көрсетілген барлық модульдер мен бағдарламаларға қол жетерлік мүмкіндігін туғызатын идентификаторлардың анықтамасы орналасады. Сонымен қатар, бұл бөлікте ортақ тұрақтылар, типтер, айнымалылар және ішкі бағдарламалардың тек қана тақырыптары жарияланады.
Модульдің атауы – оны басқа модульдермен және негізгі бағдарламамен байланыстыру үшін қолданылады. Модульдің интерфейстік объектілеріне қол жеткізу үшін бағдарламада қажетті TPU (Turbo Pascal Unit - машина тіліне аударылған) файлдың атын көрсету керек. бұл байланыс келесі сөйлем арқылы жүзеге асырылады:
Uses «модульдер тізімі»;
Uses - арнайы сөз; «модульдер тізімі» - бағдарлама мен модульдерді бір-бірімен байланыстыруға қажетті модульдердің тізімі. Бұл сөйлемді қолданатын модульдер спецификациясы деп атайды және ол негізгі бағдарламаның тақырыбынан соң орналау қажет.
Егер аталмыш модуль басқа бір модульдің объектілерін қолданса, онда осындай спецификация Interface түйінді сөзінен соң бірден орналасады. Пайдаланылатын модульдердің спецификациясы келтірілген жағдайда бағдарламаға қосылған модульдің интерфейстік бөігінің барлық сипаттамалары белгілі деп саналады.
Модульдің интерфейстік бөлігінде негізгі бағдарламада және басқа модульдерге қолданылатын аталмыш модульдің барлық сыртқы объектілері анықталады. Паскаль бағдарламасы сияқты бұл анықтамадағы объектілердің реті кез келегн түрде бола алады. Интерфейстік бөлікте ішкі бағдарламалардың тек қана тақырыптары келтіріледі, ал олардың толық анықтамасы модульдің орындалатын бөлігінде көрсетіледі.
Implementation - модульдің орындалатын бөлігінде интерфейсте көрсетілген ішкі бағдарламалардың орындайтын жұмысы анықталады. Ішкі бағдарламалардың орналасу реті интерфейстік бөлігінде көрсетілген ретімен бірдей болуы шарт емес.
Бұл бөлімде ішкі бағдaрламлардың тақырыбын ғана көрсетсе жеткілікті, себебі параметрлер тізімі мен функция нәтижесінің типі интерфейсте анықталғаг. Сондай-ақ мұнда аталмыш модульге ғана тән және бұл модульден тыс белісіз тұрақтыларды, типтерді, айнымалыларды және ішкі бағдарламаларды жариялауға болады.
Инициялизациялау бөлігінде осы модульдерді іске асыратын бағдарлама жұмысының басталғандығы туралы операторлар орналасады. Модульдердің іске асырылуы бағдарламаның Uses бөлігінде көрсетілген ретімен орындалады. Бұл бөлік Initalisation сөзімен басталады. Бірақ ол бөліктің болмауы да ықтимал.
Егер бағдарламада инициялизациялау бөлігі бар болса, онда деинициялизациялау бөлігі болуы мүмкін. Бұл бөлік Fininitalisation сөзінен басталады және оның құрамына бағдарлама жұмысын тоқтатқандағы орындалатын операторлар кіред. Модульдерді деинициялизациялау әрекеттері бағдарламаның Uses бөлігінде көрсетілген ретіне кері бағытта орындалады.
Әр жаңа форма құрылғанда жаңа модуль де құрылады. Жалпы бағдарлама құрамында көптеген формалар және олармен байланысты модульдер болуы мүмкін.
Жоғарыдағы құрастырылған формаға сәйкестелген модульдің кодын File – Open опцияларын орындау арқылы файлын ашып, көруге болады (3.2 - сурет). Модульдің коды орналасқан файл келесі:
Unit Example;
Interface
Uses Windows,Messages,SysUtils, classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;
//Example модулін Uses тізімідегі
// аталған стандартты модульдермен бірге қолдану
Type
TfmExample=class(TForm)
Panel1:Tpanel;
BbRun:TbitBtn;
BbClose:TbitBtn;
EdInput:Tedit;
LbOutput:Tlabel;
MmOutput:Tmeo;
Private
{Private declarations}
public
{Public declarations}
end;
var
fmExample:TfmExample;
implementation
{$R*.DFM}
end.
Бұл мәтінді Delphi ортасы өнзі құрастырады. Жоғарыда айтылғандай, жобаның файлына киілуге тыйым салынған, ал модульдің файлына әртүрлі жұмыстарды орындатуға негізделген өзгерістерді енгізуге болады.
6 - сурет. Модуль кодын ашу терезесі.
Модульдің интерфейстік бөлігінде бір тип (класс TfmExample) және бір объект айнымалысы анықталған.
Класс деп объектілерді құрудағы қолданылатын үлгілерді айтады, ал объект сол үлгінің туындысы болып табылады. Үлгілер Object Pascal тілінде анықталған тип және келтірілген мысалды ол Type TfmExample=class (TForm) деп анықталған. Стандартты класс Tform Windows–тің бос терезесін құрастыру жұмысын атқарады. TfmExample oсы кластың туындысы, яғни класс алғы буындағы TForm–ның барлық мүмкіндіктерін иемденеді және оларға бос формаға орналастырылған компоненттер жиынын біріктіреді.
Соңғы буыннан өзінің бағдарламалық дайындамалары бар жаңа туындыларды құруға болады және т.с.с. Нәтижесінде ағаш тәріздес саты құрылады, төбесінде ең түпкі буын TObject - қарапайым класы тұрады. Ал төменгі сатыларында сол бір ғана Toject туындылары орналасады.
Жоба технологиясының теориялық негіздері
Электрондық оқулық пен оқытудың негізгі мақсаты
Осы жоғары оқу орнындағы оқу-тәрбие процесін жүргізудің нақты шарттарын бағалау
Өндірістік желдету
Бағдарламаларды әзірлеудің құрал-саймандары пәнінен дәрістер
Химиялық өндірістерді және қондырғыларды жобалаудың негізгі сатылары
Электрондық оқулық ұғымы
Экологиялық сараптама және аудит пәні бойынша Оқу-әдістемелік кешен
“ҒИМАРАТТАРДЫ ЖӘНЕ ИМАРАТТАРДЫ ТЕКСЕРІП, СЫНАУ” ПӘНІНЕН ОҚУ-ӘДІСТЕМЕЛІК КЕШЕН
Инвестициялық жобалардың тиімділігін бағалаудың қағидаттары