(солға) пернелерін басу кезінде генереацияланатын 73,81,79,71 ScanCod-тары жылжуды жүзеге асырады. Бұл программада Case операторының денесіндегі Move әдісін шақыруға ерекше көңіл бөлу қажет. Бірнші төрт жағдайда (72,80,77,75) Dot1.Move әдісіне қатынас жасауға арналған, ал қалғанында Ring1.Move әдісіне қатынас жасалған. Дегенмен Move әдісінің жалғыз екенін білеміз, ол Dot объектісінде жарияланып, Ring нысанына мұраға қалған. Басқа сөзбен айтқанда, 1 ғана Move әдісі әртүрлі жұмыс істейді (нүктені немесе шеңберді жылжытады). Бұл оны қандай нысанның шақырғанына байланысты. нысандардың мұндай қасиеті полиморфизм деп аталады.
КОНСТРУКТОРЛАР, ДИНАМИКАЛЫҚ НЫСАНДАР ЖӘНЕ ДЕСТРУКТОРЛАР
Егер нысандық типте тым болмаса бір виртуалды әдіс болса, онда виртуалды әдіске бірінші қатынас жасағанға дейін объект экземплярына қолданылатын конструктор деп аталатын арнайы әдіс болуы керек. Осыған байланысты әдетте конструктор нысанға қандай-да бір бастапқы мәндерді беретін әдіс ретінде көрсетіледі. Конструктор немесе ата-баба нысанынан мұраға қалады және де конструктордың өзі виртуалды әдіс бола алмайды. Нысандық типтің сипатталуында конструктордың тақырыбы кәдімгі әдіс тақырыбынан мынадай айырмашылықта болады. Ондағы procedure резервтелген сөздің орнына constructor сөзі қолданылады. Кәдімгі әдістен конструктордың қандай айырмашылығы бар? Конструктор онда сипатталған әрекеттерден басқа нысан мен виртуалды әдістерді жүзеге асыратын код адрестері бар арнайы виртуалды әдістер кестесінің арасында байланыс орнатады. Алдыңғы тақырыпта айтып өткендей, объектілік типтің экземплярлары статикалық және динамикалық түрде анықтала алады. Dot1 және Ring1 объект экземплярларының динамикалқ түрде құрылуы төмендегідей болады.
Var Dot1: ^Dot;
Ring1: ^Ring;
Begin
New (Dot1, Init);
New (Ring1, Init);
Жоғарыда айтылғандай, егер объектіде виртуалды әдістер бар болса, оларға қатынас жасамас бұрын осы объектінің экземпляры конструкторды шақыруы керек. Осындай конструктор ретінде мұнда Init әдісі тұр. Ол New процедурасының екінші параметрі ретінде шақырылып тұр. New рпоцедурасы объектінің динамикалық экземплярын құрады. Тақырыбы:
Procеdure New (var P:pointer [ , Init:Constructor]);
Мұндағы, P – типтендірілген нұсқауыш; Init – объект конструкторы. Динамикалық объектімен жұмысты аяқтағаннан кейін, оған бөлінген жадыны босату керек. Бұл Dispose стандартты процедура арқылы жүзеге асады.
Dispose (Dot1, Done);
Dispose (Ring1, Done);
Мұнда Dispose процедурасы Done деструкторына қатынас жасайды. Dispose процедурасы объект орналасқан жадыны босатады. Тақырыбы:
Procedure Dispose (var P:Pointer [, Done]);
Мұндағы, P – типтендірілген нұсқауыш; Done – объект деструкторы.
Объектілік типтің сипатталуында деструктор тақырыбының кәдімгі әдіс тақырыбынан айырмашылығы – ондағы Procedure резервтелген сөзі Destructor сөзімен алмастырылады. Дегенмен конструкторға қарағанда деструктор резервтелген сөзі процедура сөзінің синонимі болып табылады. Басқа сөзбен айтқанда, объектімен жұмысты аяқтайтын әдіс арнайы резервтелген сөзбен безендіріледі. Және де конструктордан айырмашылығы – деструкторлар виртуалды әдіс ретінде көрсетіле алады. Мұнда Done деструкторын шақыру өздігінен динамикалық жадыны босата алмайтынын түсіну керек. Dot1 және Ring1 объектілерінің динамикалық түрде жарияланатынын көрсететін мысал:
Porgram ObjectDotCirc1;
Uses crt,graph;
Type
Dot=object;
a,b:integer;
Constructor Init(x,y:integer);
Procedure Show:virtual;
Procedure Hide:virtual;
Procedure Move (Da,Db:integer);
Destructor Done
End;
{-------------------------------------}
Ring=object(Dot);
Rad:integer;
Constructor Init(x,y,z:integer);
Procedure Show; virtual;
Procedure Hide; virtual;
Destructor Done
End;
{-------------------------------------}
Constructor Dot.Init;
Begin
a:=x; b:=y;
end;
{-------------------------------------}
Procedure Dot.Show;
Begin
PutPixel(a,b,white);
End;
{-------------------------------------}
Procedure Dot.Hide;
Begin
PutPixel(a,b,0)
End;
{-------------------------------------}
Procedure Dot.Move;
Begin
Hide;
a:=a+Da; b:=b+Db;
Show;
End;
{-------------------------------------}
Constructor Ring.Init;
Begin
a:=x; b:=y; Rad:=z;
end;
{------------------------------------}
Procedure Ring.Show;
Begin
SetColor(black);
Circle(a,b,Rad);
End;
{------------------------------------}
Procedure Ring.Hide;
Begin
SetColor(0);
Circle(a,b,Rad);
End;
{------------------------------------}
Destructor Dot.Done;
Begin
Hide;
End;
{------------------------------------}
Destructor Ring.Done;
Begin
Hide
End;
{------------------------------------}
Var i,j,k,Err:integer; a:char;
Dot1:Dot; Ring1:Ring;
Begin
i:=detect;
InitGraph (i,j,’ ‘);
Err:=GraphResult;
if Err <>grok then
writeln(Graph Error Msg(Err))
else
begin
New (Dot1, Init(GetMaxX div 2, GetMaxY div 2));
Dot1^.Show;
New(Ring1, Init(GetMaxX div 2, GetMaxY div 2, GetMaxY div 6));
Ring1^.Show;
While KeyPressed do a:=ReadKey;
Repeat
Begin
a:=ReadKey;
Case ord(a) of
72:Dot1^.Move(0,-5);
80: Dot1^.Move(0,5);
77: Dot1^.Move(5,0);
75: Dot1^.Move(-5,0);
73: Ring1^.Move(0,-5);
81: Ring1^.Move(0,5);
79: Ring1^.Move(5,0);
71: Ring1^.Move(-5,0);
End
End;
Until a=chr(27);
Dispose (Dot1, Done);
Dispose(Ring1, Done);
End
End.
ӨРІСТЕР МЕН ӘДІСТЕР: ЖАСЫРЫН ЖӘНЕ ЖАЛПЫҚАТЫНАСТЫ ӨРІСТЕР МЕН ӘДІСТЕР
Объектілік типтің сипатталуындағы өрістер мен әдістер жасырын және жалпықатынасты болып жарияланады. Объект сипатталуындағы сәйкес бөлімдер Private немесе Public директиваларымен ашылады. Алдыңғы мысалдағы Dot типінің сипатталуында осы директивалар төмендегідей қолданылады:
Dot=object;
Private
a,b:integer;
Public
Constructor Init(x,y:intrger);
Procedure Show; virtual;
Private
Procedure Hide; virtual;
Procedure Move (Da,Db:integer);
Public
Destructor Done
End;
Бұл мысалда жасырын өріс ретінде а және b өрістері, және Hide және Move әдістері жарияланған. Ал Init, Show, Done әдістері жалпықатынасты болып тұр. Әрбір кезекті Private немесе Public директивалары алдыңғысының әреккетін қайтарады. Егер типтің сипатталуында бұл директивалар болмаса, онда үнсіз келісім бойынша барлық өрістер мен әдістер жалпықатынасты болып табылады. Private директивасынан кейін жарияланған объект өрістері мен әдістері осы программаның немесе модульдің алдында ғана қатынас жасалады. Дегенмен, егер бұл объект программаға қосылған модульде болса, жасырын өрістер мен әдістер идентификаторы программистке көрінбейді. Және де мұнда объектінің өзі қолдануға толық ашық болады. Мысалы, бұл егер коммерциялық қолданба болса, онда оны құрастырушылар бұл қолданбаны жүзеге асыру туралы мәліметтерді жасырады. Сол сияқты программист байқаусызда өзгеріс енгізбес үшін объектінің өрістері мен әдістеріне қатынасты шектеу дұрыс болады.
2-ДӘРІС. Delphi ортасы
Delphi ортасы.
Басты терезе (Delphi 7 – Project1);
Нысандар ағашын шолушы терезесі (Object Tree View);
Нысандар инспекторы терезесі (Object Inspector);
Форма конструкторы терезесі (Form1);
Код редакторы терезесі (Unit1.pas);
Код сілтеушісі терезесі (Exploring Unit1.pas).
1991 жылы, яғни Windows 3.2 операциялық жүйесі пайда болғаннан кейін Borland корпорациясы Turbo Pascal for Windows программалау жүйесін жарыққа шығарды. Ал, 1992 жылы осы программалау жүйесінің жетілдірілген Borland Pascal with Object 7.0 версиясын шығарды. Бұл бірінші мамандандырылған құралдар Windows-ты негізгі түрде білуді талап етті және оқып – білуде күрделі болды.
Бірақ 1993 жылы Microsoft корпорациясы бірінші Visual Basic көрнекі программалау ортасын дүниеге әкелді. Бұдан кейін, тіпті, Windows үшін программалау MS-DOS үшін программалаудан жеңіл болып қалды.
Бұған жауап ретінде Borland корпорациясы 1995 жылы Delphi-дің бірінші версиясын шығарды. Одан кейін бір жыл интервалмен тағы да 4 версиясын: 2, 3, 4, 5 және 6 шығарды.
Программалауды оқып – білуде және тез қабылдауда ең жақсы тіл – Паскаль, ал, MS – DOS үшін әлемдегі ең жақсы программалау жүйесі - Turbo Pascal екені даусыз. Delphi Паскаль – бағдарланған программалау құралдарының сериясын жалғастыра түсті және осы Delphi Windows – прграммалау үшін барынша қолайлы құрал болып табылады.
Жалпы, Delphi ортасының құрылуының негізі – Object Pascal программалау тілі. Жаңа Object Pascal программалау тілін білмей, меңгермей жатып Delphi-де жақсы әрі эффектілі жұмыс істеу мүмкін емес. Object Pascal-дыңнегізін салатын инструмент – кластар мен объектілердің маңызы зор. Барлық қазіргі кездегі жаңа программалау тілдері (оның ішінде С++ және Visual Basic – тер де бар) практикалық түрде, аз уақытта программа құруға және оның сапасын жоғарлатуға мүмкіндік беретін объектілі – бағдарланған программалау методикасын қолданады.
Delphi- дің мәліметтер қорымен жұмыс басқа программалау тілдерімен салыстырғанда өте жоғары сатыда тұр. Delphi-де мектептер үшін, жоғары оқу орындары үшін, банктар үшін, үлкен корпарациялар үшін мәліметтер қорымен байланыстырып программа құруға болады және ол басқа программалар тіліне қарағанда тиімді және объектілі – бағдарланған программа болғандықтан қолданылуда өте жеңіл. Сондықтан да Delphi-ге көп көңіл бөлінетіні де осы да.
Информатика пәнінен оқу үрдісін ұйымдастыру нысанды – бағытталған программалауға үлкен көңіл бөледі. Нысанға бағытталған программалау (НБП) қоршаған ортаны модельдеуде сапалы мүмкіндіктерге ие, сезімдік тұрғыдан түсініктіұғымдар жиынтығы негізінде құрылады, алдын – ала жазылып қойған программа кодын көп рет қолдануға мүкіндік береді. Delphi және Visual Basic НБП іске асырудың танымал құралдары болып табылады. Бұл орталар сонымен бірге визуалды программалау құралдар ретінде ұсынылады, яғни объектілерді монитор экранында көру және оларды программаны орындалуына дейін қандай да бір түрде бейнелеу мүмкіндігін береді.
Іс - әрекеттің кез-келген басқа түрі сияқты программалау да – технология, ол бағдарлама құру процесін межелі өңдірістік іс-әрекетке айналдыру арқылы жинақталған тәжірибе мен білімді жетілдіреді.
Программалау технологиясы көлемді, ауқымды программалық жүйелерді ұжыммен жасауға және шағын программаларды дербес құруда қолданылады. Үлкен программалық жобаларды мына әрекеттерге сүйену қажеттігі туындайды:
Әрбір кезең үшін мақсат, міндет және нәтижелерді анықтау арқылы жалпы жұмысты кезеңдерге бөлу;
Әрбір кезеңдегі міндетті есептеулерді орындаудың баламалы әдістері мен құралдарын пайдалану;
Қорларды жоспарлау, жұмысты атқарушыға бөліп беру, жұмыстың барысын басқару;
Кезеңдер бойынша нәтижелерді және құрылған программалық жүйенің сапасын бағалау.
Осыған байланысты шағын программа құру да программа құрушыдан өз еңбегін, яғни міндет қоюдан құрылған программаның дұрыстығын тексеруге дейінгі кезеңдерге бөлуді талап етеді.
Программалық жобаларды үзінділерге бөлуде нысанға – бағытталған тілдер ерекше сипатқа ие болып келеді. Бұл тілдердің орталық ұғымы объект болып табылады. «Өз мағынасы бойынша объект, компьютерге өңдеуге және сақтауға болатын, сонымен бірге басқа объектілерге және есептеу орталарына хабарлар жіберу және оған келіп түскен хабарларға назар аудару арқылы әсерлесуге икемді қандай да бір нақты объектінің, процестің, жағдайдың баламасы болып табылады...» Егер объектілер айқын өмірдегі заттың, құбылыстың мағынасына сай келсе, онда ұғым орнына жүретін кластар абстракция болып табылады. Мұрагерлік бірнеше маңызды қызмет атқарады: пән аймағының тұжырымдық құрылымын модельдейді; әртүрлі кластарды тапсыру үшін оларды көп рет пайдалану мүмкіндігін беру арқылы сипаттауды үнемдейді; кластарды көп ретті нақтылау жолымен ауқымды жүйелерді қадам бойынша программалауды қамтамасыз етеді. Объектінің аты, оқиғасы және мүмкін тәсілдер жиынтығы болады. Оқиғалар айнымалы жиыны мен олардың белсенді мәндерімен анықталады. Тәсіл – бұл объектінің басұа объектілермен байлансыты жолға қоятын жаңа оқиғаны (жағдайды) алу амалдары. Объеімен байланысқа түскенде оның аты, қолданылатын тәсілі жәні оның ұсынылған тәсіл үшін қажетті мәндердің кейбір жиынтығы көрсетіледі. Объектінің жағдайына ену хабарлар жіберу жолы тәсілімен іске асырылады.
Егер объетілер айнымалылар жиыны, әдістер жиынтығы бойынша бірдей қасиеттерге ие болса, онда олар бір класс құрайды. Кластар расында мұрагерлік қатынасы болуы мүкін, яғни қандай д бір Б класы осы класс үшін апталық болып табылатын суперкластың қасиеттерін мұрагерлікке алады. Программалау практикумы Delphi ортасында жұмыс істеуге арналған.
Delphi - программалау жоғарғы деңгейдегі тілдерді оқып – үйренудің логикалық жалғасы. Негізгі алгоритмдерді білуді бекітуге ықпал етеді және дамудың сапалы шыңдарына көтерілуне мүмкіндік береді. Бұл кезде білімгерлердің алғашқы кезеңдерінде НБП оқып – үйренуде программалаудың жаңа тұжырымдамасына өтудегі қиындықтарға кездесетіндігін атап көрсетуге ьолады. Алғашқыда оларға программалау туралы түсініктерін қалыптастыруға тура келеді.
Лабораториялық жұмыстарды орындау Delphi ортасын және оның құралдарын оқып үйренуден бастады. Әрбір жұмыс сайын белгілер компоненттермен танысып отырады. Ал кіріспе бөлімінде НБП негіздерін құрайтын ұғымдар мен Delphi-дің визуалды программалау құралдарыменжұмыс істеуге дайын жоба программалау құралдарымен жұмыс істеуге, дайын жоба программалар мен жеке орындау үшін ұсынылған есептер жүйесінен тұрады.
Лабораториялық жұмыс жеке жоба-жұмыстарды құру және оны мұғалімге тапсырып-өткізу іскерліктермен аяқталады. Жоба программамен жұмыс істеу деп – білімгерлердің алған білімдерін меңгеру және оны демонстрациялауды, яғни өздерінің шығармашылық іс-әрекетін толығымен жүзеге асыру деп түсінеміз.
Толыққанды жоба жасау үшін білімгерлер өзіндік жұмысқа бөлінген уақытты пайдаланады. Delphi-дің одан әрі қарай оқып-үйрену және НБП қуатты идеологиясын қолдану педагогикалық- программалық құралдарды (электронды оқулықтар, логикалық ойындарды және т.б.) құру технологиялары курсында курс жұмыстарын орындауында жалғасын табуда.
Қазіргі кезде программалық жабдықтарды жасау былай сипатталды, яғни ауқымды тұйықталған программалар емес, программалық жүйелердің компоненттері құрылады.
Мұнын себебін былай түсіндіруге болады:
Құрылған компоненттерді сақтауға және алгоритмнің сипаты және ақпаратты өңдеу тәсілдері жағын жақын болатын басқа программалық жүйелерде қайта қолдануға ұмтылу;
Үлкен ұжыммен жасалынатын және оны жасау, өңдеу және икемдеу ұзақ мерзімді қажет ететін ауқымды көлемдегі программалық жабдықты жасау қжеттілігі;
Бір есепті емес, өзекті саланың толық бір есебін шешуге арналған қолданбалы программалық жабдықтардың пайда боуы, мынаған алып келеді, яғни саланың нақты бір есебін есебін шешу үшін программа алдын-ала бар компоненттерден жиналады және оның орындалу реті осы берілген есептен тәуелді болады;
Программалауға дейінгі ақпараттық моделді жеткілікті деңгейде ерекшелеудің мүмкін еместігі, нәтижеде ақпараттық моделді нақтылау және қадамдарға бөлу есептеу тәжірибесімен бір мезгілде жүргізіледі.
Сонымен программалауға оқытуда мұғалім әрбір нақты оқушымен ұтымды қарым-қатынас жасау мүкіндігіне ие болады. Оқу үрдісінде компьютердің ықпалының белсенділігі, яңни оқушымен де, мұғаліммен де, өзара әрекетте болғандықтан жоғары екендігі белгілі. Бұл жағдайда оқушының танымдық іс-әрекетінің белсенділігі артады. Информатика пәнінің НБП бөлімін оқып-үйренуде, НБП әдістемесән меңгеру, белгілі программалау тілдері арқылы НБП техникалық икемділігін игеру және оқушылардың жалпы білімдік деңгейі іске асырылады.
Delphi ортасы. Delphi жүйесінің негізгі ұғымдары
Соңғы кездерде Windows ортасында жарыққа шыққан және обьектілі бағдарлы программалау (ОБП) негізінде құрылған программалау тәсілдері
Object Pascal, Microsoft Visual Basic, Borland Delphi, Borlan C++ for Windows.
ОБП тілінде прграммалалардың жұмысы оқиғалар тізбегінен және түрлі обьектілердің осы оқиғаларға жауабынан тұрады. Олар, әсіресе Delphi программалау тілі кез-келген қосымшаны дайындауға болатын жылдамдығы тез, қуатты тіл.
Delphi -дің бірінші нұсқасы 1995 жылы жарыққа шығып, кейінгі жылдары оның бірте-бірте кеңейтілген 2,3,4,5,6-нұсқалары жарық көрді. 5, 6-нұсқалардың бір-бірінен айырмашылығы жоқ деуге болады, екеуіде Windows 32 жүйесінің негізінде дайындалған. Delphi 6-да интернет үшін қысымшаларды дайындау мүмкіндігі кенейтілеген және берілгендер қорымен жұмыс істеуді өзгешіліктер еңгізілген.
Экранда Delphi ортасының 3 терезесі көрінеді.
а) Delphi 7 - нің негізгі терезесі
б) Форма (Form)
в) Обьект инспекторы терезесі (Object Inspecttr)
г) Модуль терезесі (программалық код терезесі)
Негізгі мәзір пунктеріне Delphi -де жұмыс істеу командалары, аспаптар тақтасына мәзір пунктеріне еңгізілген негізгі командаларды орындайтын түймелер орналасқан.
Delphi -де дайындалатын программа жоба деп атайды. Форма-программаны дайындау алдында ашылатын, программалық сұқбаттық терезесі. Delphi алғашқы рет іске қосылған кезде форма Form1 атауымен тақырыбымен көрінеді.
Delphi жүйесінің негізгі ұғымдары
DELPHI ортасы - ол күрделі механизм, программисті жоғарғы коэфецентпен қамтамассыз етеді. Бірнеше визуалды реализацияда экранда терезелер ашылады. Экранға бірнеше терезелер жалғыздан немесе толық және ол бір-бірімен сығыстырылып орналасады.
Бос Delpihi терезесін- жібереміз, бұнда кіретін 4- негізгі терезе ол: негізгі терезе (онда Delphi 7- Project тақырып бар), форма терезе (тақырып Form1),
Инспектор обьектісінің терезесі(Object Inspector) және программа кодының терезесі ол (Unit1. pas).
Сол жақ терезеге көмекші терезе браузер, осыны пайдаланып біз структураларының кодын аламыз.
1 сурет
Функцияналды негізгі тереземен байланысты-біржағынан, оның 3 элементі бар жәнеде ол өнемі программистің қол астында болуы керек, екінші жағынан қарасақ Delphi-дің басқа беттерін экранның бөгемеуі керек. Негізгі терезенің минимизациясы кейбір Delphi- мәлеметтері экранда жойылып кетуі мүмкін, программистің жұмысы желілік программамен аяқтауымен бітеді. Негізгі терезеде Delphi меню орналасқан, пиктографикалық командасынның нүктесі және политралық компонентер. Негізгі менюда проектіні басқару үшін бірнеше қолдану құралдары сақталынады. Элементер арнайы мәтіндік терезесінде және сол жағында басқару нүктелері орналасқан, тышқанның көмегімен панельдегі элементерді ыңғайлы орнына қою үшін.
Customize (Настройка) таңдауынан кейін (2.3 сурет) настройка терезесі пайда болады. Онда біз панельден өзімізге қажетті батырманы алуымызға болады.
2 - сурет
Пиктографикалық батырмалар.
Пиктографикалық батырмалар ең маңызды менюдің опциларына кіруге мүмкіндік береді. Функцияналды бөлінуіне байланысты 6 топқа бөлінеді. Әр бір топ жеке тақташада орналасқан.
Келесі кестеде командалар жазылған.
Батырма
|
Батырмалардың іс- әрекеті.
|
Standard группасы
|
|
Репозиторлы обьектке кіруге мүмкіндік береді. Эквиваленті опций File/New
|
|
Файлды ашады. Эквиваленті опций File/Open File.
|
|
Файлды диске сақтайды. Эквиваленті опций File/ Save File.
|
|
Бүкіл проектідегі файлды сақтайды. Эквиваленті опций File/ All
|
|
Ерте құрылған проектіні ашады. Эквиваленті опций File/ Open Project.
|
|
Проектіге жаңа файл қосады. Эквиваленті опций Project/ Add to Project.
|
|
Проектідегі файлды жояды. Эквиваленті опций Project/ Remove from Project.
|
View группасы
|
|
Модульдер тізімінен модуль таңдаймыз, проектімен байланысты. Эквиваленті опций View/Units
|
|
Форм тізімінен форманы таңдаймыз. Эквиваленті опций View/Forms
|
|
Терезе формасы мен терезе код арасында байланыс орнатады. Эквиваленті опций View/Toggle Form/Unit.
|
|
Жаңа форма құра және проектіге қосады. Эквиваленті опций File/New Form
|
Debug группасы
|
|
Программаны орындайды. Эквиваленті опций Run/ Run
|
|
Жұмыс ісиеп отырған программаны үзіп жібереді. Эквиваленті опций Run/ Program Pause
|
Custome группасы.
|
|
Іздеу кітапшасы. Эквиваленті опций Help/Contents.
|
Desktops группасы.
|
|
Delphi терезесінде бірнеше варианттар таңдау тізімі.
|
|
Delphi –дегі ағымды терезені сақтайды.
|
Форманың және формаға еңгізілетін компонентердің түрлі қасиеттері бар.
Қасиет – (сипаттама, параметр) –айнымалалардың ерекше түрі. Олар обьектінің түрлі мүмкіндіктерін сипаттап ағымдық күйін анықтайды. Программа құру форманы не онда орнатылған компонентің кейбір қасиеттерінің мәндерін өзгертуден басталады. Обьект инспекторы (Object Inspectоr) терезесіне еңгізілген қасиеттер тізімін шығару үшін нысанды таңдап алу керек. Инспектор терезесінің жоғары қатарына таңдалған нысан атауы да жазылып қойылады.
Форманың кейбір қасиеттері:
Name (атау) –формаға атау Delphi -дің формаға автоматты түрде алғашқы рет меншіктеген атауын (Form1) өзгертіп, басқа атау беруге болады.
Font (шрифт)-формаға шығаратын мәтін шрифтің қасиеті, Мысалы: (Times Kaz 10) Caption (тақырып)-форма терезесінің тақырыбына еңгізіп мәтінді. Алғашқы кезде өлшемін таңдап ОК батырмасын басамыз.
қасиеттер терезесі Caption қасиетіне Form1 сөзі еңгізіліп қойылады.
Color (түс)-форманың түсін орнату қасиеті.
Widht (ені), Height ( биіктігі) пиксель өлшем бірлігімен берілген форманың ені мен биіктігін орнату қасиеттері.
Экранда қасиеттер терезесі көрінбесе: оны шығару үшін View Object Inspectоr командасын беружеткілікті.
Оқиғалар. Программалық код терезесі.
Delphi -де программа түрлі оқиғалар арқылы басқарылады.
Оқиға- программамен жұмыс істеу барысында обьект жағдайының белгілі бір әрекетке жауап ретінде өзгеруі. Мысалы: пайдаланушы программа құру үшін алдымен формаға компонент орнатуы, форманы не формада орналастырылған компонентті тышқан арқылы шерту мүмкін. Оның әр іс-әрекеті оқиға шығарады. Delphi -де әр оқиға атау беріліп қойылған. Әр обьектіге байланысты оқиғалар көп . Мысалы: формаға байланысты өқиғалар саны 35. Олар қасиеттер терезесінің Events қосымша бетіне еңгізілген. Терезеде оқиға атауларының алдына On прифексі (қосымшасы) тіркестіріліп жазылған. Ол-атаудың оқиға екендігін білдіретін белгі:
Delphi ортасында жиі кездесетін оқиғалар
OnClick-тышқан түймесін бір рет басу.
OnDblClick-тышқан түймесін екі рет басу.
OnKeyDown-клавишті басу.
OnGreatе-форманы екі рет шерту басу т.б.
Проект екі бөлімнен тұрады: автоматты түрде project1 атауы берілген проекті файлы
(негізгі модуль) және Unit1.pas атауы берілген модуль. Олар жеке терезелерде орналасқан. Модульге оқиғаларға сәйкес іс-әрекеттерді орындайтын программа мәтіні (процедуралар) еңгізіледі. Программа мәтінің программалық код деп , ол еңгізілетін процессі деп атайды. Формада код терезесіне өту және код терезесінен формаға өту үшін F12 клавишін басу жеткілікті.
Формасы екі рет шерткен кезде ол терезесіне еңгізілген процедура дайындамасы көрсетілген. Оқиғаға байланысты құрылатын процедура Оқиғаны өңдуіш не өңдеу процедурасы делінеді. Процедура дайындамасының жазылу түрі:
Procedure <атау> (Sender:TObject);
<сипаттау бөлімі>
begin
<процедура денесі>
еnd;
Мұндағы: Sender- құрылатын процедураның қай класқа тиістілігін анықтайтын параметр.
Терезенің сол бөлігінде –браузер терезесі.
Онда код терезесінде барлық жариялаулардың құрылым көріп шығуға болады.
- Берілгендерді еңгізу және шығару. InputBox функциясы ShowMessage процедурасы. Типті түрлендіру функциялары.
Delphi -де айнымалы мәнің еңгізу үшін меншіктеу командасын, еңгізу терезесін не форманың Edit компонентің өрісін пайдалану мүмкін.
Delphi -де нәтижені ShowMessage процедураның терезесіне шығаруға болады. Процедураның жазылу түрі:
ShowMessage(FloatStr(S));
ShowMessage(FloatTostrF(S,ffgeneral,7,3));
Жүйе соңғы операторды оқып шығып, 7 цифрдан тұратын нақты санды символдық типте
ShowMessage терезесінде көрсетеді.
1.Мысалы: х=4,8 үшін у=3х+5/3 функциясының мәнің есептеу керек. Х мәні InputBox терезесі арқылы еңгізілсін, у мәні ShowMessage терезесінде көрсетіледі.
1. File-New Application командасын беріп, жаңа жоба ашу Form1 терезесі көрінеді.
2. Форма екі рет шерту Unit1.pas атаулы модель құрылады да, On Greate оқиғасын өндеуіне процедурасының дайындамасы көрінеді.
Form1 Form Greate форманы екі рет шерту оқиғасынан жауап ретінде құрылатын процедураның құрама атауы.
( Delphi -де әр қайсысы ұқсас толық бір іс-әрекетті орындайтын программалар тобы не, басқаша айтқанда, әдістер немесе қасиеттер орталығымен сипатталатын обьектілер жиынтығы класс деп, олардың біреуі класс данасы делінеді. Обьект орындай алатын әрекет әдіс деп аталады)
Екіншісі процедураның аты. Ол обьект және оқиға атауларының қосындысынан тұрады (оқиға атауының алдында On қосымшасы жазылмайды)
Көбінесе программа әр қайсысы нақты оқиғаны өндеуге арналған процедуралар жиынтығынан тұрады. Жиынтыққа қосалқы программа-процедура, функциялардың еңгізілуі де мүмкін.
Политра компонентері
Түстер политрасының компонентері- Delphi де ең маңызды роль атқарады. Ол терезенің оң жағында орналасқан қажетті компоненті тез іздеуге қамтаммасыз етеді . Компонентің астында функцияналды элемент бар, ішінде қажетті ақпаратты сақтайды және программистің жұмыс істеу терезесінде форма терезесі орналасқан. Компонентің көмегімен каркас программасы жаратылады, қай жағдайда болса да оның экранға шығуы, сыртқы көрінісі: терезе, батырма, таңдау тізімі және т.б.
Біз осы үшін арнайы редакторды пайдаланамыз, оң жақ тышқанды басқананң кейін, экранда шыққан терезе кез-келген пиктограмманы компонент политрасының және таңдау опций Properties (қасиеті)
3 - сурет
Мұнда кейбір компонентерді жою мүмкін емес, сол себептен политра редакторымен тәжірибеден өткізбеуге де болады. Стандартты жиында политра компонентерінде Simples беті бар, жиі қолданатын компонентер сақталынады. Біз «перетащить» бағанын Simples терезесі Pages редактор политрасы жоғары және “положить” ADO бағанына. Бұл істеген жұмыстан кейін тақырып Simples кез-келген моменттте кіре алады.
Инспектор обьект терезесі.
Кез-келген сығыстырылған форма компонентері бірнеше мінездеме жиыны компонентері: жағдайы, өлшемі, түсі, және т.б. Осы параметрдің жарты бөлімі, мысалы: жағдайы және өлшемі компонентің , программист өзгерте алады, манипулируя етіп терезе форма компонентерінде.
Кейбір параметрларды өзгерту үшін Инспектор Обьект терезесінде орналасқан. Ол терезе екі беттен тұрады: Properties (Қасиеті ) және Events (Оқиға). Әр бір бетте Инспектор Обьект терезесінде екі бөлімді кестеден тұрады: сол жақ бөлімде қасиеті және оқиға орналасқан, ал оң жағында-қасиеттің нақты мәні немесе программаның ішкі аты.
а) б)
4 - сурет
Қарапайым қасиетке жататындар- анықталған бір ғана мағынасынан, жолдар символы, True (айқын) немесе False (жалған) және т.б.
Мысалы: Caption қасиеті (тақырып) жолдар символында жатады, Height қасиеті (биіктігі) және Width (ені) сандармен, Enabled қасиеті (енуге жолы бар) мағынасы True немесе False.
Локальді меню терезесінде, оң жағында опций қатары бар.
Осыдан шығатын Stay on Top терезесінде Инспектор Обьект болатын “ағымды ” басқа терезелерге қарағанда тездету жылдамдығы тәуелсіз.
Егерде локальді менюдан таңдасақ опций Arange және одан кейін By Gategory, барлық жолдар Инспектор Обьект терезесінде тізімдегі қасиеті анықталған Реттелген категория бойынша.
Ол үшін локальді менюден View таңдап және толық көмекші менюден сол жақтағы категориядан алып тасталуы керек. Егерде біз байқаусыздан немесе әдейлеп істелінген терезенің көрінбеу қалуын F11 немесем опцийдан View/ Object Inspectоr таңдап қайтадан экранға қайтарып шығаруға болады.
Программа терезе коды
Терезе коды командалық тексті редакциялауға арналған. Бұл текст белгілі бір тәртіппен алгаритм программасын құруға арналған. Белгілі тәртіппен біріктіру тексті программалау тілі деп атайды. Delphi жүйесін программалау тілінде пайдалынады, Object Pascal, кең таралған кеңістікте және болжам Паскаль тілінде кең таралып жетілдірілген, алғаш рет Швейцариядағы ғалымға ұсынған Н. Вирт. 1970 жылдар кезінде жетілдірілген коорпорация ұжымдары Borland (құрылған тілдер Turbo Pascal, Borland Pascal және Object Pascal деп атайды). Бастапқы терезе кодында текстік минималды нәтиже мазмұндайды, функцияналды қарапайым форманы қамтамассыз етеді, толықтырылған Windows-терезесі. Жоба мен жұмыс істеу алдында программист өзіне қажетті ақпаратпен толықтырылады.
Ең алғаш жаңадан жобамен жұмыс істер алдында мынадай жолдар шығады:
Unit.Unit1;
iInterface
uses
Windows, Messages, Syslltils6 Cleasses, Grahics, Control, Forms, Dialogs;
Form 1=class(TForm);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{SR*.DEM}
end.
Мына жолдар Delphi- да автоматтандырылған түрде, жаңа форма терезе кодында құрылады.
Терезе кодымен бірге іскерлігі және браузер терезесі Code Explorer, қажетті жағдайдағы элементті тездетіп жеңілдету үшін мүмкіндік береді.
Тышқанды екі рет шерткенде элементте браузер терезесі айқын текстік көрсеткішке әкеледі, терезе кодында сәйкесінше обьектіні жазу үшін немесе оның бірінші ескерілуі
Object Pascal –ға кіріспе
Панельде (TPanel) екі батырма орналасқан (TBitBtn) шығару жолы (TEdit), белгі (TLabel) және көп жолды редактор (TMemo). ОК- батырмасы программа туралы хабарлайды. Closе-жұмыстың аяқталуына көмектеседі.
Форма өлшемі Height қасиеті (биіктігі) және Width(ені) азайғышқа сәйкес. Олар арнайы таңдалған, өткені форма кіші немесе өлкен болкетпеуін экранда әр түрлі размерлі оптимальді 800х600 жалпылама алғанда. Pasition қасиеті формамен сығыстырылып басқарады экранның шекарасына байланысты. Жалпы мағынасы PoDisigned форманы тұтынады. Конструкторда этапта сығыстырылуы бойынша, мағыналы кеңеске көңіл аударайық- PosgreenCenter- экранның центіріне симетриялы.
Align қасиеті сығыстырылған компонент әдісін көрсетеді.
Caption (Тақырып)- қаситі панельдегі текстің центірде орналасуын анықтайды.
Left (сол жақ) қасиеті. Top ( жоғары) және Width(ені) сол жақтағы үстінгі бұрышта орналасқанды анықтайды, сол бұрыштардың компонентеріне байланысты контейнеріна және (компоненті) ені Left жолды шығару үшін.
Name (аты) –программада шығатын компонентің атын анықтау.
Text (текст)- Edit компоенетінде тексті анықтайды.
ScrollBars қсиеті MMOutput компонентінде SSBoth (Оба) мағынасы болады. Ондай мағына Delphi- ді айналмалы екі сызықты редактордың сығысуы-вертикалбді және горизонтальді TBitBtn компоненті үшін Kind (сұрыптау) функцияның қасиеті- типін анықтайды, диалог терезесігндегі көмекші іске асыру батырмасы.
Архивқа форманы апару
Мына католог Objerepos аты болады және Delphі католыгында орналастыру (үнсіз-(C:\Program Files\Bor\And\Delphi 5)
Архив (рипозиторында) Delphі –форманың түрі және проектінің жиналуына қызмет етеді.
Objerepos католыгнда форманы апару, архивтағы форманы ол әлі қамтамассыздандырылмайды. Диалог терезесін шақыру үшін алдымен архивтағы форманы тіркеу, форманың үстінен тышқанның оң жақ батырмасын шертіп көмекші менюден Add To Repository таңдаймыз.
5 - сурет
Title жолында FmExample форма атын жазып, Description жолында анықталады, Page ашық тұрған тізімде Forms –дегенді таңдаймыз. Егер қажет болса, Author жолында өзінің фамилиянды жазып және терезенді жабып ОК батырмасын басамыз.
Енді формада тіркелген кез-келген моментте біз опцийда File/New көмегімен басты менюдан Delphі-ді таңдай аламыз.
Delphі-дан таңдау кезінде File/New Application опцийін бос түрдегі формамен бірге шығады. Ол үшін Tools Repository опций көмегімен басты менюден диалог терезесін шақырамыз.
Delphi-да модульдер типы
Бірнеше таратылған модульдер түрі Delphi-да форма болады-модуль терезесімен байланысты. Интерфейстік бөлім осындай модульдің көбінесе жаңа класстарды сақтайды және автоматты түрде жаңарады Delphi-да терезеден шығу кезінде конструировать етіледі.
Интерфейстік бөлімде модульдер-формалар терезелер класына сәйкес келетін сондай-ақ обьектілерді сақтайтын хабарландыру береді. Мысалы: біздің қазіргі оқу программамызға сәйкес модульдер класын сақтауын хабарлайды, TfmExample және обьект fmExample. Көбінесе модульдер түрі репозотты құру, диаогты терезені сақтайды.
Модульдік мәлеметтер олар тереземен байланысты болады, жәнеде бұл терезелер экранда шықпайды.
Модульдар динамикалық библиотекасы құруға арналған кең көлемде Windows-таDLL Dinamic –Link Libraries).
DLL универсалды құралдармен қызмет етеді, программалаудың әр түрлі тілде жазылғаның.
Жоба-ол ерекше бейнемен DLL компилировать етілген немесе орташа Delphi мен немесе программамен.
3-ДӘРІС. Жоба сипаттамасы
Қарастырылатын сұрақтар:
жоба құрамы;
жоба файлы;
форма файлы;
модульдер файлдары;
ресурстар файлы;
жоба параметрлері.
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 ортасы осы өзгерістерді алып тастауға тырысады. Сондықтан жобаның файлында ерекше кеңейтілу қолданылады және әдетте бұл код көрінбей тұрады.