№3 – ші зертханалық жұмыста №1 – ші зертханалық жұмыста ұсынылған көлемдегі «Tест» қосымшасын құруды аяқтаймыз; «Тестирование» және «Результат» пішіндерін құру үрдістерін қарастырамыз; негізгі модульдің бағдарламалық кодында бағдарлама құрудың қарапайым әдістерін көрсетеміз.
Тапсырма 1. Жобаны іске қосу. «Тестирование» пішінін құру.
-
Алдыңғы зертханалық жұмыста құрылған (TEST.DPR) бағдарламасын іске қосыңыздар және оның жұмыс істеу қабілетін тексеріңіздер. Жұмыс бағдарламасынан Выход командасын таңдап, жобалау режіміне қайтып оралыңыздар.
Енді «Тестирование» пішінін құруға кірісеміз.
Біздің тест 3 – 4 варианттан тұратын жауабы бар 5 сұрақтан тұрсын. Бізге осы 5 сұрақ жауабымен сиятындай пішін керек. Бұл мақсатта бізге парақтар тобынан тұратын жазба кітапша түріндегі пішін қажет, әрбір парақ парақтың нөмірі бар бетбелгіден тұрады. Delphi ортасындағы мұндай пішін шаблон түрінде болады. Бұл пішінді біздің жобамызға қосамыз.
-
Құрал – саймандар панельінің New командасын орындаңыздар, New Items терезесінен Forms қалташасын таңдаңыз, одан кейін Tabbed pages пішінін таңдап (Tabbed Notebook Dialog – бетбелгісі бар диалогтық жазба кітапша), ОК батырмасына басыңыздар.
-
Пішінді оқып – үйреніңіздер. Ол бетбелгісі бар үш парақтан және үш басқару батырмаларынан тұрады. Пішіннің әрбір парағы жұмыс істеп тұрған бағдарламада сәйкес бетбелгіге тышқанмен шерткенде шақырылады. Қайта таңдалған пішіннен Cancel және Неlр батырмаларын жойыңыздар. Объект Инспектірінен құрауыштар тізімін ашыңыздар. Бұл құрауыштар тізімінде әрбір құрауыш объект ретінде көрсетілген. Тізім келесі объектілерден тұрады: PagesDlg пішіні, PageControl1 жазба кітапшасы, үш парақ TabSheet1, TabSheet2, TabSheet3, Panel1, Panel2 екі панельдері және ОКBtn батырмасы.
-
Пішінге тақырып және объектілерге қысқартылған ат тағайындаңыздар: PagesDlg – ды таңдаңыздар, Caption қасиетіне Тестирование деп жазыңыздар, Name қасиетіне — TestDlg және Enter – ді басыңыздар. Енді қарым – қатынас терезесі «Тестирование» деген тақырыптан және TestDlg аты бар объектіден тұрады, ол Инспектір Объектісінің тізімдерінен шақырылады. Color қасиетіне пішіннің түсін орнатыңыздар, мысалы сары.
-
Жазба кітапшасының парақтар санын беске дейін өзгертіңіздер (сәйкес тестің сұрақтар санына байланысты) және олардың бетбелгілеріне Вопрос1, Вопрос 2 және т. б. деп жазыңыздар. Ол үшін Инспектір объектісінен TabSheet1 таңдаңыздар және Caption қасиетіне Вопрос 1 және т.б. деп жазыңыздар.
-
Парақ қосу үшін парақтың өрісіне тышқанның оң жақ батырмасымен шертіңіз, сонда контекстік меню пайда болады, одан New Page – ді таңдаңыздар.
-
«Тестирование» пішініндегі барлық 5 бетбелгі бір жолға сиюы үшін, жазба кітапшасының TabWidth (бетбелгінің кеңдігі) қасиетінің мәнін орнатыңыздар. Width қасиетінің мәні болып жазба кітапшасының кеңдігі алынады.
Тапсырма 2. Графикалық элементі бар тестің бірінші сұрағын көркемдеу.
Біздің жазба кітапшамыздың әрбір парағына сұрақ пен оның жауаптарын орналастырайық. Бірінші парақтан бастайық. Сұрақтың мәтінін жақтаудың түрлі – түсті панельіне жазамыз. Ол үшін Panel және Label құрауыштарын қолданамыз.
-
Объект Инспектірінен PageControl1 – ді таңдаңыздар және ActivePage (актив парақ) қасиетінен TabSheet1 – ді таңдаңыздар.
-
Активті парақ жазықтығынан жақтаудағы панель түрінде мәтінді енгізетін орын дайындаңыздар. Ол үшін бірінші параққа құрауыштар палитрасынан Panel құрауышын қосыңыздар және оны тышқанның көмегімен парақтың жоғарғы бөлігіне дейін созыңыздар (сурет 1.11). Align қасиетіне - alClient мәнін беріңіздер.
-
Объект Инспектірінің Color қасиетіне тышқанды екі рет шерту арқылы түстер палитрасын шақырыңыздар және панельдің мысалы, жасыл түсін орнатыңыздар.
-
Caption қасиетінен Panel3 деген жазуды жойыңыздар.
-
Панельге картинадағы сияқты жақтау жасаңыздар. Ол үшін Bevelinner (ішкі фаска) қасиетіне Lowered (төмендетілген) мәнін Bevelouter (сыртқы фаска) қасиетіне —Raised (көтеріңкі) мәнін тағайындаңыздар.
-
Дайын панельге Label құрауышын қосыңыздар, оны панельдің кеңдігіне дейін созыңыздар және мәтіннің центр бойынша жазылуы үшін Label құрауышының Autosize қасиетіне False мәнін орнатыңыздар. Alignment қасиетіне — taCenter (көлденеңінен алғанда центрлеу), Layout қасиетіне – tlCenter мәнін (көлднеңінен – центрі бойынша туралау),
-
Word Wrap қасиетіне (сөзді бөлуге рұқсат етіледі) – True мәнін тағайындаңыздар.
-
Label1 құрауышының Caption қасиетіне “ Заставкой какого программного продукта является эта картинка?” деп жазыңыздар, Font қасиетіне тышқанмен екі рет шерту арқылы Шрифт терезесін шақырып, қаріптің түсін, түрін және өлшемін орнатыңыздар.
-
Сурет қою үшін панель аймағына Additional қасиетінен Image құрауышын қосыңыздар және қара жақтауға тышқанмен екі рет шерту арқылы суретті редакциялау үшін Picture Editor терезесін шақырыңыздар. Load батырмасының көмегімен осы терезеден файлды жүктеу терезесін шақырып, C:\Program Files\Common Files\Borland Shared\Images\Splash\16color каталогынан Athena.bmp файлын жүктеңіздер.
-
Суреттің Stretch қасиетіне true мәнін тағайындаңыздар.
-
Қозғалысты бағыттау пернелері мен Shift батырмасының комбинациясын қолдана отырып, құрауыштың өлшемін өзгертуге болады, ал Ctrl батырмасымен комбинациясы арқылы құрауышты пішіннің бойымен жылжытуға болады.
Сурет 1.11 «Тестирование» пішінінің терезесі
Қарым – қатынас парағына біз жауаптың бірнеше варианттарын орналастыруымыз керек, оның ішінен тестен өтуші дұрыс деген бір жауапты таңдауы қажет. Қатардан балама таңдау жасау үшін Standard палитрасының RadioGroup деген құрауышын қолданамыз, ол бірнеше радиобатырмаларды бір топқа біріктіреді. (Мұндай атау аналогия бойынша көптеген радиобағдарламалардың ішінен біреуін таңдағанда бір ғана батырма іске қосылатын радиоқабылдағыштың батырмаларына қолданылады.)
-
«Тестирование» пішінінің бірінші сұрағының парағына RadioGroup құрауышын қосыңыздар және оның Caption қасиетіне топтың тақырыбын Варианты ответов беріңіздер.
-
Items (элементтер) қасиетіне тышқанның екі шертуімен String List Editor (Жол тізімінің редакторы) терезесін шақырыңыздар.
-
Бұл редактордың бірінші жолына Delphi, екінші жолына — Windows 95, үшіншісіне — Microsoft Office 95 деп жазып, ОК батырмасына басыңыздар.(бірінші жауап дұрыс болады). Жауаптың әрбір варианты RadioGroup құрауыш панельінің радиобатырмаларының қарама – қарсы жағында орналасады.
-
Қарым – қатынас терезесінің екінші парағына бірінші парақтың дайын панельін көшіріңіздер. Ол үшін бірінші парақтың панельін тышқанмен шерту арқылы ерекшелеңіз және Edit (редакциялау) менюінің Сору (көшіру) командасын орындаңыздар. Екінші парақты активтеңіз және Edit менюінің Paste (қою) командасын орындаңыздар.
-
Өздіктеріңнен №2, №3, №4, №5 сұрақтардан тұратын жауабы бар тағы 4 парақ құрыңыздар.
-
Пішіннің құрылған «Тестирование» модульін Test_x.pas деген атпен сақтаңыздар.
-
Негізгі пішіннің бағдарламалық кодына жобаның негізгі менюінен «Тестирование» пішінін іске қосатын команданы енгізіңіздер. Ол үшін «Программа «Тест»» пішінінің Тест\Тестирование меню командасына тышқанмен шертіңіздер – сонда осы оқиғаны өңдейтін дайындалған бағдарламалық коды бар терезе пайда болады. Тышқанның көрсеткіші жанып - өшіп тұрған жерге мыныны жазыңыздар
TestDlg.Showmodal;
-
Uses бөліміне қосылған модульдің атын test_x енгізіңіздер;
Тапсырма 4. “Результат” пішінін құру және жобаны аяқтау.
Сурет 1.12 «Результат» пішінінің терезесі
-
New Items қарым – қатынас панельінен Dialogs қалташасын таңдаңыздар және онда Standard Dialog (стандарттық қарым – қатынас терезесі) пішінінің шаблонын таңдаңыздар. Пішінге «Результат» тақырыбын беріп, Name қасиетіне объектінің атын Resultdlg жазыңыздар (сурет 1.12).
-
Пішіндегі батырмалардың ішінен ОК батырмасын ғана қалтырыңыздар. Оны пішіннің төменгі жағының центріне орналастырыңыздар. Ол үшін пішіннің аймағында тышқанның оң жақ батырмасымен батырмаға шертіңіздер. Пайда болған контекстік менюден Align командасын таңдап, пайда болған қарым – қатынас терезесінен Center in window параметрін таңдаңыздар.
-
Пішіннің панельінің жоғарғы жағына Label құрауышын қосыңыздар, оның Autosize қасиетіне false мәнін, ал Alignment қасиетіне— taCenter мәнін орнатыңыздар. Қаріптің атрибуттарын орнатыңыздар. Label құрауышының хабарламасы жобаның негізгі модульінің бағдарламалық кодына енгізіледі және хабарламаның мәтіні тестің нәтижесіне байланысты болады.
-
Пішінге сурет қойыңыздар.
-
Пішіннің файлын Result_x атымен сақтаңыздар және оны MainForm.pas модуліне қосыңыздар.
-
Тестен өткенде жауаптарды өңдейтін бағдарламалық кодты құрыңыздар. Негізгі пішіннің Тест\Результат меню командасына шерту арқылы Mainform модульінің кодын шақырыңыздар және тышқанның көрсеткіші жанып - өшіп тұрған жерге пернетақтаның көмегімен бағдарламаның мәтінін енгізіңіздер (көп нүктенің орнына дұрыс жауаптарының нөмірін ескере отырып, қалған 4 сұрақтың бағдарламасының жолын жазу керек.).
Mainform модулінің соңғы бағдарламалық коды
var ball:byte;
begin
ball:=0;
if TestDlg.RadioGroup1.ItemIndex=0 then ball:=ball+1;
if TestDlg.RadioGroup2.ItemIndex=
...
...
ResultDlg.Label1.Caption:=’Ваш результат:’+IntToStr(Ball);
ResultDlg.ShowModal;
end;
Тестілеу нәтижесінде әрбір дұрыс жауап 1 балл деп есептелінеді және балдардың жалпы қосындысы, максимум 5 жағдайында, Результат пішініне шығуы керек. Көрнекілік бағдарламалау құралдарының көмегімен бұл есепті шешу мүмкін емес, сондықтан қарапайым бағдарламалауға көшейік.
procedure TForm1.N6Click(Sender: TObject);
процедурасы тестілеу нәтижесінің балдарын қосады және нәтижені ball айнымалысына орналастырады. Тестен өтуші дұрыс жауабы бар радиобатырмаға басқан кезде ғана бал есептелінеді. Әрбір радиотопта бір ғана батырма дұрыс және ол бағдарламада өзінің топтық нөмірінің индексі бойынша белгіленеді, 0 – ден басталады. Бұл сұрақта дұрыс жауап бірінші жауап, радиобатырманың индексі 0 – ге тең және т.б. Бағдарламалық жолда
if TestDlg.RadioGroup1.ItemIndex=0 then ball:=ball+1;
шартты көшу командасы орындалады. Мұнда былай деп айтылады, егер тышқанмен бірінші топтың бірінші батырмасына шертсек (элемент индексі ItemIndex=0), онда ball айнымалысына 1 балл (ball:=ball+1) қосылады. Басқа жағдайда бұл команда орындалмайды. Осылайша TestDlg пішінінің барлық радиотобына жазып шығамыз. Тәжірибелік тұрғыдан алғанда бірдей жолдарды енгізуді жеңілдету үшін бірінші жолды жазғаннан кейін оны ерекшелеп, Edit менюінің Сору және Paste командаларын қолдана отырып, тағы да төрт көшірме жасап, оған сәйкесінше өзгертулер енгізіңіздер.
Бағдарламалық жолда
ResultDlg.Label1.Caption:=’Ваш результат:’+IntToStr(Ball);
ResultDlg пішінінде орналасқан Label1 құрауышының Caption қасиетіне 'Ваш результат:' деген мәтін және алынған балдар саны меншіктелінеді, IntToStr(Ball) (Integer to string сөздерінің басқы әріптері— бүтінді жолға айналдыру) функциясы ball айнымалысындағы бүтін санды жолдық форматқа айналдырады.
ResultDlg.ShowModal;
командасы Результат пішінін демонстрация жасайды.
-
Бағдарламаны орындап, онда өз жолдастарыңызды тестен өткізіңіздер және оларға Паскаль тілінде мұндай бағдарламаны құру үшін 1500 – ге жуық жол жазу керек, ал ол бір жұмалық немесе айлық уақытты алатынын айтыңыздар. Delphi тілін меңгеру арқылы мұндай бағдарламаны 30 минут уақыт ішінде жасауға болады. Delphi сияқты күшті, әрі әдемі бағдарламалық тілді үйреніп, біліп жатқандарыңызға мақтаныңыздар.
Достарыңызбен бөлісу: |