Курстық жұмыс н 2-1-34-2021


БАҒДАРЛАМАДА ҚОЛДАНЫЛАТЫН КОМПОНЕНТТЕР



бет4/7
Дата17.03.2023
өлшемі476,24 Kb.
#75055
1   2   3   4   5   6   7
1.3 БАҒДАРЛАМАДА ҚОЛДАНЫЛАТЫН КОМПОНЕНТТЕР

Әзірленген қосымшада келесі компоненттер қолданылады: Label , Image, Edit, StaticText, Button, Radio Button,Timer.


Пішіндегі әртүрлі жазуларды көрсету үшін негізінен Label компоненті қолданылады. Мәтіндер Caption сипатының мәнімен анықталады. Оны жобалау процесінде орнатуға немесе бағдарламаны орындау кезінде бағдарламалық түрде орнатуға және өзгертуге болады. Фонның түсі түс қасиетімен анықталады, ал жазудың түсі Font қасиетінің түс қосылуымен анықталады.[1]
Компонент Image білдіреді кейбір шектелген бетіі канвой, оған енгізу сурет. Image компоненті барлық көрсетілген түрлердің графикалық файлдарындағы ақпаратты көрсетуге мүмкіндік береді. Ол үшін оның picture қасиеті-TPicture типіндегі объект қызмет етеді. Сипат-Stretch сізге компонентті суреттің өлшеміне емес, компоненттіің өлшеміне сәйкес келтіруге мүмкіндік береді. Тағы бір қасиет — Transparent (мөлдірлік). Егер Transparent true болса, онда суреттегі кескін мөлдір болады. Мұны суреттерді бір-бірінің үстіне қою үшін қолдануға болады.[3]
Edit компоненті мәтінді енгізуге арналған. Ол стандартты компоненттер палитрасы қойындысында орналасқан: оның негізгі қасиеті - Мәтін. Бұл сізге мәтінді оқуға және жазуға мүмкіндік береді. Бұл қасиеттің жол түрі бар екенін ескеріңіз (дәлірек айтқанда, AnsiString түрі, бірақ қазір бұл нақтылау онша маңызды емес). Бұл дегеніміз, егер пайдаланушы белгілі бір санды edit-ке енгізсе, онда қосымша түрлендіру қажет. StrToInt функциясынан басқа, оған қарсы IntToStr бар. Олар жолды бүтіін санға және бүтін санды тиісінше жолға аударады. Осы жұп функциялардан басқа strtofloat және floattostr жұбы бар, олар нақты сандармен жұмыс істейді.Edit ' a үшін басты оқиға-Change. Мәтін қасиеті өзгерген кезде пайда болады.[3]
Мәтінді шығару үшін StaticText компоненті қолданылады. Бұл компонент Label компонентіне ұқсас, бірақ шекаара стилін орнатуға мүмкіндік береді. Additional қойындысында орналасқан. Негізгі қасиет – Caption.
Түйме (батырма) - ең көп таралған компонент. Қосымшада бір жолда мәтіндік жазуы бар әртүрлі тікбұрышты түймелерді жасау үшін қолданылады.
RadioButton (радио батырмасы) екі күйі бар дөңгелек өрісті (нүктемен және нүктесіз) және оның бағдарламадағы мақсатын түсіндіретін мәтін жолын жасайды. Әдетте пішінде орналасқан бірнеше осындай компоненттер топтан тек бір элементті ауыстыруға мүмкіндік береді. Жоғарыда айтылғандарды түсінікті ету және материалды іс жүзінде бекіту үшін жаңа қосымшаны жасаңыз және формада RadioButton бірнеше компоненттерін орналастырыңыз. Осыдан кейін қосымшаны іске қосыңыз және олардың әрқайсысына кезекпен тінтуірдің сол жақ батырмасымен басыңыз. Сіз осы компоненттердің біреуі үшін күйді өзгерте алатындығыңызды көресіз, өйткені қалған компоненттер күйін автомаатты түрде ауыстырады.[3]
Таймер C++ Builder-дің басқа компоненттерімен салыстырғанда өте аз қасиеттерге ие, бірақ бір миллисекундқа дейін уақыт кеңістігінде қосымшаның жұмысын ақылды түрде басқаруға шексіз қабілеттерге ие. Таймерді Form1 бастапқы пішініне қою үшін, System қойындысындағы негізгі терезеде timer (Таймер) батырмасында қолдармен сағат теру бейнесі бар, содан кейін оның кез-келген жұмыс бөлігінде пішіннің өзін басу керек. Бұл компонент жұмысы кезінде қосымшалар болып табылады көрінбейтін. Бірақ қосымшаның жобасын құру кезініде таймер формада көрінеді, сондықтан бағдарламашы кез-келген уақытта оның қасиеттеріне немесе OnTimer оқиғасының Timer1Timer өңдеу функциясына тез жүгінуге ыңғайлы (Таймер қосылған). Пішінде қажет болғанша көптеген таймерлерді орнатуға болады. Таймер компонентінің ең маңызды қасиеті-Interval (Интервал), оның әдепкі мәні 1000 миллисекунд (бір секунд). Қосылған сипат (жұмыс істеуге рұқсат) таймерді оның мәніне (шын немесе жалған) байланысты қосады немесе өшіреді. Бұл қасиеттердің мәнін жобаны іске қоспас бұрын да орнатуға болады және жоба жұмыс істеп тұрған кезде олларды бағдарламалық түрде өзгертуге болады. Timer1timer оқиғасы таймер үшін Interval сипатының мәніне балама нақты уақыт өткеннен кейін келеді. Таймер өшірілгенге дейін бұл оқиға қайта-қайта басталады.[3]
Компоненттер массивінің декларациясы компоненттерді жасамайды, тек олардың болу фактісін анықтайды. Radiobutton компоненттерін жасайды және теңшейді форма конструкторы (Tform1 функциясы: : TForm1). Компонентті (массив элементін) тікелей құруды RadioButton[i] = new TRadioButton(Forml) операторы орындайды.[3]
Осы оператордан кейінгі нұсқаулар компоненттің конфигурациясын қамтамасыз етеді. Соның ішінде, олар Onclick қасиетіне мән беру арқылы click оқиғасын өңдеу функциясын орнатады . Қаралып жатқан бағдарламада RadioButton-ның барлық компоненттеріндегі click оқиғасын өңдеу үшін бірдей функция қолданылады, ол checked сипатының мәнін сұрау арқылы таңдалған жауаптың нөмірін жазып, келесі батырманы қол жетімді етеді (Button1) .[3]
Бағдарламаны іске қосып, бастапқы пішінді экранға шығарғаннан кейін onActivate оқиғасы орын алады . Бұл оқиғаны өңңдеу функциясы пәрмен жолында тест файлының атауы көрсетілген — көрсетілмегенін тексереді. Бағдарламаны іске асыру егер тест файлының атауы оған кіру жолын көрсетпей берілсе, онда тест файлы мен суреттері бар файлдар тестілеу бағдарламасымен бірдей каталогта болады деп болжайды. Егер кіру жолы көрсетілген болса, онда суреттері бар файлдар тест файлымен бірдей каталогта болуы керек. Бұл тәсіл бір тесттің барлық файлдарын бір каталогқа топтастыруға мүмкіндік береді.
Егер тест файлы орнатылса, функция оны ашады, тесттің атауын және кіріспе ақпаратты оқиды, содан кейін оларды диалогтық терезеге шығарады, тақырып тақырыпқа, ал кіріспе ақпарат Label1 өрісіне шығады .
Файлдан жолдарды тікелей оқу Getstring функциясын орындайды . Функцияның мәні-жолдың ұзындығы. Айта кету керек, GetString функциясы Ans iString жолын қайтарады.

Тест туралы жалпы ақпаратты оқығаннан кейін бағдарлама тест файлынан бағалау деңгейлері туралы ақпаратты оқиды және оны level және mes массивтеріне тіркейді . Деңгейге жету критерийі (дұрыс жауаптар саны) getint функциясын оқиды .


Ақпараттық хабарлама шыққаннан кейін бағдарлама пайдаланушы OK (Button№) түймесін басқанша күтеді.
Button № пәрмен түймесі қолданылады:
-егер пәрмен жолында тест файлы көөрсетілмесе, бағдарламаны аяқтау үшін;
-тестілеу процесін жандандыру үшін (Ақпараттық хабарлама шығарылғаннан кейін);
-келесі сұраққа көшу үшін (Жауап нұсқасын таңдағаннан кейін);
-бағдарламаның жұмысын аяқтау үшін (тестілеу нәтижесін шығарғаннан кейін).
Осылайша, бағдарламаның Buttonl түймесін басуға реакциясы бағдарламаның күйіне байланысты болады. Бағдарлама 0үйі Button 1 батырмасының Tag сипатын бекітеді .[3]
Тест туралы ақпаратты көрсеткеннен кейін Button1 батырмасының Tag сипатының мәні нөлге тең болады. Сондықтан, Button 1 батырмасын басу нәтижесінде бағдарламаның бірінші сұрақтың шығуын және батырмадағы ОК мәтінін келесі мәтінге ауыстыруды қамтамасыз ететін және TAG сипатының мәнін бірлікке алмастыратын бөлігі орындалады.
Тестілеу барысында Button 1 батырмасының Tag сипатының мәні бірлікке тең. Сондықтан, click оқиғасын өңдеу функциясы таңдалған жауап нөмірін (RadioButton компонентінің үлкейтілген нөмірін ) дұрыс жауап нөмірімен салыстырады, дұрыс жауап есептегішін (егер дұрыс жауап таңдалса) бірлікке көбейтеді және келесі сұрақты оқу процесін белсендіреді. Егер келесі сұрақты оқу әрекеті сәтсііз аяқталса (бұл сұрақтар таусылғанын білдіреді), функция тестілеу нәтижелерін шығарады, командалық батырмадағы мәтінді ОК-мен алмастырады және бағдарламаны ая0тау операциясын дайындайды (Tag қасиеті 2 мәнін береді).
Тест файлынан сұрақты оқу (Сұрақ, балама жауаптардың саны туралы ақпарат, дұрыс жауаптың нөмірі және иллюстрацияның болу белгісі, сондай-ақ иллюстрация файлының атауы және балама жауаптар) getvopros функциясын орындайды .
Сұрақ0тың, иллюстрацияның және балама жаъуаптардың тұжырымын showVopros функциясы орындайды . Алдымен функция сұрақ қояды-Labe L1 компонентінің caption қасиетіне мән береді . Содан кейін, егер сұраққа иллюстрация болса, функция суретті көрсету үшін бөлектеуге болатын аймақтың көлемін есептеп, суретті жүктейді. Егер иллюстрацияның өлшемі аймақтың өлшемінен үлкен болса , функция imagei компонентінің мүмкін болатын ең үлкен мөлшерін белгілейді және AutoSize мен true — Proportional қасиеттеріне жалған мән береді, осылайша иллюстрацияның масштаьталуын қамтамасыз етеді. Осыдан кейін функция балама жауаптарды көрсетеді. Балама жауаптардың шығуын қамтамасыз ететін компоненттердің позициясы , егер сұраққа иллюстрация ьолса, image 1,2 компонентінің төменгі шекарасынан немесе егер иллюстрация болмаса , Label1 компонентінен есептеледі.[4]
Сұрақ шыққаннан кейін бірден келесі түйме (Button1) қол жетімді емес. Бұл ағымдағы сұраққа жауап берілмесе, келесі сұраққа өту мүмкіндігін бұғаттау үшін жасалады. Келесі батырманы RadioButton компоненттерінің бірінде нұқу оқиғасын өңдеу функциясы жасайды .[4]
Сонымен қатар, сканерлеу арқылы функция (radiobutton массив компоненттерінің тексеру сипатының мәнін тексеру ( массивтің қай компонентіне нұқу жасалғанын, сондықтан жауап нұсқаларының қайсысын таңдағанын анықтайды. Таңдалған жауап нөмірін түпкілікті бекіту және оны дұрыс жауап нөмірімен салыстыру келесі батырманы басу нәтижесінде паайда болады.[4]




Достарыңызбен бөлісу:
1   2   3   4   5   6   7




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет