Sunteți pe pagina 1din 8

Scopul lucrrii: De a ne invata, de a crea aplicatii de tipul testelor.

Pentru a arata cum sa realizam mai multe ferestre de dialog vom realiza urmatoarea sarcina. Spre exempu presupunem ca paginile constituie bilete de examen. Fiecare pagina contine o intrebare cu variantele posibile de raspuns. Utilizatorul trebuie pe fiecare pagina sa aleaga varianta corecta si in final sa vada rezultatul obtinut. Mersul lucrrii: Pasul 1. Purcedem la realizarea sarcinii. Incepem un proiect nou si setam pentru forma urmatoarele proprietati: Name !xamForm "aption !xamination #orderSt$le bsDialog Position poScreen"enter Pasul 2. %mplasam pe forma componenta PageControl pe care o gasim in palitra componentelor de pe pagina Win32.

Fig &. "omponenta Page "ontrol 'abel &.& Principalele proprietati ale componentetei Page "ontrol.
Mod Coala Document Efectuat

Proprietati

Semnat

Data

SDEE 525.1 111 02 LL


Litera Coala Coli I

Controlat

"enusa %l. Dergaci (.

Descriere

Ferestre de dialog cu pagini multiple

UTM FIMET E 111

ActivePage Align MultiLine Pages PageCount TabWidt ! Tab"eig t

Seteaza pagina activa. )odalitatea de amplasare a componentei in diapazonul proprietarului Daca ea valoarea true,atunci *+,-.,/-01 se plaseaza in citeva rinduri 'abelul de pagini.! disponibil doar din programa. Numarul total de pagini. ! disponibil doar din programa. 2atimea si inaltimea *+,-.,/-01. Daca aceste proprietati au valoarea zero, atunci inaltimea si latimea fiecarei *+,-.,/-01 se seteaza automat dupa inaltime si latime in dependenta textului cel contine.

Pasul 3. De la bun inceput componenta PageControl nu contine nici o pagina, de aceea noi nu vedem * +,-.,/3-1. Pentru crearea paginii facem clic dreapta pe componenta si alegem meniul flotant comanda #e$Page. 4a fi create prima pagina , si va aparea *boo5mar51 cu inscriptia TabS eet&. Proprietatile paginii le setam in (b6ect Inspector care sunt descrise in tabelul ce urmeaza:

Fig 7. 'abS8eet& 9,belul &.7. Proprietatile principale a obiectelor de clasa 9'abS8eet. Proprietati PageControl Page&nde' %escriere "omponenta multipagina care e disponibila numai din program. Numarul paginii in componenta multipagina.
Coala

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

Tab&nde'

Numarul de pagina care se socoate dupa nr. de *+,-.,/-01 vizibile.Daca *boo5mar51 pentru pagina data nu se vede, atunci proprietatea 'abIndex e egala :&. ! disponibila numai din programa pentru a fi citita. Determina daca se vede *boo5mar51 paginii pe forma. Daca e nevoie de componenta multipagina fara *+,-.,/3-1, setam proprietatea 'ab4isible penttru fiecare pagina in valoarea *False1

Tab(isible

Pasul ). %ctivam &nspector *b+ect si sc8imbam inscriptia pe *boo5mar51, setind in proprietati Caption valoarea #iletul &. 2a fel adaugam paginile urmatoare cu *boo5mar5;0 *#iletul 7, #iletul <, #iletul =, #iletul >. Pasul ,. %ctivam pagina #iletul &, facind cli5 pe *boo5mar51 ei Pe urma amplasam pe ea raspunsuri. Pasul /. Pentru grupul butoanelor dependente alegem marimile cuvenite si setam urmatoarele valori: "aption "@nd este o gaina mai greaA Items "Bnd e cocosul pe ea. "ind maninca. "ind poarta oua. ItemIndex C Dnumarul variantei, primitor in orice cazDdefault settingsEE 'ag & Dnumarul variantei corecte, socotind de la zeroE Proprietatea Tag nu are un sens important in componentele FGG#uilder. !a admite numarul raspunsului correct.. "ind utilizatorul va alege raspunsul,noi vom compara proprietatea &te0&nde' si 12g. Haspunsul va fi correct numai in cazurile cind numerile vor coincide. Fig <. #iletul & finisat Pasul 3. #iletul& e gata vom purcede la scrierea biletului 7 .%ctivam pagina cu #iletul 7 si amplasam pe ea componenta -adio.roup. %legem marimile cuvenite is setam urmatoarele valori:
Coala

? componenta -adio.roup. Denumirea grupei va contine

conditiile intrebarii, iar textul pe dialogurile sc8imbatoare: variantele posibile de

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

"aption Sunt < camere in care esti obligat sa intri si sa alegi in care ai vrea sa supravietuiesti: Items.Strings camera &. o camera plina cu criminali inarmati pana in gat care te:ar face fran6uri imediat camera 7. o camera plina cu lei nemancati de > ani camera <. o camera cu gaz toxic ItemIndex C Dnumarul variantei, primitor in orice cazDdefault settingsEE 'ag 7 Dnumarul variantei corecte, socotind de la zeroE. Pasul 4. In mod analogic se face biletul <. %ctivam pagina cu #iletul < si plasam pe ea componenta -adio.roup! alegem marimile cuvenite is setam urmatoarele valori: "aption Pe ce parte a urcat )i8ai 4iteazul in trenA Items.Strings Stinga Dreapta Niciuna ItemIndex C Dnumarul variantei, primitor in orice cazDdefault settingsEE 'ag 7 Dnumarul variantei corecte, socotind de la zeroE. Pasul 5. In mod analogic se face biletul =. %ctivam pagina cu #iletul = si plasam pe ea componenta -adio.roup! alegem marimile cuvenite is setam urmatoarele valori: "aption "are e principalul motiv al divortuluiA Faptul ca te:ai casatorit. Nu te impaci. %i facut o prostie. ItemIndex C Dnumarul variantei, primitor in orice cazDdefault settingsEE 'ag 7 Dnumarul variantei corecte, socotind de la zeroE. Pasul 16. In mod analogic se face biletul >. %ctivam pagina cu #iletul > si plasam pe ea componenta -adio.roup! alegem marimile cuvenite is setam urmatoarele valori: "aption De ce morcovii sint mai portocalii decit portocaleleA
Coala

Items.Strings

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

"

Items.Strings morcovi.

Nu mai puteau sa le spuna portocali, ca erau de6a au mai mult pigment portocaliu decat portocalele

ItemIndex

C Dnumarul variantei, primitor in orice cazDdefault settingsEE

'ag 7 Dnumarul variantei corecte, socotind de la zeroE. Pasul 11. %cum avem nevoie de a aprecia utilizatorul cu nota. Pentru asta plasam pe forma doua componente 7utton. Primul buton e destina pentru a afisa rezultatul eczamenului, pentru asta setam urmatoarele: Name "aption Default urmator: Name "aption "ancel (n"lic5: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: void IIfastcall '!xamForm::Hesult#tn"lic5 D'(b6ect JSenderE K %nsiString )ar5'extLMN int )ar5 CQ HadioRroup&:S'agE )ar5GGQ HadioRroup7:S'agE )ar5GGQ HadioRroup<:S'agE )ar5GGQ HadioRroup=:S'agE )ar5GGQ HadioRroup>:S'agE )ar5GGQ
Coala

Hesult#tn Hezultat true

%l doilea buton serveste pentru inc8iderea ferestrei si o setam in felul "lose#tn Iesire true

Pasul 12. Determinam pe butoane urmatorii prelucratori de evenimente

*Doi1, *Patru1, *Sase1, *(pt1, *Noua1, *Oece1 PQ if DHadioRroup&:SItemIndex if DHadioRroup7:SItemIndex if DHadioRroup<:SItemIndex if DHadioRroup=:SItemIndex if DHadioRroup>:SItemIndex

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

S8oT)essage D* Hesultat. *G)ar5'extL)ar5NEQ P UU:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::: void IIfastcall '!xamForm::"lose#tn"lic5 D'(b6ect JSenderE K "loseDEQ P Notarea prezentata mai sus , functioneaza dupa urmatorul algoritm. De la bun inceput se socoate e egal cu zeroDnici un raspuns corectE, dar apoi se precizeaza daca nu a fost dat un raspuns corect, #iletul &,#iletul 7 si #iletul <. 2a sfirsit se apeleaza la functia S o$Message, care returneaza intr:o mica fereastra de dialog aprecierea examinatorului.

Hezultatul executiei programului:

Fig =. !xecutia #iletului &

Coala

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

Fig >. !xecutia #iletul 7

Fig M. !xecutia #iletul <

Fig V. !xecutia #iletul =


Coala

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

Fig W. !xecutia #iletul > "oncluzie:

Coala

SDE 525.1 111 02 LL


Mod Coala Document Semnatura Data

S-ar putea să vă placă și