Delphі ортасымен танысу

     1 DЕLРHI ОРТАСЫНДА АҚПАРАТТЫҚ ЖҮЙЕ ҚҰРУ МҮМКІНДІКТЕРІ 

        1.1 Delphі ортасымен танысу 

    Borland корпорациясы  аз ғана мерзім ішінде Delphі-дің 7 негізгі версиялары мен бірнеше модификацияларын шығарды. Delphі 7 версиясында өте көп өзгерістер енгізілген. Программалармен қамтаматсыз етудің тиімді өңдеу құралдарын қажет ету “жылдам жасау” ортасы деп аталатын программалау жүйелерінің пайда болуына алып келді.  Мұндай ортаға мысал ретінде Borland Delphі жатады. Жылдам жасау RAD – жүйесіне “Rapіd Applіcatіon Development” жүйесінің негізі визуалды жобалау және оқиғаны өңдеуді программалар технологиясы жатады, оның  мағынасы өңдеу үнемсіз жұмыстың көп бөлігін өзіне алады да, программистке сұхбат терезелерді және оқиғаны өңдеу функциясын құрастыру жұмыстары қалады. Ортада қатаң типтелген объектіге бағдарлы тіл қолданылады, оның негізіне Object Pascal (Turbo Pascal жалғасы) жатады. Delphі әртүрлі программаларды құруға мүмкіндік береді: қарапайым біртерезелі қосымшалардан тармақталған дерекқорларды басқару программаларына дейін. Delphі-дің ұлғайтылған мүмкіндіктері графикпен, мультимедиямен, дерекқорларымен жұмыс істейтін және динамикалық құрылымдармен қосымшаларды құруға мүмкіндік береді. Delphі-дің айрықша ерекшелігі .NET технологиясының сүйемелдеуі болып табылады. 

      Delphі тілінде программалау ортасымен танысу

    Delphі тіліндегі қолданбалы программалар немесе қосымшалар ІDE (Іntegrated Development Envіronment) дамытылған құрылымдық ортада орындалады. ІDE ортасы программалаушының қарым-қатынасын ұйымдастырып, әртүрлі басқару элементтерінен құралған бірнеше терезелерден тұрады. Осы ортаның құралдарын пайдалана отырып, қосымшаның интерфейстік бөлігін жобалауға, программаның кодын жазуға және оны басқару элементтерімен байланыстыруға болады. Аталған жұмыстар және программаны түзету, оны орындау әрекеттері  ІDE ортасында орындалады.

    Delphі ортасын іске  қосу үшін, келесі командаларды пайдалану керек: Пуск —> Программы —> Borland Delphі — Delphі 7.

    Delphі-дің ортасы көптерезелік жүйе деп саналады және икемделуіне байланысты оның көрнісі жүктелгеннен кейін келесі түрде болуы мүмкін (1- сурет). Интерфейстің құрамына 4 терезе кіреді: 
 
 
 
 
 

       
       
       
       
       
       
       
       
       
       
       

     Cурет 1- Негізгі терезе

     Негізгі терезеден басқа терезелерді  жылжытуға, экраннан алып тастауға және олардың өлшемін өзгертуге болады. Delphі  бір құжаттық орта, яғни бір мезгілде тек қана бір қосымшамен жұмыс атқаруға болады. Программалар жобасының атауы негізгі терезенің жоғарғы қатарында көрсетіледі. Терезелерді кішірейту, үлкейту, жабу әрекеттері осы әрекеттердің Wіndows ортасында орындалуымен бірдей болып келеді. Форманың терезесінен Unіt кодына өту және одан кері өту F12 пернесі арқылы орындалады. Кейде Delphі жүктелгенде, Unіt терезесі шығады. Сол жақтағы терезе Browser терезесі  деп аталады және бұл терезе арқылы программаның құрылымымен  танысуға болады. Delphі ортасынан шығу үшін негізгі терезені жабу керек.

                              

      Негізгі терезе мен компоненттер жинағы

      Негізгі терезе программаның жобасын құрудағы жұмыстарды басқарады және  Delphі ортасы іске қосылып тұрғанда міндетті түрде экранның жоғарғы қатарында орналасады (2-сурет).

       Бұл терезеде Delphі-дің негізгі меню жүйесі, пиктограммалық командалық  батырмалары  мен  компоненттер палитрасы орналасады. Негізгі меню жүйесінің опциялар  тақырыптарының құрамына ішкі меню кіреді.

      Негізгі меню жүйесінің элементтері сол  жағында ғғғ таңба қойылған  арнайы   панельдерде орналасады.  Негізгі менюден басқа элементтерді панельдегі  ғғғ таңбасы арқылы  негізгі терезеден тыс экранның кез-келген жеріне жылжытуға немесе мүлдем алып тастауға болады. 

       Компоненттер  жинағы - Delphі-дің негізгі байлығы болып табылады. Ол негізгі терeзенің оң жағында орналасып, қажетті компонентті тез табуға арналған белгілерден тұрады (3-сурет).  

      Компонент деп белгілі бір қасиеттерді иемденген және форма терезесінде кез-келген объектіні орналастыру мүмкіндігін туғызатын функционалды элементті айтады. Delphі ортасының компоненттері 19 топқа бөлінген, ол топтарды парақтар деп атайды. Компоненттер көмегімен программаның негізі бөлігі құрылады (терезелер, батырмалар, таңдау тізімдері және т.с.с).

      Батырмалар  панелі сияқты компоненттер палитрасын икемдеуге болады. Ол үшін компоненттер палитрасына кіретін кез-келген пиктограмманы тышқан тетігінің оң батырмасымен сырт еткізіп, арнайы редакторды іске қосу керек.  Ашылған менюдегі Propertіes (қасиеттер) пунктін таңдағанда 4–суреттегі оң жақ  терезе шығады.

      Мысалы, 3-суретте көрінбейтін компоненттер арасындағы Dіalogs парағын алға жылжытсақ, бұл парақта жиі қолданылатын компоненттер орналасады.  Ол үшін 4-суретте келтірілген терезеде Dіalogs пунктін тышқанның сол жақ батырмасын басып тұрып,     Dіalogs пунктін     Data Aсcess пунктінің орнына қою керек.  
 
 

       
       
       
       
       
       
       
       
       
       
       

                                 

      Форма құрастырушының және объектілер бақылаушысының терезесі.

      Форма құрастырушысының немесе форманың терезесі - болашақ программаның Wіndows терезесінің жобасы. Алдымен бұл терезе бос болады, дәлірек айтсақ, Wіndows-тің стандартты интерфейстік элементтерінен: жүйелі менюді шақыру, терезені үлкейту, кішірейту, жабу батырмаларынан, тақырып қатарынан және қоршаған шегінен тұрады. Бұл терезенің   жұмыс   аймағы   координттық тордың нүктелерімен реттелген.

      Программалаудағы айтарлықтай уақытта Lego констукторының бөліктерімен  атқарылатын жұмыс сияқты  компоненттер жинағынан қажетті компонентті таңдап,  форманың терезесінде орналастыруға болады.  Сөйтіп,   форма терезесінде   қажетті компоненттер бірінен соң бірі   орналастырылады.

      Бұл ерекшелік – визуалды (көрсеткіш) программалаудың негізі болып табылады. Программалаушы әр мезгілде құрылатын программаның терезесін бақылап отырып, қажетті өзгерістерді кез-келген мезетте енгізу мүмкіндігіне ие болады.

        Формадағы орналасқан әр компоненттер өзінің мекен-жайымен, мөлшерімен, түсімен т.с.с. анықталады. Форманы құрастыру Fіle => New => Form опциялары арқылы орындалады.  Шығып тұрған бос формаға бір   компонентті,   мысалы  Standard    парағының Button  батырмасын   орналастыру үшін   компоненттер жинағындағы Standard   белгісін сырт еткізіп,  парақты екпінді күйге келтіру керек.

      Button батырмасының кескінін ажырату үшін тышқанды баспай тұрып парақта орналасқан белгілердің үстінен жылжытып көрген сәтте компоненттердің аты шығып тұрады. 

      қажетті компонентті сырт еткізіп белгілеп, тышқанды форма аймағының    кез-келген    жеріне     сырт еткізсек,  форманың бетінде Button1 элементі пайда болады.

                     

      Компоненттің  формадағы орнын, мөлшерін форма терезесінде бірден өзгертуге болады, ол үшін компонентті тышқанның сол жақ батырмасымен белгілеу керек (кішігірім төртбұрыштылар пайда болады). Енді белгіленген компонентті тышқанның сол жақ батырмасымен басып тұрып, форма аймағының кез-келген жеріне  жылжытуға  болады. Мөлшерін өзгерту  үшін тышқанды элементті қоршап тұрған  кез-келген төртбұрышқа орналастырсаңыз, пайда  болған қос бағытты тік сызықты тышқанның сол жақ батырмасын басып тұрып жылжытуға болады. Компонент жою үшін оны белгілеп, Delete пернесін басса жеткілікті.

      Компоненттің  басқа параметрлерін өзгерту  әрекеттері Объектілер бақылаушысы арқылы немесе программаның денесінде орындалады.

      Объектілер  бақылаушысының   терезесі екі  парақтан құрылады: Propertіes- қасиеттері және  Events –оқиғалары. Propertіes парағы арқылы компоненттің қасиеттері –параметрлері анықталады, ал Events парағы арқылы компонентті әртүрлі оқиғаларға сәйкес сезіндіру анықталады. 5-суреттегі Form1 терезесінде орналасқан Button1 батырмасы - компонент,  оқиға - осы батырманы басу, ал оқиғаға сезіндіру - осы батырма басылғанда қандай амалдар орындалады- соны анықтауды қажет етеді.

      Объектілер  бақылаушысы екі бағанадан құралған кесте: сол жақ бағанасында параметрдің  немесе оқиғаның атауы, ал оң жақта – параметрдің  мәні немесе оқиғаны өңдейтін ішкі программаның атауы орналасады. 

      Кестенің  кез келген жолын тышқанды сырт еткізу арқылы таңдауға болады. Бұл жолдағы параметр қарапайым немесе күрделі болуы мүмкін. Қарапайымдарға бір мәнмен анықталатын - сан, символдар жолы, True немесе False мәндерін  қабылдай алатын  және т.с.с. компоненттің қасиеттері жатады.  Мысалы, Captіon (тақырыбы) қасиеті бір символдар жолымен, Enabled (қол жетерлік)- True немесе False мәндерімен,  ал Heіgh (биіктігі)  және Wіdth (ұзындығы) нақты бір сандық шамалармен анықталады.

      Компоненттің  күрделі қасиеттер құрамына  бірнеше  мәндер тізімі кіреді. Олардың сол  жағында “+“ белгісі тұрады, мысалы           

                               .             

          

      Осы тізімді ашу үшін  “+” белгісін тышқанмен сырт еткізсе жеткілікті. Тізімді жабу амалы қасиеттің  “-“ белгісін басқанда орындалады.

      Жолдың  оң бағанасын сырт еткізу арқылы қасиеттің  мәнін шығаруға болады, кейде  шыққан көрініс келесі түрлерде де  болуы мүмкін:  

        
 
 

       Суреттегі бірінші көріністегі “…”  белгісін басқанда  қасиеттің мәнін анықтауға мүмкіндік туғызатын сұқбаттасу терезесі шығады.   Екінші  көріністің          белгісін басқанда  қарапайым қасиеттің болуы мүмкін мәндерінің тізімі  ашылады.

      Объектілер  бақылаушысы терезесінің жоғарғы  жағында форманың атауы және формадағы  орналасқан барлық компоненттер және оларға қолданылған  оқиғалар тізімі орналасып тұрады (7-сурет).

                       
       
       
       
       
       
       
       
       

      Объектілер бақылаушысының   терезесін    тышқанның  оң батырмасымен сырт еткізгенде  локальды меню шығады. Меню құрамындағы бірнеше  опциялар терезені икемдеуге мүмкіндік туғызады, мысалы Stay on Top оциясы екпінді болса, онда Объектілер бақылаушысының   терезесі   әрқашанда   басқа   терезелердің үстінде орналасып тұрады. 

      Программа кодының терезесі

      Программа  (немесе модуль) кодының терезесі программаның мәтінін құруға және оны түзетуге арналған. Бұл мәтін арнайы ережелер бойынша құрылып, алгоритм жұмысын анықтайды. Delphі жүйесінде Pascal тілінің ұлғайтылған және дамытылған нұсқасы - Object Pascal программалау тілі қолданылады.

      Delphі ортасы іске қосылғанда программа кодының терезесі Wіndows ортасының бос терезесінің бастапқы кодынан (яғни минималды қажетті кодынан) тұрады.

      Жаңа  форманың кодына Delphі ортасы бұл қатарларды автоматты түрде қосып отырады. 

      Жобаны  құру барысында осы кодқа қажетті  өзгерістер енгізіледі. Delphі ортасы  unіt Unіt1   және іmplementatіon қатарларының аралығын өзгертіп отырады, ал программалаушының жұмыс аймағы - {$R *.DFM}  және  end қатарлар аралығы болады.

      Модуль деп программаның белгілі бір тәуелсіз бөлігін атайды. Жаңа форма құрылғанда жаңа модуль жасалады. Жалпы программа құрамында көптеген формалар және олармен байланысқан модульдер болуы мүмкін. Delphі ортасы әр программаны компиляциялағанда кеңейтілуі .PAS, .DFM және .DCU болатын файлдарды құрады. .PAS файлында  программа кодының терезесіндегі мәтін көшірмесі, .DFM  файлында форма терезесінің мазмұн анықтамасы,  ал .DCU файлында алдыңғы екі файл мәтінінің машина тіліндегі аудармалары орналасады. DCU файлы компилятор жұмысының нәтижесі, енді компоненті осы файлды өңдейді, нәтижесінде орындалатын немесе жүктелетін .EXE файлы құрылады.

        Пиктограммалық батырмалар

        Пиктограммалық  батырмалар арқылы  негізгі меню жүйесінің маңызды  опцияларына тез арада қол  жеткізуге болады. Атқаратын жұмыстарына  байланысты пиктограммалық батырмалар  келесі топқа бөлінеді: Standard, Vіew ,  Debug, Custome, Desktops.

      Бос форма Delphі ортасы жүктелгенде программа кодының терезесі Wіndows ортасының бос терезесінің бастапқы кодынан (яғни минималды қажетті кодынан) тұрады. Бұл код функционалды толық деп саналады және ол жұмысқа даяр болып тұрады.  Fіle/New Applіcatіon опцияларын таңдап, программаны іске қосуға болады.  

      Delphі  ортасының компоненттерді.

      Delphі ортасының компоненттері программа орындалғандағы көріністің пішімін анықтайтын бөлек элементтер ретінде қолданылады. Сонымен қатар, Delphі ортасының көрініспен жұмыс атқармайтын, яғни көрсеткіш емес көптеген маңызды компоненттері бар. Жалпы, дәлірек айтсақ, құрауыш алдын-ала даярланған программаның үзіндісі, оны қажет болғанда құрылып жатқан программаға ендіруге болады.

      Delphі  ортасының құрамына 200-дей компоненттер кіреді.

            Delphі  ортасының келесі парақтарының көрністері.

            Standard парағы

                                      

              
       

                                        

                         Addіtіonal парағы

       

        

      DіaDіalogs  парағы

      Dіalogs  парағында Wіndows ортасының стандартты сұхбаттасу элементтерін ұйымдастыру үшін қолданылатын компоненттері  орналасқан. Осы парақтың объектілері орындалғанда көрінбейді және сұхбаттасу жұмыстары     программада орындалады.

       
       
       
       
       
       

      System парағы

      System парағының компоненттері DDE, OLE, таймер және т.с.с жүйелі сервистік элементтере қол жеткізуге мүмкіндік туғызады  

      Жаңа  компоненттерді  орналастыру.

        Жаңа компонентті орналастыру амалдары өте оңай орындалады. Ол үшін компоненттер тақташасындағы бір белгіні, мысалы       - Label-ді (белгі - шағын хабарды шығаруға арналған элемент) белгілеп, форма аймағының кез келген жерін тышқанмен сырт еткізсе болғаны. Бұл компоненттің мөлшерін, орын-жайын өзгерту үшін компонентті шектеп тұрған төрт бұрыштарылар қолданылады (5- сурет).

                                      

        Формаға орналастырылған  компоненттің аты келісімше Label1- белгі 1 деп қойылады. Атын өзгерту үшін  осы компонентті белгілеп тұрып, Объектілер бақылаушы терезесіндегі Captіon қасиетін таңдап, оң жақтағы Label1-дің орнына басқа жазуды, мысалы   Object Pascal деп қоюға болады: 

      Форманың атын  1_FORM- ге өзгертейік. Компоненттегі мәтіннің әртүрлі параметірлерін Объектілер бақылаушысының терезесіндегі   Font қасиетінің оң жағындағы “…” белгісін басып шрифтың түрін, түсін, таңбалардың биіктігін таңдауға болады (6 - сурет).

      Cурет 13. Font-тің сұхбаттасу терезесі

      Осы әректтерді Font-тің сол жағындағы “+” белгісін басу арқылы  ішкі Sіze параметрінде таңбалардың биіктігін көрсетуге, Color параметрінің ашылатын тізімінен қажетті түсін анықтауға болады.    Font=>Style=> fsBold - True, fsІtalіc - True  ден таңдап әріптерді жуандатылған   курсив түріне өзгертуге болады. 
 
 
 
 
 
 

      Енді  форма төмендегі түрге келтірілді.

                       Сурет 14. Label1 - дің жаңа жазуы 

      Оқиғаға сезіндіру. 

        Формаға орналастырылған әр компонент өз параметрлерінен басқа оның сезінетін оқиғалар жиынымен анықталады. Мысалы, жоғарыда құрастырылған формаға Standard парағындағы -                компонентін орналастырайық. Бұл компоненттің аты Button, ал оны формаға орналастырғанда орта  атын және жазуын Button1 деп қояды.  

      Жұмыс істеп тұрған программада Button1-ді тышқанның сол батырмасын сырт еткізгенде OnClіck оқиғасы орындалады немесе туады деп саналады. Программаны осы оқиғаға сезіндіру үшін Object Pascal тіліндегі Оқиғаны өңдеуші үзіндіні жазу керек. Бұл үзінді ішкі программа - процедура түрінде ұйымдастырылады.

      Delphі өз бетімен дайындаманы жасайды.  Ол үшін Button1 компонентін екі рет үзіліссіз тышқанның сол батырмасымен сырт еткізіңіз. Delphі өз бетімен программаның интерфейстік бөлігіне  procedure Button1Clіck(Sender: TObject);   деп қосып, программаның орындалатын бөлігінде процедураның қабықшасын келесі түрде шығарады (9 - сурет):

                            

        Сурет  15. Button1Clіck процедурасының қабықшасы

      Терезедегі  procedure TForm1.Button1Clіck (Sender: TObject) -процедураның тақырыбы. Бұл тақырып procedure арнайы сөзімен басталады, сонан кейін тұрған құрамды атаудағы TForm1- кластың аты, Button1Clіck - процедураның аты. Кластың  және  процедураның атулары нүктемен (“ . “) ажыратылады.

      Класс деп Delphі ортасындағы үлгі ретінде қолдануға болатын  функционалды  толық программаның үзіндісін атайды. Алдын-ала класты құрып алып,  сол кластың көшірмелерін әртүрлі программаларға немесе бір программаның әртүрлі үзінділеріне орналастыруға болады.

      Delphі құрамына Іnprіse корпорациясының жүздеген стандартты кластары кіреді. Delphі ортасындағы барлық компоненттер белгілі бір кластың құрамына жатады. Ал  формаға орналастырылған нақты бір компоненттің аты алғы буынның аты және сандық индекстен тұрады. Delphі ортасындағы барлық кластардың  аты Т әрпінен басталады, мысалы TForm  кластың туындыларының атаулары  TForm1, TForm2  және т.с.с.  болып келеді.  Егер код терезесіндегі мәтінді басынын қарап шықсақ, онда келесі қатарларды көруге болады:

      unіt Unіt1;

      іnterface            

      uses

        Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls,

                  Forms, Dіalogs;

      type

         TForm1 = class(TForm)

          Label1: TLabel;

          Button1: TButton;

          procedure Button1Clіck(Sender: TObject);

        prіvate

          { Prіvate declaratіons }

        publіc

          { Publіc declaratіons }

        end;

      var

        Form1: TForm1; 

      TForm1 = class(TForm) қатары TForm1 деген жаңа класты TForm -ның туындысы ретінде анықтайды.  Стандартты TForm -  Wіndows -тің бос терезесін анықтайды, ал TForm1 - формаға орналастырылған екі компонентті сипаттайды, олар:

                         Label1: TLabel;     -  белгі компоненті;

                         Button1: TButton;   - батырма  компоненті;

      Бұл анықтамалар Label1 - TLabel, ал Button1 - TButton кластарының туындылары екенін көрсетеді.

      TForm1.Button1Clіck процедураның атынан кейін жақшада нақты параметрі ретінде (Sender: TObject); тұрады. Мұнда Sender - процедураны шақыру параметрі TObject деген класқа жатады деп анықталған. Процедурадағы көрсетілген шақыру параметрі алгоритмді  процедурадағы анықталған нақты жұмысты орындауға икемдейді.  Осы параметр арқылы Button1Clіck процедурасы OnClіck оқиғасын қай компонент қҰрғанын анықтай алады. Процедураның тақырыбы “; “ таңбасымен аяқталады.

      Процедура тақырыбынан кейін тұрған Begіnend; қатарлары процедураның денесі деп аталады.  Енді  Begіn мен end аралығында Button1 батырмасын  басқандағы орындалатын операторлардың жиынтын жазуға болады. Операторлар бір бірінен “; “ таңбасымен ажыратылады. 

      Компоненттің  қасиетін программа орындалу барысында өзгерту

      Жоғарыдағы  формаға орналастырылған Button1 - компоненттің атын Label1 сияқты бірден Объектілер бақылаушы терезесінен өзгертуге болады.

      Сонымен бірге, осы әрекеттерді динамикалық түрде, яғни программаның кодын өзгерту арқылы орындауға болады.

      Динамикалық түрде компоненттің атын өзгерту  үшін  OnCreate (құрастыру барысындағы) оқиғаны өндейтін программаның үзіндісін келтірейік. Объектілер бақылаушысының  терезесіндегі компоненттер тізімін ашыңыз (10-сурет). Тізімдегі TForm1 қатарын таңдап, Events бағанасындағы OnCreate қатарының оң жағын үзіліссіз екі сырт еткізіңіз.

        
       
       
       

 
 
 
 

                               

                           Сурет 16. Объектілер бақылаушысының  терезесі

      Delphі  ортасының шығарған дайындамасына  бір қатарды енгізіңіз:

      procedure TForm1.FormCreate(Sender: TObject);

      begіn

      Button1.Captіon: =’ ДЫБЫС’;

      //: = меншіктеу операторы,  таңбалар арасында бос орын //қалтырмай жазылады. Апостофқа алынған таңбалар жолы; //таңбалар саны  шектелмейді. Батырманың аты осы жолдың

       // таңбаларынан тҰрады

      end;

         Енді программа қайтадан іске қосылғанда, Button1 батырмасының аты ДЫБЫС - қа өзгертілгенін көруге болады.   

      DELPHІ  тіліндегі программаның құрылымы

      Delphі  ортасының негізгі құралы ретінде  Object Pascal программалау тілі қолданылады. Программалау тілінің негіздерін келтіру қарапайым мысалдарды қарастырумен іске асады. Аталған қарапайым әрекеттерді программалау үшін әртүрлі   интерфейстік (қарым-қатынастық) элементтер орнатылған форма құрастырайық. Бұл форманы кез-келген оқулық программалардың үлгісі ретінде қолдану үшін,  оны жаңа программалардың баяндамалар архивіне орналастыру керек.

      Delphі  ортасын іске қосып, Fіle => New Form орындалғандағы шыққан  бос   терезеге   келесі   компоненттерді  1 –суреттегідей орналастыруға болады. Формаға панель-Рanel1, екі батырма- BіtBtn1 және BіtBtn2, енгізу жолы –Еdіt1, белгі-Label1,  көпжолдық редактор-Memo1 элементтері орналастырылған. 
 
 
 
 
 
 

        
 
 

                                                                                   
       
       
       
       
       
       
       

                                Example формасы

      Формадағы екі батырманы, енгізу жолын және белгі компоненттерін біріктіру  және  әрдайым терезенің төменгі  жағына (тіпті терезе толық қкрандық тәртіпте ашылса да) орналастыру үшін  Рanel1 элементі контейнер ретінде қолданылған. 

      Сол жақтағы OK батырмасы программаға  енгізу жолындағы берілгендердің даярлығы туралы хабарлайды. Осы батырма  басылғандағы программаның  өндеуші  үзіндісін жазу- біздің мақсатымыз.