Autors: Oksana
Kaminska
2.
Lietojumprogrammas izveidošana zināšanu kontrolei
2.2. Delphi komponentes, kas
izmantotas,
2. 3. Lietojumprogrammas
“Ekonomika” zināšanu kontrolei
3. Lietojumprogrammas “Ekonomika”
3. 3. Datorprogramma “Ekonomika” zināšanu kontrolei kursā
Deviņdesmito
gadu sākumā, saņemot atbalstu no starptautiskajiem fondiem un programmām,
Latvijā tika uzsākta profesionālās izglītības reforma, lai palielinātu
izglītības atbilstību mainīgā darba tirgus prasībām, jo darba tirgū arvien
jūtamāks ir pieprasījums pēc cilvēkiem, kas spēj risināt problēmas, praktiski
pielietojot iegūtās zināšanas nestandarta situācijās.
Audzināšanas
un mācīšanas darba būtisks uzdevums, lai sasniegtu labus rezultātus, ir
kontrolēt šo procesu efektivitāti. Viena no kontroles sastāvdaļām ir audzēkņu
zināšanu pārbaude, kas nodrošina atgriezenisko saiti starp skolotāju un
audzēkni un ļauj iegūt objektīvu informāciju par audzēkņa zināšanu pakāpi un
savlaicīgi diagnosticēt vājās vietas audzēkņu zināšanas. Zināšanu pārbaudes
mērķis ir ne tikai konstatēt audzēkņu zināšanu līmeni un kvalitāti, bet arī
darba apjomu.
Vairāk kā 10
gadus strādājot arodvidusskolā, visu laiku esmu saskārusies ar problēmām, kas
ir saistītas ar audzēkņu zināšanu novērtēšanu. Pēdējos gadus, mācot mazā
biznesa kursu un informātiku, meklēju variantus, kā labāk un ātrāk pārbaudīt
audzēkņu zināšanas, pa šo laiku ir uzkrāta zināma pieredze un dažādi metodiskie
materiāli.
Arodskolu
audzēkņiem pēc pamatskolas beigšanas raksturīgs diezgan zems sagatavotības
līmenis vispārizglītojošajos priekšmetos. Viņiem ir zināmas grūtības precīzi
formulēt savu domu, atbildot izņemto vielu. Ekonomiskā terminoloģija lielākajai
daļai no viņiem ir kaut kas jauns un tās analīze rada audzēkņiem grūtības.
Skolotājam vienmēr ir jāpatērē daudz laika, lai pārbaudītu audzēkņu zināšanas,
jo tas ir darbietilpīgs process. Sevišķi labi tas redzams arodskolās, jo
lielākajai daļai audzēkņu nepieciešams vairāk laika, lai noformulētu savas
atbildes.
Šādos
apstākļos aktuāla kļūst problēma kā samazināt laiku zināšanu kontrolei, lai
vairāk uzmanības varētu veltīt jaunās vielas izskaidrošanai un apgūtā materiāla
nostiprināšanai, lai atliktu arī laiks individuālajām darbam ar audzēkņiem.
Lai
paātrinātu audzēkņu zināšanu novērtēšanu, es izstrādāju daudz ieskaišu, kurās
lielākā daļa jautājumu ir testa veidā. Bet pārbaudes formai rakstiskā testa
veidā ir vairāki būtiski trūkumi:
1. Audzēkņi
cenšas padalīties zināšanās par pareizo atbildi ar kaimiņu.
2. Ieskaiti
nokārtojušie grupu audzēkņi dalās pieredzē par saviem panākumiem ar citu grupu
audzēkņiem, kuri vēl ieskaiti nav kārtojoši un daži no viņiem pēc tam mehāniski
atzīmē pareizo atbildes burtu vai ciparu, nedomājot par jautājuma būtību.
3. Pirms
ieskaites ir jāsagatavo testu lapas un jātērē laiks, lai pārbaudītu darbus un
izliktu atzīmes.
Šos trūkumus
lielā mērā varētu novērst, izmantojot datorus, kas autamātiski var apstrādāt
testa rezultātus ar atbilstošu lietojumprogrammu.
Jaunajām
programmēšanas sistēmām ir raksturīga ātra lietojumprogrammu izstrādāšanas
iespējas – Rapid Application Development
(RAD). Šajā jaunajā RAD pasaulē programmētāji izmanto
instrumentus, kuri ir uzskatāmi un intuitīvi saprotami.
Labs
līdzeklis, lai radītu šādu programmproduktu ir programmēšanas vide Delphi.
Delphi pilnībā kompilē programmu
uz mašīnas kodu. Šī priekšrocība ietekmē programmas izpildes ātrumu. Delphi bāzējas uz Object Pascal valodu. Object
Pascal – tā ir objektu-orientēta valoda ar labu kompilatoru.
No programmētāja viedokļa, programma, kas strādā Delphi vidē, sastāv no klašu apraksta,
kas atbilst lietojumprogrammas galvenajai formai un visām pārējām viņā
lietojamajām formām. Pie kam klašu apraksts, kas atbilst formai, tiek veidots
automātiski, un papildinājumi tajā nepieciešmai tikai tādā gadījumā, ja jūs tur
ienesiet kādas papildmetodes.
Programmētājs
raksta tikai to kodu, kas viņa lietojumprogrammā nosaka tiešu funkcionalitāti.
Visu palīgkodu rada automātiski pati vide. Pat vairāk –palīgkods vispār ir
noslēpts no programmētāja. Tas atvieglo programmprodukta radīšanu.
Darba mērķis: Izstrādāt lietojumprogrammu zināšanu kontrolei
arodskolas audzēkņiem kursā “Ievads ekonomiskajā teorijā” Delphi 3.0 vidē.
Darba uzdevumi:
1. Iepazīties
ar objektu-orientētās programmēšanas principiem.
·
Iepazīties ar programmatūras izstrādāšanas
principiem.
·
Iepazīties ar integrēto Delphi vidi.
·
Noskaidrot, kas ir programma no Delphi viedokļa.
·
Iepazīties ar Delphi 3.0 komponenšu īpašībām, kuras ir nepieciešamas
lietojumprogrammas zināšanu kontrolei izveidošanā.
2. Izsrādāt
lietojumprogrammu “Ekonomika”:
·
Noteikt funkcijas, kuras ir jāveic programmai.
·
Sastādīt testu jautājumus.
·
Izveidot
HTML failus par mācību tēmām.
·
Izprojektēt lietotāja grafisko interfeisu.
·
Uzrakstīt kodu notikumu apstrādātājiem.
·
Izveidot datu bāzi, lai glabātu testu jautājumus
un atbilžu variantus.
·
uzrakstīt to kodu, kas lietojumprogrammā nosaka
tiešu funkcionalitāti.
Maģistra darba
aktualitāte ir tajā apstākļi, ka šī lietojumprogramma paātrinās zināšanu
pārbaudes procesu, skolotājam nevajadzēs tērēt tik daudz laika atzīmju
izlikšanai un audzēkņi uzreiz uzzinās rezultātus. Bez tam, kā ekonomisko
zināšanu kontroles sistēmas sastāvdaļa, lietojumprogramma “Ekonomika” atbilst
visiem sekmības diagnosticēšanas un kontroles principiem:
1. Objektivitāte. Tā izpaužas:
·
testa jautājumu saturā, kuri atbilst
apgūstamajam materiālam;
·
vienādos kritērijos visiem audzēkņiem;
·
apstāklī, ka audzēknis pats uzreiz redz savu
atzīmi, jo atzīme ir viens no galvenajiem pedagogu līdzekļiem, lai stimulētu
mācīšanos, veidotu pozitīvu motivāciju. Tieši objektīvas novērtēšanas ietekmē
audzēkņiem veidojas adekvāts pašnovērtējums un kritiska attieksme pret saviem
panākumiem.
2. Sistemātiskums. Kontrole tiek veikta visos didaktiskā procesa
etapos. Testa jautājumi balstās ne tikai uz konkrētas tēmas materiāla, bet arī
uz iepriekš apgūto.
3. Uzskatāmība. Testēšana visiem audzēkņiem notiek pēc vienādiem
noteikumiem un par vienām un tām pašām tēmām. Datora izmantošana dod papildu
stimulu, lai mācītos.
1.1. Objekt- orientētās programmēšanas principi
Objekt-orientētās
programmēšanas pirmais princips uzdevumu risināšanas pieejā ir darbību
uzdošanas veids. Darbības objektu orientētajā programmēšanā inicializējas
paziņojumu veidā, ko nodod aģentam (objektam), kas atbild par darbību.
Paziņojums satur pieprasījumu darbības veikšanai un ir papildināts ar papildus
informāciju (argumentiem), kas nepieciešami tās izpildei. Saņēmējs (receiver) –
tas ir aģents, kuram sūta paziņojumus. Ja tas pieņem paziņojumu, tad
automātiski uz viņš ir atbildīgs par norādītās darbības izpildi. Kā atbildi uz
paziņojumu saņēmējs izpildīs kādu metodi, lai apmierinātu pieprasījumu.
Objektu
–orientētās programmēšanas fundamentāls jēdziens ir atbildība vai saistības par
darbības izpildi. Visi objekti ir klašu pārstāvji vai eksemplāri. Metodi, kuru
aktivizē objekts kā atbildi uz paziņojumu, nosaka klase, pie kuras pieder
paziņojuma saņēmējs. Vienas klases visi objekti izmanto vienu un to pašu metodi
kā atbildi uz vienādiem paziņojumiem.
Valodā Object Pascal rezerves vārds class ļauj aprakstīt objektu. Kad jūs
izveidosiet jaunu Delphi projektu un
paskatīsieties Unit1 deklarācijas, tad ieraudzīsiet jaunās formas deklarāciju:
type
TPamatIzvele = class(TForm)
Moduļa sadaļā Interface jūs uzdosiet tipa vārdu (TPamatIzvele) un tad bāzes klasi, no
kuras tas ir veidots. Visiem objektiem ir jābūt pakārtotiem no TObject, vai no viena no tā pēcnācējiem.
Principu, attiecībā pret
kuru zināšanas par vispārīgāku kategoriju atļauj izmantot priekš šaurākām
kategorijām, sauc par pārmantojamību. Klases tiek piedāvātas hierarhiskā
kokveida struktūras veidā, kurā abstraktākas klases atrodas koka beigās, bet
specializētākas klases, galu galā individumi, atrodas koka sākumā uz zariem.
Metodes meklēšana,
kura izsaucas kā atbilde uz noteiktu paziņojumu, sākas no metodēm, kas pieder
saņēmēja klasei. Ja atbilstoša metode nav atrasta, tad meklēšana turpinās līdz
senča klasei. Meklēšana iet uz augšu pa radniecīgo klašu ķēdi līdz tam, kamēr
būs atrasta vajadzīgā metode vai arī būs pārmeklētas visas radnieciskās klases.
Pirmajā gadījumā izpildās atrastā metode, otrajā – tiek izdotas paziņojums par
kļūdu. Ja klases hierarhijā augstāk eksistē metodes ar tādu pašu nosaukumu,
kāds ir tekošajai, tad saka, ka dotā metode pārdefinē mantojamo darbību. Tas,
ka objekti reaģēs uz paziņojumiem ar dažādu metožu pielietošanu, ir viens no
polimorfisma piemēriem.
Objektu-orientētās programmēšanas (OOP)
raksturlielumi:
1.
Viss ir objekts.
2.
Aprēķini tiek veikti sadarbības ceļā (datu apmaiņa) ar
objektiem, kurā viens objekts pieprasa, lai cits objekts izpildītu noteiktu
darbību. Objekti sadarbojas nosūtot un saņemot paziņojumus. Paziņojums – tas ir
pieprasījums izpildīt darbību, kas papildināts ar argumentiem, kas var būt
nepieciešami darbības izpildei.
3.
Katram objektam ir neatkarīga atmiņa, kas sastāv no
citiem objektiem.
4.
Katrs objekts ir klases pārstāvis, kas apraksta objektu
kopējās īpašības (tādas, kā veselie skaitļi vai saraksti).
5.
Klasē tiek uzdota objekta funkcionalitāte. Tai pat
laikā visi objekti, kas ir vienas klases eksemplāri, var izpildīt vienas un tās
pašas darbības. Klases ir organizētas vienotā kokveida struktūrā ar kopēju
sakni, tā saucamajā pārmantojamības hierarhijā. Atmiņa un darbība, kas saistīta
ar noteiktas klases eksemplāriem, ir automātiski pieejama jebkurai klasei, kas
novietota zemāk kokveida hierarhijā.
Galvenā objektu- orientētā
pieeja priekš programmas sarežģītības kontroles- tā ir abstrahēšana, proti
spēja atdalīt programmas loģisko jēgu no tās realizācijas problēmas. Vienā ziņā
objektu- orientētā pieeja vispār nav revolucionāra un būtu jāizskata kā
vēsturiskās attīstības dabisks rezultāts: no procedūrām uz moduļiem, tālāk uz
abstraktiem datu tipiem un visbeidzot uz objektiem.
Procedūras un funkcijas bija
divi pirmie abstrahēšanas mehānismi, kuri tika pielietoti programmēšanas
valodā. Procedūras atļauj koncentrēt vienā vietā darbu, kurš daudzkārt
izpildās(var būt ar nelielām variācijām), un pēc tam daudzkārtēji izmantot šo
kodu tā vietā, lai rakstītu to no jauna. Bez citām iespējām, procedūras pirmo
reizi nodrošināja informācijas maskēšanu. Programmētājs varēja uzrakstīt
procedūru vai procedūru kopumu, kuras pēc tam izmantotu citi cilvēki.
Procedūras neatrisināja visas problēmas. Tas ir viņām nepiemita efektīgs datu
organizēšanas detaļu maskēšanas mehānisms un tikai daļēji noņēma problēmu
dažādiem programmētājiem izmantot vienādus nosaukumus.
Vienā ziņā moduļus var
izskatīt kā uzlabotu nosaukumu, un ar tiem saistīto nozīmi, izveidošanas un
vadības metodi. Ja izskata moduli kā abstraktu koncepciju, novest līdz savai
vienkāršākajai formai, tad tās jēga ir nosaukumu telpas sadalīšana divās daļās.
Atvērtā (public) daļa ir moduļa
ārienē, aizvērtā (private) daļa ir
pieejama moduļa iekšpusē. Tipi, dati (mainīgie)
un procedūras var būt attiecinātas uz jebkuru no šīm daļām.
Pareizi moduļu izmantošanas principi:
1.
Lietotāju, kurš vēlas izmantot moduli, nāktos nodrošināt ar visu nepieciešamo
informāciju, lai to izdarītu korekti un ne vairāk.
2.
Izstrādātāju nāktos nodrošināt ar visu nepieciešamo informāciju priekš moduļa
izveidošanas un ne vairāk.(Deivids
Parnass, 1972 ).
Šī filozofija lielā mērā
izprot kara doktrīnu ‘nepieciešamo zināšanu’: ja jums nav vajadzīgs zināt
noteiktu informāciju, jums arī nav nepieciešama pieeja šai informācijai. Tā ir
acīmredzama, noteikta un mērķtiecīga
informācijas
slēpšana tiek saukta par informācijas maskēšanu. Vienkāršie moduļi, kuri ņemti
paši par sevi, nodrošina efektīvu informācijas maskēšanas paņēmienu, bet tie
neļauj veikt eksemplāru pavairošanu, ar ko sprot iespēju izveidot daudzas datu
apgabalu kopijas. Lai novērstu pavairošanas problēmu, informātikas
speciālistiem nācās izstrādāt jaunu koncepciju.
Programmētājs definē
abstraktu datu tipu. Abstraktajam datu tipam atbilst viss (iespējams bezgalīgs)
pieļaujamo vērtību kopums un elementāro operāciju rinda, kura var būt izpildīta
pamatojoties uz datiem. Lietotājam ir atļauts izveidot mainīgos, kuri pieņem
vērtības no pieļaujamā intervāla, un manipulē ar tām, izmantojot esošās
operācijas.
Moduļus bieži izmanto
abstrakto datu tipu realizācijā. Lai uzbūvētu datu tipu ir jābūt:
1. Eksportēt noteiktus datu
tipus.
2. Padarīt pieejamu operāciju
kopumu, kurš tiek izmantots, lai manipulētu ar dotā tipa eksemplāriem.
3. Aizsargāt datus, kas
saistīti ar datu tipu, lai ar viņiem varētu strādāt tikai ar programmas
norādījumu palīdzību.
4. Izveidot dažus abstraktā
datu tipa eksemplārus.
Mūsu definīcijā moduļi kalpo
tikai kā informācijas maskēšanas mehānisms un tāpēc ir netieši saistīti tikai
ar šī saraksta 2 un 3 punktā aprakstītajām īpašībām. Pamatīpašības principā var
būt realizētas izmantojot atbilstošas programmēšanas tehnikas.
Zināmā mērā objekts – ir
vienkārši abstrakts datu tips, bet jēdziens objekt-orientētā programēšana, kaut
arī tiek būvēta uz abstrakto datu tipu idejām, pievieno viņām svarīgus
jauninājumus sadalīšanas un kopīgās programmēšanas koda izmantošanas sfērā.
OOP pievieno nedaudzas
svarīgas idejas abstrakto datu tipu koncepcijai koncepcijai. Galvenā no tām –
ziņojumu pārsūtīšana. Darbība inicializējas pēc pieprasījuma, kas vērsts uz
konkrētu objektu, bet ne caur funkciju izsaukumu. OOP pievieno polimorfisma un
pārmantojamības mehānismus. Pārmantojamība ļauj dažādiem datu tipiem kopīgi
izmantot vienu un to pašu kodu, novedot pie izmēra samanizāšanās un
funkcionalitātes palielināšanas. Polimorfisms pārsedz šo kopējo kodu tā, lai
apmierinātu konkrētas atsevišķu datu tipu
īpatnības. Akcents uz individuālu komponenšu neatkarību ļauj izmantot
soļveida konstruēšanas procesu, pie kuras izstrādājas atsevišķi
programmnodrošinājuma bloki, programmējas un noskaņojas līdz tam, kamēr tie
apvienojas kopējā sistēmā.
Objekt-orientētā
programmēšana- tas ir ne tikai nedaudzas jaunas īpašības, kas pievienotas jau
esošajai valodai. Drīzāk – tas ir jauns solis dekompozīcijas uzdevumu procesu
veidošanā un programmnodrošinājuma izstrādē.
OOP izskata programmu kā
brīvi savā starpā saistītus aģentus, tā saucamos objektus. Katrs no tiem atbild
par konkrētu uzdevumu. Aprēķini tiek veikti objektu mijiedarbības rezultātā. Tā
tad, zināmā mērā programmēšana – tā ir ne vairāk, ne mazāk kā pasaules
modelēšana.
Objekts veidojas stāvokļa
inkapsulācijas stāvokļa (datu) un uzvedības (operācijas) rezultātā. Tāpēc
objekts daudzējādā ziņā ir analogs modulim vai abstraktajam datu tipam.
Objekta uzvedību diktē tā
klase. Katrs objekts ir kādas klases eksemplārs. Visu vienas klases eksemplāru
uzvedība būs vienāda(tas ir izsauks vienas un tās pašas metodes) kā atbilde uz
vienādiem pieprasījumiem.
Objekts savu uzvedību izrāda
metodes izsaukšanas ceļā kā atbildi uz paziņojumu. Paziņojuma interpretācija
(tas ir konkrētā izmantojamā metode) ir atkarīga no objekta un var būt dažādas
klases objektiem.
Objekti un klases paplašina
jēdzienu par abstrakto datu tipu pārmantojamības ceļā. Klases var būt organizētas
hierarhiska koka pārmantojamības principa. Dati un to uzvedība, kas saistīti ar
klasēm, kuras hierarhiskajā koka sistēmā novietotas augstāk, ir pieejamas
zemākām klasēm. Notiek vecāku klases uzvedības pārmantojamība.
Ar savstarpējās atkarības
pamazināšanas palīdzību starp programmnodrošinājuma komponentēm. OOP ļauj
izstrādāt sistēmas daudzkārtējai pielietošanai. Tādi komponentes var būt
izveidotas un atliktas kā neatkarīgas programmu vienības, izolācijā no citām
pielikumprogrammas daļām.
Daudzreizēji izmantojamas
programmas komponentes ļauj izstrādātājam saskarties ar augstāka līmeņa
abstrahēšanas problēmām. Mēs varam noteikt un manipulēt ar objektiem vienkārši
paziņojuma terminos, kurus tie atpazīst, un darbus, kurus tie dara, ignorējot
detaļu realizāciju.
1.2. Programmatūras izveidošanas principi.
OOP svarīgākais
aspekts- projektēšanas tehnika, kas pamatojas uz pienākumu izdalīšanu un
sadalīšanu. Tā bija nosaukta par projektēšanu pamatojoties uz pienākumu vai
atbildības projektēšanu (responsibility-driven
desing).
Par
individuālā projekta izstrādāšanu bieži runā kā par “mazo” programmēšanu, bet
par liela projekta realizāciju kā par “lielo” programmēšanu.
Priekš “mazās”
projektēšanas raksturīgas sekojošas pazīmes:
·
Kodu izstrādā viens programmētājs vai iespējams
neliela programmētāju grupa. Atsevišķi ņemts indivīds var saprast visus
projekta aspektus no A līdz Z.
·
Galvenā problēma izstrādājot projektēšanas
programmu slēpjas dotā uzdevuma algoritmu sastādīšanā.
No otras puses
“lielā” programmēšana piešķir projektam sekojošās īpašības:
·
Programmēšanas sistēmu izstrādā liela
programmētāju komanda. Pie tam viena grupa var nodarboties ar sistēmas
projektēšanu (vai specifikāciju), otra – realizē atsevišķas koda uzrakstīšanas
komponentes, trešā- apvieno fragmentus lielā projektā. Nav viena cilvēka, kurš
zinātu visu par projektu.
·
Programmnodrošinājuma izstrādes procesa galvenā
problēma – projekta vadīšana un informācijas apmaiņa starp grupām un grupu
iekšienē.
Programmas dzīves cikls tiek pasniegts
maršruta lapas veidā. Tā ir soļu kārtība, kura ir jāpieņem, pie kam noteiktā
secībā. Pielietojot šādu disciplinētu piegājienu, izstrādātājs var radīt labāko
galīgo beigu produktu un tāpēc tērēt mazāk laika viņa pavadīšanai.
Programmas
produkta dzīves cikls tiek izstrādāts 6 pamatetapos.
1.Analīze.
Savas izstrādes analīzes stadijā
vajag pēc iespējas precīzāk noteikt uzdevumu. Pie tam nepieciešams izlemt vai
būs pareizs problēmas programmiskais risinājums. Vajag pārliecināties, ka
Datorpiegajiens tiks galā ar problēmu,
un neradīs papildus grūtības šinī izstrādes etapā jāizlemj kāda veida resursi nepieciešami izstrādes
realizācijā. Lielās firmās dotās izstrādes stadijas rezultāts parasti ir kopējā
sistēmas specifika. Tā ļauj noteikt sistēmas raksturu kopumā un uzskaita funkcijas,
kuras pēdējas ir jāizpilda. Šinī etapā ņemam funkcijas, kuras bija izdalītas
analīzes etapā un detalizēti nosakiet prasības pret katru. Ieejošā informācija
priekš dotā etapa ir sistēmas kopējā specifikācija, bet rezultāts
programmnodrošinājuma funkcionālā specifikācija. Šeit jūs neprojektējiet
nobeigtus lēmumus, bet tikai nepieciešamās darbības programmas izpildīšanai.

1. 1. Attēls. Programmas
produkta dzīves cikls
2. Objekt- orientētā projektēšana.
2.1. Objektu un to atribūtu identifikācija. Sarežģītas fiziskas
sistēmas tiek vienkāršotas ar projekta sadalīšanu struktūrvienībās. Tieši tā
programmnodrošinājuma izstrāde tiek vienkāršota pēc atsevišķu komponenšu
izdalīšanas programmas. Komponente – tā ir vienkārši abstrakta vienība, kura
var izpildīt noteiktu darbu (tas ir būt ar noteiktiem pienākumiem ). Šinī etapā
nav nepieciešams precīzi zināt kā tiek uzdota komponente vai kā tā pildīs savu
darbu. Komponente gala rezultātā var tikt pārveidota par atsevišķu funkciju,
struktūru vai klasi vai arī par citu komponenti(šablonu). Šinī izstrādes līmenī
ir divas svarīgas īpatnības:
1) komponentei ir jābūt nelielam precīzi noteiktu
pienākumu kopumam;
2) komponentei ir jāmijiedarbojas ar citām komponentēm
tik vāji, cik tas ir iespējams.
2.2. Darbības . Šeit vajag identificēt
darbības, kuras saistītas ar katru no agrāk noteiktajiem objektiem: tā tie,
kuri šos objektus rada, tā arī tie, kuri var veidoties virs tiem. Tā arī ir
nepieciešams noteikt darbību kārtību un mijiedarbību. Neatkarīgi no tā cik
rūpīgi jūs mēģiniet izstrādāt izejošās specifikācijas un programmas sistēmas
projektu droši vien lietotāja velmju un vajadzību izmaiņas noteiks atbilstošus
labojumus programmā (bieži vien visas
sistēmas dzīves cikla laikā). Izstrādātājiem tas ir jāparedz un savas darbības
jāizplāno sekojošā veidā:
·
Galvenais uzdevums slēpjas tur, lai tiktu
skartas pēc iespējas mazāk komponentes. Pat principiālajiem jauninājumiem ārējā
izskatā vai funkcionālajiem pielikumiem ir jāskar viens vai divi koda fragmenti.
·
Centieties pēc iespējas ticamāk paredzēt pēc
iespējas ticamākos izmaiņu avotus un ļaujiet tiem ietekmēt pēc iespējas mazāku
programmas komponenšu daudzumu. Visbiežākie kopējo izmaiņu iemesli ir
interfeiss, informācijas apmaiņas formāti, izejošo datu izskats.
·
Centieties izolēt un mazināt
programmasnodrošinājuma atkarību no aparatūras. Piemēram, lietojumprogrammas
interfeiss var būt daļēji atkarīgs no sistēmas aparatūras nodrošinājums, uz
kuras darbojas programma.
·
Samazinot saistību daudzumu starp programmas
fragmentiem mazina mijiedarbību starp tiem un palielina iespējamību, ka katru
komponenti varēs izmainīt ar pēc iespējas minimālāku ietekmi uz citām.
Termins
“klase” tiek izmantots, lai aprakstītu objektu kopumu ar līdzīgu uzvedību. Visi
vienas kases eksemplāri vienu un to pašu komandu uztver un izpilda saejošā veidā.
Divi svarīgi
jēdzieni izstrādājot programmu ir saķēdēšanās un saistība. Saistība – tas ir
mērs tam, cik daudz atdalītā komponente veido loģiski noslēgtu, apdomātu
vienību. Augsta saistība tiek sasniegta apvienojot vienā komponentē attiecīgās
(tādā vai citādā ziņā) funkcijas. Visbiežāk funkcijas izrādās cita ar citu
savienotas, lai vajadzības gadījumā varētu piekļūt kopējiem datiem.
No otras puses
saķēdēšanās raksturo mijiedarbību starp programmas komponentēm. Vispārējā
gadījumā vēlams samazināt saķēdēšanās pakāpi tiklīdz tas ir iespējams, tā kā
saistības starp programmas komponentēm kavē to modificēšanu un traucē tālākai
izstrādei vai atkārtotai lietošanai citās programmās.
2.3. Redzamība. Šajā punktā tiek
noteikta projekta topoloģija. Jums ir vajadzīga shēma, kura norāda, kādi
objekti ir redzami un var būt redzami no citiem objektiem.
·
Interfeiss.
Šeit nosaka kādā veidā objekti būs
saistīti ar citiem objektiem. Šis solis ir ārkārtīgi svarīgs moduļu sistēmas
projektēšanā. Ir precīzi jānosaka kā
citi objekti sadarbosies ar doto objektu. Interfeisa daļā apraksta ko dara
komponente. Skats no realizācijas viedokļa- tā ‘nianse’, kas redzama tikai tiem
kuri strādā ar konkrētu komponenti. Šeit tiek noteikts kā komponente pilda
uzdevumu. Interfeisa sadalīšana un realizācija ir, iespējams, sakarīgākā ideja
programmēšanā. Runā, ka komponente iekapsulē uzvedību, ja tā prot izpildīt
kādas darbības, bet nianses, kā tieši to izdarīt, paliek nezināmas.
Vajag noteikt
kā tiks realizēta katra komponente. Komponente, raksturojama tikai ar uzvedību
(kurai nav iekšējā stāvokļa), var būt noformēta kā funkcija. Piemēram,
komponentei, kas nomaina visus lielos burtus teksta rindā uz mazajiem burtiem.
Komponentes ar daudzām funkcijām labāk realizēt klašu veidā. Kopā ar
nosaukumiem tiek noteikti argumentu tipi, kurus nodod funkcijām. Pēc tam tiek
aprakstīta visa informācija, kas atrodas komponentes iekšienē. Ja komponentei
nepieciešamai kādi dati priekš konkrēta uzdevuma veikšanas, to avotam
(funkcijas arguments, globālie vai iekšējie mainīgie) jābūt tieši aprakstītam.
Nosaukumi,
kuri saistīti ar dažādām darbībām ir rūpīgi jāpiemeklē. Ērtu nosaukumu izvēle
ir ļoti svarīga. Tiek piedāvāti sekojoši kopēja rakstura stāvokļi, kas šo
procesu regulē:
·
Izmantojiet nosaukumus, kurus var viegli pateikt
skaļi.
·
Pielietojiet lielos burtus vai pasvītrošanas
simbolus tāpēc, lai atzīmētu jauna vārda sākumu saliktā nosaukumā.
·
Rūpīgi pārbaudiet saīsinājumus.
·
Neizmantojiet ciparus nosaukumos. Tos ir viegli
sajaukt ar burtiem.
·
Lieciet funkcijām nosaukumus, kuri atgriež
loģisko vērību, lai būtu skaidrs kā interpretēt true un false.
·
Piešķiriet dārgām (no datorresursu viedokļa) un
reti izmantojamām operācijām unikālus skaidri izceļamus nosaukumus. Šādi
rīkojoties samazināsies iespējamība izmantot “ne tās” funkcijas.
3. Kodēšana.
Šinī
etapā realizējas katrs dotā uzdevuma objekts. Tas nozīmē katra objekta
interfeisa koda uzrakstīšanu. Kodēšana piedalās visās atlikušajās izstrādes
cikla stadijās un turpinās pat tālāk: visā jūsu produkta palikušā dzīves cikla
laikā jūs varēsiet izdarīt izmaiņas kodā. Šeit galvenais – datu struktūras
projektēšana, kuri tiks izmantoti katrā no apakšsistēmām priekš iekšējās
informācijas glabāšanas, kas nepieciešama, lai veiktu noliktos pienākumus. Datu
struktūru izvēle ir svarīgs centrālais moments no programmēšanas viedokļa. Ja
priekšstats par datiem izvēlēts pareizi, tad kods, ko izmanto komponente
pienākumu veikšanā kļūst gandrīz pašsaprotams.
Datu struktūrām nepieciešams precīzi atbilst izskatāmajam uzdevumam.
Šinī pašā etapā komponentes uzvedības aprakstam ir jābūt pārveidotam par
algoritmu. Funkciju realizēšana vēlāk tiek pretstatīta komponenšu vajadzībām,
kas ir dotā fragmenta klients, lai garantētu, ka visi tās pieprasījumi
izrādītos paveicami un ka visi priekš darba nepieciešamie dati ir pieejami.
4. Testēšana.
Kad projekts kopumā ir
apzināts un sadalīts apakšsistēmās, nākamais solis ir komponenšu realizācija.
Ja iepriekšējie etapi ir izpildīti korekti, katrs pienākums vai uzvedība būs
īsi raksturoti. Svarīga analīzes un kodēšanas daļa šinī etapā ir pilnīga
iepriekšējam nepieciešamo noteikumu raksturošana un dokumentēšana, kas
nepieciešams uzdevuma veikšanai. Kā arī vēlams pārbaudīt vai programmas
komponente darbojas pareizi, ja tā tiek izsaukta ar pareizām ieejošām vērtībām.
Tas apstiprinās algoritmu korektumu, kuri tiek izmantoti komponentes
realizācijā. Kad individuālas apakšsistēmas ir izstrādātas un notestētas tām
jātiek integrētam kopējā produktā. Tas tiek darīts pa etapiem. Sākot ar
elementāru pamatu pie sistēmas tiek pievienoti (un testēti) jauni elementi.
Atsevišķu komponentu noskaņošanu bieži dēvē par bloku testēšanu. Testēšana
turpinās līdz tam, kamēr kļūst skaidrs, ka sistēma strādā pareizi. Šo procesu sauc
par sistēmas testēšanu kopumā.
Pavadīšana
un apkalpošana.
Iemesli kuri izsauc
programmnodrošinājuma pavadīšanas neizbēgamību:
·
Nodotajā produktā ir iespējams atrast kļūdas. Tām jātiek izlabotām vai
nu caur esošās versijas “labojumiem” (patches),
vai jaunā versijā.
·
Prasību izmaiņas- iespējams jaunu valsts prasību vai standartu dēļ.
·
Pāreja uz citu aparatūras nodrošinājumu. Piemēram, sistēmas pārnešanas
uz citu platformu vai jaunas ievades ierīces uzturēšana.(gaismas spalva vai
sensoru ekrāns). Var tikt mainītas izvades tehnoloģijas : teiksim, jūs pārejiet
no tekstuālā interfeisa uz grafisko.
·
Lietotāju prasību izmaiņas. Lietotāji var pieprasīt palielināt
programmas iespējas, pazemināt cenu, vienkāršāku lietošanu u.t.t.
·
Dokumentācijas uzlabošanas nepieciešamība.
·
1.3. Programma no Delphi viedokļa.
Programmai, kura uzrakstīta Pascal valodā priekš MS-DOS
vides Pascal valodā būs sekojošs
izskats:
program DOS_Pas_Minimal;
Begin
End.
Programmai
priekš Windows vides piemitīs nedaudz
sarežģītāks izskats, taču šeit viss ir atkarīgs no izmantojamajiem līdzekļiem.
Piemēram, ja mēs izmantosim bibliotēku WinCrt,
tad minimālā Windows programma šinī
gadījumā izskatīsies šādi:
Program Win_Pas_Minimal;
uses WinCrt;
Begin
End.
Atzīmēsim, ka
izmantojamie WinCrt dod mums logu. Izmantojot
Object Windows klases bibliotēku, kas
ir Borland Pascal 7.0 komplektā,
minimālā programma izskatīsies šādi:
Program OWI_Minimal;
uses WObjects;
Var
MyApp: TApplication;
Begin
MyApp. Init(‘OWI_Minimal’);
MyApp. Run;
MyApp. Done;
End.
Bet izmantojot
tikai funkcijas Widows API, minimālā
programma aizņems apmēram 60 rindiņas un sastāvēs no nedaudzām procedūrām un
funkcijām.
Izrādās
izveidojot minimālo programmu Delphi
vidē koda uzrakstīšana nav nepieciešama. Var atvērt jaunu projektu, uzrakstīt
to un uz ekrāna iegūt logu, kuram ir
virsraksts, sistēmas izvēlnes pogas, maksimizāciju un minimizāciju, bet tā
rāmis var mainīt izmērus.
Praktiski
visas Windows programmas izmanto kā
minimums vienu logu- tas var būt standart logs, diagonālais panelis vai ziņojumu
panelis. Praktiski katra Windows
programma sastāv no obligāto daļu virknes:
·
WinMain
funkcijas ir ieejas punkts programmā. Pascal
programmās tas ir tas, kas atrodas starp galvenās programmas atslēgas vārdiem Begin un end;
·
Atribūtu klases loga izveidošana un
aprakstīšana;
·
Dotās klases eksemplāra loga izveidošana;
·
Ziņojumu apstrādes cikla;
·
Loga funkcijas, kas apstrādā ziņojumus.
Windows programmu izveidošanas process
nav vienkāršs uzdevums. Šeit programmētājam palīgā nāk objekt- orientētā
programmēšana un klašu bibliotēkas, kas satur sevī visus lietojumprogrammas
izveidošanas noteikumus. Priekš Pascal
programmēšanas valodas par šādu bibliotēku kļuva ObjectWindowsLibrary (OWL). Šajā bibliotēkā ir pieejams objektu
kopums, kas nepieciešams jebkuras grūtības pakāpes Windows lietojumprogrammas
izveidošanai. Bibliotēkā OWL , kas sevī ietver objektus, kuri atbilst visiem Windows interfeisa elementiem, tādiem kā
logi, diagonālie paneļi, vadības elementi, kā arī TApplication objekts, kas arī ir pati lietojumprogramma. Jebkura
lietojumprogramma, kas izveidota ar OWL palīdzību, pamatojas uz TApplication pēcnācēja objektu. Lai
izveidotu vienkāršu lietojumprogrammu ar OWL palīdzību pietiekami ir izmantot
tikai trīs šī objekta metodes:
·
Konstruktors Init
– inicializācija. Konstruktors Init izpilda visu darbību kopumu, kas
nepieciešams paša objekta inicializācijai, kā arī konkrēta eksemplāra
lietojumprogrammas, tāpat lai izveidotu galvenā loga un pieslēgšanās funkcijas
loga attēlu;
·
Run
metode- izpildīšana. Šajā metodē ietilpst ziņojumu apstrādes cikls;
·
Destruktors Done- nobeigums. Destruktors izpilda veselu virkni darbību
programmas darba beigšanā un objekta
neinicializācijā.
No programmētāja viedokļa, programma, kas strādā Delphi vidē sastāv no klāšu apraksta,
kas atbilst lietojumprogrammas galvenajai formai un visām pārējām viņā
lietojamajām formām, kā arī no koda, kas izpildās apstrādājot to vai citu notikumu, no papildkoda, kas nosaka
konkrētas programmas funkcionalitāti. Pie kam klašu apraksts, kas atbilst
formai, tiek veidots automātiski, un papildinājumi tajā nepieciešmai tikai tādā
gadījumā, ja jūs tur ienesiet kādas
papildmetodes.
Programmētājs raksta tikai to kodu , kas viņa
lietojumprogrammā nosaka tiešu funkcionalitāti. Visu palīgkodu rada automātiski
pati vide. Pat vairāk palīgkods vispār ir noslēpts no programmētāja. Apskatīsim
projekta Ekonomika.dpr
pamatprogarammu :
begin
Application.Initialize;
Application.CreateForm(TPamatIzvele,
PamatIzvele);
Application.CreateForm(TParProgrammu,
ParProgrammu);
Application.CreateForm(TParolesDlg,
ParolesDlg);
Application.CreateForm(TEkonomSistemas,
EkonomSistemas);
Application.CreateForm(TPieprUnPiedav,
PieprUnPiedav);
Application.CreateForm(TRazosPamati,
RazosPamati);
Application.CreateForm(TSkatisana,
Skatisana);
Application.CreateForm(TDM, DM);
Application.CreateForm(TTestesana,
Testesana);
Application.CreateForm(TJautIevad,
JautIevad);
Application.CreateForm(TRezultTesta,
RezultTesta);
Application.CreateForm(TIzdrukIzsauk,
IzdrukIzsauk);
Application.CreateForm(TRepTestaRez,
RepTestaRez);
Application.Run;
end.
Pirmajā rindā notiek TApplication klases
eksemplāra inicializācija, nākamajās- formu veidošana uz klases TForm bāzes, kas aprakstītas atbilstošos
Unit failos, bet pēdējā rindā-formas
attēlošana uz ekrāna un tieša programmas palaišana. Mums ir tikai divi
funkcionālie bloki – inicializācija un izpilde. Beigu bloks ir apslēpts Delphi dienesta koda iekšienē un
izpildās notikumu apstrādātājā, kas norisinās programmas darba beigšanas laikā.
Skatoties uz programmas pamatkodu, var noprast, ka TForm klase spēlē palīglomu, bet pamatā ir Application klases eksemplārs.
Lietojumprogrammas izveidošanas procesu Delphi vidē var iedalīt sekojošos
etapos:
·
Lietojumprogrammas uzbūves interfeisa daļa;
·
Notikumu apstrādātāja koda uzrakstīšana;
·
Paildkoda uzrakstīšana.
Klase TApplication
ir TComponet klases mantiniece.
Jūs neizmantojiet TApplication tieši
kaut arī šī klase spēlē svarīgu lomu. Tieši šīs klases metodes(caur globālo Application objektu) izveido galveno un
nākamās formas(CreateForm metode) un
realizē ziņojumu apstrādes ciklu (Run
metode).
TComponent klase kalpo par pamatu
pārējām (vizuālajām un nevizuālajām) Delphi
komponentēm. Šī klase nosaka bāzes uzvedību visām komponentēm- to pamat
īpašības un metodes. Pie tām pieder :
·
Iespēja attēlot komponentes komponenšu paletē un to to vadība formas
dizainerī.
·
Iespēja būt par citu komponenšu konteineru.
·
Komponenšu uzturēšanas saglabāšana un atjaunošana plūsmās.
·
Iespēja būt par rāmīti apkārt ActiveX komponentēm un citiem objektiem,
kas realizē interfeisu.
Parasti TComponent
klases eksemplāri netiek veidoti. TComponent
klase ir nevizuālo komponenšu bāzes klase, kuras var izvietoties komponenšu
paletē un tikt izmantotas formu dizainerī. Dotās klases īpašības un metodes
kalpo par pamatu visām mantinieku klasēm un nosaka pamat uzvedību VCL bibliotēkas komponentēm.
Lai izveidotu vizuālās komponentes jāpielieto TControl kā bāzes klase, bet lai
izveidotu komponentes kurām ir logi – TWinControl
klase.
Lai izveidotu visas vizuālas komponentes par bāzes
klasi kalpo TControl klase. Visām
komponentēm ir īpašības, metodes un notikumi, kas nosaka to vizuālo aspektu,
tādas kā komponentes atrašanās vieta, kursora tips, kas saistīts ar komponenšu
logu, metodes komponentes atzīmēšanai un pārvietošanai un notikumi, kas rodas
kā atbilde uz lietotāja darbībām. TWinControl
klase ir kā bāzes klase, kas veido pamatu priekš visu komponenšu logu
izveidošanas. Logu komponentēm piemīt sekojošās īpašības:
·
Programmas darbības laikā var iegūt fokusu. Cita tipa komponentes var
atspoguļot datus, bet lietotājs var izmantot klaviatūru, lai sadarbotos ar
komponentēm, tikai tādā gadījumā, ja tā ir loga komponente;
·
Var saturēt sevī citas komponentes. Komponentes, kas satur sevī citas
komponentes ir to vecāki. Tikai logu komponentes var būt vecāku komponentes
citām komponentēm.
·
Tai var būt norāde uz logu.
Parasti komponentes tieši uz TWinControl klase bāzes netiek veidotas. Parsti kā bāzēs klase tiek
izmantota TCustomControl klase, kura
ir abstrakta bāzes klase uz kuras pamata tiek veidotas komponentes, kas
pieprasa īpašību canvas, priekš
grafisko attēlu uzzīmēšanas. Komponentes, kas ir kā rāmis apkārt interfeisa Windows
standarta elementiem, “zina”, kā izpildīt uzzīmēšanu. Tāpēc TChechBox vai TButton
tipa komponentes ir TWinControl
klases mantinieces. Veidojot oriģinālas komponentes, kuras neatbilst Windows standarta komponentēm,
nepieciešams tās pārmantot no TCustomControl.
TButtonControl kase kalpo kā bāzes klase
objektiem, kas ir pogas. Šai klasei piemīt īpašibas, kas piemīt parastajām
pogām, pogām ar atkarīgo un neatkarīgo fiksāciju.
TCustomComboBox kalpo par objektu bāzes komponentēm,
kas ir kombinētie saraksti – elementi, kas apvieno redaktēšanas rindas un
sarakstu.
TCustomEdit kalpo par objektu abstrakto klasi, kas
ir vienrindas un daudzrindu redaktori. Šī klase nodrošina:
·
Redaktēšanas bāzes funkcijas ieskaitot arī teksta izcelšanu tas ir
reģistru izmaiņu un pārveidošanu.
·
Iespēju reaģēt uz komponentes satura izmaiņām.
·
Iespēju vadīt piekļaušanu pie teksta- padarīt to pieejamu tikai priekš
lasīšanas.
·
Ievadītā teksta noslēpšana(paroles ievadīšana).
TCustomListBox
kalpo kā abstraktā bāzes klase sarakstu veidošanai. Šī klase nodrošina:
·
Attēlu, šķirošanu, manipulēšanu un saraksta elementu meklēšanu.
·
Lietotāja komponenšu izveidošana priekš ikonu vai rastru grafisko
attēlu.
·
Daudzkolonnu sarakstu izveidošana ar iespēju izvēlēties dažus
elementus.
Darba apjoms neatļauj pārskaitīt veselu virkni
klašu, kas kalpo par bāzes klasēm dažādu vizuālo komponenšu izveidei.
Viena no principiālajām priekšrocībām priekš
lietotāja strādājot Windows vidē ir
tas, ka vairākums lietojumprogrammu izskatās un uzvedās līdzīgā veidā. Firma Microsoft piedāvā specifikāciju priekš Windows programmu nodrošinājuma
izstrādes. Uzsvars no lietotāja interfeisa niansēm ir pārnests uz to lai
lietotājs pēc iespējas ātrāk varētu pielietot jūsu lietojumprogrammu. Delphi 3.0 piedāvā tam visus
nepieciešamos instrumentus.
Lietotāja grafiskais interfeiss (Grafical User Interface - GUI) - tas ir
ekrāna priekšstata tips, kurā lietotājs var izvēlēties komandas, palaist
uzdevumus un apskatīties failu sarakstus, norādot uz vizuālajiem
apzīmējumiem(programmas), vai uz saraksta izvēlnes punktiem, kas attēloti uz
ekrāna. Darbības, kā likums, var tikt izpildītas vai nu ar peles palīdzību vai
ar klaviatūras taustiņiem. Lietotāja grafiskie interfeisi eksistē tāpēc, ka
palielina darba ražīgumu.
Izstājot lietojumprogrammu jāņem vērā principi uz
kuriem balstās Windows 95 sistēma :
1. Komandē lietotājs. Pār visu,
kas notiek uz ekrāna jāpārvalda lietotājam. Viņam jābūt sajūtai, ka tieši viņš
inicializē visas operācijas, nevis
piemērojas mašīnas kaprīzēm. Lietojumprogrammai jābūt pēc iespējas
interaktīvākai. Tai ātri jāatsaucas uz komandām un nav lietotājs jāatstāj
neizpratnē, par to kas dotajā brīdī notiek.
2. Uzskatāmība. Programmām
jābūt vizuāli saprotamām. Lietotājam jāredz kā viņa komandas ietekmē objektus
uz ekrāna. Metaforu izmantošana var radīt pāreju no reāliem dokumentu skapjiem uz dabiskākiem
datoru ekvivalentiem. Metaforas uztur atpazīstamības koncepciju, bet ne
atcerēšanās koncepciju. Lietotāji parasti labāk iegaumē saprotamas asociācijas
nekā komandas.
3. Vienveidība tā sniedz
garantiju , ka jūsu lietojumprogramma būs līdzīga ar Windows operacionālo sistēmu Lietotājam būs vieglāk to apgūt, ja
viņam ir pieredze darbā ar Windows.
Garantiju, ka jūsu produkts uztur vienveidību savā iekšienē. Garantija, ka jūsu
metaforas ir līdzīgas.
4. Iecietība pret lietotāju.
Lietotājam ir jādod iespēja
eksperimentēt ar lietojumprogrammu. Visām viņa izdarītajām darbībām jābūt
izlabojamām un atgriezeniskām. Programmai jādod iespēja lietotājam atsaukt
darbību, kura var izrādīties nelabojama. Lietotājs var izdarīt kļūdainas
kustības ar peli. Cilvēkiem ir raksturīgi kļūdīties. Tas jāņem vērā un jāprasa
apstiprinājums visām operācijām kuras var novest līdz graujošam rezultātam.
5. Atpakaļejošā saite. Pats
galvenais noteikums – likt lietotājam saprast, ka kaut kas notiek. Var izmantot
kā vizuālo kombināciju tā arī skaņu signālu, lai lietotājs zinātu , ka par viņu
nav aizmirsts. Svarīgi, lai atpakaļejošās saites signāls atrastos tuvu tai
vietai, kur strādā lietotājs.
6. Estētika. Lietojumprogrammai
jābūt vizuāli patīkamam izskatam. Šeit ir daži momenti. Bez krāsu shēmas
izmantošanas (lietojumprogrammai nevajadzētu disharmonizēt ar apkārtni) ļoti
svarīga ir pati ekrāna kompozīcija. Objektu izvietojums(un to skaits) nosaka
cik ērti būs strādāt ar lietojumprogrammu. Kad iespējams izmantojiet “septiņu
likumu” : dodiet lietotājam tikai septiņus (plus- mīnus divus) izvēles
variantus. Šis skaitlis (no 5 līdz 9) ir saistīts ar objektu daudzumu, kurus
cilvēka smadzenes var uztvert vienlaicīgi.
7. Vienkāršība.
Lietojumprogrammai jābūt vienkārši uztveramai un lietojamai. Tāpēc nepieciešams
uzturēt balansu starp interfeisa vienkāršību un visu nepieciešamo funkciju un
lietojumprogrammas datu pieejamību. Labai pielietojumprogammai jāatrod šo
principu optimālā attiecība. Pēc iespējas mazāk izmantojiet vārdus.
Vizuālie tēli ļoti spēcīgi ietekmē mūsu prātu un emocijas.
Vizuālie paņēmieni, kurus izmanto pielietojumprogrammās uz lietotāju var
iedarboties dažādi. Tāpēc svarīgi programmu izstrādāt tā lai tie radītu
maksimāli stimulējošu rīcību pie minimālas novēršanās.
Eksistē 6 ekrāna organizēšanas principi, kurus Microsoft uzskata par svarīgiem:
1. Lasāmība un secība. Šis
princips liek jūsu projektēto ekrānu organizēt tādā veidā, lai interfeisa
pamatidejas tiktu nodota tieši un ar
minimālākiem vizuālajiem traucējumiem. Lai minimizētu traucējumus un uzlabotu
lasāmību un secību, izstrādājot logus vai dialogus, sev jāuzdod sekojoši
jautājumi :
·
Vai pamatideja ir izklāstīta vissaprotamākajā veidā ?
·
Vai lietotājs soli pa solim iet pa šo dialogu kā tas tiek plānots pie
programmas izstrādes ?
·
Vai visam kas ir nokļuvis šajā logā ir tur jābūt ?
2. Strukturētība un
sabalansētība. Bez labas struktūras nepietiks kārtības un izpratnes.
Savstarpējās attiecības starp logiem piedāvāto informāciju lielā mērā nosaka
tas, kā tiks uztverta jūsu lietojumprogramma. Sabalansētība – tas ir kā inform;acija
tiek sadalīta starp lietojumprogrammas logiem. Ja uz viena ekrāna ir pārāk
daudz, bet uz otra- pārāk maz, tad lietojumprogramma nav sabalansēta.
Nepietiekama strukturētība un sabalansētība apgrūtina izprast interfeisu.
3. Elementu attiecība. Svarīgi,
lai lietojumprogrammā elementu attiecības tiktu attēlotas vizuāli. Ja poga
atver logu, šim komponentēm jābūt vizuāli saistītām savā starpā, lai to
attiecības vienai ar otru būtu skaidras lietotājam. Tāpēc vajag tās izlikt
tiešā tuvumā vienu otrai vai apvienot vienā Bevel
tipa vienotā komponentē.
4. Fokusētība un akcenti.
Jēdziens fokusētība nozīmē piederību kādai konkrētai tēmai, kurai ir pakļauta
ekrāna kompozīcija. Akcentēšana attiecas uz dotās tēmas atslēgas orgānu vadības
izvēli un to skaidru izcelšanu starp pārējiem elementiem. Lietotājam jāsaprot
priekš kam domāts dotais ekrāns un kas tajā ir svarīgākais. Labi fokusētas
programmas piemērs ir WinZip. Šī ir failu kompresijas un dekompresijas
programma un tajā nav nekā lieka. Lietotāja interfeiss ir saspiests un
taisnlīniju un programma dara tieši to ko no tās prasa.
5. Informācijas hierarhija.
Hierarhijas princips attiecas gan uz ekrāna projektēšanu, gan uz datu
struktūras izstrādi. Jums jāizlemj kāda informācija ir svarīgāka un kurai
jāatrodas uz pamat ekrāna, un kurai pēc svarīguma pakāpes jāatrodas otrajā vai
trešajā vietā:
·
Kas lietotājam ir svarīgākais ?
·
Kāds uzdevums tiks risināts pirmkārt, kāds otrkārt u.t.t. ?
·
Kas viņam būtu jāredz uz pirmā ekrāna, otrā ekrāna u.t.t. ?
·
Kādas būs lietotāja prioritātes ? Vai jūsu ekrāna organizētība palīdzēs
realizēt šīs prioritātes, vai traucēs tām?
6. Vienotība un integritāte. Kā
jūsu lietojumprogramma iekļausies kopējajā sistēmas darba telpas organizētībā
un kā tā mijiedarbosies ar citām lietojumprogrammām?
Krāsa krāsa nedrīkst tikt
izmantota kā informācijas galvenā nesēja. Var izmantot formu, faktūru un citas
ekrāna laukumu izcelšanas metodes. Izmantojot ierobežotu krāsu kopumu paredz
izmantot pareizus krāsu salikumus.
Atstatums starp komponentēm,
šrifta izvēle, informācijas izvietojums uz ekrāna var gan glabāt gan iznīcināt
jūsu lietojumprogrammu. Ekrāna projektēšanā izšķirošais moments ir šifta
izvēle. Kāds šrifta tips var būt nederīgāks starp citiem. Visās Microsoft elementu sistēmās izmanto MS Sans Serf un 8 izmēra burtus. Vērā
jāņem arī citi momenti. Kursīvs uz ekrāna tiek uztverts daudz reiz sliktāk kā
parastais šrifts. Lietojumprogrammai pēc iespējas jāvar piemēroties dažādiem
šriftiem. Tāpat jāņem vērā, ka uz ekrāna šrifts vienmēr izskatās sliktāk kā
nodrukāts. It īpaši tas ir redzams monitoros ar zemu izšķirtspēju.
Projektējot ekrānu svarīgi
nodrošināt pareizas atstarpes starp dažādiem elementiem. Ir jāatstāj laukums
(tam ir jāvienādojās ar septiņām dialogu vienībām. Delphi 3.0 tiek izmantots atstarpju izlīdzināšanai ne priekš bāzes
dialoga vienības, bet ekrāna izšķiršanas vienība- pikselis. To ir vieglāk
saprast un izmantot. ) visās ekrāna malās. Starp savienotajiem elementiem
sliktākajā gadījumā jāpaliek 4 dialoga vienību lielai atstarpei. Vienīgais
izņēmums no šī noteikuma ir instrumentupaneļa pogu grupa. Starp sagrupētajām
pogām nav jābūt atstarpei.
Vienmēr loģiski jāapvieno
saistītie vadības orgāni. Viss vienkāršāk šādā gadījumā izmantot paneļa
grupēšanas komponenti, dažkārt pietiek vienkārši atbilstoši sakārtot elementus,
atstājot starp grupām papildu telpu. Grupētie paneļi ļauj lietotājam vērst
uzmanību uz noteiktām elementu grupām.
Lai izvietotu datus uz
ekrāna var izmantot dažādas metodes. Pie
mums ir pieņemts lasīts no kreisās uz labo un no augšas uz leju. Svarīgākos
elementus parasti izvieto augšējā kreisajā stūrī. Kad dati (vai vadības orgāni)
tiek izvietoti stabiņā , laukumā , kā likums tos izlīdzina pēc kreisās puses.
Ja elementi ir saistīti ar iezīmi tad tiem jābūt izvietotiem uz augšu vai pa
kreisi no elementa kā arī izlīdzinātiem pēc kreisās malas. Izņēmums ir radio
pogas un kontrolindikatori. To iezīmes parasti atrodas labajā pusē.
Kad jūs izvietojiet uz
formas komandas pogu un ievietojiet to grupas logā, tad uzskata, ka poga
darbojas tikai uz objektiem šī loga iekšienē. Ja komandas poga ir izvietota
ārpus grupas logiem, tad darbībai ir jāattiecas uz visu formu.
Daudzrindu dialogi ar
ielikumiem ir ļoti noderīgi, tā kā ļauj realizēt kompaktu un parastu
interfeisu. Kad jūs izveidojat tādu dialogu logu jums ir jāietur vienāds izmērs
visiem ielikumiem, lai radītu vienveidīgu priekšstatu. Lapas ir jākombinē pēc
funkcionālā principa, lai katra no tām saturētu informāciju par noteiktu tēmu.
Labākai uzskatāmībai
uzrakstos uz pogām, iezīmēm, izvēlņu virsrakstos izmanto lielos burtus.
Modālais dialoga
logs-atveramais logs, kas parāda vai pieprasa informāciju. Modālie logi var
saturēt informāciju, kas papildina pamatloga informāciju. Bet modālais logs
nevar būt lietojumprogrammas pamatlogs. Tam ir (vai nav) dažas īpatnības, kas
raksturīgas parastam logam:
·
Tam nav minimizācijas un maksimizācijas pogu.
·
Tam nevar būt loga aizvēršanas pogas.
·
Loga virsraksts paskaidro tā funkciju.
·
Virsrakstā nav piktogrammas.
·
Tam nav statusa rindas.
·
Tam var būt poga “kas tas?”, lai iegūtu izziņu par dažādu komponenšu
nozīmi.
2.
Lietojumprogrammas izveidošana zināšanu kontrolei
Delphi 3.0 vidē
1.1. Integrētās vides Delphi apskats.
Jaunajām programēšanas sistēmām ir raksturīga ātra
lietojumprogrammu izstrādāšanas iespējas – Rapid
Application Development (RAD).
Šajā jaunajā RAD pasaulē
programmētāji izmanto instrumentus, kuri ir uzskatāmi un intuitīvi saprotami.
Visual Basic (VB) bija pirmā vide, kura
padarīja programmēšanu pieejamu priekš parastiem mirstīgajiem. Jaunais
sadarbības stils ar datoru ļauj programmas izstrādātājam uzskatāmi konstruēt
lietotāja interfeisu ar peles palīdzību, nevis agrāko laiku stilā : ar koda
uzrakstīšanu, to translāciju un programmas izpildīšanu, tikai pēc kā var
ieraudzīt, kā tas viss izskatās uz ekrāna. Lai arī pēc Visual Basic ir liels pieprasījums un tas ir palīdzējis daudziem
atklāt programēšanas pasauli, tomēr tam piemīt daudzas problēmas. Tajā trūkst
objektu -orientētās programēšanas noteiktības, kā arī VB translē Basic komandas
uz pārtraukumu valodu, ko sauc par r-kodu. Palaižot šādas programmas VB
interpretē r-kodu par reālām mašīnas komandām.
Delphi – tas ir nākamais solis RAD vides attīstībā. Delphi pilnībā kompilē programmu uz
mašīnas kodu un uzreiz pāriet uz mašīnas kodu. Šī priekšrocība ietekmē programmas
izpildes ātrumu. Delphi bāzējas uz Object Pascal valodu. Pascal valodu saimes kompilatori bija
vieni no ātrākajiem kompilatoriem. Borland
pievienoja valodai objektu – orientētos pielikumus, un efektīvāku kodu, kam ir
lielāks efekts ar mazāku operatoru skaitu. Object
Pascal – tā ir objektu – orientēta valoda ar labu kompilatoru.
Delphi priekšrocības priekš viena
lietotāja ir apstāklī, ka tas var nodot lietojumprogrammu gala lietotājam viena
izpildāmā faila veidā (fails .exe).
Tas, ka ir viens izpildāmais fails nozīmē arī to, ka var uzrakstīt vienkāršu instalācijas
programmu. Var realizēt šo iespēju, radot vienu izpildāmo failu, savā darba
laikā nevēršoties pie citiem failiem vai DLL
(dinamiski pievienojamajām bibliotēkām).
Izstrādājot daudzlietotāju programmu Delphi 3 ļauj ievietot standarta
komponentes tā saucamajā paketē. Šī metode dod iespēju kompānijām paplašināt
klientu tīklu, kurā standarta pakete
visu laiku uztur klientu datorus.
Integrētā izstrādes vide – Inegrated Development Environment (IDE) – ir vide kurā ir viss nepieciešamais lietojumprogrammu
projektēšanai, palaišanai un testēšanai, un kur viss ir orientēts uz programmu
radīšanas atvieglošanu. Delphi 3 IDE
ir integrēts kodu redaktors, labotājs, rīku josla, attēlu redaktors un datu bāzu
instrumenti – viss ar ko nākas strādāt. Šī integrācija dod izstrādātājam
harmonisku instrumentu komplektu, kas palidina cits citu. Rezultāts ir ātra un
zināmā mērā bez kļūdām sarežģītas programmas izstrāde.
Izstrādātāja vide Delphi 3.0 sastāv no elementu virknes, kas parasti ir uz ekrāna:
galvenais logs (kas sevī ietver ātrās pieejas paneli un komponenšu paleti ),
objektu inspektors, logs vizuālai lietojumprogrammu veidošanai un koda
rakstīšanas logs, kā arī utilītas, kas ir piejamas noteiktos gadījumos –
izvēlnes dizaineris un grafiskais redaktors. Delphi izvēlnes struktūra ļauj piekļūt pie daudziem instrumentiem,
kas palīdz paaugstināt projektēšanas efektivitāti.
Izvēlne File
tiek izmantota, lai atvētu, saglabātu, aizvērtu un izdrukātu eksistējošos un jaunus
projektus un failus, kā arī lai pievienotu jaunas formas un moduļus aktīvajam
projektam.
Galvenās izvēlnes punkts Edit ietver komandas, kas īsteno rediģēšanas operācijas, darbu ar
datu apmaiņas apgabaliem un darbību atcelšanu.
Izvēlne Search
piedāvā komandas teksta meklēšanai un
aizvietošanai, kā arī simbolu un rindu meklēšanai, kas satur kļūdas, ko ir
uzrādījis kompilators.
Izvēlnē View
ir komandas, lai parādītu dažāda veida informāciju un lai izsauktu projekta
menedžeri, objektu inspektoru, objektu pārlūkprogrammu un citas informējošas
utilītas.
Izvēlne Project
satur komandas projekta kompilācijai, kā arī tekošā projekta opciju
uzstādīšanai.
Galvenās izvēlnes punkts Run satur programmas noskaņošanas komandas. Šīs komandas ļauj vadīt
dažādas iebūvētā noskaņotāja funkcijas. (Labošanas komandas ir pieejamas, kad
projekta sastāvā ir iekļauta labošanas informācija.)
Izvēlne Component
satur komandas, kas rada komponentes, pieliek jaunas komponentes, importē ActiveX komponentes, rada jaunu
komponenti uz esošās bāzes un uzstādītu paketes.
Izvēlnes sadaļa Database
satur komandas, kas ļauj radīt jaunas, modificēt un caurskatīt datus.
No izvēlnes sadaļas Tools ir pieejami vides noskaņošanas rīki, citas papildus utilītas,
kas ir Delphi sastāvā, kā arī objektu
repositārijs.
Izvēlnē Help ir komandas, kas izsauc dažādas izziņas
sistēmas sadaļas un dialoga logu “Par programmu”.
Līdz ar tradicionālo izvēlni galvenais izstrādātāja
logs satur arī ātrās piejas pogu paneli
un komponenšu paleti. (2. 1. Attēls.)
![]() |
2.1. Attēls. Galvenais Delphi logs.

2.2. Attēls. Ātrās pieejas pogu panelis.
Sešas instrumentu paneļa pogas blokā pa kreisi (2.2.
Attēls.) padara vienkāršāku pieeju pie pašam izplatītākajām darbībām ar
failiem. Nākošais bloks, kas sastāv no četrām pogām, palīdz orientēties starp
formām un moduļiem lielos projektos. Pēdējās četras standarta paneļa pogas vada
lietotāju programmas palaišanu un noskaņošanu.
Katrs elements katrā komponenšu paletes sadaļā ir
funkcionāla apakšprogramma, kuru var ielikt savā programmā ar vienkāršu peles
taustiņa klikšķi. Komponenšu palete – tā ir redzamais komponenšu bibliotēkas
apraksts Visual Component Library
(VCL). Vizuālo komponenšu bibliotēka sastāv no liela skaita dažādu objektu, kas
uzrakstīti programmēšanas valodā Delphi
Object Pascal un ir izmantojami kā vadības elementi (vai komponentes ) Delphi formās.
Tā palīdz sagrupēt vizuālās komponentes atbilstoši
to nozīmei un jēgai. Pēc noklusēšanas komponentes ir sagrupētas funkcionālās
līnijās. Šīs komponentes izmanto Windows
API (Applicaton Program Interface
(API) – lietojumprogrammu interfeiss) un nodrošina nepieciešamos kodus, lai
būvētu savas lietojumprogrammas priekš Windows. Komponentes var izdalīt divos
pamat tipos : vizuālās un nevizuālās. Vizuālās komponentes tiek izmantotas, lai
izveidotu lietotāja interfeisu. Projektēšanas etapā tiek izmantotas abu tipu
komponentes, bet izpildot programmu nevizuālās komponentes nav redzamas.
Neredzamās komponentes dod iespēju programmētājam īstenot dažādu procesu vadību
vai piedāvā viņam dažādus programmu interfeisus. Dialoga logs – vizuālās
komponentes piemērs, bet taimeris – nevizuālās komponentes piemērs.
Dažādi komponenšu veidi ietver pogas, saraksti,
teksta objekti, rediģēšanas logi, komponentes darbam ar datu bāzēm, taimeri,
attēli, izvēles saraksti u.t.t. Komponentēm ir īpašības, notikumi un metodes,
viss tas, kas dod iespēju programmētājam izmantot to vai citu komponenti un
vadīt tās darbību.
Daudzas īpašības ir kopīgas daudzām komponentēm,
tomēr ne visas īpašības ir visām komponentēm. Dažās īpašības ir kopīgas tikai
atsevišķām komponentēm vai to grupām.
Delphi pamata komponenšu paletei ir 12 lapas.
(Tabula 2.1.)
Tabula 2.1. Delphi
komponenšu paletes apraksts
Standard
|
Lielākā daļa šo komponenšu
ir analoģiskas Windows ekrāna
elementiem: izvēlne, pogas u.c.
|
Additional
|
Papildus vizuālās
komponentes, kas palīdz atainot informāciju ar hierarhisku struktūru,
atskaņot skaņas, mūziku, video, atspoguļot grafisko informāciju.
|
Win32
|
Windows 32 bitu. Ar šīs lapas komponenšu palīdzību var izveidot kokveida
struktūras pārskatu, sarakstu pārskatu, statusa paneli, papaplašinātais
teksta redaktors u.t.t.
|
Data Access
Data Control
|
Piekļūšana pie datiem. Delphi izmanto datu bāzu mehānismu (Borland Database Engine, BDE), lai organizētu piekļūšanu pie
dažādu formātu datu failiem. Izmantojot šīs komponentes veidojot datu
pārskates un rediģēšanas programmas
gandrīz nevajag rakstīt kodu.
|
Win 3.1
|
Windows 3.x. Šeit atrodas Delphi 1.0
komponentes.
|
Dialogs
|
Dialogi. Lapa piedāvā Delphi programmām pieeju pie standarta
dialoga logiem.
|
System
|
Sistēmas panelis piedāvā
iespēju kombinēt atsevišķus elementus, tādus kā disku, katalogu un failu
saraksti. Tāpat šī lapa satur komponentes, kas apstrādā augsta līmeņa datu apmaiņu starp programmām ar OLE
rīkiem.
|
Qreport
|
Ātra atskaišu
sagatavošana. Šī lapa piedāvā datu bāzu komponentes. Šeit ir īpašas uzrakstu,
lauku, piezīmju un citu vadības elementu versijas.
|
ActiveX
|
ActiveX elementi. Šeit atrodas komponentes, kuras ir izstrādājuši
neatkarīgie programmatūras ražotāji: tabula, diagramma, pareizrakstības rīks.
|
Samples
|
Šī lapa satur komponentes,
kuras nav iebūvēts Delphi, bet
demonstrē komponenšu sistēmas jaudu. Šīm komponentēm nav pievienots
apraksts.
|
Internet
|
Šī lapa piedāvā
komponentes, lai iztrādātu lietojumprogrammas, kas ļauj izveidot HTML failus
no datu bāzu failiem un citu formātu failiem, kas sadarbojas ar cietām Internet lietojumprogrammām.
|
![]() |
2. 3. Attēls. Komponenšu izvietošana uz
ekrāna .
Gandrīz visu Delphi lietojumprogrammu pamatā ir
forma, uz kuras izvieto citas komponentes. Delphi
formai ir tādas pašas īpašības kā citiem logiem Windows vidē. Tai ir vadības izvēlne augšējā kreisajā stūrī,
virsraksta josla formas augšējā daļām, maksimizācijas, minimizācijas un formas
aizvēršanas pogas formas labajā augšējā stūrī.
Izvietot komponentes uz formas ir ļoti vienkārši.
Vajag tikai ar peli noklikšķināt uz vajadzīgās komponentes uz paletes un tad
noklikšķināt vajadzīgajā vietā uz formas. (2.3. Attēls)
Viena no svarīgākajām Delphi vides daļām ir rediģēšanas logs. Tas dod izstrādātājam Delphi
koda ievades mehānismu. Koda redaktors ir pilntiesīgs programmu redaktors.
(2.4. Attēls ) Ar sintaktisko elementu izcelto krāsu (kas ļauj ātri atrast
kļūdas), ar lakonisku komandu redaktoru un ar iespēju atcelt izpildāmās
darbības.
![]() |

2.4. Attēls. Kodu
redaktora logs.
2.5. Attēls. Objektu
inspektors.
Objektu inspektors (2.5.
Attēls.) ir ļoti svarīgs lai strādātu ar Delphi.
Tas dod vienkāršu un ērtu interfeisu, lai izmainīt Delphi objektu īpašības un notikumu vadību, uz kuriem reaģē
objekts.
Objektu inspektora lapa
sastāv no divām daļām :
1. Īpašību lapa (Propreties). Piemēram, komponentei Button var uzstādīt dažas
īpašības, kā Height (augstums) –
uzstāda ar skaitlisku vērtību. Citas kā piemēram, Cursor (kursors) ir aprīkotas ar atverošos sarakstu no kura var
izvēlēties vajadzīgo vērtību. Tādas īpašības kā Visible (redzamība) paredz izvēles īpašības true-false. Dažām īpašībām kā sākuma vērtība tiem piedāvāts teksts
(piemēram īpašībai Caption –
uzraksts). Un visbeidzot ir īpašības, kas ir aprīkotas ar rediģēšanas logu,
kurā var ievadīt vērtības. Ir vēl viens īpašību tips – pakārtotās īpašības.
Pirms pakārtoto īpašību nosaukumiem liek “+”zīmi, piemēram, īpašībai +Font. Tāds formāts ir pārskatāms
vienkāršs un efektīvs objekta atribūtu vērtību maiņai.
2. Notikumu lapa (Events). Delphi komponentes ir saistītas ar notikumu komplektu un var tos
apstrādāt. Kods, kas atrodas šajos apstrādātājos izpildās tad, kad notiek
atbilstošs notikums.(piemēram, peles dubultklikšķis). Lai izveidotu notikuma
apstrādātāju vajag izdarīt dubulto klikšķi uz attiecīgo notikumu un var nokļūt
notikumu apstrādātājā, kur var ievadīt kodu. Bez
notikumiem vēl eksistē daži metožu tipi, kas piedāvā vēl vienu ceļu kā vadīt
komponentes. Tā kā komponentes ir objekti, tad to sastāvā ietilpst viņās
aprakstītās procedūras un funkcijas. Metode ir objektā aprakstīta procedūra vai
funkcija, kuru var izpildīt. Piemēram, ja vajag padarīt pogu neredzamu, tad var
uzrakstīt komandu Button1.Hide un poga kļūs neredzama. Lai apskatītos konkrētas
komponentes vai objekta pieejamās, vajag uzklikšķināt uz komponentes un nospiest pogu F1. Tad palīga
logā, kas parādīsies nospiest sadaļu methods (metodes) un parādīsies pieejamo metožu
saraksts. Tad vajag izvēlēties vajadzīgo metodi un iegūt par to aprakstu.
Piemēram, komponentei Button ir
pieejamas šādas metodes:
BeginDrag
BringToFront
CanFocus
ClientToScreen
Create
Destoroy
Dragging
EndDrag
Focused
Free
GetTextBuf
GetTextLen
Hide
Refresh
Repaint
ScaleBy
ScreenToClient
ScrollBy
SendToBack
SetBounds
SetFocus
SetTextBuf
Show
Update
Tāpat kā īpašību gadījumā nosaukumi ir pietiekami
izteiksmīgi un dod priekšstatu par to, ko dara katra metode. Metodes, atšķirībā
no īpašībām nav redzamas caur objektu inspektoru.
Dephi projekts sastāv no formām,
moduļiem, projekta parametru uzstādījumiem, resursiem u.t.t. Visa šī
informācija glabājas failos. Daudzus no šiem failiem automātiski rada Delphi. Kā arī kompilators arī rada
failus.
Izveidojot jaunu projektu, pēc komandas File| New Project, Delphi vide
rada projekta failu un vada to lietojumprogrammas veidošanas laikā. Projekta
fails glabājas ar papaplašinājumu *.DPR
(2.6. Attēls), un priekš katra projekta var būt tikai viens šāds fails. Tas
tiek izmantots, lai glabātu informāciju par formām un moduļiem. Šeit arī
atrodas inicializācijas operatori.
![]() |
2.6. Attēls. Izpildāmā faila izveidošanas process.
Delphi (kā vairākums Windows lietojumprorammu) ir orientēts
uz formu. Informācija priekš formām glabājas divos failos ar paplašinājumu .DMF un .PAS. Fails ar paplašinājumu .DMF
satur informāciju par formas ārējo izskatu tās izmēriem, atrašanās vietu uz
ekrāna u.t.t. Tas ir viens no failiem par kura uzturēšanu nevajag uztraukties.
Kods priekš formas un tās vadības elementiem glabājas failā ar paplašinājumu
*.PAS, kas noformēts kā modulis. Formām
ir īpašības. Pēc to uzstādījumiem var
kontrolēt formas izskatu un darbību. Izmantojot īpašības var izmainīt
formas krāsu un izmēru, tas atrašanās vietu uz ekrāna, izvietot to ekrāna
centrā vai tajā pozīcijā kādā tā ir projektēšanās brīdī, padarīt to redzamu vai
neredzamu un daudz ko citu. Formai ir arī virkne notikumu apstrādātāju (koda
fragmentu, kurus var pievienot un kuri izpildās ļīdz notiek kādas ar formu
saistīts notikums). Var piesaistīt
apstrādāšanu priekš tādiem notikumiem kā
peles klikšķis vai formas izmēra izmainīšana.
Eksistē trīs
tipu moduļi: failu moduļi, kas saistīti ar formu, programmas moduļu faili,
kurus izmanto procedūru un funkciju glabāšanai, un programmas moduļu faili,
kurus izmanto komponenšu veidošanai.
Moduļi –
programmas kodu izejas faili, kam ir papaplašinājums *.PAS.
Moduļa sadaļas:
Tabula 2.2. Moduļa
sadaļas.
Moduļa virsraksts
|
Moduļa virsraksts identificē
dotā faila kodu kā modulis ar vārdu, kas uzrakstīts aiz vārda Unit. Šis nosaukums būs arī šī faila
vārds ar paplašinājumu *.PAS.
|
Interface – Interfeiss
|
Atslēgas vārds Interface atzīmē
moduļa interfeisa sadaļas sākumu; šī
sadaļa tiek izmantota lai deklarētu mainīgos, tipus, procedūras u.t.t, kas
pieejami citiem moduļiem un programmas daļām. Interfeisa sadaļa beidza ar
realizācijas sadaļas sākumu (atslēgas vārds implementation).
|
Uses |
Operators uses pazino
kompilatoram, kādas funkcijas un procedūras vajag sakompilēt izpildāmajā
failā. Delphi automātiski ievieto vairākas tādas Borland bibliotēkas.
Personīgā moduļa vārdu vajag piesaistīt operatoram uses, ja ir nepieciešmas
izmantot funkcijas, kas ir šajā modulī.
|
Type
|
Sadaļu type izmanto lai
pieteiktu lietotāja izveidotos tipus. Šie tipi var tikt tālāk izmantoti
Delphi, lai noteiktu mainīgos. Pēc šī operatora interfeisa sadaļā interface
un klases aprakstā seko pieejas specifikācija. Lai kontrolētu piejas līmeni
pie objektiem no citu programmu un objektu puses, izmanto sekojošus
specifikatorus :
|
Private – aizvērtais
|
Deklarētie šajā sadaļa ir
pieejami moduļa iekšienē, bet nav piejami un zināmi ārpus moduļa robežām.
|
Public –
atvērtais
|
Deklarētie šajā sadaļā ir
redzami un pieejami ārpus moduļa robežām.
|
Published –
publicētais
|
Specifikators tiek izmantots
komponenšu veidošanai. Īpašības published
tiek atspoguļotas objektu inspektorā. Piedāvājot iespēju modificēt tās
projektēšanas laikā.
|
Protected -
aizsargātais
|
Komponentes lauki, metodes un
īpašības, kas deklarētas kā aizsargātas ir pieejamas deklarējamā tipa
pēcnācējiem.
|
Var |
Izmanto lai pieteiktu mainīgos
un mainīgo objektus. Formas modulī var
izmantojas interfeisa sadaļā, lai doto formu deklarētu kā objekta TForm eksemplāru. Realizācijas daļā,
procedūrās un funkcijās var izmanto, lai deklarētu mainīgos.
|
Implementation
|
Šī sadaļa, kurā izvietojas
visas funkcijas un procedūras, kas ir deklarētas interfeisa sadaļā. Jebkuras
šajā sadaļā izvietotās deklarācijas ir aizvērtas. Var ievietot sadaļā implementation operatoru uses, lai iegūtu pieeju pie citiem
moduļiem.
|
{$R*.DMF}
|
Delphi formas modulī
automātiski ievieto šo rindu. Tas ir ļoti svarīgi, jo piesaista formu pie
faila *.DMF
|
Initialization
|
Nav obligāta sadaļa. Izmanto,
lai izpildītu jebkuru kodu, kas var būt vajadzīgs izpildāmā moduļa inicializācijai
un izpildāmā moduļa sagatavošanai.
|
Finalization
|
Nav obligāta sadaļa. Tas palīdz
veikt visu nepieciešamo attīrīšanu pirms moduļa darba beigšanas.
|
Projektu
menedžeris, ko izsauc ar komandu View|
Project Manager, nodrošina pieeju pie visiem failiem, kas ir projektā. Tas
atļauj pārslēgsieties starp failiem un pēc vajadzības izsaukt redaktoru, lai
veiktu izmaiņas.
Pie
ielādēšanās Delphi automātiski rada
jaunu projektu. Var šo projektu izmantot, lai izveidotu jaunu
lietojumprogrammu vai atvērtu jau eksistējošu
projektu, vai izmantot kādu no esošajiem šabloniem kā pamatu jaunas programmas
veidošanā. Lai izveidotu jaunu failu vai atvēru jaunu failu, vai aizvērtu to
var izmantot komandas no izvēlnes File:
Open, Save, Save As, Save Project As, Save All, Close un Close All.
Visu Delphi projektu kompilācijas rezultāts
ir izpildāmais fails. Lai kompilētu izejas failus, kas ietilpst projektā
izmanto komandu Project| Compile no
galvenās izvēlnes vai taustiņu kombināciju Ctrl+F9. Tad tiek veiktas šādas
darbības:
·
Kompilējas faili ar izejas tekstu visiem
moduļiem, kuru saturs ir izmainījies pēc pēdējās kompilācijas. Rezultātā priekš katra moduļa faila tiek radīts fails
ar paplašinājumu *.DCU. Ja izejas teksts kaut kādu iemeslu dēļ nav pieejams
kompilatoram, tad modulis nepārkompilējas;
·
Ja ir bijušas izdarītas izmaiņas moduļa
interfeisa daļā, tad pārkompilējas ne tikai šis modulis, bet arī moduļi, kas
izmanto viņu (caur direktīvu uses);
·
Moduļa pārkompilācija notiek arī, ja ir mainīts objektu fails
(fails ar paplašinājumu *.OBJ), ko
izmanto šajā modulī;
·
Moduļa pārkompilācija notiek arī, ja ir mainīt
iekļaujamais fails (fails ar paplašinājumu *.INC), ko izmanto tas vai cits
modulis.
Pēc tā kad ir nokompilēti visi moduļi projektā, Delphi kompilē projekta failu un rada *.EXE - failu ar tādu pašu nosaukumu kā projektam.
Pie projekta būvēšanas (atšķirībā no kompilācijas)
kompilējas visi faili projektā, atkarībā no tā vai bija izdarītas izmaiņas pēc
pēdējās kompilācijas vai nē. Priekš projekta būvēšanās izmanto komandu Project| Build All no galvenās izvēles
integrētajā izstrādātāja vidē.
Programmas izpildīšanai izmanto komandu Run| Run no galvenās izvēlnes vai
taustiņu F9. Izsaucot šo komandu notiek tās pašas darbības kas pēc komandas Project| Compile , bet pēc kompilācijas
programma palaižas pilnībā.
Eksistē divi projekta parametru vadības veidi. Var
uzstādīt parametrus ar dialoga paneļa Project
Options palīdzību, bet var izmantot
kompilatora direktīvas, kas ir ievietotas programmas izejas tekstā.
Daudzu lapu dialoga logs (2. 7. Attēls.) Project Options dod iespēju uzstādīt
daudzas projekta īpašības kuru nozīme ir parādīta tabulā 2.3. Uzstādītā
informācija glabājas failā ar paplašinājumu *.DFO.
Projektu menedžeris, ko izsauc ar komandu View| Project Manager, nodrošina pieeju pie visiem projekta failiem. Tas ļauj
pārslēgties starp failiem un nepieciešamības gadījumā arī rediģēt vajadzīgo
failu.

2. 7. Attēls.
Dialoga panelis Project| Options| Application .
Tabula 2. 3 Lapu
nozīme logam Project Options
Lapa
|
Uzdodamie parametri
|
Forms
|
Galvenā forma, pārējo formu
veidošanas kārtība
|
Application
|
Pielikuma parametri –
nosaukums, izziņas fails, ikona.
|
Compiler
|
Kompilatora parametri
|
Directories/Conditional
|
Darba katalogi un direktīvas $IFDEF vērtība
|
VersionInfo
|
Izmanto, lai saistītu ar
projektu specifisku informāciju par versiju, kā, piemēram,
autortiesības.
|
Packages
|
Uzstāda Delphi pakešu atbalsta opcijas.
|
Linker
|
Kompilatora parametri.
|

2 .8. Attēls. Projektu
menedžeris.
2.2. Delphi komponentes, kas
izmantotas,
lai izveidotu lietojumprogrammu “Ekonomika”
Uz lapas Standart (2.9. Attēls.) ir savāktas
biežāk izmantojamās komponentes. Pēc Delphi
nostartēšanas šī lapa ir parādās pēc noklusēšanas. Tajā ir savāktas 14
komponentes.
![]() |
2..9. Attēls. Lapa Standart.
Tabulā 2.4. ir
aprakstītas 9 no šīs lapas komponentēm, ko izmanto projektā “Ekonomika”.
Tabula 2. 4 Lapas
Standart komponentes.
Komponente
|
Apraksts
|
![]() |
Komponenti Label (iezīme) izmanto, lai izvietotu uz formām un citiem
konteineriem tekstu, ko nevar izmainīt lietotājs. Var izmantot kā uzrakstu
citām komponentēm, kurām nav īpašības Caption.
Vizuālā komponente.
|
![]() |
Komponenti Edit (rediģēšanas logs) izmanto, lai lietotājs varētu ievadīt
tekstu vienā rindā. Var izmantot, lai parādītu tekstu un rediģētu tekstu. Var
parādīt arī nerediģējamu tekstu ar Edit
tipa komponentes palīdzību. Tam nolūkam vajag piešķirt īpašībai ReadOnly vērtību True.
|
![]() |
Komponenti Memo (daudzrindu teksta rediģēšanas logs ) izmanto, lai parādītu
un rediģētu daudzrindu tekstu. Var saturēt vairākas rindas, kas tiek uzdotas
vai nu ar īpašību Text, vai ar
īpašību Lines. Īpašību Text izmanto, lai piekļūtu visam Memo saturam, bet īpašība Lines – priekš piekļūšanas pie teksta
pa rindām. Vizuālā komponente.
|
![]() |
Komponenti Button (poga) izmanto, lai veidotu pogas, ar kurām lietotājs
izvēlas komandas lietojumprogrammā. Pogas nospiešana izpilda parasti kādu
funkciju. Parasti pogas izmanto kā vadības elementus dialoga logos. Par pogu
pēc noklusēšanas skaitās poga, kura sūta OnClick
notikumu pie Enter nospiešanas. Lai
izveidotu pogu ar vērtību pēc noklusēšanas ir jāpiešķir īpašībai Default vērtība True. Par “Cancel” pogu
tiek uzskatīta poga, kura sūta OnClick
notikumu pēc Esc nospiešanas. Lai
poga kļūtu par “Cancel” pogu, tai
nepieciešams uzdot īpašību Cancel vērtību
True. Vizuāla komponente.
|
|
Komponente ChechBox (izvēles rūtiņa) ļauj lietotājam izvēlēties vai izslēgt
programmas opcijas. Ar rūtiņu grupas palīdzību ar neatkarīgu fiksāciju var izvēlēties vairākas opcijas. Lai
izvēlētos viena otru izslēdzošas opcijas, ir jālieto rūtiņas ar atkarīgu
fiksāciju. Rūtiņas stāvoklis glabājas īpašībā Checked. Pie rūtiņas ieslēgšanas – izslēgšanas notiek notikums OnClick. Īpašība State ļauj uzstādīt rūtiņas stāvokli. Vizuālā komponente.
|
![]() |
Komponente ComboBox (rediģējamais saraksts) apvieno komponenšu ListBox un Edit funkcijas. Šis ir interfeisa
elements, kas iekļauj sevī sarakstu, statisko tekstu vai rediģēšanas rindu.
Vizuālā komponente.
|
![]() |
Komponente GroupBox (grupas logs) ir konteiners, kas apvieno saistītu vadības
elementu grupu, tādus kā RadioButton,
izvēles rūtiņu ChechBox u.t.t
Grupas virsraksts ( atrodas taisnstūra kreisajā augšējā stūrī) tiek uzdots ar
īpašību Caption. Pēc tam, kad
komponentes ir izvietotas grupā, tā kļūst par to senča klasi (īpašība Parent). Vizuālā komponente.
|
![]() |
Komponente RadioGroup (radio pogu grupa) ir grupas loga GroupBox ar radio pogu RadioButton komplektu kombinācija;
kalpo speciāli lai radītu radiopogu grupu. Var izvietot komponentē vairākas
radio pogas, bet nekādi citi vadības elementi nav paredzēti. Vizuālā
komponente.
|
![]() |
Komponente Panel
(panelis) ir vēl viens konteiners, lai grupētu vadības elementus un
mazākus konteinerus. Paneli var izmantot, lai konstruētu statusa joslu,
instrumentu paneļus, instrumentu paletes. Vizuālā komponente.
|
Pie kopējām
komponenšu īpašībām, kuras izmanto šajā darbā, attiecas:
1. Īpašība Algin.
Uzdod komponenšu izlīdzināšanas tipu formas ietvaros. Var būt noderīga vairākos
gadījumos, kad ir nepieciešams , lai komponentes izvietotos noteiktās formas
vietās neatkarīgi no tās izmēra. Var pieņemt vienu no sekojošajām vērtībām:
Tabula 2.5. Īpašības
Algin vērtība
Nozīme
|
Apraksts
|
alNone
|
Izlīdzināšana neizmantojas.
Komponente izvietojas tajā vietā, kur tika novietota projektēšanas laikā.
|
alTop
|
Komponente pārvietojas uz
augšējo formas daļu un tās platums kļūst vienāds ar formas platumu.
Komponentes augstums no tā nemainas.
|
alBottom
|
Komponente pārvietojas uz
apakšējo formas daļu un tās platums kļūst vienāds ar formas platumu.
Komponentes augstums no tā nemainas.
|
alLeft
|
Komponente pārvietojas uz
kreiso formas daļu un tās augstums kļūst vienāds ar formas augstumu.
Komponentes platums no tā nemainas.
|
alRight
|
Komponente pārvietojas uz labo
formas daļu un tās augstums kļūst vienāds ar formas augstumu. Komponentes
platums no tā nemainas.
|
alClient
|
Komponente pilnībā aizņem visu
formas darba apgabalu.
|
2. Īpašība Color. Uzdod formas fona krāsu vai komponentes krāsu, vai grafiskā
objekta krāsu. Īpašības Color vērtība
ir parādītas tabulā 2.6:
Tabula 2.6. Īpašības
Color vērtība
Vērtība
|
Krāsa
|
clBlack
|
Melna (Black)
|
clMaroon
|
Tumši sarkans (Maroon)
|
clGreen
|
Zaļš (Green)
|
clOlive
|
Olīvkrāsas (Olive)
|
clNavy
|
Tumši zils (Navy)
|
clPurple
|
Violets (Purple)
|
clTeal
|
Zilizaļš (Teal)
|
clGray
|
Pelēks (Gray)
|
clRed
|
Sarkans (Red)
|
clLime
|
Spilgti zaļš (Lime)
|
clBlue
|
Zils (Blue)
|
clFuchsia
|
Ceriņkrāsas (Fuchsia)
|
clAqua
|
Spilgti zils (Aqua)
|
clWhite
|
Balts (White)
|
3.
Īpašība Ctl3D. Ļauj uzdot komponentes izskatu.
Ja šis īpašības vērtība ir False, tad
komponentei ir divdimensiju izskats, citādi – trīsdimensiju (vērtība pēc
noklusēšanas).
4. Īpašība Enabled.
Ja šis īpašibas vērtība ir True, komponente reaģē uz peles, klaviatūras un
taimera ziņojumiem. Petējā gadījumā (vērtība False) šie ziņojumi ignorējas.
5. Īpašība
Font. Daudzas vizuālas komponentes
izmanto šriftu pēc noklusēšanas. Pie komponentes izmantošanas īpašības Font vērtībai (klase TFont) ir piešķirtas sekojošas vērtības,
kas parādītas tabulā 2. 7.
Tabula 2. 7 Īpašibas
Font vērības
Īpašiba
|
Vērtība
|
Charset
|
BALTIC_CHARSET (latviešu
valodas atbalsts)
|
Color
|
ClWindowText (Teksta tekošā
krāsa loga iekšienē)
|
Height
|
-13 (sākuma vērtība šai
īpašībai izskaitļojas sekojoši:
Height:= -MulDiv(10,
GetDeviceCaps(DC, LOGPIXSELSY), 72))
|
Name
|
Times New Roman
|
Pitch
|
fpDefault
|
Size
|
10
|
+ Style
|
|
6. Īpašība
Height. Uzdod komponentes vai formas
vertikālo izmēru. Kopā ar radniecīgām īpašībām Width, Left, Top šīs īpašības raksturo komponentes izmērus un
novietojumu uz ekrāna.
7. Īpašība
Left. Uzdod komponentes kreisā stūra
horizontālo koordināti attiecībā pret formu pikseļos. Priekš formām šī īpašība tiek uzdota
attiecībā pret ekrānu. Kopā ar radniecīgām īpašībām Width, Height, Top šīs
īpašības raksturo komponentes izmērus un novietojumu uz ekrāna.
8. Īpašība
ParentColor. Šī īpašība palīdz uzdot
kādā krāsā būs komponente. Ja šīs īpašības vērtība ir True, komponente izmantos radnieciskās komponentes krāsu (īpašības Color vērtību). Ja īpašības ParentColor vērtība ir False, komponente izmanto savu paša
vērtību Color. Manipulējot ar šīm
īpašībām var panākt, ka visām formas komponentēm ir vienāda krāsu gamma, kura
mainīsies attiecīgi izmainot formas krāsu.
9. Īpašība
ParentFont. Šī īpašība ļauj norādīt
kādā veidā komponente noteiks kādu šriftu viņai lietot. Ja šīs īpašības vērtība
ir True, komponente izmantos
radnieciskās komponentes šriftu, ja vērtība ir False, komponente izmanto savu paša vērtību Font.
10.Īpašība
ParentCtl3D. Šī īpašība ļauj norādīt
kādā veidā komponente noteiks vai tā būs trīsdimensiju vai nē. Ja šīs īpašības vērība ir True, tad komponentes izskats tiks
uzdots atkarībā no tās īpašnieka ParentCtl3D
vērtības, ja vērtība ir False tad
komponente izmantos savu ParentCtl3D
vērtību. Izmantojot šo īpašību var pārliecināties, ka visām komponentēm būs
vienāds izskats.
11.Īpašība
TabOrder uzdot kārtību kādā
komponentes iegūs fokusu nospiežot taustiņu Tab.
Pēc noklusēšanas šī vērtība tiek piešķirta komponenšu izvietošanas kārtībā uz
formas – pirmajai komponentei būs šis īpašības vērtība 0, otrai – 1u.t.t. Lai
izmainītu kārtību nepieciešams izmainīt īpašības TabOrder vērtību konkrētai komponentei. Komponente, kurai īpašības TabOrder vērtība ir 0, iegūst fokusu parādoties formai.
Īpašību TabOrder var izmantot tikai
kopā ar īpašību TabStop.
12.Īpašība
TabStop. Šī īpašība ļauj noteikt vai
komponente var iegūt fokusu vai nē. Komponente iegūt fokusu, ja īpašības TabStop vērtība ir True.
13.Īpašība
Top. Uzdod komponentes kreisā stūra
vertikālo koordināti attiecībā pret formu pikseļos. Priekš formām šī īpašība tiek uzdota
attiecībā pret ekrānu. Kopā ar radniecīgām īpašībām Width, Height, Left šīs īpašības raksturo komponentes izmērus un
novietojumu uz ekrāna.
14.
Īpašība Visible. Šī īpašība ļauj
noteikt vai komponente ir redzama uz ekrāna. Šīs īpašības vērtības vada metodes
Show un Hide.
Lappusē ar nosaukumu Additional (papildus) ir savākta grupa no 13 komponentēm. (2.10.
Attēls) Veidojot lietojumprogrammu tika izmantotas divas no tām, kuru apraksta
ir dots tabulā 2. 8.
![]() |
2.9. Attēls. Lapa Additional
Tabula 2.8 Lapas
Additional komponentes
Komponente |
Apraksts
|
![]() |
Komponenti Image izmanto, lai atainotu grafiku:
piktogrammas, bitu matricas un
metafailus. Vizuālā komponente.
|
![]() |
Komponente BitBtn izmanto, lai veidotu pogas uz kurām būs izvietota bitu
garfika (piemēram, poga Ok ar
ķeksīti). Vizuālā komponente.
|
Lapa Internet satur 15 komponentes, kas ļauj
samazināt darbu, lai veidotu Internet lietojumprogrammas.
Pie lietojumprogrammas izveides ir izmantota viena komponente no šis lapas.
(2.11. Attēls)
![]() |
2.11. Attēls. Lapuse
Internet.
Tabula 2. 9 Lapas
Internet komponentes
Komponente |
Apraksts
|
![]() |
Komponente HTML tiek izmantota, lai parādītu HTML lapas HTML
kodējumā, tādus kā pārlūkprogramma Web.
Nevizuāla komponente.
|
Lapa Data Access (piekļūšana pie datiem) satur 11 komponentes,
lai sasaistītu un nodotu informāciju starp datu bāzēm. (2.12. Attēls)
Izveidojot doto lietojumprogrammu tika izmantotas 4 komponentes, kas ir
aprakstītas tabulā 2.10.
![]() |
2.12. Attēls. Lapa Data Access
Tabula 2.10 Komponenšu
lapas Data Access apraksts
Komponente |
Apraksts
|
![]() |
Komponente DataSource tiek izmantota,
lai savienotu komponentes Table un Query ar komponentēm, kas attēlo
datus. Nevizuālā komponente.
|
![]() |
Komponenti Table izmanto, lai nodibinātu lietojumprogrammas saiti ar datu
bāzes failu. Nevizuālā komponente.
|
![]() |
Komponenti Query izmanto, lai veidotu un izpildītu SQL pieprasījumus pie
attālinātiem SQL serveriem vai lokālām datu bāzēm. Nevizuālā komponente.
|
![]() |
Komponenti Session izmanto, lai nodrošinātu lietojumprogrammas globālo
vadību savienojumam ar datu bāzēm. Nevizuālā komponente.
|
![]() |
Lapa Data Controls satur 15
komponentes, kas orientētas uz datiem. Lielākā daļa šo komponenšu ir orientētas
uz datiem un ir analogas komponentēm no lapām Standart un Additional
(2.13.Attēls). Lietojumprogrammas projektēšanā ir izmantotas 3 no šīm komponentēm,
kas aprakstītas tabulā 2.11.
2.13. Attēls. Lapa Data
Controls
Tabula 12 Lapas
Data controls komponenšu apraksts
Komponente |
Apraksts
|
![]() |
Komponenti DBGrid izmanto datu parādīšanai tabulas veidā, kurā datus attēlo
pa rindām un kolonnām. Vizuālā komponente.
|
![]() |
Komponente DBText ir uz datiem
orientēts komponentes Label
variants. Vizuālā komponente.
|
![]() |
Komponente DBMemo ir uz datiem orientēts komponentes Memo variants. Vizuālā komponente.
|
Lapa Samples
(paraugi) satur 6 VCL komponentes piemērus. (2.14. Attēls). Darbā ir izmantota
viena šīs lapas komponente.

2.13. Attēls. Lapa Samples
Tabula 2.13 Komponentes
SpinEdit apraksts no lapas Samples
Komponente |
Apraksts
|
![]() |
Komponenti piemēru SpinEdit, lai izveidotu pogas-
skaitītājus. Tas apvieno sevī trīs komponentes – divas pogas ar trīsstūriem
uz tām uz augšu un leju, un komponenti ‘Ievades rinda’. Vizuālā komponente.
|
Lapa
Win32, kas parādīts (2.15. Attēls.) , satur 16 komponentes, kas ļauj izstrādāt
lietojumprogrammas Windows 95/NT
stilā. Dotajā darbā ir izmantotas 2 šīs lapas komponentes.

2. 15.Attēls. Lapa Win32
Tabula 2. 13 Lapas Win 32 komponenšu apraksts
Komponente
|
Apraksts
|
![]() |
Komponente DateTimePicker nodrošisn datu ievadi līdzīgi kā ComboBox, bet ar
atverošos kalendāru. Vizuālā komponente.
|
![]() |
Komponenti Animate izmanto, lai darbinātu klipus AVI (secīgi bitu attēli), līdzīgi kādus izmanto Windows
95, kas parāda failu pārvietošnos no faila uz failu kopēšanas vai
pārvietošanas operācijās. Vizuālā komponente.
|
Lapa QReport (ātra atskaite),
kas parādīta 2.16 attēlā, satur 17 komponentes, kuras izmanto atskaišu
ģenerēšanā. Darbā ir izmantotas 6 komponentes.

2.16. Lapa QReport
Tabula 14 Lapas
QReport apraksts
Konponente
|
|
![]() |
Komponente QBand tiek izmantota
konstruējot atskaites izvietojot uz tās drukājamās komponentes. Vizuālā
komponente.
|
![]() |
Komponente QDBText ir uz datiem orientēta komponente teksta attēlošanai
atskaitē. Vizuālā komponente.
|
![]() |
Komponente QRExpr ļauj konstruēt un attēlot datu lauku un sistēmas lielumu
(kā, piemēram, datums un laiks) izteiksmes. Īpašība Expression ietver sevī
dialoga logu Izteiksmju Veidotājs (Expression Buider), kas dod iespēju veidot
izteiksmi vizuāli. Vizuālā komponente.
|
![]() |
Komponenti QSysData izmanto, lai ievietotu sistēmas datus atskaitē. Vizuālā
komponente.
|
![]() |
Komponenti QRLabel izmanto, lai ievietotu tekstu atskaitē. Vizuālā
komponente.
|
![]() |
Komponenti QRGroup izmanto, lai grupētu datus. Vizuālā komponente.
|
2. 3. Lietojumprogrammas
“Ekonomika” zināšanu kontrolei
kursā “Ievads ekonomiskajā teorijā” proektēšanas etapi
1. Analīze. Dotās lietojumprogrammas izstādes stadijas rezultāts ir
noskaidrošana, kas ir jādara programmai. Ar šīs programmas palīdzību skolotājs
var pārbaudīt skolēnu zināšanas priekšmetā “Ievads ekonomikas teorijā”.
Zināšanu kontrolei ir jāīsteno testu veidā. Katrs tests satur 8 jautājumus ar
četriem atbilžu variantiem, no kuriem tikai viens ir pareizs. Pirms testēšanas
skolēnam ir jāatkārto tēma, pēc kuras notiks testēšana un testēšanas beigās
viņam ir jāredz rezultāts, pēc kura var noteikt kādu atzīmi viņš saņems.
Pareizo atbilžu skaits parāda atzīmi, kādu viņš saņems. Maksimālā atzīme ir 8
balles, jo testi iekļauj sevī tikai to
materiālu, ko apgūst klasē, nedīgst būt jautājumi, kas nav dotajā
tēmā. Testēšanas rezultāti ir jāsaglabā,
lai pasniedzējs arī varētu tos pārbaudīt un izlikt atzīmes.
2. Prasības. Šajā etapā būs uzskaitītas darbības, kuras veic programma:
1) Programmai ir jānodrošina
ierobežota pieeja pie jautājumu, atbilžu un testa rezultātu datiem, priekš
skolēniem un pasniedzēja.
2) Programmai jādod pieeja
darbam tikai pēc testējamā reģistrācijas un datiem ir jāglabājas tā, lai pie
atkārtotas testēšanas nevajadzētu tos atkal ievadīt.
3) Pie nejaušas programmas
palaišanas skolēnam ir jābūt iespējai iziet no tās.
4) Programmai ir jāparedz tikai
viens pareizas atbildes variants.
5) Testēšanas programmā
atbildes nav jānumurē.
6) Katrā nākamajā testēšanā
programmai ir jāparedz jautājumu samaisīšanu gadījuma kārtībā.
7) Testējamajam ir jābūt
iespējai izvēlēties tēmu no atbilstošā
tematiskā bloka un izlasīt to pirms testēšanas, lai atkārtotu un nostiprinātu
zināšanas.
8) Tēmas tekstiem ir jābūt
nelieliem, lai neapgrūtinātu nolasīšanu no ekrāna, saturētu tikai
pamatmateriālu ar pamat tēmas izcelšanu.
9) Testēšanā testējamajam ir
jāredz tēmas nosaukums, jautājuma numurs un atbildes varianti un ir jābūt
iespējai izvēlēties tikai vienu atbildi.
10) Testēšanas procesā
audzēkņim ir jābūt iespējai atteikties no testēšanas.
11) Testēšanas procesā
audzēkņim ir jābūt iespējai atgriezties pie iepriekšējā jautājuma un, ja tas ir
nepieciešams, izmainīt varianta atbildes izvēli.
12) Pēc testēšanas beigām
testējamajam ir jābūt izvēlei: vai nu
uzzināt tests rezultātus uzreiz, vai tomēr vēlreiz pārskatīt izvēlētās
atbildes.
13) Testēšanas datu rezultātos
skolēnam ir jāredz tēmas nosaukums, pēc kuras viņu testē, savs vārds un
uzvārds, testēšanas datums, kopējais jautājumu skaits, kopējais pareizo atbilžu
skaits, kopējais nepareizo atbilžu skaits, jautājumu skaits, kas ir palikuši
bez atbildes, pareizo atbilžu procents no kopējā jautājumu skaita.
14) Audzēkņim nav jāredz citu
skolēnu testu rezultātus, lai tas viņu nenovirzītu no testēšanas pamatuzdevuma,
bet viņam ir jāredz savi rezultāti, netikai uzreiz pēc testēšanas. Tad viņam ir
jāredz tēmas nosaukums, testēšanas datums un rezultāti.
15) Testējamajam nav jābūt
tiesībām noģenerēt atskaiti par testēšanas rezultātiem un nodrukāt to.
16) Skolotājam ir jābūt
iespējai modificēt jautājumus un atbildes, tās papildināt, pārskatīt testēšanas
rezultātus pa visām grupām, skolēniem un tēmām, ģenerēt un drukāt atskaites par
testēšanas rezultātiem pa konkrētiem datumiem
vai bez to norādīšanas, izvēloties grupu, skolēnu, tēmu.
17) Programmā ir jābūt iespējai
modificēt mācību tēmu tekstus, neiejaucoties programmas pamat kodā.
18) Programmā ir jābūt
paredzētiem izņēmuma gadījumiem, lai tie nenobojātu normālu programmas darbu,
bet kādas kļūdas gadījumā nodrošinātu normālu programmas aizvēršanu.
3.
Projektēšana.
1) Lietotāja grafiskā
interfeisa projektēšana. Lietojumprogrammas interfeisa daļas izveidošana sākas ar galvenās
formas īpašību uzstādīšanu: izmērs, novietojums uz ekrāna u.c. Tad ir jāizvieto
interfeisa elementi, izvēloties attiecīgas komponentes no komponenšu paletes:
pogas, sarakstus, uzrakstus u.t.t. Programmas “Ekonomika” interfeisa
projektēšanā ir izmantoti principi uz kuriem ir balstīta Windows
95 sistēma. Lai lietojumprogramma būtu darbaspējīga tai ir jāsadarbojas ar
lietotāju. Tas notiek ar vadības orgānu palīdzību. Tie dod lietotājam darbību inicializācijas iespēju vai citu
objektu īpašību uzdošanu. Eksistē daudz vadības orgānu stilu un veidu.
Manipulēšana
ar vadības orgāniem notiek ar peles palīdzību un tās labo taustiņu. Lielākajai
vadības orgānu daļai ir karstā zona- ekrāna apgabals, kas reaģē uz peles labā
taustiņa nospiešanu, kas inicializē kādas darbības, ja peles kursors ir
novietots šajā zonā. Dažiem objektiem šīs zonas ir acīm redzamas, kā
piemēram, parastai pogai. Citiem vadības
orgāniem var būt karstās zonas, kas ir lielākas vai mazākas par pašu objektu.
Piemēram, izvēles rūtiņai (CheckBox),
ir karstā zona, kas ietver sevī ne tikai rūtiņu, bet arī tās apzīmējumu.
Apzīmējumi ir svarīgi interfeisa elementi, jo tie ļauj ātri saprast vadības orgānu nozīmi.
Lietojumprogrammā
“Ekonomika” pogām ir konkrēti
nosaukumi : “Izeja” vai “Aizvērt” – formas aizvēršanai, “Atcelt” – lai
atteiktos no kādas darbības izpildīšanas. “Par programmu” – lai izsauktu formu
ar informāciju par programmu, “Iepr. jautājums” – lai atgrieztos pie
iepriekšējā jautājuma, “Nāk. jautājums” – lai pārietu pie nākošā jautājuma, “Izdrukāt”-
izdrukāt uz printera, “Ok”- lai apstiprinātu datu pareizību pie lietotāja
reģistrācijas datu ievades, “Ierakstīt” – lai ierakstītu ierakstu datu bāzes
tabulā.
Pogām,
kas izsauc mācību tēmas, nav nosaukuma blakus tām ir izvietotas
komponentes Label ar tēmu nosaukumiem, piemēram: “Ekonomiskās domas vēsture” .
ModalResult īpašības pogām, kas izsauc
formas tematisko bloku, ir piešķirta vērtība mrOk. Nospiežot šīs pogas
parādās pakārtotās formas.
Komponentes
Label notikumā OnClick ir ielikta vērtība Button.OnClick.
Tas nozīmē, ka notiks viens un tas pats notikums nospiežot peles kreiso
taustiņu uz komponenti Label un uz
tai atbilstošu pogu. Priekš lietotājiem tas ir ērti nevajag obligāti spiest uz
pogu, kā arī, no estētiskā viedokļa mācību tēmu izsaukšanas pogas ir
konstruētas salīdzinoši mazas.
Bez
pogām, kā vadības orgāni lietojumprogrammā tiek izmantotas radio pogas un
kontroles indikatori. Radio pogas var tikt izmantotas divos veidos. Pirmais –
ir vienas vērtības režīms un radio pogu pielietošana jaukto vērtību režīmā.
Izveidotajā lietojumprogrammā komponente RadioGroup
ir ievietota panelī, jo komponente Panel garantē, ka jebkurā brīdī būs iezīmēta tikai
viena poga. Tas ir nepieciešamas, lai izvēlētos vienu vērtību no četrām testa
atbildēm.
Kontroles
indikatori ir opciju izvēles indikators programmā. Indikators var atrasties
vairākos stāvokļos. Iezīmēts vai neiezīmēts, tiek noteikts ar īpašību State, kas var pieņemt vērtības cbCheched (iezīmēts), cbUnchecked (neiezīmēts) vai cbGrayed (iezīmēts iekrāsots).
Komponente ChechBox programmā Ekonomika
izmantojas lai aizpildītu datu bāzes tabulu priekš pareizas atbildes
atzīmēšanas.
Lai
izvēlētos grupu, tēmu, uzvārdu ir izmantota komponente ComboBox. Grupu numuri glabājas failā Grupa.txt. Tēmas un lietotāju uzvārdi glabājas atbilstošās datu
bāzes tabulās.
Lai
ievadītu vārdu, uzvārdu, reģistrācijas paroli, tēmas nosaukumu un atbildes tiek
izmantota komponente Edit. Teksta
logs uztur teksta ievietošanas, izmainīšanas un dzēšanas tehnoloģiju.
Atkarībā
no tā vai formai ir jāmaksimizējas vai jāminimizējas, tās īpašībām BorderIcons, biMinimize un biMaxsimize
ir iestādīts false, lai skolēniem
būtu mazāk iespēju izdarīt nevajadzīgas darbības.
Katrai
formai ir virsraksts, pēc kura ir viegli noteikt tās nozīmi, piemēram,
“Testēšana”, “Rezultāti” u.c. Pie krāsu shēmas izvēles tika nolemts nenomainīt
sistēmas krāsas ar savām. Formās nav atverošās izvēlnes, jo programmas
“Ekonomika” funkcijas darbojas bez tās.
2) Ekrāna projektēšana. Projektējot ekrānu bija
pārdomāta informācijas strukturētība un sabalansētība, kas izvietota logos,
elementu mijiedarbība, informācijas hierarhija.
Ekrāna
projektēšanā tiek ņemts vērā, kāda informācijai jāparādās uz pirmā ekrāna, otrā
u.t.t kādā kārtībā.
Palaižot
programmu pirmajam ir jāparādās logam ar paroli, kurā ir informācijas par
lietotāju ievades lauki, datu ievades vai atteikšanās no programmas darba
pogas. Priekš šā loga var izmantot šablonu no
saraksta Dialogs – Passvord
Dialogs. Priekš administratora šajā dialoga logā pēc vārda ievades parādās
paroles ievades lauks (pielikums Nr.1). Nospiežot pogu “Ok” parādās galvenais
logs, bet nospiežot pogu “Cancel” programmas darbs tiek pārtraukts. Galvenā
lietojumprogrammas forma – pirmā forma, kura veidojas programmas iekšienē.
Aizverot galveno formu programmas darbs tiek pārtraukts.
Galvenajā
ekrānā tematisko bloku izsaukšanas bloku pogas ir apvienotas divās vizuālajās Panel komponentēs, kas uzlabo estētisko
informācijas uztveršanu un parāda elementu mijiedarbību. Priekš administratora
galvenais logs atšķiras ar vēl vienu pogu, kas ļauj labot datu bāzi. (pielikums
Nr.2). Nospiežot pogu “Par programmu”
izsaucas logs ar informāciju par programmu (pielikums Nr.3). Šis logs nav saistīts ar pašas programmas tiešu izpildi. Nospiežot
pogas ar tēmas nosaukumiem, parādīsies logi “Ekonomiskās sistēmas”,
“Pieprasījuma un piedāvājuma pamati” un “Ražošanas pamati” (pielikums Nr. 4)
Logi
“Ekonomiskās sistēmas”, “Pieprasījuma un piedāvājuma pamati” un “Ražošanas
pamati” satur pogas ar apzīmējumiem, lai izsauktu tēmas pārskatu pirms
testēšanas (Pielikums Nr.5). Nospiežot pogu “Izeja” parādīsies informējošs
dialoga logs, kas piedāvā testēties vai atteikties no tā.

2.
17. Attēls. Informējošais dialoga logs.
Nospiežot pogu
“Yes” atveras testēšanas logs (pielikums Nr.6), nospiežot “No” atgriezīsies pie
iepriekšējā loga, no kura tika izsaukta tēma.
Testēšanas
ekrāns satur informāciju par tēmu, jautājuma numuru, jautājuma tekstu, kam ir
jābūt pieejamam tikai lasīšanai, bet ne labošanai un atbilžu izvēli. Nospiežot radio
pogu vai atbildes varianta tekstu, pogai ir jāiezīmējas. Nospiežot pogu
“Atcelt” notiks atgriešanās pie loga no kuras izsaucās tēma, nospiežot pogu
“Nāk. jautājums” parādīsies nākamais logs ar nākamajiem jautājumiem, nospiežot
pogu “Iepr. jautājums” notiks atgriešanās pie iepriekšējā jautājuma, pie kam
atbildēm ir jābūt citādā kārtībā, bet atzīmētai ir jābūt izvēlētajai atbildei.
Pēc atbildes uz pēdējo jautājumu atzīmēšanas, parādīsies informācijas dialoga
logs, kas piedāvās vai nu atgriezties pie atbilžu pārskatīšanas vai nu
atteikties no tā:

2.
18. Attēls. Informācijas logs.
Nospiežot pogu
“Yes” notiks atgriešanās testa logā, nospiežot “No” jāparādās logam ar testa
rezultātiem. (pielikums Nr.7) . Nospiežot pogu “Izeja” ir jāatgriežas atpakaļ
logā no kura tika izsaukta tēma. Nospiežot pogu “Rezultāti” no logiem
“Ekonomiskās sistēmas”, “Pieprasījuma un piedāvājuma pamati” un “Ražošanas
pamati” parādīsies logs ar testa rezultātu izvēli (pielikums Nr.8), pie kam
lietotājas nevarēs izvēlēties citu skolēnu testa rezultātus, bet administrators
varēs izvēlēties grupas, skolēnu uzvārdus un tēmas. Nospiežot pogu “Izeja”
aizveras dialoga logs un parādās logs no kura tika izsaukts dialoga logs.
Ja lietotājs
ir iegājis kā administrators, tad viņam logos “Ekonomiskās sistēmas”,
“Pieprasījuma un piedāvājuma pamati” un “Ražošanas pamati” būs pieejama poga
“Izdruka”, kuru nospiežot parādīsies logs “Izdrukāt”. Nospiežot pogu
“Izdrukāt” var noģenerēt atskaiti, ja
pirms tam izvēlas grupu, skolnieku, tēmu , datumu. Atskaites logam ir pārskata
režīma pogas, saglabāšanas poga, faila atvēršanas poga un loga aizvēršanas
poga. (Pielikums Nr.9). Lai izveidotu šo failu var izmantot šablonu.
4. Kodēšana. Katram programmas interfeisa elementam ir jāveic kāda funkcija, kā
bija aprakstīts augstāk. Lai aprakstītu darbības, kurām ir jāizpildās tajā vai
citā gadījumā, Delphi izmantojas notikumu apstrādātājs. Katrai
komponentei ir notikumu saraksts, kuras
tas var apstrādāt. Programmētāja
uzdevums- izveidot kodu, kas tiks izpildīts pie tā vai cita notikuma
notikšanas. Bez tam programmā nācās ierakstīt pietiekami daudz papildkodu, zem kuriem tiek saprastas
procedūras un funkcijas, kas nosaka dotās lietojumprogrammas unikālo
funkcionalitāti. Parasti tādas procedūras un funkcijas tiek izsauktas no
notikumu apstrādātāja metodēm. Delphi
nodrošina brīvu pieeju pie Windows
darbības notikumu modeļa, maksimāli vienkāršojot tā vai cita notikuma apstrādes
procesu. Vizuālās komponentes sevī ietver vispārīgāku kopējo (no Windows čaulas viedokļa) paziņojumu
apstrādātāji. Ja nepieciešamas izveidot citu paziņojumu apstrādātājus, var
izmantot objektu orientēto tehnoloģiju šinī gadījumā tiek izveidots tās
komponentes objekts – mantinieks, kuram ir jāapstrādā jūs interesējošie
notikumi un šī notikuma speciālais metodes apstrādātājs. Bet vairākumā gadījumu
var iztikt ar tiem apstrādātājiem, kurus piedāvā standarta komponentes, kas
ieslēgtas Delphi sastāvā.
Viens no programmas
izstrādes principiem ir modulētība un lokalizācija modulis – tā ir ar viena
otru saistītu funkciju grupa. Moduļi ļauj īstenot daudzkārtējo programmu
nodrošinājuma pielietošanu un komponenšu koncepciju. Moduļi izstrādātājam dod
iespēju izveidot virkni bibliotēku
standartprocedūru un funkciju. Intreface
sadaļā tiek deklarēti tie mainīgie, konstantes u.c., kurus jūs gribiet padarīt
pieejamus dotajam moduļiem un citiem moduļiem. Viss, kas ietverts šajā nodaļā
ir pieejams jeb kurai programmai, kas savā operatorā uses ietver dotā moduļa nosaukumu.
Iespēja sadalīt programmu daļās ļauj pārdomāti grupēt funkcijas un
procedūras moduļos, kas uzlabo projekta organizētību. Delphi pats izveido moduļus un kodus pēc formu izmaiņu
izdarīšanas.
Modulētība un lokalizācija
dabiski iekļaujas klašu struktūrās, klases ir principiāli modulētas, bet
lokalizācija nozīmē loģisku moduļu organizētības uzturēšanu: katram modulim ir
jāsatur loģisks savstarpēji saistīts kods. Datu abstrahēšana tiek ļoti labi
uzturēta par Delphi klasēm. Atslēgas
vārdi private un protected dod divus līmeņus informācijas atdalīšanai no dotās
klases objektiem. Abstrahēšana tiek uzturēta ar informācijas nodalīšanu un
klases failu struktūru interfeisa realizācijas veidā. Visi realizācijas detaļas
tiek atdalītas. Moduļa metodes priekšrocības nosaka tas, ka moduli no vienas
lietojumprogrammas var ielikt citā, un tas strādās tajā vietā. Lai moduļus
izmantotu atkārtoti tiem jābūt stiprai savstarpējai saistībai un vājai
sķēdetībai ar citiem moduļiem. Saistība nozīmē, ka moduļa iekšējām funkcijām
jābūt cieši integrētām moduļa iekšienē. Moduļiem jābūt vāji saķēdētiem ar
saviem kaimiņiem (tas ir ļoti maz vai nemaz nebūt atkarīgiem no tiem ). Ja
modulis ir stipri atkarīgs no citiem moduļiem, tad to nevar pārnest uz citu
lietojumprogrammu, nepārnest uz turieni arī lielu daudzumu blakusesošo moduļu.
Lietojumprogramma “Ekonomika” sastāv no 13 moduļiem,
kas saistīti ar formām. Funkcionālā saistība starp moduļiem parādīta Pielikumā
Nr.11.
Operatorā uses modulī unit
1 ir iekļauti Delphi standarta
moduļu nosaukumi, kas nodrošina kopējās nozīmes funkciju izpildi, tādu kā
lasīšana – rakstīšana, formu veidošana, grafiku, pogas u.t.t, kā arī dotā Unit2, Unit3, Unit4, Unit5, Unit8, Paroles
unit projekta moduļi.
Modulis ietver sevī 4 procedūras, kuras izsauc
sekojošas formas: ParProgrammu, kurā
izvietota standarta informācija par programmu
un tās autoru; EkonomSistēmas
, kura dod iespēju strādāt ar tematisko “Ekonomiskās sistēmas” bloku; PieprUnPiedav, kura nodrošina darbu ar
tematisko “Pieprasījuma un piedāvājuma
pamati” bloku; RazosPamati , kura dod
iespēju strādāt ar “Ražošanas pamati” bloka tēmām un JautIevad formu, ar kuras palīdzību var aizpildīt jautājumu un
atbilžu testu tabulas. Kā arī dotais modulis ietver sevī formas aizvēršanas
procedūru nospiežot pogu “Izeja”. Lai izsauktu formu nospiežot atbilstošu pogu
tās notikuma OnClick apstrādātājā pievienota procedūra:
procedure
TPamatIzvele.Button2Click(Sender: TObject);
begin
PamatIzvele.WindowState:= WsMinimized;
PieprUnPiedav.showmodal;
PamatIzvele.WindowState:= WsNormal;
end;
Lai atvērtu pakārtoto formu galvenās formas logs
minimizētos tiek izmantota WindowState
metode:
PamatIzvele.WindowState:=
WsMinimized;
Bet aizverot pakārtoto formu
galvenās formas logs pieņem normālus izmērus ar tās pašas WindowState metodes palīdzību, bet kurai ir cita nozīme:
PamatIzvele.WindowState:=
WsNormal;
Delphi 3.0 ir ievesta virkne valodas
paplašinājumu, lai uzturētu kļūdu apstrādātāju un ārkārtējas situācijas.
Ārkārtējas situācijas – tas ir kopīgs nosaukums, kas raksturo kļūdaino stāvokli
programmas darbības laikā.
Ārkārtējo situāciju apstrādātāju koncepcija, kā arī
to sintētiskā realizācija ienāca Delphi3.0 no valodas C++. Apstrādātāju
ievešana ieviesa četrus jaunus atslēgvārdus:
Except Norāda uz ārkārtējo situāciju apstrādātāju.
Finalliy Norāda uz kodu, kas izpildās pēc ārkārtējam situācijām.
Raise Norāda
uz ārkārtējas situācijas klātbūtni.
Try Norāda uz ieejas apstrādātāja blokā nepieciešamību.
Lai apstrādātu nepareizas paroles ievadīšanas
gadījumu tika izveidota jauna TNepreizaParole
klase uz ārkārtējo situāciju Exception apstrādātāju klases bāzes:
TNepareizaParole=class(Exception)
constructor
Create;
destructor
Destroy; override;
Konstruktors Create
dod atmiņu priekš paziņojuma rindas glabāšanas, kas atspoguļojas ārkārtējo
situāciju rašanās gadījumā. Derstruktors Destroy
atbrīvo atmiņu, ko izdalījis konstruktors
priekš paziņojuma rindas glabāšanas. Atslēgas vārds OwerRide nozīmē mantojuma metožu pārdefinēšanu. Pārdefinētās
metodes argumentiem ir pēc tipa un skaita jāsakrīt ar vecāku klases metodes argumentiem.
constructor TNepareizaParole.Create;
begin
inherited Create ('Parole nav pareiza!');
end;
destructor TNepareizaParole.Destroy;
begin
inherited Destroy;
Application.Terminate;
end;
Notikumu apstrādātājā Formshow pie formas PamatIzvele
pievienota procedūra, kas palaižot
programmu pirmo parāda lietotāja reģistrācijas formu – ParolesDlg, bet ne pašu galveno formu. Ja lietotājs reģistrējas kā
administrators (skolotājs), tad būs pieejams paroles ievades lauks, kas dod
pilnas tiesības uz datu bāzi, ja parole būs ievadīta nepareizi, tad programma
apstrādā doto situāciju.
procedure TPamatIzvele.FormShow(Sender:
TObject);
begin
parolesdlg.ShowModal;
try
dm.sakars.AddPassword(parolesdlg.Parole.Text);
dm.jaut.Active:=true;
dm.Atb.Active:=true;
dm.rez.Active:=true;
button6.Visible:=parolesdlg.Parole.Visible;
except
raise
TNepareizaParole.Create;
end;
end;
Try…except bloka iekšienē tiek
izpildīta ārkārtējās situācijas apstrāde. Try
– daļas bloka iekšienē darbības
izpildās parastā kārtībā kamēr nenotiek ārkārtēja situācija, pēc tam izpilde
pāriet uz except daļas bloku.
Izmantojot ārkārtējo situāciju apstrādātājus nav nepieciešams izmantot kļūdas
stāvokļa kodus, ko atgriež funkcijas. Nepieciešamas vienkārši norādīt uz
ārkārtējo situāciju, ja kaut kas nav tā kā vajag. Viss, kas seko aiz izsaukuma Raise neizpildās un nepiepildās
ārkārtējo situāciju apstrādātāja
meklēšana. Mūsu gadījumā parādīsies paziņojums “Parole nav pareiza !”.
Ja ārkārtējās situācijas nerodas, bloks noslēdzas bez except – daļas. Modulis Unit2
apraksta ParProgrammu klases formu un
izmanto tikai formas aizvēršanas procedūru, nospiežot pogu Button1 (“Izeja”). Modulis Unit2
tiek izsaukts no galvenās formas moduļa.
Moduļiem Unit3,
Unit4, Unit5 ir vienāda struktūra, kas tiks izskatīta uz Unit3 moduļa piemēra.
Operatoram uses
bez standartmoduļiem ir pievienoti lietojumprogrammas unit6 moduļi, kas ļauj izskatīt HTML,
Unit7 failus, kas nodrošina testēšanas procesu, modulis Unit9 , kas ļauj saskatīt testēšanas
rezultātus modulis DataModule, kas
apvieno datu bāzes komponentes un modulis IzdrukIzsauktUnit
, kurš ļauj noģenerēt testēšanas atskaiti un izdrukāt to.
Modulis satur HTML
– failu izsaukšanas procedūras, kurās tiek glabātas mācību tēmas. Formāta HTML izvēle priekš mācību tēmas datorpriekšstata nav nejauša, jo
labai programmai ir jānodrošina izdarīt izmaiņas, pie tam nesaraujot izveidoto
pamatu. Šāda prasība uzskata, ka izmaiņas būs kontrolējamas un kaut arī dažas
programmas daļas mainīsies pārējām daļām jāpaliek nemainīgām. Izmaiņu
izdarīšana HTML failos neizsauks
nekādas izmaiņas programmas kodā, ja neradīsies vēlēšanās tai pievienot jaunas
tēmas. Failu izsaukšana notiek šādi :
skatisana.HTML1.RequestDoc(DM.IzsauktHTML('1_1.html'));
Kur Skatisana –
formas nosaukumi ar uz tās HTML1
komponenšu izvietošanu. RequestDoc metode tiek pielietota pie HTML1 komponentes priekš HTML – lappuses
meklēšanas un ielādēšanas. Iekavās norādīta funkcija, kas izsauc HTML failus
neatkarīgi no tā kurā vietā atrodas faili uz diska, failu nosaukumi tiek likti
apostrofos. Pati funkcija IzsauktHTML
tiek izsaukta DataModule moduļa :
function TDM.IzsauktHTML ( FileName : string ):string;
var s:string;
i:integer;
begin
result:='file:/';
s:=extractfilepath(application.exename)+'HTML/';
for
i:=1 to length(s) do
if
s[i]='\' then result:=result+'/'
else result:=result+s[i];
result:=result+FileName;
end;
Lai izsauktu formu Skatisana izmanto ShowModal metodi:
skatisana.ShowModal;
Pēc tēmas izlasīšanas skolnieks saņem informāčijas
paziņojumu, kurš piedāvā viņam testēties vai atteikties no testēšnas.
Katrs no norādītajiem moduļiem satur procedūru Palaisttestu:
procedure TEkonomSistemas.Palaisttestu
(Tema : string);
begin
if messagedlg('Vai Jūs vēlaties
testēties?'), mtinformation, [mbyes,mbno],0)=mryes then
begin
EkonomSistemas.WindowState:=
WsMinimized;
dm.Jaut.Filter:='Tema='+#39+Tema+#39;
testesana.ShowModal;
dm.Jaut.Filter:='';
if testesana.ModalResult<>mrabort
then
begin
rezulttesta.GroupBox1.Visible:=false;
rezulttesta.Panel1.Visible:=true;
RezultTesta.ShowModal;
rezulttesta.GroupBox1.Visible:=true;
end;
EkonomSistemas.WindowState:=
WsNormal;
end;
end;
MessageDlg ir funkcija, ko piedāvā Delphi
priekš dialoga ar lietotāju programmas organizēšanai(2. 17. Attēls.). Tai
nepieciešams uzdot 4 parametrus vai argumentus. Pirmais parametrs ir
paziņojums, kurš jāattēlo uz ekrāna, ieslēgts apostrofos. Otrs parametrs ir konstante, kas nosaka
dialoga loga tipu. Iespējamās vērtības- konstantes mtWarning, mtError, mtInformation, mtConfirmation. Ar katru
konstanti tiek asociēta speciāla piktogramma un priekš katras ir specifisks
dialoga loga virsraksts. Par tešo parametru kalpo komponenšu daudzums, kas
nosaka kādām pogām jābūt dialoga logā. Konstantu uzskaitījums ieslēgts
kvadrātiekavās un var saturēt mbYes,
mbNo, mbOk, mbCancel, mbHelp, mbAbort, mbRetry, mbIgnore, mbAll. Visbeidzot
MessageDlg funkcija atgriež
konstanti, kas nosaka kādu pogu nospiedis lietotājs.
Modulis Unit6
apraksta TSkatisana klasi – TForm tipa objekta eksemplārs, kurš
nodrošina formu, kurā norisinās HTML failu apskate. Modulī ir tikai viena
procedūra OnShow formas notikumu apstrādātājā:
procedure TSkatisana.FormShow(Sender:
TObject);
begin
button1.Left:=(screen.Width
div 2)-(button1.Width div 2);
end;
Notikumi OnShow izveidojas kad forma tiek attēlota
(tas ir kad tās īpašības Visible
pieņem true vērtību). Šim notikumam
ir TNotifyEvent tips notifikāciju paziņojumi nenes sevī
nekādu informāciju par pašu notikumu, tikai satur norādi uz notikuma avotu – Sender parametru. Procedūra nepieciešama
tāpēc, lai izvietotu pogu Button1
(“Izeja”) formas centrā. Div – tas
ir bināra aritmētiska operācija, kas apzīmē veselu skaitļu dalījumu.
Modulis Unit7
apraksta TTestesana klasi – TForm tipa objekta eksemplāru, kurš
nosaka TTestesana formu. Šis modulis
nodrošina testēšanas procesu. Dati priekš testēšanas tiek ņemti no DataModule moduļa un ParolesUnit moduļa.
Panel komponentei nepiemīt WordWrap īpašības, kuras ļauj pārnest
vārdus no vienas rindiņas uz otru. Tāpēc, lai attēlotu atbildes tika izveidota
jauna TAtbildesLabel komponente- TLabel komponentes mantiniece uz TComponent klases pamata :
TAtbildesLabel = class (TLabel)
constructor
Create ( Owner : TComponent ); override;
procedure
MouseUp ( Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
end;
Konstruktors Create
automātiski izdala atmiņu priekš komponentes un tās eksemplāra inicializācijas.
Owner klases īpašība TComponent ļauj uzzināt dotās
komponentes saimnieku. Owerride
pārdefinē pārmantotās metodes.
constructor
TAtbildesLabel.Create (Owner : TComponent );
begin
inherited Create (Owner);
parent: =
(Owner as TWinControl);
Autosize:=false;
WordWrap:=true;
left:=40;
width:=(Owner
as TWinControl).clientwidth - 45;
end;
Atslēgas vārds Inherited
– pārmantots radītājs ar kura palīdzību mainām komponentes īpašības uz
tādām īpašībām, kādas mums vajadzīgas. Parent
– TControl klases īpašību satur sevī
norādi uz vecāku komponenti. Tā nepieciešama, lai pareizi izvadītos jaunā
komponente. Priekš vārdu pārnešanas uzdod WordWrap
īpašību, tālāk tiek norādītas īpašības priekš lietotāj programmas Testesana konkrētas formas.
Ir izveidots piezīmju masīvs, lai noklikšķinot uz
attiecīgās piezīmes vai radio pogas, pārķertu nospiešanu uz piezīmes.
AtbildesLabels
: array [1..MaxAtbildSkaits] of TAtbildesLabel;
Tā kā notikums OnClick
neizdod koordinātes, tad notikumu apstrādātājā MouseUp tika izveidota procedūra, kas nosaka darbu ar peli:
procedure
TAtbildesLabel.MouseUp ( Button:
TMouseButton;
Shift:
TShiftState; X, Y: Integer);
begin
(parent as Panel).OnMouseUp(parent,button,shift,left+x,top+y);
end;
Nospiešana uz Label
komponenti nozīmē nospiešanu uz komponenti Panel.
Procedūra Panel1MouseUp nosaka peles
nospiešanu nevis uz sevi, bet uz vecāku klasi.
procedure
TTestesana.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if
button=mbleft then
rg2.ItemIndex:=(Y-(rg2.Height div
rg2.Items.Count) div 2) div (rg2.Height div rg2.Items.Count);
end;
mbLeft – tas ir galvenais peles
taustiņš. Tālāk izskaitļojam, kur atradīsies atbildes teksts.
Testēšanas process tiek īstenots ar dažām procedūrām.
Procedūra AizpildAtb aizpilda
atbildes un tiek izsaukta no procedūrām FormShow,
Button3Click, Button2Click:
procedure TTestesana.AizpildAtb;
var aizpildits: array [1..MaxAtbildskaits] of
boolean;
step, i, n, LSkait, augst : integer;
begin
rg2.Items.Clear;
LSkait:=1;
augst:=(rg2.Height-15) div dm.Atb.RecordCount;
for
i:=1 to MaxAtbildskaits do aizpildits[i]:=false;
for
step:=dm.Atb.RecordCount downto 2 do
begin
n:=random(step)+1;
for
i:=1 to n do if aizpildits[i] then
inc(n);
while aizpildits[n] do inc(n);
aizpildits[n]:=true;
dm.Atb.First;
dm.Atb.MoveBy(n-1);
rg2.Items.Append(dm.AtbAtbID.AsString);
if
Atbildes[Tekjautajums]=dm.AtbAtbID.Value then
rg2.ItemIndex:=rg2.Items.IndexOf(dm.AtbAtbID.AsString);
if
AtbildesLabels[Lskait]=nil then AtbildesLabels[Lskait]:=TAtbildesLabel.Create(Panel1);
AtbildesLabels[Lskait].top:=rg2.top+8+(((Lskait-1)*augst)+(augst div
2));
AtbildesLabels[Lskait].height:=augst-2;
AtbildesLabels[Lskait].caption:=dm.AtbAtbilde.AsString;
inc(LSkait);
end;
n:=1;
while
aizpildits[n] and (n<=dm.Atb.RecordCount) do inc(n);
dm.Atb.First;
dm.Atb.MoveBy(n-1);
rg2.Items.Append(dm.AtbAtbID.AsString);
if
Atbildes[Tekjautajums]=dm.AtbAtbID.Value then
rg2.ItemIndex:=rg2.Items.IndexOf(dm.AtbAtbID.AsString);
if
AtbildesLabels[Lskait]=nil then
AtbildesLabels[Lskait]:=TAtbildesLabel.Create(Panel1);
AtbildesLabels[Lskait].top:=rg2.top+5+(((Lskait-1)*augst)+(augst
div 2));
AtbildesLabels[Lskait].height:=augst-2;
AtbildesLabels[Lskait].caption:=dm.AtbAtbilde.AsString;
inc(LSkait);
for
i:=LSkait to MaxAtbildSkaits do
begin
AtbildesLabels[Lskait].free;
AtbildesLabels[Lskait]:=nil;
end;
end;
Kad parādās teksts, neviena radio poga nav iezīmēta:
rg2.Items.Clear.
Mainīgais LSkait
– papildus Label skaitītājs –
aizpilamās atbildes indekss (dublē atbilžu skaitu uz augšu). Mainīgais augst- augstums, kurā izskaitļojas
komponentes Label faktiskais augstums.
Move by – metode kura pārvietojas par
dažiem ierakstiem datu bāzes tabulā.
Procedūra FormShow
parāda uz ekrāna atbildes:
procedure TTestesana.FormShow(Sender: TObject);
var i:integer;
begin
randomize;
for i:=1 to
MaxJautSkaits do atbildes[i]:=0;
Tekjautajums:=dm.JautNumurs.Value;
AizpildAtb;
end;
Procedūra Button3Click
apstrādā notikumu nospiežot pogu “Nāk. Jautājums”:
procedure
TTestesana.Button3Click(Sender: TObject);
var i :
integer;
begin
if rg2.ItemIndex>=0 then
begin
Atbildes[TekJautajums]:=strtoint(rg2.Items[rg2.ItemIndex]);
end;
dm.Jaut.Next;
if not dm.Jaut.EOF then
begin
Tekjautajums:=dm.JautNumurs.Value;
AizpildAtb;
end
else
begin
if messagedlg('Jūs pabeidzāt testu. Vai
vēlaties apskatīt savas atbildes vēlreiz?',mtinformation,[mbno,mbyes],0)=mryes
then exit;
dm.Rez.Insert;
dm.RezGrupa.Value:=parolesdlg.Grupa.Text;
dm.RezVUzv.Value:=parolesdlg.Vards.Text;
dm.RezTema.Value:=dm.JautTema.AsString;
dm.RezDatums.Value:=date;
dm.Jaut.First;
i:=1;
dm.RezJautajumi.Value:='';
dm.RezAtbildes.Value:='';
dm.RezPareizi.Value:=0;
dm.RezNavAtbildes.Value:=0;
while not dm.Jaut.EOF do
begin
dm.RezJautajumi.Value:=dm.RezJautajumi.Value+dm.JautNumurs.AsString+'; ';
dm.RezAtbildes.Value:=dm.RezAtbildes.Value+inttostr(atbildes[i])+'; ';
if atbildes[i]>0 then
begin
dm.Atb.Locate('AtbID',atbildes[i],[]);
if dm.AtbPareizs.Value then
dm.RezPareizi.Value:=dm.RezPareizi.Value+1;
end
else
dm.RezNavAtbildes.Value:=dm.RezNavAtbildes.Value+1;
dm.Jaut.Next;
inc(i);
end;
dm.RezKopa.Value:=dm.Jaut.RecordCount;
dm.Rez.Post;
dm.Rez.FlushBuffers;
self.ModalResult:=mrok;
end;
end;
Procedūra Button2Click
apstrādā notikumu OnClick pogai
“Iepr.jautājums”:
procedure
TTestesana.Button2Click(Sender: TObject);
begin
if rg2.ItemIndex>=0 then
begin
Atbildes[TekJautajums]:=strtoint(rg2.Items[rg2.ItemIndex]);
end;
if not
dm.Jaut.BOF then
begin
dm.Jaut.Prior;
Tekjautajums:=dm.JautNumurs.Value;
AizpildAtb;
end;
end;
Procedūra FormClose
apstrādā notikumu OnClose formai Testesana :
procedure TTestesana.FormClose(Sender: TObject; var Action: TCloseAction);
var i : integer;
begin
for i:=1 to MaxAtbildSkaits do
if
AtbildesLabels[i]<>nil then
begin
AtbildesLabels[i].free;
AtbildesLabels[i]:=nil;
end
end;
Modulis Unit8
kalpo, lai aizpildītu datu bāzes tabulu, apraksta klase TJauIevad, saistīts ar moduli DataModule.
Satur divas pogu “Ierakstīt” procedūras, kas
apraksta notikumu OnClick.
Procedūra Button1Click
ievieto ierastu rindas tabulā “Jautājumi”:
procedure
TJautIevad.Button1Click(Sender: TObject);
begin
dm.Jaut.Insert;
dm.JautTema.Value:=edit1.Text;
dm.JautNumurs.Value:=SpinEdit1.Value;
dm.JautJautajums.Value:=memo1.Text;
dm.Jaut.Post;
memo1.Lines.Clear;
end;
Procedūra Button2Click
ievieto ierakstus tabulā “Atbildes”:
procedure
TJautIevad.Button2Click(Sender: TObject);
begin
dm.Atb.Insert;
dm.AtbTema.Value:=edit1.Text;
dm.AtbNumurs.Value:=spinedit1.Value;
dm.AtbAtbilde.Value:=edit3.Text;
dm.AtbPareizs.Value:=checkbox1.Checked;
dm.Atb.Post;
dm.Atb.Insert;
dm.AtbTema.Value:=edit1.Text;
dm.AtbNumurs.Value:=spinedit1.Value;
dm.AtbAtbilde.Value:=edit4.Text;
dm.AtbPareizs.Value:=checkbox2.Checked;
dm.Atb.Post;
dm.Atb.Insert;
dm.AtbTema.Value:=edit1.Text;
dm.AtbNumurs.Value:=spinedit1.Value;
dm.AtbAtbilde.Value:=edit5.Text;
dm.AtbPareizs.Value:=checkbox3.Checked;
dm.Atb.Post;
dm.Atb.Insert;
dm.AtbTema.Value:=edit1.Text;
dm.AtbNumurs.Value:=spinedit1.Value;
dm.AtbAtbilde.Value:=edit6.Text;
dm.AtbPareizs.Value:=checkbox4.Checked;
dm.Atb.Post;
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
checkbox1.Checked:=false;
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
end;
Modulis Unit9
satur TResultTesta - TForm
tipa objekta eksemplārs, kas nodrošina formu ResultTesta.
Procedūra FormCreate
izveido formu, lai parādītu uz ekrāna testa rezultātus, ielādē failu Grupa.txt, kurā glabājas grupu numuri:
procedure
TRezultTesta.FormCreate(Sender: TObject);
begin
combobox1.Items.LoadFromFile('Grupas.txt');
end;
procedure
TRezultTesta.ComboBox1Change(Sender: TObject);
begin
if combobox1.text<>'' then
dm.Rez.Filter:='Grupa='+#39+combobox1.Text+#39
else dm.Rez.Filter:='';
dm.QVUzv.ParamByName('Grupa').value:=combobox1.text;
dm.QVUzv.Active:=true;
combobox2.Items.Clear;
dm.QVUzv.First;
while not dm.QVUzv.EOF do
begin
combobox2.Items.Append(dm.QVUzvVUzv.asstring);
dm.QVUzv.next;
end;
dm.QVUzv.Active:=false;
combobox2.Text:='';
combobox3.Text:='';
panel1.visible:=false;
dbgrid1.visible:=false;
end;
Procedūra ComboBox2Change
apstrādā notikumu OnChange kmponnentei
ComboBox2:
procedure
TRezultTesta.ComboBox2Change(Sender: TObject);
begin
if
combobox2.Text<>'' then
begin
dm.QTema.ParamByName('Grupa').value:=combobox1.text;
dm.QTema.ParamByName('VUzv').value:=combobox2.Text;
dm.QTema.Active:=true;
dm.QTema.First;
combobox3.Items.Clear;
while not dm.QTema.EOF do
begin
combobox3.Items.Append(dm.QTemaTema.asstring);
dm.QTema.Next;
end;
dm.QTema.Active:=false;
combobox3.Text:='';
dm.Rez.Filter:='Grupa='+#39+combobox1.text+#39+' and
VUzv='+#39+combobox2.text+#39;
dbgrid1.visible:=true;
panel1.visible:=true;
end
else
begin
panel1.visible:=false;
dbgrid1.visible:=false;
end;
end;
Procedūra ComboBoxChange
ielādē komponenti ComboBox3 tēmu
nosaukumus no tabulas ”Rezultāti” un ļauj
izvēlēties neatkarīgi no tā, kas ir tabulas lietotājs uz to momentu.
procedure TRezultTesta.ComboBox3Change(Sender:
TObject);
begin
dm.Rez.Locate('Tema',combobox3.text,[]);
end;
Procedūra FormShow
aizspoguļo uz ekrāna testa rezultātus un padara redzamas un pieejamas
komponentes atkarībā no tā, kas ir lietotājs : skolēns vai skolotājs
(administrators):
procedure TRezultTesta.FormShow(Sender:
TObject);
begin
if groupbox1.Visible then
begin self.Height:=groupbox1.Height+dbgrid1.Height+panel1.Height+Button18.Height+44;
panel1.Top:=groupbox1.Height+dbgrid1.Height;
if not parolesdlg.Parole.Visible then
begin
combobox1.Text:=parolesdlg.Grupa.Text;
combobox1change(self);
combobox2.ItemIndex:=combobox2.Items.IndexOf(parolesdlg.Vards.Text);
combobox2change(self);
combobox1.Enabled:=false;
combobox2.Enabled:=false;
end;
end
else self.Height:=panel1.Height+Button18.Height+44;
Button18.Top:=self.Height-Button18.Height-40;
self.Top:=trunc((screen.Height-40-self.Height)/2);
self.Left:=trunc((screen.Width-self.Width)/2);
end;
Procedūra FormClose
apstrādā formas ResultTesta OnClose
notikumu:
procedure
TRezultTesta.FormClose(Sender: TObject; var
Action: CloseAction);
begin
if groupbox1.Visible then
begin
combobox1.Text:='';
combobox1.ItemIndex:=-1;
combobox2.Text:='';
combobox2.ItemIndex:=-1;
combobox3.Text:='';
end;
DBGrid1.Visible:=false;
panel1.Visible:=false;
dm.Rez.Filter:='';
end;
Modulis IzdrukIzsaukUnit
nosaka objektu TIzdrukIzsauk – klases
TForm eksemplāru, kas ir forma IzdrukIzsauk. Saistīts ar
lietojumprogrammas moduļiem DataModule un IzdrUnit.
Procedūra EnablePrintButton,
kas deklarēta sadaļā private un
padara pieejamu pogu BitBtn1 (“Izdrukāt”) tajā gadījumā, ja komponente
ComboBox1 (grupas saraksts) nav tukša. Izpildās no procedūrām FormShow, ComboBox1Change, ComboBox2Change,
ComboBox3Change.
procedure
TIzdrukIzsauk.EnablePrintButton ;
begin
BitBtn1.Enabled:= (combobox1.Text<>'');
end;
Procedūra FormClose
apstrādā formas IzdrukIzsauk notikumu
OnClose, kas izpildās aizverot formu.
Parametrs Action nosaka formas
aizvēršanas tipu:
procedure
TIzdrukIzsauk.FormClose(Sender: TObject;
var
Action: TCloseAction);
begin
cb1.Checked:=false;
dm.Rez.IndexFieldNames:='Grupa;VUzv;Tema;Datums';
end;
Procedūra BitBtn1Click
apstrādā notikumu OnClick nospiežot pogu BitBtn
(“Izdrukāt”). Šajā procedūrā notiek atskaites ģenerēšana par testēšanu:
procedure
TIzdrukIzsauk.BitBtn1Click(Sender: TObject);
var
oldfilter:string;
begin
try
if combobox2.Text<>'(Visas)' then
begin
dm.Rez.IndexFieldNames:='Grupa;Tema;VUzv;Datums';
if combobox3.Text<>'(Visi)' then
begin
dm.Rez.Filter:='Grupa='+#39+combobox1.Text+#39+' and Tema='+#39+combobox2.Text+#39+'
and VUzv='+#39+combobox3.Text+#39;
RepTestaRez.QRGroup1.Expression:='Rez.Tema or Rez.VUzv';
RepTestaRez.QRDBText2.Enabled:=false;
RepTestaRez.QRDBText3.Enabled:=false;
end
else begin
dm.Rez.Filter:='Grupa='+#39+combobox1.Text+#39+' and
Tema='+#39+combobox2.Text+#39;
RepTestaRez.QRGroup1.Expression:='Rez.Tema';
RepTestaRez.QRDBText11.Enabled:=false;
RepTestaRez.QRLabel6.Enabled:=false;
RepTestaRez.QRDBText3.Enabled:=false;
end;
end
else
begin
if combobox3.Text<>'(Visi)' then begin
dm.Rez.IndexFieldNames:='Grupa;VUzv;Tema;Datums';
dm.Rez.Filter:='Grupa='+#39+combobox1.Text+#39+' and VUzv='+#39+combobox3.Text+#39;
RepTestaRez.QRGroup1.Expression:='Rez.VUzv';
RepTestaRez.QRLabel3.Enabled:=false;
RepTestaRez.QRDBText9.Enabled:=false;
RepTestaRez.QRDBText2.Enabled:=false;
end
else begin
dm.Rez.IndexFieldNames:='Grupa;Tema;VUzv;Datums';
dm.Rez.Filter:='Grupa='+#39+combobox1.Text+#39;
RepTestaRez.QRGroup1.Expression:='Rez.Tema';
RepTestaRez.QRDBText11.Enabled:=false;
RepTestaRez.QRLabel6.Enabled:=false;
RepTestaRez.QRDBText3.Enabled:=false;
end;
end;
if not cb1.Checked then
begin
oldfilter:=dm.Rez.Filter;
dm.Rez.Filter:=dm.Rez.Filter+' and
Datums>='+#39+datetostr(datno.Date)+#39+' and Datums<='+#39+datetostr(datlidz.Date)+#39;
RepTestaRez.qrlabel5.Caption:=' no
'+datetostr(datno.Date)+'
līdz
'+datetostr(datlidz.Date)+'.';
if dm.Rez.RecordCount=0 then
if
messagedlg('Izvēletā datumu intervalā testēšana nenotikusi. Vai Jūs vēlaties
izdrukāt informāciju par testēšanu citos datumos?', mtinformation,
[mbyes,mbno],0)= mryes
then begin
cb1.Checked:=true;
dm.Rez.Filter:=oldfilter;
RepTestaRez.qrlabel5.Caption:='nav uzradīts.';
end
else exit;
end
else
begin
RepTestaRez.qrlabel5.Caption:='nav uzradīts.';
end;
RepTestaRez.Preview;
finally
dm.Rez.Filter:='';
RepTestaRez.QRDBText2.Enabled:=true;
RepTestaRez.QRDBText3.Enabled:=true;
RepTestaRez.QRDBText11.Enabled:=true;
RepTestaRez.QRLabel6.Enabled:=true;
RepTestaRez.QRLabel3.Enabled:=true;
RepTestaRez.QRDBText9.Enabled:=true;
end;
end;
Ārkārtēju situāciju rašanās gadījumā var būt
nepieciešama kāda nebūt darbība, piemēram, atmiņas iztīrīšana pirms ārkārtējās
situācijas apstrādes. Tam kalpo bloks try..finnaly..end.
Bloka iekšienē kods izpildās parastajā veidā. Ārkārtējas situācijas rašanas
gadījumā izpildās kods, kas ir blokā finally
. Šis bloks nesatur tiešu ārkārtējo situāciju apstrādātāju.
Metode Expressions
norāda, kā grupējas dati atskaitē.
Procedūra cb1Click
apstrādā indikatora notikumu OnClick,
kas nosaka vai datums ir svarīgs atskaitē vai nē. Label4 – pazīme datumu
intervāla sākumam, label5 – datumu
intervāla beigas.
procedure
TIzdrukIzsauk.cb1Click(Sender: TObject);
begin
label4.Enabled:=not cb1.Checked;
label5.Enabled:=not cb1.Checked;
end;
Procedūra ComboBox1Change
apstrādā komponentes ComboBox1
notikumu OnChange, kurā tiek attēlots
grupu saraksts:
procedure
TIzdrukIzsauk.ComboBox1Change(Sender: Object);
begin
animate1.Visible:=true;
animate1.Active:=true;
dm.QVUzv.ParamByName('Grupa').value:=combobox1.text;
dm.QVUzv.Active:=true;
combobox3.Items.Clear;
combobox3.ItemIndex:=combobox3.Items.Add('(Visi)');
dm.QVUzv.First;
while not
dm.QVUzv.EOF do
begin
combobox3.Items.Append(dm.QVUzvVUzv.asstring);
dm.QVUzv.next;
end;
dm.QVUzv.Active:=false;
dm.QTema2.ParamByName('Grupa').value:=combobox1.text;
dm.QTema2.Active:=true;
combobox2.Items.Clear;
combobox2.ItemIndex:=combobox2.Items.Add('(Visas)');
dm.QTema2.First;
while not
dm.QTema2.EOF do
begin
combobox2.Items.Append(dm.QTema2Tema.AsString);
dm.QTema2.Next;
end;
dm.QTema2.Active:=false;
EnablePrintButton;
animate1.Active:=false;
animate1.Visible:=false;
end;
Procedūra ComboBox2Change
apstrādā komponentes ComboBox2
notikumu OnChange, kurā tiek attēlots
testējamo uzvārdu saraksts:
procedure
TIzdrukIzsauk.ComboBox2Change(Sender: TObject);
var
s:string;
begin
animate1.Visible:=true;
animate1.Active:=true;
s:=combobox3.Text;
if combobox2.Text<>'(Visas)' then
begin
dm.QVUzv2.ParamByName('Grupa').value:=combobox1.text;
dm.QVUzv2.ParamByName('Tema').value:=combobox2.text;
dm.QVUzv2.Active:=true;
combobox3.Items.Clear;
combobox3.Items.Append('(Visi)');
dm.QVUzv2.First;
while not dm.QVUzv2.EOF do
begin
combobox3.Items.Append(dm.QVUzv2VUzv.asstring);
dm.QVUzv2.next;
end;
dm.QVUzv2.Active:=false;
end
else
begin
m.QVUzv.ParamByName('Grupa').value:=combobox1.text;
dm.QVUzv.Active:=true;
combobox3.Items.Clear;
combobox3.Items.Append('(Visi)');
dm.QVUzv.First;
while not dm.QVUzv.EOF do
begin
combobox3.Items.Append(dm.QVUzvVUzv.asstring);
dm.QVUzv.next;
end;
dm.QVUzv.Active:=false;
end;
combobox3.ItemIndex:=combobox3.Items.IndexOf(s);
if
(combobox3.ItemIndex=-1) then
combobox3.ItemIndex:=0;
animate1.Active:=false;
animate1.Visible:=false;
EnablePrintButton;
end;
Procedūra cb1Click
apstrādā notikumu, kad ir uzspiests
uz komponentes cb1.
procedure
TIzdrukIzsauk.cb1Click(Sender: TObject);
begin
label4.Enabled:=not cb1.Checked;
label5.Enabled:=not cb1.Checked;
end;
Procedūra ComboBox3Change
apstrādā komponentes ComboBox3
notikumu OnChange, kurā tiek attēlots
tēmu saraksts, pēc kurām notiek testēšana:
procedure
TIzdrukIzsauk.ComboBox3Change(Sender: TObject);
var
s:string;
begin
animate1.Visible:=true;
animate1.Active:=true;
s:=combobox2.Text;
if
combobox3.Text<>'(Visi)' then
begin
dm.QTema.ParamByName('Grupa').value:=combobox1.text;
dm.QTema.ParamByName('VUzv').value:=combobox3.Text;
dm.QTema.Active:=true;
combobox2.Items.Clear;
combobox2.Items.Append('(Visas)');
dm.QTema.First;
while not dm.QTema.EOF do
begin
combobox2.Items.Append(dm.QTemaTema.AsString);
dm.QTema.Next;
end;
dm.QTema.Active:=false;
end
else
begin
dm.QTema2.ParamByName('Grupa').value:=combobox1.text;
dm.QTema2.Active:=true;
combobox2.Items.Clear;
combobox2.Items.Append('(Visas)');
dm.QTema2.First;
while not dm.QTema2.EOF do
begin
combobox2.Items.Append(dm.QTema2Tema.AsString);
dm.QTema2.Next;
end;
dm.QTema2.Active:=false;
end;
combobox2.ItemIndex:=combobox2.Items.IndexOf(s);
if
combobox2.ItemIndex=-1 then
combobox2.ItemIndex:=0;
animate1.Active:=false;
animate1.Visible:=false;
EnablePrintButton;
end;
Procedūra FormCreate
apstrādā formas IzdrukIzsauk
notikumu OnCreate .Tas notiek formas
veidošanas sākumā. Šeit var uzdot
dažādas darbības, kurām ir jānotiek veidojot formu. Šajā gadījumā – tas ir
grupas saraksta aizpildīšana komponentes failā no faila Grupas.txt.
procedure
TIzdrukIzsauk.FormCreate(Sender: TObject);
begin
combobox1.Items.LoadFromFile('Grupas.txt');
end;
Modulis IzdrUnit
apraksta objektu TRepTestaRez –
klases TForm eksemplārs, kurš nosaka
testēšanas rezultātu atskaites formu. Saistīts ar moduli DataModule neastur
procedūras.
Universāls datu glabāšanas veids ir datu bāzes. Tās
ir nodrošinātas ar datu manipulācijas un pārskates līdzekļiem. Delphi ir iebūvēts jaudīgs datu bāzu
uzturēšanas mehānisms. Tāpēc, lai nodrošināti programmas efektivitāti un
modificēšanu, testa jautājumi, atbildes, rezultāti un saraksts vismaz vienu
reizi testēto tiek glabāts datu bāzē.
Patreiz paši tiek izmantotas relāciju datu bāzes.
Relāciju datu bāze glabā informāciju loģisko tabulu veidā, kas sastāv no
kolonnām un rindām. Katra tabulas rinda ir viens ieraksts, katra kolonna –
viens lauks.
Lauks (field)-
datu bāzes datu elements. Laukam ir nosaukums un tips. Simbolu virknēm Paradox izmanto tipu Alpha. Daži datu tipi prasa norādīt
izmēru. Te var runāt datu bāzē par nelielu datu apjomu, kuru var glabāt laukā.
Ieraksts (record)
– lauku kopums, kuri satur saistītu informāciju. Piemēram, ieraksts tabulā
“Jautajumi” satur nosauktās tēmas,
jautājuma numuru, un pašu jautājumu.
Indekss (Index) tāpat kā grāmatas nosaukums ļauj
atrast vajadzīgo tēmu, tā arī datu bāzes indekss ļauj atrast ierakstus, kam ir
dotā lauka vērība.
Primāro indeksu (primary
index) – izmanto daudzās datu bāzes funkcijās. Primārais indekss nosaka
kārtību kādā tiks attēloti ieraksti datu bāzē. Primārā indeksa laukam ir jābūt
unikālam, t.i. divi ieraksti nevar būt vienādi.
Sekundārais indekss (secondary index) – indekss, kas var bāzēties uz lauku kombinācijas un kuram obligāti nav
jābūt unikālam. Sekundāros indeksus izmanto, lai varētu saistīt savā starpā
tabulas.
Pieprasījums (query) – SQL (Structured Query
Language – strukturēto pieprasījumu valoda) operators, kurš izvēlas lauku
ierakstus no vienas vai vairākām tabulām. Pieprasījumus var izmantot, lai
iegūtu informāciju no datu bāzes.
Programma satur 4 tabulas, kuras glabājas atsevišķos
failos Jautajumi.db, Atbildes.db,
Rezultati.db un Uzvardi.db. Lai izveidotu tabulas izmanto Borland Database Desktop .
Lietojumprogrammas izstrādē izmanto Paradox
datu bāzi. Tabulas struktūras ir parādīta pielikumā Nr.10.
Tāpat programmā izmanto 4 SQL pieprasījumus.
Vairākas programmas formas izmanto vienas un tās
pašas tabulas, tas ir ērti, lai visas viņas grieztos pie datu bāzes
komponentēm, kas glabājas datu modulī. Programmā tāds modulis ir DataModule.

2.18. Datu modulī glabājas nevizuālās
komponentes darbam
ar datu bāzēm.
ar datu bāzēm.
Komponente Table ir saistošais posms starp
programmu un fizisku datu failu. Datu avots (komponente DataSource) darbojas kā vidutājs datu apmaiņai tabulām un datu
komponentēm. Tas nozīmē, ka datu izmaiņas komponentē, kas saistīta ar šo datu
avotu, automātiski izmainīs datus tabulā. Lai izmainītu tekošo ierakstu TTable ir piecas metodes: Next- pārvieto uz nākošo datu kopas
ierakstu, Prior - pārvieto uz
iepriekšējo datu kopas ierakstu, First-
pārvieto uz pirmo datu kopas ierakstu, Last
- pārvieto uz pēdējo datu kopas ierakstu, Move
By – pārvieto par noteiktu skaitu pozīcijām. Piemēram, Move By (-2) – par divām pozīcijām atpakaļ, Move By (3) – par trīs pozīcijām uz priekšu. Pārvietojoties pa
tabulu bieži ir jāzina kad ir sasniegts tabulas sākums vai
beigas. To var noteikt ar īpašību EOF (End of File – faila beigas) un BOF (Begginning of File – faila sākums)
beigas. To var noteikt ar īpašību EOF (End of File – faila beigas) un BOF (Begginning of File – faila sākums)
Parādot testēšanas rezultātus ir jāparādās pareizo
atbilžu procentam. To var panākt izmantojot izskaitļojamos laukus (calculated fields). Izskaitļotā lauka
priekšrocības ir tur, ka tas neglabājas datu bāzē, bet tā parādās katrā
ieraksta izmainīšanas gadījumā. Lai pievienotu izskaitļojamos laukus izmanto
lauku redaktoru, kuru izsauc ar dubultklikšķi uz komponentes TTable. Jaunajam laukam uzrāda nosaukumu
un tipu. Delphi izsauc procedūru OnCalcFields katru reizi, kad ir
nepieciešams pārskaitļot laukus. Modulī DataModule
šī procedūra izskatās šādi:
procedure TDM.RezCalcFields(DataSet: TDataSet);
begin
RezNepareizi.Value:=rezkopa.AsInteger-reznavatbildes.AsInteger-rezpareizi.AsInteger;
if
rezkopa.AsInteger<>0 then
RezPareziProc.Value:=round(rezpareizi.AsInteger/rezkopa.AsInteger*100)
else RezPareziProc.Value:=0;
end;
Datu aizsardzība – tas ir process kas ļauj
noteiktiem lietotājiem, grupām vai procesiem nolasīt datus un manipulēt ar
tiem. Datu aizsardzība var būt piesaistīta pie lietojumprogrammas.
Atkarībā no datu bāzes tiek pielietoti dažādi
aizsardzības līmeņi. Pie vairāk izplatītiem aizsardzības līmeņiem attiecas
sekojošie:
·
Aizsardzības nav. Katrs lietotājs, kam ir fiziska pieeja datu bāzei, var pārskatīt un modificēt to.
·
Visu vai neko. Šajā gadījumā, lai iegūtu pieeju datu bāzei ir nepieciešamas dažas darbības. Tomēr kā lietotājs
iegūs pieeju, viņam būs pieeja visiem datiem un iespēja modificēt tos.
·
Daudzlietotāju pieeja tabulas līmenī. Ļauj lietotājiem vērsties pie
tabulas vai nu tikai lasīšanas režīmā, vai arī modificēšanas režīmā.
·
Daudzlietotāju pieeja lauku līmenī. Tas ir elastīgāks aizsardzības
veids. Pieejai lauku līmenī lietotājam var būt piešķirta pieeja katram laukam,
vai tikai izvēlētiem laukiem, pie kam pieeja var dot atļauju modificēt
atsevišķus laukus, tā kā priekš citiem laukiem nebūs atļauta pat lasīšana.
Lietojumprogrammā “Ekonomika” datu bāzes
informācijas aizsardzība ir ar paroli,
kas nosaka pieeju pie tabulām. Priekš skolēniem ir izveidota iekšējā parole
“mācību”, kas dod tiesības redzēt datus Read
Only režīmā, to nevajag ievadīt reģistrācijas brīdī. Database Desktop tabulu īpašības Password Security ar Master
Password ir noteikta administratora
parole, kam ir pilnas tiesības uz datu bāzi “15xfc16vby”, Auxilary Passwords nosaka papildus paroles, kur arī tiek noteikts
lietotāja parole un lietotāja tiesības. Paroles ievades lauks būs pieejams, ja
administrators iees ar vārdu “Oksana Kominska autore”.
DataModule modulī ir izveidota DMCreate, kura nosacīs ceļu uz tabulām
uz diska:
procedure TDM.DMCreate(Sender: TObject);
var
cels : string;
begin
cels:=extractfilepath(application.ExeName)+'Tabulas';
sakars.NetFileDir:=cels;
jaut.DatabaseName:=cels;
Atb.DatabaseName:=cels;
Rez.DatabaseName:=cels;
QVuzv.DatabaseName:=cels;
QTema.DatabaseName:=cels;
QTema2.DatabaseName:=cels;
QVuzv2.DatabaseName:=cels;
end;
Procedūra SakarsPassword
komponentes Session notikumā OnPassword kontrolējas pieja pie datu
bāzes.
procedure TDM.SakarsPassword(Sender:
TObject; var Continue: Boolean);
begin
continue:=false;
end;
begin
continue:=false;
end;
3. Lietojumprogrammas “Ekonomika”
praktiskais pielietojums zināšanu kontrolē
3. 1. Mācībās izmantojamās kontroles un paškontroles metodes
Mācības –
divpusējs process, mācīšanās un mācīšana to savstarpējā vienotībā, atkarībā un
nosacītībā. Mācības raksturo:
* skolotāja mācīšanas un skolēna mācīšanās mērķu
atbilstība,
* skolotāja un skolēna darbības motivācijas
atbilstība,
* skolotāja mācīšanas līdzekļu (satura, metožu,
organizatorisko formu) atbilstība skolēna mācīšanās prasmei un pastāvībai,
* mācību rezultātu novērtēšanas un pašnovērtēšanas
tuvināšanās.
Mācīšana
iegūst jēgu, ja tā rosina, intensificē un bagātina skolēna mācīšanos. Mācības
ir speciāli organizēts process, lai radītu optimālus apstākļus skolēna
pieredzes bagātināšanai, intelektuālajai, estētiskajai, tikumiskajai
attīstībai, pašaudzināšanai.
Zināšanas –
izziņas rezultāts faktos, jēdzienos, noteikumos, teorijas, ko cilvēks iegūst
mācoties. Mācīties var praktiskajā darbībā, saskarsmē ar cilvēkiem, mācību
iestādē. Tādēļ ir pazīstama praktiskā, mācību un zinātniskā izziņa, kas
bagātina zināšanas. Zināšanām ir kvalitāte: plašas vai šauras, izvērstas vai
koncentrētas, noturīgas vai paviršas, izmantojamas vai pasīvas, deklaratīvas
vai procesuālas. Tās aptver triju veidu informāciju: konceptuālu)par dabu,
sabiedrību, domāšanu), metakognitīvu (par zināšanām un iegūšanu),
sociokulturālu (tikumiskās un estētiskās normas, garīgās vērtības, tradīcijas
u. c.). Zināšanas ir pamats, zināšanas raksturojas ar cilvēka prasmi tās
izmantot praktiski vai jaunu zināšanu iegūšanai. Zināšanas var iegūt dažādos veidos.
Par mācību
metodi sauc sistemātisku skolotāja un skolēnu savstarpēji saistītas darbības
veidu, kurš vērsts uz izglītošanas, audzināšanas un attīstības uzdevumu
risināšanu mācību procesā.
Mācību metodes
ir viens no vissvarīgākajiem mācību procesa komponentiem. Bez atbilstošām
darbības metodēm nav iespējams realizēt mācību mērķus un uzdevumus, panākt, lai
skolēni apgūtu noteiktu mācību vielas saturu.
Ievērojot
viengabalainuma pieeju, jāizšķir trīs lielas mācību metožu grupas:
* mācību izziņas darbības organizācijas un
īstenošanas metodes;
* mācību izziņas darbības stimulēšanas un
motivācijas metodes;
* mācību izziņas darbības efektivitātes
kontroles un paškontroles metodes.
Katrā no trim
grupām ir atspoguļota pedagogu un skolēnu mijiedarbība. Skolotāja organizatoriskās
ietekmes saplūst ar skolēnu darbību un pašorganizāciju. Skolotāja
stimulētājietekme rada mācīšanas motivāciju skolēnos, t. i., mācīšanās iekšējo
stimulēšanu. Skolotāja kontroles darbības veidi apvienojas ar skolēnu
paškontroli.
Mācību
rezultātu novērtēšana un pašnovērtēšana ir vienmēr orientēta uz rezultāta
uzlabošanu. To izdara ar noteiktu mērķi pēc kritērijiem, kas zināmi kā
skolotājam, tā skolēnam. Novērtē mācību rezultātu kvalitāti, to atbilstību
mērķiem, mērķu un līdzekļu kā arī līdzekļu un rezultāta atbilstību, rezultāta
kvalitāti un tā sasniegšanai patērēto laiku un skolotāja un skolēna enerģiju.
Skolotājs var
izmantot dažādas kontroles metodes:
1. Vārdiskā
kontrole tiek realizēta ar individuālo un frontālo atprasīšanu. Individuālajā
atprasīšanā skolotājs uzdod skolēnam vairākus jautājumus, uz kuriem atbildot
skolēns parāda mācību vielas apguves līmeni. Frontālajā atprasīšanā skolotās
izvēlas loģiski savstarpēji saistītu jautājumu sēriju un uzdod visai klasei,
izsaucot atsevišķus skolēnus īsai atbildei.
2. Rakstveida
kontroles metodes mācību procesā nozīmē kontroldarbu, atstāstījumu, diktātu,
rakstveida ieskaišu un citu rakstveida darbu organizēšanu. Rakstveida
kontroldarbi, atstāstījumi, diktāti var būt īsi, ko veic 15–20 minūtēs, kā arī
tie var aizņemt visu stundu. Pēdējos gados arvien biežāk izmanto programmēšanas
tipa rakstveida kontroldarbus. Tādā gadījumā skolotājs sastāda jautājumu
sarakstu, uz veidlapas uzraksta katram jautājumam iespējamos atbilžu variantus,
no kuriem viens ir pilnīgāks un precīzāks, bet pārējie ir nepilnīgāki un tajos
ir dažas neprecizitātes. Skolēnu uzdevumus ir izvēlēties no dotajām atbildēm
visprecīzāko un vispilnīgāko. Rakstiskie parbaudes darbi var būt arī grafiskie
uzdevumi, noteiktu procesu grafiku konstruēšanu u.c.
3. Kontroles
nolūkā var izmantot arī laboratorijas darbu metodes. Laboratorijas kontroldarbi
izmanto fizikā, ķīmijā un citos mācību priekšmetos. Pie šīm metodēm pieskaitāma
arī eksperimentālo uzdevumu risināšana, kas saistīta ar izmēģinājumiem, kurus
var reāli realizēt kontroldarba laikā.
4. Programmetās
kontroles metodes. Kontroles programmas parasti sastāda pēc programmēto
kontrolvingrinājumu metodikas. Ar šo metodi nav iespējams pārbaudīt skolēna
valodas loģiku, pareizību, kā arī savlaicīgi sniegt skolēnam palīdzību
grūtībās. Tāpēc ir nepieciešams skolēnu zināšanu pārbaudē racionāli savienot
programmeto kontrole ar citām kontroles metodēm.
5. Paškontroles
metodes. Kontroles pilnveidošanas mūsdienu posma būtiska īpatnība skolā ir
vispusīga mācību vielas apguves pakāpes paškontroles iemaņu attīstība
skolēniem, prasme pastāvīgi saskatīt pieļautās kļūdas, neprecizitātes un
izraudzīties ceļus konstatēto trūkumu novēršanai.
3. 2. Testu sastādīšanas metodika.
Pēdējos gados
skolēnu zināšanu kontrolei arvien plašāk tiek izmantoti testi. Testi var tikt
pieskaitīti pie programmētajām kontroles metodēm.
Vārds “Tests”
ir nācis no angļu valodas un tulkojumā nozīmē “pārbaudījums”. Šo vārdu sāka
izmantot zinātniskajā literatūrā, kad tika izstrādātas speciālas procedūras
zināšanu izmērīšanai kā arī personības raksturošanai. Testi pēc sarežģītības un
iegūstamās informācijas var būt dažādi.
Testi ir arī
mērinstrumenti, kas sniedz informāciju par audzēkni, kā ar citiem izglītības
procesa aspektiem, bet uzsvars noteikti tiek likts uz audzēkņiem. Skolotāja
ikdienas darbā audzēkņu zināšanu, prasmju un iemaņu novērtēšana ir svarīgs un
grūts viņu darba aspekts. Testu sagatavošana un izmantošana, prasmju
novērtēšana, punktu skaita pārvēršana atzīmēs, testa punktu skaita
interpretācija un lēmumu pieņemšana bieži vien nav ietverta skolotāju apmācībā.
Specifiskie
testēšanas iemesli ir daudz un dažādi. Galvenokārt testi tiek izmantoti, lai
iegūtu informāciju par audzēkņu raksturīgajām iezīmēm un zināšanām. Psiholoģijā
testus parasti izmanto, lai iegūtu informāciju, kuru, iespējams, nevar iegūt
citos veidos, vismaz ne tik ātri un efektīvi. Pastāv pretrunīgi viedokļi par
testēšanas pielietojuma pakāpi un faktu, ka daudzi svarīgi lēmumi tiek
pieņemti, balstoties uz testu rezultātiem. Ir daudzi testu piekritēji, bet ir
arī to noliedzēji. Šai metodei ir gan plusi, gan mīnusi. Pat vispārliecinātākie
testēšanas aizstāvji atzīst, ka testi nav pati pilnība. Tomēr izglītības testi
un citi izmērīšanas līdzekļi ir noderīgi un būtiska mācīšanas un mācīšanās sastāvdaļa.
Zināšanas par
to, kā testa vadīšanas faktori ietekmē rezultātā iegūto punktu skaitu, var
palīdzēt izstrādāt tādus testu vadīšanas paņēmienus, kas būtu godīgi pret
visiem audzēkņiem un maksimāli paaugstinātu audzēkņu izredzes labi nokārtot
testu. Lai sekmīgi varētu izpildīt testus zināšanu kontrolei vajag pareizi
organizēt testēšanas norisi. Tās veikšanai ir nepieciešams sagatavot:
1. Atsevišķu
atbilžu lapu.
2. Precīzu
testa izpildes instrukciju.
3. Palīglīdzekļus
(lineāls, zīmulis, kalkulātors u. c.), ja tie ir nepieciešami.
Par testa
norises organizāciju audzēkņi jāinformē savlaicīgi, viņiem jāizprot telpas
izkārtojums un jāzina kā testa atbildes tiks vērtētas. Pirms testa audzēkņi ir
arī jāinformē par testam atvēlēto laiku.
Testos
izmanto atbildes izvēles jautājumus, kurus var iedalīt trijās grupās:
1. Atbilstošās
atbildes jautājumi.
2. Izvēles
jautājumi.
3. Pareizās
– nepareizās atbildes jautājumi.
Atbildes
izvēles jautājumiem ir divas galvenās pozitīvās iezīmes: tiem var precīzi
piešķirt iegūtos punktus, kā arī var adekvāti pārbaudīt saturu. Šādu jautājumu
negatīvā iezīme ir tā, ka tie ierobežo nenozīmīgāko detaļu izmērīšanu.
Daži ieteikumi
jautājumi sastādīšanai visiem atbildes izvēles jautājumu tipiem ir kopīgi.
Jāatceras, ka audzēkņiem izvēloties no dotajām atbildēm pareizo, pastāv
iespēja, ka viņi izvēlēsies pareizo atbildi nejauši.
Testa
jautājumiem jābūt neatkarīgiem vienam no otra. Viena jautājuma saturs nedrīkst
dot atbildi uz kādu citu jautājumu. Arī pareiza atbilde uz vienu jautājumu
nedrīkst būt par priekšnosacījumu pareizai atbildei uz kādu citu jautājumu.
Testa
lasīšanas līmenis nedrīkst ietekmēt atzīmi, ja vien netiek pārbaudīta
lasītspēja.
Testēšanas
laika ierobežotība var iespaidot tā rezultātu, jo audzēkņiem ir dažāds
uzstveres ātrums, cits strādā lēnāk, cits ātrāk. Tādēļ var būt gadījumi, kad
lēnāk domājošajiem, ja testa izpildei ir limitēds laiks, rezultāti ir sliktāki.
Tāpēc testos nav ieteicams izmantot sarežģītus uzdevumus. Šādos gadījumos
skolotājam ir jādomā par to vai nevajag izmantot individuālo darbu.
1. Atbilstošās atbildes jautājumi. Atbilstošās atbildes nozīme jau
dota to nosaukumā; tās prasa, lai audzēknis uz asociāciju pamata atrastu
atbilstošos vārdus vai frāzes, kas izsaka vienu ideju, koncepciju, principus
vai jēdzienus. Atbilstošās atbildes parasti ir izkārtotas divās ailēs; vienā
ailē ir dots nosacījums, otrā – atbilde. Atbilstošo atbilžu jautājumi skolotāju
veidotajos testos visbiežāk tiek izmantoti, lai pārbaudītu faktu, definīciju,
simbolu lietošanas un tamlīdzīgas zināšanas. Izmantojot atbilstošās atbildes,
vienā jautājumā var parādīties vairākas problēmas. Bet, ja šādos jautājumos ir
kādas tehniskas nepilnības, tad arī iegūtie mērījumi būs virspusēji. Testos var
efektīvi izmantot tikai labi sastādītus atbilstošo atbilžu jautājumus.
Vispārēja
kļūda atbilstošo atbilžu jautājumu sastādīšanā ir neviendabīga satura
iekļaušana tajos, tādējādi dodot audzēkņiem iespēju dažas kombinācijas vispār
izslēgt, jo nav atbilstības starp nosacījumu un tam atbilstošo atbildi.
Atbilstošās atbildes ir ļoti uzmanīgi jāpārbauda, vai nav kādas norādes, jo
citādāk audzēkņi tās atšifrēs un pēc izslēgšanas principa svītros nepareizās
atbildes, balstoties tikai uz kādu tehnisku faktoru testa uzbūvē.
Nosacījumu un
atbilžu skaitam nav jābūt vienādam; parasti atbilžu skaits ir lielāks nekā
nosacījumu skaits. Var būt gadījumi, kad vienu atbildi var izmantot vairāk nekā
vienu reizi. Šādi apstākļi sarežģī iespēju uzminēt, un samazina iespēju dot
pareizo atbildi, vienkārši svītrojot jau izmantotās atbildes.
2. Izvēles jautājumi. Par izvēles jautājumiem sauc tādus
jautājumus, kuros audzēkņiem no diviem vai vairākiem atbilžu variantiem
jāizvēlas viena vai vairākas atbildes. Šie jautājumi sastāv no divām daļām:
saknes, kurā ietilpst visa atbilstošā informācija (respektīvi, jautājums), kas
nepieciešama, lai uzstādītu jautājumu, un izvēles, kas sastāv no pareizajām un
maldinošajām atbildēm, no kurām audzēkņiem jāizvēlas pareizā.
Sakni var
formulēt trīs veidos:
1. kā
tiešu jautājumu;
2. kā
paplašinātu teikumu;
3. kā
teikumu, kurā vajag kādu daļu ievietot/ papildināt.
Visbiežāk
izvēles jautājumi liek audzēkņiem izvēlēties vienu pareizo atbildi. Vairums
izvēles jautājumu ir ar četrām iespējamajām atbildēm. Jo vairāk izvēles
iespēju, jo lielākus sarežģījumus tas rada sastādītājam, lai gan, palielinot
iespējamo atbilžu skaitu, samazinās iespēja uzminēt pareizo atbildi, pieņemot,
ka maldinošās atbildes ir vienlīdz ticamas.
Pamatprincipi
izvēles jautājumu sastādīšanai ir:
·
saknē ir skaidri jāformulē problēma;
·
jāizvairās no gramatiskām norādēm (laiks,
skaitlis);
·
labāk, ja visām izvēles atbildēm ir vienāds
garums;
·
labāk izmantot ticamas maldinošās atbildes;
·
izvairīties no “atslēgas” vārdu izmantošanas gan
saknē, gan piedāvātajās atbildēs;
·
labāk izvairīties no nolieguma vai dubultā
nolieguma izmantošanas.
3. Pareizās – nepareizās atbildes jautājumi. Pareizās – nepareizās
atbildes jautājumi faktiski ir apgalvojumi, uz kuriem audzēkņi dod atbildi, ka
tie atbilst vai neatbilst patiesībai (pareizi vai nepareizi, jā vai nē).
Pareizās – nepareizās atbildes jautājumu sastādīšanas pamatprincipi ir:
·
apgalvojumu jāraksta skaidri izteikti pareizi
vai nepareizi. Apgalvojums nedrīkst būt divdomīgs. Izmanīgs formulējums tikai
apmāna audzēkņus un izraisa apjukumu.
·
izvairīties izrakstīt teikumus tieši no mācību
grāmatas. Kad audzēkņi to atšifrē, tas varētu sekmēt vienkārši mehānisku
grāmatas teksta atcerēšanos, nevis koncepciju un principu iemācīšanos.
·
izvairīties no kādām konkrētām norādēm.
Apgalvojumā nevajadzētu ietvert tādas vispārīgas norādes kā visi, nekad,
vienmēr, neviens.
·
izvairīties no viltīgiem jautājumiem. Dažkārt,
lai sastādītu pareizās – nepareizās atbildes jautājumu nepareizo apgalvojumu,
tiek izdarītas minimālas izmaiņas. Šīs izmaiņas, lai apgalvojumu pārvērstu par
nepatiesu, patiešām ir ļoti nenozīmīgas.
·
neierobežot jautājumus tikai ar faktu
atcerēšanos: šī jautājumu forma ir ļoti piemērota, lai novērtētu atsevišķu
vārdu, datumu un terminu zināšanu. Bet ar to palīdzību var izmērīt arī daudz
augstākus izzinošās sfēras līmeņus. Pielietojot nedaudz radošu pieeju, pareizās
– nepareizās atbildes jautājumus no vienkāršas zināšanu pārbaudes līmeņa var
pārvērst par jautājumu, kas izmēra daudz augstāka līmeņa sasniegtos rezultātus.
·
sekojot, lai pareizās – nepareizās atbildes
jautājumu apgalvojumi būtu apmēram vienādi garuma un skaita ziņā. Audzēkņiem
nevajadzētu dot neatbilstošus mājienus par pareizajām atbildēm, jo tas varētu
traucēt, īpaši jau mazāk zinošajiem audzēkņiem izvēlieties pareizo atbildi.
·
izvairīties no pazīstamas sistēmas izmantošanas
atbilžu izvēlē. Nav nepieciešams izmantot nejaušības principu jautājumu
izkārtojumā, nepareizos (vai pareizos) jautājumus nevajadzētu sagrupēt kopā
vienā vai vairākās testa daļās.
3. 3. Datorprogramma “Ekonomika” zināšanu kontrolei kursā
“Ievads ekonomiskajā teorijā” kā mācību procesa būtiska sastāvdaļa
1993. gadā LR
profesionāli tehniskās izglītības sistēmā visās arodskolās tika ieviests jauns
mācību priekšmets – “Mazā biznesa kurss”, kura mērķis ir veidot audzēkņu
ekonomisko domāšanu, dodot pamatzināšanas ekonomikā un uzņēmējdarbībā. Sākot ar
1997. gadu Rīgas 13. AVS mazā biznesa kursa pasniegšana balstās uz PHARE
programmas “Profesionālās izglītības reforma Latvijā” ietvaros izstrādāto
mācību programmu.
“Ievads
ekonomiskajā teorijā” ir viena no mazā biznesa kursa sastāvdaļām. Priekšmetam
kopumā paredzētas 142 stundas, bet kursa “Ievads ekonomiskajā teorijā”
apgūšanai atvēlētas 34 stundas.
Arodskolu
audzēkņiem pēc pamatskolas beigšanas raksturīgs diezgan zems sagatavotības
līmenis vispārizglītojošajos priekšmetos. Viņiem ir zināmas grūtības precīzi
formulēt savu domu, atbildot izņemto vielu. Ekonomiskā terminoloģija lielākajai
daļai no viņiem ir kaut kas jauns un tās analīze rada audzēkņiem grūtības.
Skolotājam
vienmēr ir jāpatērē daudz laika, lai pārbaudītu audzēkņu zināšanas, jo tas ir
darbietilpīgs process. Sevišķi labi tas redzams arodskolās, jo lielākajai daļai
audzēkņu nepieciešams vairāk laika, lai noformulētu savas atbildes.
Vēl ir liela
problēma tā, ka daudzi no viņiem arī uzskata, ka pats galvenais – iegūt
profesiju, bet vispārizglītojošā un kultūras līmeņa paaugstināšana nav tik
svarīga un tāpēc viņi vispārizglītojošos priekšmetus mācās nelabprāt.
Šādos
apstākļos aktuāla kļūst problēma kā samazināt laiku zināšanu kontrolei, lai
vairāk uzmanības varētu veltīt jaunās vielas izskaidrošanai un apgūtā materiāla
nostiprināšanai, lai atliktu arī laiks individuālajām darbam ar audzēkņiem.
Laika trūkuma dēļ pārbaudīt visu audzēkņu zināšanas mutiski par katru tēmu nav
iespējams.
Mazā biznesa
kursa stundās es izmantoju dažādas zināšanu kontroles metodes.
Tabula 3. 1. Metodikas
metodes
Mutiskās pārbaudes metodes
|
Rakstveida kontroles metodes
|
Pašnovērtējuma metodes
|
Individuālā
mutiskā aptauja
|
Terminu
diktāti
|
Savstarpējie
mutiskie jautājumi
|
Īsā
frontālā aptauja
|
Diktāts
– pareizi/ nepareizi
|
Darbs
grupās
|
Diskusija
|
Ieskaites
testu veidā
|
Diktātu
pārbaude
|
|
Radošie
darbi
|
|
|
Uzdevumi
|
|
Tematiskais bloks “Ievads ekonomiskajā teirojā” ir
sadalīts trijās daļās:
Pēc katra bloka apguves ir
ieskaite, kurā lielākā daļa jautājumu ir testa veida. Šādā zināšanu pārbaude
pozitīvais ir tas, ka var ātri pārbaudīt darbus un izlikt atzīmes, bet
pārbaudes formai rakstiskā testa veidā ir arī vairāki būtiski trūkumi:
1. Tiem
ir ierobežots jaunrades raksturs.
2. Audzēkņi
cenšas padalīties zināšanās par pareizo atbildi ar kaimiņu, lai gan ir
izstrādāti 5 testa varianti katrai ieskaitei.
3. Ieskaiti
nokārtojušie grupu audzēkņi dalās pieredzē par saviem panākumiem ar citu grupu
audzēkņiem, kuri vēl ieskaiti nav kārtojoši un daži no viņiem pēc tam mehāniski
atzīmē pareizo atbildes burtu vai ciparu, nedomājot par jautājuma būtību.
4. Pirms
ieskaites ir jāsagatavo testu lapas un tomēr jātērē laiks, lai pārbaudītu
darbus un izliktu atzīmes.
Šos trūkumus
lielā mērā varētu novērst, izmantojot datorus, kas autamātiski apstrādā testa
rezultātus. Šim nolūkam es izstrādāju lietojumprogrammu “Ekonomika”. Šai
programmai testi ir sastādīti par katru tēmu. Katrā testā ir 8 jautājumi. Tāds
jautājumu skaits nav izvēlēts nejauši. Pašreizējā zināšanu novērtēšanas sistēmas
paredz ka novērtējumu 9 un 10 var iegūt tikai tajā gadījumā, ja audzēknis
papildus strādā pie mācību programmas. Bet tā kā testi iekļauj sevī tikai tādus
jautājumus, kuri ir aplūkoti mācību stundā, tad viegli būs izlikt atzīmi
atkarībā no pareizo atbilžu skaita. Audzēkņi ir informēti, ka par katru pareizu
atbildi viņi iegūst 1 balli. Testi attiecas uz “Atbildes izvēles jautājumi”
grupu. Katram jautājumam ir 4 atbilžu varianti, no kuriem tikai viens ir
pareizs.
Lietojumprogrammā
“Ekonomika” atbildes nav numurētas, kas samazina priekšā teikšanas varbūtību,
bet pats galvenais – atbildes sakārtojas pēc nejaušības principa. Un pat blakus
sēdošie pie datora nevarēs vienoties, jo atbilžu kārtība nesakritīs. Pilnīgi
izslēgt atbilžu izvēles mehānisku iespēju nevar, bet varbūtība samazinas
salīdzināt ar parasto rakstveida testēšanu.
Lietojumprogramma
“Ekonomika” dod iespēju pirmstestēšanu atkārtot (izlasīt) konkrētās tēmas
pamattēzes, kas ir ļoti būtisks moments arodskolas audzēkņiem. Šī iespēja dod
papildus pozitīvu stimulu, lai pārdomātāk izvēlētos pareizo atbildi. Vēl viens
no stimuliem, lai audzēknis koncetrētos darbā, ir tas, ka rezultātus audzēknis
uzzina uzreiz pēc testēšanas. Un faktiski atzīmi viņam ieliek nevis skolotājs,
bet gan dators. Tas dod audzēknim pārliecību, ka skolotāja subjektivitāte
audzēkņa novērtēšanā nav iespējama. Šī programma palīdz arī palielināt atzīmju
blīvumu, kas arī ir pozitīvs stimuls audzēknim, jo katram būs atzīme par katru
tēmu.
Lietojumprogrammas
“Ekonomika” darbības pārbaude tika veikta Rīgas 13. AVS skolotājas Ligitas
Lapušinskas vadībā starp otrā kursa audzēkņiem latviešu valodas apmācības
plūsmā mazā biznesa kursa stundās uz datoriem 486DX2, 66Mz, RAM 16Mb Windows 95
operētājsistēmā, izmantojot tīklu.
Zināmas
problēmas rada tas, ka vienlaicīgi testēties var tikai 12 audzēkņi, jo
datorklase ir tikai 12 darba vietas. Tāpēc skolotājam ir jāizlemj, kā labāk
organizēt darbu stundā, lai no šīs lietojumprogrammas iegūtu labumu, nevis
kaitētu mācību procesam. Šī lietojumprogramma pagaidām tika izmantota
eksperimenta veidā. Šis eksperiments parādīja, ka audzēkņiem ir liela
ieinteresētība strādāt pie datora mazā biznesa kursa stundās.
Ka ekonomisko
zināšanu kontroles sistēmas sastāvdaļa lietojumprogramma “Ekonomika” atbilst
visiem sekmības diagnosticēšanas un kontroles principiem:
1. Objektivitāte. Tā izpaužas:
a) testa jautājumu saturā, kuri atbilst apgūstamajam materiālam;
b) vienādos kritērijos visiem audzēkņiem;
c) skolotāja personības nespēja ietekmēt rezultātu, jo audzēknis pats
uzreiz redz savu atzīmi. Jo atzīme ir viens no galvenajiem pedagogu līdzekļiem,
lai stimulētu mācīšanos, veidotu pozitīvu motivāciju. Tieši objektīvas
novērtēšanas ietekmē audzēkņiem veidojas adekvāts pašvērtējums un kritiska
attieksme pret saviem panākumiem.
2. Sistemātiskums. Kontrole tiek veikta visos didaktiskā procesa
etapos. Testēšana ir noslēdzošais etaps. Testa jautājumi balstās ne tikai uz
konkrētas tēmas materiāla, bet arī uz iepriekš apgūto.
3. Uzskatāmība. Testēšana visiem audzēkņiem notiek pēc vienādiem
noteikumiem un par vienām un tām pašām tēmām. Datora izmantošana dod papildu
stimulu, lai mācītos.
Lietojumprogrammas “Ekonomika” instalācijas pakete ietilpst
9 disketēs. Instalācijas procesa secība:
1. Instalēt
“Ekonomiku” serverī.
2. Pārbaudīt
vai tā strādā serverī.
3. No
apakškataloga Client instalēt “Ekonomika Client” uz audzēkņu datoriem.
4. BDE
Administrator norādīt ceļu uz tabulām, kas ir uzstādītas serverī:
Program
Files\Borland\CommonFiles\BDE.
Lappusē
Configuration izvēlēties Drivers – Native – Paradox un pēc tam saglabāt
izvēlēto ceļu.
5. Audzēknim
jāpalaiž no servera “Ekonomika.exe”.
Pēc mācību
gada beigām, ja nav vajadzības saglabāt atsevišķu audzēkņu testēšanus
rezultātus, tos var izdzēst ar DataBase
Desktop.
Audzēkņa darba kārtība ar lietojumprogrammu
“Ekonomika”:
1. Audzēkņi
palaiž programmu no servera.
2. Reģistrējas
– izvēlas no saraksta “Grupa” savas grupas numuru un ievada savu vārdu un
uzvārdu.
3. Pēc
skolotāja norādījuma atver vienu vai otru tematisko bloku.
4. Atvērtajā
logā audzēknis izvēlas nepieciešamo tēmu un ar peles klikšķi to atver.
5. Lasa
tekstu un pēc tam, nospiežot pogu “Izeja”, ekrānā parādās informatīvs
paziņojums: testēties vai ne.
6. Ja
audzēknis ir izvēlējies testēties, tad parādās logs “Testēšana”.
7. Testēšanas
logā viņš izvēlas atbildes uz testa jautājumiem.
8. Ja
ir nepieciešams, viņš var atgriezties pie iepriekšējiem jautājumiem.
9. Pēc
testēšanās audzēknis saņem informatīvu paziņojumu, ka viņš var
izvēlēties – beigt testu vai atgriezties vēlreiz pie kāda no jautājumiem.
izvēlēties – beigt testu vai atgriezties vēlreiz pie kāda no jautājumiem.
10. Informatīvajā paziņojumā izvēlējies beigt testu,
testējamais nākošajā logā ierauga sava testa rezultātus.
11. Pēc iepazīšanās ar testa rezultātiem, ja viņam nav
vajadzība testēties citā tēmā, viņam ir jāaizver visi logi un jāiziet no
programmas.
Skolotājam nav
nepieciešamība pieiet pie katra datora. Pēc grupas testēšanas vai citā viņam
izdevīgā laikā skolotājs var iegūt serverī testēšanas rezultātus par visu grupu
vai, ja nepieciešams, par atsevišķu audzēkni vai tēmu un par dažādu laika
periodu. Pēc šiem apkopotajiem testa rezultātiem skolotājs, ja ir vajadzīgs,
var izdrukāt testa atskaiti un izlikt atzīmes žurnālā. Lai to izdarītu,
skolotājs izmanto administratora paroli. Ievadīšanas laukumā “Vārds, uzvārds”
loga “Lietotājs” jāieraksta “Oksana Kaminska – autore” un kad parādās paroles
ievadīšanas laukums, tad ir jāuzraksta parole: 15xfc16vby.
KOPSAVILKUMS
Maģistra darba
gaitā, reālizējot izvirzītos uzdevumus, tika izstrādāts jauns programmprodukts
ekonomisko zināšanu kontrolei kursā “Ievads ekonomiskajā teorijā” arodskolas
audzēkņiem.
Tajā iekļaujās 14 HTML-faili
blokā “Ekonomiskaš sistēmas” (Pielikums
Nr. 12):
Nr. 12):
1. 1. Ekonomiskās
domas vēsture.
1. 2. Kas ir ekonomika?
1. 3. Vajadzības.
1. 4. Vajadzību un ražošanas klasifikācija.
1. 5. Ekonomiskie resursi.
1. 6. Ekonomiskās pamatproblēmas.
1. 7. Ekonomiskās sistēmas.
1. 8. Ekonomiskā aprite.
1. 9. Ekonomiskās aktivitātes svārstības.
1. 10. Bezdarbs.
1. 11. Inflācija.
1. 12. Tirgus regulēšanas mehānisms.
1. 13. Specializācija.
1. 14. Nauda.
7 HTML-faili
blokā “Pieprasījuma un piedāvājuma pamati” (Pielikums Nr. 13):
2. 1.Pieprasījums.
2. 2. Pieprasījuma ārpuscenas faktori.
2. 3. Pieprasījuma elastīgums.
2. 4. Piedāvājums.
2. 5. Piedāvājuma ārpuscenas faktori.
2. 6. Piedāvājuma elastīgums.
2. 7. Tirgus līdzsvars.
9 HTML-faili
blokā “Ražošanas pamati” (pielikums Nr. 14):
3. 1.Biznesa ekonomiskā aprite.
3. 2. Trīs galvenie sektori ekonomikā.
3. 3. Tirgus veidi.
3. 4. Tirgus raksturojums.
3. 5. Ražošanas izmaksas.
3. 6. Pastāvīgās izmaksas.
3. 7. Mainīgas izmaksas.
3. 8. Ieņēmumi.
3. 9. Analīze.
Sameklēti un
sastādīti 240 jautājumi un 960 atbilžu varianti pa četriem atbilžu variantiem
katram jautājumam 30 temās kursā “Ievads ekonomiskajā teorijā” (Pieliekums Nr.
15).
Lietotāja interfeisa grafiskā projektēšana balstijas
uz principiem, kurus piedāva firma Microsoft:
1. Uzskatāmība.
2. Viendabīgums.
3. Iecietība pret lietotāju.
4. Estētika.
5. Vienkāršība.
Jautājumu,
atbilžu, testa rezultātu un lietotāja uzvārdu glābāšanai tiek izveidota datu
bāze, kas sastāv no četrām tabulām. Datu aizsardzība tiek realizēta ar datu
pieejamības paroli administratoram un lietotājiem.
Projektēšanas
gaitā tika izveidotas divas jaunas klases. Klase TNepareizaParole tika izveidota uz ārkārtas situācijas apstrādāju
bāzes klases Exception pamata. Tā
tiek izmantota administratora paroles nepareizas ievadīšanas gadījumā.
Tādā situācijā parādās paziņojums
“Parole nav pareiza” un programmas izmantošana beigsies. Otra klase TAtbildesLabel izveidota kā klases TLabel eksemplārs, lai attēlotu
jautājumu atbilžu variantus vairākās rindiņās uz komponentu Panel, kurām nav WordWrap īpašību.
Lai organizētu
dialogu starp programmu un tās lietotāju tika izmantota funkcija MessageDlg,
kuru piedāvā Delphi. Darbā ar lietojumprogrammu “Ekonomika” lietotājs saņem
informatīvu paziņojumu, kurš, piemēram, piedāvā viņam izvēlēties – testēties
vai nē, pēc tēmas izlasīšanas.
Lietojumprogrammas
“Ekonomika” instalācijas pakete ir izveidota ar gatava instalātora InstallShield
palīdzību un iekļauj sevī paketi serverim un klientam.
Programmas pozitīvās īpašības ir:
1. Lietošanas
vienkāršība.
2. Pieejas
pie datiem ierobežotība.
3. Atbilžu
sajaukšanās pirms nākošās testēšanās.
4. Iespēja
testēšanās gaitā vēlreiz pārbaudīt izvēlētās atbildes pareizību.
5. Testēšanās
rezultātu iegūšana uzreiz pēc tā pabeigšanas.
6. Audzēknis
var apskatīt tikai savus testa rezultātus pa visām tēmām.
7. Ātra
testu rezultātu atskaites izveidošana un izdrukāšana.
8. Tēmu
tekstu glābāšana HTML failos, kuri viegli modificējas.
9. Jautājumu,
atbilžu, testa rezultātu un uzvārdu glābāšana datu bāzē, kura viegli
modificējas.
10. Nav nepieciešamība no jauna ievadīt savu uzvārdu,
ja audzēknis ir jau testējies.
11. Programmas struktūru ir diezgan viegli izmantot,
lai veidotu citu lietojumprogrammu zināšanu kontrolei kādā citā mācību
priekšmetā.
12. Tīkla izmantošana testēšanā.
Programmas trūkumi:
1. Lai
atvērtu tabulas katrā klienta datorā tīklā, vajag norādīt ceļu uz tabulu datiem
serverī.
2. Paziņojums
‘Parole nav pareiza!” pārādās ne tikai lietotāja nepareizas reģistrācijas
gadījumā.
3. Var
būt problēmas ar ekrāna izšķirtspējam.
Konstatētie
trūkumi ir novēršami, bet maģistra darba ierobežotā laika dēļ, to neizdevās
izdarīt.
Lietojumprogrammas
“Ekonomika” mērķis nav aizstāt tradicionālo zināšanu pārbaudes sistēmu, bet gan
kļūt par tās sastāvdaļu, lai palīdzētu skolotājam ātrāk veikt zināšanu
kontroli.
Dotā
lietojumprogramma paredzēta ne tikai mācību priekšmeta “Mazā biznesa kurss”
arodskolas skolotājiem, bet arī citiem skolotājiem, kuri māca ekonomikas
pamatus.
Lietojumprogramma
“Ekonomika” aprobēta Rīgas 13. AVS (Pielikums Nr. 16).
Literatūras saraksts
1. Babanska
J. redakcijā. Pedagoģija. – R.: Zvaigzne, 1987. – 509 lpp.
2. Бард
Т. Объектно-ориентированное программирование в действии. – СПб.: Питер, 1997. –
464 с., ил.
3. Bikse
V. Ekonomikas pamatprincipi. Testi. – R.: Zvaigzne ABC, 1998. – 160 lpp.
4. Bikse
V. Tirgus ekonomikas pamati. I daļa. – R.: Mācīdu Apgāds, 1995. – 108 lpp.
5. Bikse
V. Tirgus ekonomikas pamati. II daļa. – R.: Mācību Apgāds, 1996. – 108 lpp.
6. Biznesa
pamati. Eksperimentāla mācību grāmata. – R.: Raka, 1998.
7. Ekonomika
un ārējās tirdzniecības pamati. Mācību līdzeklis. – R.: Jumava, 1997. – 75 lpp.
8. Ekonomika.
Mācību līdzeklis. – R.: Jumava, 1996. – 112 lpp.
9. Федоров
А. Г. Delphi 3.0 для всех. – М.: Компьютер Пресс, 1998. – 544 с.
10. Krieviņš V. Mājsiamniecības ekonomika. – R.: Raka,
1997. – 212 lpp.
11. Krieviņš V. Ekonomikas pamatkurss. – R.: Raka,
1996. – 105 lpp.
12. Krūmiņa I. Zināšanu testi ģimnāzijā //Skolotājs,
5/97.
13. Макконелл К. Р., Брю С. Л. Экономикс: Принципы,
проблемы и политика, в 2 т. Т. 1.
14.Ларсон Майкл А. Создание Web-страниц с помощью
Microsoft Office 97. – М.: 1998. – 480 с: ил.
15.Мак-Клеланд Д.. Филипс Р. Photoshop 3 для Windows
95. Библия пользователя. – К.: Диалектика, КОМИЗДАТ
Nav komentāru:
Ierakstīt komentāru