Delphi ортасының мүмкіндіктері

Автор работы: Пользователь скрыл имя, 05 Июня 2013 в 19:45, курсовая работа

Описание работы

Delphi негізінде қосымшаларды жылдам құру концепциясы (RAD – Rapid Application Development) жатқандықтан,жинақта Windows-та жұмыс істейтін қосымшаларды құруға арналған визуальды компоненттерді,формаларды, оқиғаларды,қасиеттерді пайдалануға көп көңіл бөлінген.Сонымен қатар жиі қолданылатын визуальды компоненттерді пайдаланып,Delphi ортасында бағдарламалауды үйрену мәселелері қамтылған.

Файлы: 1 файл

Курсавой информатика.docx

— 76.04 Кб (Скачать файл)

          sek:= Truns(1*100) mod 100; / / секунд саны – t  санының бөлшек бөлігі

 

           / / есептеу

          v:=(dist/1000) / /(min*60+sek) / 3600;

         

          / / нәтиже шығару

         Label4.Caption:= ‘Дистанция’ + Edit1. Text= ‘’ + #13 +

         ‘Уақыт:’ + IntToStr(min) + ‘мин’ +

         IntToStr(sek)+ ‘сек’ + #13 +

         ‘:’ + FloatToStrF(v,ffFixed,4,2) +

         ‘км/сағ’;

          end;

 

         / / аяқтау батырмасын басу

        рrocedure TForm1.Button2Click (Sender: Tobject);

        begin

        Form1.Close;

        8

        end;

        end.

      

        модуль unit сөзінен басталады да, одан кейін модуль аты беріледі.

Осы ат жоғарыдағы бағдарлама мәтіні келтірілген, қосымшасының басты  модуліне қатысты uses нұсқауында қолданылатын модульдер тізімінде ескеріледі.

        Модуль  мынандай бөлімдерден тұрады:

  • Интерфейс;
  • Жүзеге асыру;
  • Инициализациялау;

     Интерфейс бөлімі (Interface сөзінен басталады) бағдарламаның басқа модульдері үшін модульдің қандай бөліндінің  ыңғайлығы екендігін компиляторға хабарлайды. Осы бөлімде (Uses сөзінен кейін) берілген модульмен қолданылатын кітапханалық модульдер берілген. Сонымен қатар бұл жерде type сөзінен кейін Delphi арқылы құрылған форманың баяндалуы орналасады.

           Жүзеге асыру бөлімі  implementation  сөзімен ашылады да, форма жұмысын қолдайтын локальді айнымалылар, процедуралар мен функциялардың баяндалуларын қамтиды.

            Жүзеге асыру бөлімі {$R*.DFM} директивасынан басталады. Бұл орындалатын файлды генерациялау процесінде форманы баяндауды компиляторға көрсететін болады. Форманы баяндау .dfm кеңуйтілуі бар файлда орналасқан. Ол файлдың аты модуль атымен сәйкес.

           {$R*.DFM} директивасынан кейін формалармен оның компоненттері үшін оқиғаларды өңдеу процедуралары жазылады. Осы жерге бағдарлама жасаушы басқа процедуралар мен функцияларды қоса алады.

            Инициализациялау бөлімі модуль айнымалыларын инициализациялауға мүмкіндік береді. Инициализациялау бөлімінің нұсқаулары жүзеге асыру бөлімінен кейін (барлық процедуралар мен функцияларды баяндау) begin және end кілттік сөздерінің арасына жазылады. Егер инициализациялау бөлімі бірде-бір нұсқауды қамтымайтын болса, онда begin сөзі көрсетілмейді.

 

 

            Жобаны сақтау

 

 

           Жоба – бұл файлдар жиыны, бұл арқылы компилятор бағдарламаның орындалатын (exe-файлдар) файлын құрады. Жоба мынадай файлджардан тұрады:

    

     - жобаны баяндау файлынан (dpr-файл)

     - басты модуль файлынан (pas-файл)

     - ресурстар файлынан (res-файл)

     - форманы баяндау айлынан (dfm-файл)

     - функцияны баяндау файлынан (cpp-файл) және т.б.

    

             Жобаны сақтау үшін File менюінен Save Project As командасын таңдау қажет.

            Егер жоба әлі сақталмаған болса, Delphi онда алдымен модульді (код редакторы терезесінің құрамындағыларды) сақтауды ұсынады, сондықтан экранда Save Unit1 As терезесі пайда болады. Осы терезеде жоба файлдарына арналған папканы таңдап, модуль атын енгізу қажет.

           Сохранить (Сақтау) батырмасын басқаннан кейін жоба файлының атын енгізу қажет терезе пайда болады. Модуль файлдарының аттары ( pas-файл) және жоба файлдары ( dpr-файл) аттарының әр түрлі екендігіне назар аударыңыз. Компилятормен генерацияланатын файл аты жоба атымен сәйкес болады.

 

           1.6. Компиляция

 

   

           Компиляция – бастапқы бағдарламаны орындалатын бағдарламаға түрлендіру процесі. Компиляция екі кезеңнен тұрады. Бірінші кезеңде бағдарлама мәтініндегі қатенің жоқтығы тексеріледі, ал екінші кезеңде – орындалатын бағдарлам (exe-файл) генерацияланады.

          Оқиғаны өңдеу функциясының мәтінен енгізгеннен кейін және жобаны сақтағаннан кейін Project менюінен Compile командасын таңдап, компиляцияны орындау қажет.

          Компиляция процесі және оның нәтижесі Compiling сұхбаттық терезесінде көрініс табады. Осы терезеге компилятор қателердің (Errors), ескертпелердің (Warning) және кеңестердің (Hints) санын шығарып береді.

          Қателер, ескертпелер мен түсініктер туралы хабардың өзі код редакторы терезесінің төменгі жағында орналасқан.

  

 

             1.6.1. Қателер

 

   

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

            Қатені қамтитын үзідіге ауысу үшін меңзерді қате туралы хабар шығарған қатарға орнатып және контекстік менюден Edit source  командасын таңдау қажет.

          Қателерді жөндеу процесі итерациялық сипатқа ие. Алдымен баяндалмаған айнымалылар тексеріледі. Бағдарламада қолданысқа ие болған айнымалылардың барлығы айнымалыларды баяндау бөліміндже баяндалып кету керек. Кезекті түзетулер мен өзгерістердібағдарламаға енгізгеннен кейін, компиляцияны қайта орындауғажіберу қажет. Қатені түзету кезінде қате жіберген қатарды ғана емес, сонымен қатароның алдындағы қатарды да тексеру қажет

          Егер компилятор көп қате тапса, онда барлық хабарды қарап шығып, қатені түзетіп, қайтадан компиляциялау керек.

          Егер бағдарламада синтаксистік қате болмаса, компилятор бағдарламаның орындалатын файлын құрады. Орындалатын файл аты жоба файлының атына ұқсас келеді, оның кеңейтілуі -.exe.

        Delphi орындалатын файлды жоба файлы орналасқан каталогқа қояды.

   

 

          1.6.2. Ескертпелер мен түсініктемелер

 

 

          Бағдарламада қате болып табылмайтын, бірақ күмән туғызатын жағдай байқалған кезде, компилятор түсініктеме (Hints) мен ескертпелер (Warning) береді. Мысалы, жиі кездесетінескертпе, ол – баяндалып кеткен айнымалылардың қолданылмай қалуы:

       Variable… is declared but never used in…

       Шын  мәнінде, егер ол айнымалыны  қолданбасақ, оны баяндаудың қажеті  не?

 

 

          1.7. Бағдарламаны жүктеу

 

 

          Бағдарлама мәтінін енгізгеннен кейін, оны Delphi ортасынан тікелей, яғни, әзірлеу ортасымен жұмыстыаяқтамастан орындауға жіберу керек. Ол үшін Run меню пунктінен Run командасын таңдау қажет немесе инструменттер панеліндегі сәйкес батырманы басса жеткілікті.

 

                

 

                    Орындау уақытындағы қате

 

         

          Қосымшаның орындалуы барысында түрлі қателердің туындауы мүмкін. Бұл қателер Орындау уақытындағы қателер (run-time errors немесе exception) деп аталады. Көп жағдайда мұндай қателердің туындауына бастапқы деректердің дұрыс енгізілмеуі себеп болады.

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

         Қатенің туындау себебі мынада. Бағдарлама мәтінінде санның бөлшек бөлігі бүтін бөлігінен нүкте арқылы бөлінеді. Қолданушы редакциялау өрісіне бастапқы деректерді енгізген кезде санның бүтін және бөлшек бөліктерінің арасын нүктемен немесе үтірмен айырып көрсете алады. Бұл екі символдан қайсысын қолдануға қолдануға болатындығы Windows ОЖ-ң жұмысқа бапталуына байланысты.

          Егер Windows-тың жұмысқа бапталуында санның бүтін бөлігі мен бөлшек бөлігі мен бөлшек бөлігінің үтірмен ажыратылатыны көрсетілсе (Ресейде бұл стандартты орнаттым), ал қолданушы бағдарламамен жұмыс кезінде редакциялау өрісіне, мысмалы 3.20 қатарын енгізсе, онда

 

      t=StrToFloat (Edit2.Text)

 

нұсқауы орындалған кезде, Ресейлік стандарт бойынша бұл мәннің енгізілуінде қате кеткенін білдіретін хабар шығады.

OK  батырмасын басқаннан кейін код редакторы терезесінде қате көрсетілген нгұсқауды қамтитын бағдарлама қатары белгіленіп көрсетіледі. Бағдарлама жасаушы бағдарламаның орындалуын одан әрі жалғастыра беруіне болады (Run менюінен Step Over командасын таңджау қажет) немесе бағдарламаның орындалуын үзіп тастай алады ( ол үшін Run менюінен Program Reset командасын таңдау қажет).

 

1.8. Өзгерістер енгізу  

 

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

Мысалы, арақашықтықты енгізіп, <Enter> пернесін басқаннан кейін меңзер Уақыт өрісіне ауысса дұрыс болар еді делік. Сонымен қатар Арақашықтық және Уақыт өрістерінде қолданушы тек қана цифрлар енгізетін мүмкіндік жасау керек болсын.

Бағдарламаға өзгерістер енгізу үшін  Delphi-ді жұмысқа жүктеп, сәйкес жобаны ашу қажет. Ол үшін  File менюінен Open Project командасын таңдаған жөн. Сонымен қатар File менюіндегі Reopen командасын қолданса да болады. Reopen командасын таңдаған кезде бағдарламашының соңғы уақыттарда жұмыс жасаған жобаларының тізімі ашылады.

Төменде Edit1 және Edit2 компоненттері үшін OnKeyPress  оқиғаны өңдеу процедурасы қосылған  Жүгіру жылдамдығы бағдарламасы берілген. Бағдарламаға оқиғаны өңдеу процедурасын қосу үшін  Object Inspector терезесінде процедураны құратын компонентті,ғ сонан соң Events  салымынан оқиғаны таңдап, процедура атына меңзерді қойғаннан кейін  тінтуір батырмасын екі рет басу қажет. Delphi  оқиға өңдеу процедурасының үлгісін (шаблоны) қалыптастырады. Осы әрекеттерден кейін өңдеу процедурасын жүзеге асыратын нұсқауларды енгізуге болады.

 

        Unit vrun1;

        interfase

 

       

        uses

        Windows, Messages, SysUtils, Variants, Classes, Graphics, Forms, Dialogs, StdCtrls;

       

         Type

         TForm1=class(TForm)

         Edit1: TEdit;

         Edit2: TEdit;

         Label1: TLabel;

         Label2: TLabel;

         Label3: TLabel;

         Label4: TLabel;

         Button1: TButton;     

         Button2: TButton;

 

         procedure Button1Click (Sender: TObject);

         procedure  Button2Click (Sender: TObject);

         procedure  Edit1KeyPress (Sender: TOject; var Key: Char);

 

         private

              {Private declarations}

         public

              {Public declarations}

         end;

         

        

            var

            Form1:TForm1;

            implementation

            {$R *.dfm}

           

            / / Есептеу батырмасын басу

            procedure TForm1.Button1Click (Sender: TObject);

            var

 

 

            dist: integer; / / арақашықтық, метр

            t: real; / / уақыт, бөлшек, сан түрінде

            min: integer; / / уақыт, минут

            sek: integer; / / уақыт, секунд

 

            v: real; / / жылдамдық

            begin

            / / енгізу өрісінен бастапқы деректерді алу

            dist:= StrToInt(Edit.Text);

            t:= StrToFloat(Edit2.Text);

 

            / / алдын ала түрлендіру

            min:=Trunc(t); / / минуттар саны - t санының бүтін бөлігі

            sek:=Trunc(t*100) mod 100; / / секундтар саны – t санының бөлшек бөлігі

           

           

            / / Есептеу

            v:=(dist/100) / ((min*60 + sek) / 3600);

 

            / / нәтиже шығару

            Label4.Caption:= ‘Арақашықтық ’ + Edit1.Text + ‘м’ + #13 +

            ‘Уақыт:’ + IntToStr(min) + ‘мин’ +

            IntTOStr(sek) + ‘сек’ + #13 +

            ‘Жылдамдық’ + FloatToStrF(v,ffFixed,4,2) +

            ‘км/сағ’;

            end;

 

           

           / / Аяқтау батырмасын басу

           procedure TForm1.Button2Click (Sender: TObject);

           begin

            Form1.Close;

           end;

           

             / / Арақашықтық өрісіндегі пернені пернені басу

             procedure TForm1. Edit1KeyPress (Sender: TObject; var Key: Char)

            

             begin

             / / Key – символ, басылған пернеге сәйкес.

            / / Егер символға қатынас құру мүмкіндігі болмаса,

            / / онда процедура оны 0 кодты символмен алмастырады,

           / / нәтижесіндесінде редакциялау өрісінде символ пайда болмайды

          / / және қолданушы кейбір пернелер жұмысын бағдарлама

         / / қабылдамайды деген ойда қалары сөзсіз.

 

         case Key of

         ‘0’ ..’9’ : ; / / цифр

         #8; : ;/ / <Back Space> пернесі

         #13; : Edit2. SetFocus ; / /<Enter>пернесі

       

        

         / / Басқа символдар – тыйым салыынған

         else Key:=Chr(0); / /Символдар көрсетпеу

         end;

 

         end;

 

         end.

 

        Өзгерістерді енгізіп болғаннан кейін жобаны сақтау керек. Ол үшін File менюінен Save All командасын таңдау қажет.

    

      

           1.9. Қосымшаны соңғы рет жұмысқа баптау

 

 

 Бағдарлама  түзетілгеннен кейін оның жұмысқа дайындығын соңғы рет тексеріп шығып, бағдарламаға ат беру қажет. Сонымен қатар осы бағдарлама файлына сәйкес қосымшаның орындамалық файлын белгілейтін белгішені таңдап алу керек. Бұл файлды арнайы папкада немесе жұмыс үстелінде сақтауға болады.

Информация о работе Delphi ортасының мүмкіндіктері