УМК ВП. казПОС. Пніні Оу программасы syllabus оытушы жнінде мліметтер
Скачать 6.17 Mb.
|
type TForm l=class (TForm) Procedure FormCreate(Sender:TObject); Private {private declaration} public {public declaration} end; var Forml : TForml; Типке енгізілген TForml=class(TForm) жолы стандартты TForm класының үлгісі бойынша құрылған (TForm класы тудырған) TForm1ішкі класын аныктайды; FormCreate -процедура атауы; Sender (жіберуші) - оқиға көзі болатын объектіні (TObjеct) бойында сақтайтын шақыру параметрі (айнымалы). Олар жазылған қатар процедура тақырыбы делінеді. Sender параметрін программа мәтіні ішінде шақыру да мүмкін. Мысалы, өндеуішті шақыру Button1түймесін шертудің жауабы болатынын тексеру үшін оған, If Sender = Button 1 Then ... шартты операторын енгізсе болғаны. Негізгі әдебиеттер: 1[37-56], 12[25-35] Бақылау сұрақтары: 1. Берілгендерді енгіузу және шығару үшін Input Box функцмиясы мен Showmessege процедурасын пайдалану тәсілдері. 2. Типті түрлендіру функциялары. Мысал келтіріңіз. 3. "Мен қаладан келемін" сөйлемін форманың Edit өрісіне енгізіп, Label1 өpiciнe шығару программасын құрыңыз. 4. х=5,2 үшін у=3*х2+5х-2 функциясының мәнін есептеу программасын құрып, іске қосыңыз. Программада х мәнін енгізу үшіи форманың Edit1 өрісі, у мәнін шығару үшін Label1 өрісі пайдаланылсын. 4-Дәріс Проектіні сактау және ашу. Проектіні дайындап болған соң оны сақтау үшін File-Save Project As не File-Save All командасын беру керек. Егер проект алғаш рет сақталынып жатса, онда модульді сақтауды суыралатын Save Unitl As атаулы терезе көрінеді (2.8-сурет). Проект сақталу үшін арнайы бума дайындалмаған болса, ол Projects (C:\Program Files\Borland\DeIphi5\Projects)бумасында сақталады. Бірақ пайдаланушы Сақтау терезесінде жаңа бума құрып, проектіні сонда сақтағаны жөн. Ол оны іздеп табуды жеңілдетеді. Жаңа бума құру тәсілі:
орналастырылып қойылады;
Модуль.pas кенейтілуі бойынша сақталып қойылады да, экранда проект аты сұралатын терезе көрінеді; Файл аты ерісіне проект атын енгізіп, Сактаутүймссін шерту. Проект файлы .dpr кеңейтілуі бойынша сақталады да, Негізгі модуль атауыосы атауға өзгертіледі. Ол программа атауы ретінде қабылданады. 2.8-сурет. Модульді сақтау терезесі мұндағы ескеретін жайт: модуль мен проектіні бірдей атау бойынша сақтауға да болады, мысалы, Funcl.pas, Funcl.dpr. Бірақ модульді басқа проектілерде де пайдалану мүмкін. Сондықтан оларды түрлі атаулар бойынша сақтау керек. Сақтаулы проектіні ашу үшін File-Open Project командасының берілуі тиіс. Көрінген терезеден қажетгі буманы ашып, онда көрінген проект атауын екі рет шертсе болғаны. Программаны компиляциялау Жаңа құрылған программаны (проектіні) сақтаған соң, оны іске қосу үшін компиляциялау қажет. Ол үшін берілетін команда: Project-Compile Project (Проект-Проектіні компиляциялау). Жүйенін сәйкес күйге келтіріуіне байланысты, іске қосу командасы берілген кезде компиляциялау барысы Compiling сұхбаттық терезесіне көрініп тұрады . Комппляциялау командасы берілген кезде Compiling терезесі экранда көрінбеуі ықтимал. Оны экранға шығару тәсілі: Tools-Environment Options (Сервис-Күйге Келтіру) командасын беру. Environment Options терезесі ашылады; терезенің Preferences (Орнату)қосымша бетін ашып, Compiling and running (Компиляциялау және орындау)блогында орналасқан Sһow Compiler progress (компиляциялау барысын көрсету) жалаушасын орнату (2.9-сурет). 2.9-сурет. Компиляциялау параметрлерін таңдау терезесі Компилятор ерекшелеген жолда синтаксистік қате болмай, қате оның алдындағы жолда жіберілуі де мүмкін, мысалы, оған енгізілген команда соңына нүктелі үтір (;) таңбасы қойылмаған, т.б. Қате түзетіліп болған соң Іске қосу командасын қайта беру керек не Run-Step Over (Іске қосу-Қадамнан бастап) командасын беруге болады. Егер программада синтаксистік қате бар болса, компиляциялау кезіндеDelphi қате табылған жолды код терезесінде ерекшелеп көрсетіп, қате жіберілген орынға курсорды орналастырады және қате типін терезенің төменгі бөлігінде орналасқан терезеде көрсетіп, машина жұмысын тоқтатады. ЕХЕ- файл Проектіні сақтау кезінде Delhi PAS, DFM, DCU кеңейтулері қосылатын үш файлдайындап шығады. PAS - файлы — код терезесіндегі мәтін көшірмесі; DFM- файлында форма терезесінің ішіндегісі сипатталады; DCU – файлы - екі файлдың да машиналық нұсқауға турлендіру нәтижесі. Егер программада синтаксистік қате болмаса, компилятор оларды ехе файлға түрлендіріп шығады (файлдың аты проект атауымен бірдей етіп жазылады да, оған .ехе кеңейтілуі қосылып қойылады). Ол Windows-қа кірістіріліп, проект файлы сақталған бумада орналастырылады. Оны Windows жетекшісі (сілтеушісі) терезесінен әдеттегідей іске қоса беру мүмкін. Негізгі әдебиеттер: 2[37-56], 12[15-35], 7[17-32] Бақылау сұрақтары: 1. Модуль мен проектіні арнайы бума құрып, сақтау тәсілі, Файл атауы үшін пайдалануы мүмкін символдар. 2. Сақтаулы проектіні ашу тәсілі. Программаны компиляциялау. Компилятордың синтаксистік қатені көрсетуі. 3. Программаны іске қосқан кезде компиляциялау терезесі экранда көрінбесе, оны көрсету тәсілі. 4. Delphi-де ехе-файл деп қандай файлды атайды? Windows – та оны іске қосу тәсілі. 5-Дәріс Компоненттер палитрасы Dеlphi-де программа дайындау үшін компоненттік тәсіл пайдаланылған: пайдалаиушы программаларынын кітапханасы программалау ортасымен бірге ұсынылатын, бір іс-әрекетті орындайтын (дайын программалар үзінділерінен тұратып) компоненттерден жинақталады, ал олар форма терезесіне енгізіледі.Компоненттік тәсіл программалау технологиясына нағыз төңкерісжасады деуге болады, себебі, компоненттерді пайдалану программа жұмысын күрделі түрде жеңілдетті. Компоненттер кітапханасын визуальды компоненттер кітапханасы (Visual Component Library, VCL) деп атайды. Онда түрлікластықкөптеген стандартты компоненттер жинақталып (Delphi 7-те олардың саны 200-ден артық), олар турлі атаулы 12 бетке орнатылып қойылған . Мысалы, Standard бетіне енгізілген кейбір компоненттер 2.2-кестеде және 2.10-суретте көрсетілген. Additional (Қосымша) бетіне енгізілген компоненттер сұхбаттық терезелердің керінісін түрлендіру үшін пайдаланылады. System (Жүйе)бетіне OLE (Байланыстыру және орнату)технологиясы бойынша берілгендерді түрлі программалар арасында алмастыратын және т.б. іс-әрекеттерді орындайтын компоненттер енгізілген. Мысалы, Timer (Таймер)- нақты уақыт аралықтарын есептеу; Paint Box (Суркт қорабы)- графикалық кескіндер енгізілетін төртбұрышты облыс құру; OLEContainer (OLE Контейнер) - байланыстырылатын және орнатылатын объектілерді қабылдау контейнері; MediaPlayer - Мультимедиалық құрылғылармен жұмысты басқару. Win32 бетіне енгізілген компоненттердің бірі - Animate(жандандыру, қозғалыс әсерін ұйымдастыру) - қозғалыс әсерін ұйымдастырады. Компонент формаға орнатылған кезде соңына индекс қосылып, класс атауын алады. 2.2 – кесте
Samples (Модель)бетіне енгізілген компоненттер: ColorGrid (Түстер торы) - түстер кестесі. Ол 16 түстік палитрадан негізгі және фон түсін тандау: 2.10 сурет. Компоненттер палитрасы. Standard бетіне енгізілген компоненттер Calendar (Календарь)- ағымдық күн белгіленген ай календарын көрсету (жылдық календарды Win32 панелінің MonthCalendar компонентін формада орнату арқылы шығаруға болады), т.б. Пайдаланушы жаңа компонент дайындап, оны компоненттер панеліне қосып коюы да мүмкін. OLEContainer компонентін пайдалану мысалы Компоненттер әдіастерітолық іс-әрекеттерді орындайтын аяқталған программа үзінділерінен тұрады. Мысал ретінде төменде компоненттер панелінің System бетіне орналастырылған OLEContainer класымен жұмыс істеудің бір тәсілі көрсетілген Мысал. Paint графикалық редакторы терезесін Delphi ортасына шақырып, сурет салу және салынған суретті формада көрсету керек.
2.11-сурет. Объектіні кірістіру терезесі 2.12-сурет. OleContainer1 - Paint терезесі 5. Терезені жабу. Компонент ішінде сурет салынған форма көрінеді (2.13-сурет). 2.13-сурет Таймер Delphi-дің негізгі ерекшеліктерінің бірі - программа формада орнатылған компоненттер (пайдаланушы интерфейсі) оқиғаларын өңдеуіш процедуралар ретінде құрылады. Әр ком-поненттің өзіне тиісті қасиеттері, оқиғалары, әдістері бар. Оны құрылатын программаның алдын ала дайындалған үзіндісі деп қарауға болады. Яғни, компоненттер программа көлемін азайтып, құруды жеңілдетеді. Мысал. Компоненттер панелінің System бетінле орналасқанTimer компонентін пайдаланып, формада жүріп тұрған электрондық сағатты көрсету керек.
мұндағы Label1 қасиетіне меншіктелген мәндер формада орнатылған электрондық сағат элементтерін қажетті түрде үлкейтіп, сағатты форма ортасында орналастыру үшін ғана енгізілген. Timer1 компоненті - Windows-тың жүйелік таймері (WM_TIMER). Ол кажетті мәліметті миллисекунт өлшемімен периодты түрде бөліп беріп отырады. WM_TIMER генераторын қосу үшін оның Enabled(қол жетерлік, мүмкіндік) қасиетіне true мәні, нақты уақытты бөліп беруді орындайтын Interval (аралық) қасиеті мәніне 1 сек меншіктелген (1 сек = 1000 миллисек.). Жалпы, ТTimerкомпоненті өндейтін оқиға біреу ғана - OnTimer (уакыт бойынша). Код терезесінде сәйкес процедура дайындамасын шығару үшін Timer 1 компонентін екі рет шерту не компонентгің қасиеттер терезесінен OnTimer оқиғасын таңдап, оң бөлігін екі рет шерту керек. 3. Оқиғаны өңдеуіш құру: Procedure TForml. TimerlTimer (Sender : TObject) ; var DateTime : TDateTime; begin DateTime := Time; label 1.Caption := TimeToStr(DateTime); end; мұндағы Time – ағымдық уақытты қайтарып беретін стандартты функция; TimeToStr - уақытты символдық типке турлендіру функцияеы. 2.14-сурет. Формада орнатылған жүріп тұрған сағат 4. Іске косу командасын беру (Р9). Формада жүріп түрған сағат көрінеді (2.14-сурет). Dеlphi-де компоненттердің мүмкіндіктері орасан зор. Жоғарыда TTimer компонентінің атқаратын іс-әрекеті мен OLEContainer компонентінін тек бір әдісін шақыру арқылы орындалатын күрделі жұмыс көрсетілген. Объектілі-бағдарлы программалау тәсілі жөнінде Бейсик, Паскальсияқты дәстурлі программалау тілдерінде күрделі, үлкен программаларды дайындаудың кемшілігі — ол үшін программалаушылар тобынын көп күш жұмсауы қажет болатын. Программалауды жеңілдету үшін 80-жылдары объект, класс (object, class) ұғымдары енгізідіп, объектілі-бағдарлы программалау (ОБИ) тәсілі негізге алынды. ОБП -Паскальда қолданылатын процедуралық және құрылымдық программалаудың және модуль құрудың дамытылған түрі. Ол берілгендерді белгілі бір абстрактылық деңгейде көрсетіп, модульдік программалауды пайдаланады. Мысалы, Visual Basic программалау жүйесі объектілі программалау тәсілін пайдаланып, QBasic тілі негізінде визуальды түрде құрылған. Паскальдың ОБП тәсілін пайдаланып құрылған жаңа нұсқасы Object Pascal (Объектілі Паскаль)деп аталады. Delphi осы тілдің негізінде дайындалған. Объектілі программалаудың ынғайсыздығы-онда дәстүрлі программалау тәсілдері пайдалана берілмейді, бірақ ондағы көп қиындықтар арнайы тәсілдерді пайдалану арқылы тез шешілген. ОБП тілінің дәстүрлі программалау тілдсрінен өзгешілігі- онда, өрістергеқоса, мынадай ұғымдар негізге алынған: класс, объект, өңдеу әдісі, объект қасиеті және оқиға. Өрістер - Турбо Паскальдағы жазу (record) типінің өрістері сияқты; қасиеттер — обьект сипаттамалары (параметрлері); әдістер — кластың өрістері мен қасиеттерін өңдейтін процедуралар мен функциялар; объект — турлі мәндердің қасиеттері мен әдістерінің жиынтығы; окиға — объект жағдайының өзгеруі. класс - өрістер, касиеттер және әдістердің бірлігінен тұратын тип,не, жалпы турде,өңдеу әдістері не қасиеттері ортақ түрде сипатгалатын объектілер (нысандар) жиынтығы. Жүйе объект үшін жадтың динамикалық облысынанарнайы орын қалдырады. Яғни, шын мәнінде, объектжай айнымалы емес, ол - жадтың динамикалық облысының кездейсоқ адресін сақтайтын көрсеткіш. Бірақ программада оған Турбо Паскальда пайданылатын көрсеткіш белгісі (^) енгізілмейжазылады. Объект құрылған кезде автоматты түрде конструктор (constructor)деп аталатын әдіс шақырылып, ол объектіні динамикалық облыста орналастырады, динамикалық жадтан объектіні арнайы деструктор (destructor) әдісіжояды. Сонымен, ОБП-да пайдаланылатын объект сөзінін екі мағынасы бар: нақты объект (мысалы, геометриялық дене, формада орнатылған компонент, т.б) және айнымалы (абстракты, дерексіз объект). Delphi-дe екінші объект нақты класс данасын анықтайды. Класқа иерархиялық (бағынышты, жоғарыдан төмен) кластардын енуі де мүмкін. Мысалы, геометриялық фигуралар класы жазық фигуралар және кеңістік фигуралары болатын екі ішкі кластық фигураларға бөлінеді. Ал жазық фигуралар класы төбелері бар (үшбүрыш, көпбұрыш) жәнс төбелерсіз (шеңбер, эллипс) болып екі ішкі класқа бөлінеді. Объектілі программалауда барлык кластар иерархиядлық түрде негізгі TObject класынан тарайды (Tobject → Tpersistent → Tcompofient →...). Әдетте негізгі класты аталық, бағыныңқы кластарды туынды не сәбилік кластар деп атайды (TObject -барлық кластардын арғы атасы, TComponent — барлық иерархиялық компоненттердің жоғарғысы (компонент деп Тcomponentкласының мұрагері болатын класс данасын атайды)).Әр ұрпақ өзінің аталық класының мүмкіндіктерін (өрістерінің, қасиеттерінің, әдістерінің сипаттамаларын) қабылдайды. Мысалы, TObject класының Create (бастапқы мән меншіктеу (инициалдау)) әдісібарлық туынды кластарға тиісті (TObject класында конструктор Create деп аталады). Әр ұрпақ өзіне қосымша жаңа мүмкіндіктер (сипаттамалар) қосып, келесі ұрпақтарға беруі мүмкін. Delphi-де класс атауын Т әрпінен бастау келісілген. Формаға енгізілген компонент данасы сандық индекскосылған класс атауын алады. Туынды кластың сипатталу түрі: type <туынды класс атауы>=class (<негізгі класс атауы>); < класс "мүшелерінін тізімі> end; var <объект> : <класс атауы>; . мұндағы класс мүшелері- өрістер, қасиеттер жәнс әдістер. Мысалы, |