Document a Tie

20
1 Liceul Teoretic „Mihai Eminescu” Barlad Lucrare de specialitate pentru obtinerea ATESTATULUI PROFESIONAL - profil matematica-informatica- Profesor Indrumator, Elev, Mocanu Bogdan Dabija Dan

description

documentatie

Transcript of Document a Tie

  • 1

    Liceul Teoretic Mihai Eminescu Barlad

    Lucrare de specialitate

    pentru obtinerea

    ATESTATULUI PROFESIONAL

    - profil matematica-informatica-

    Profesor Indrumator, Elev,

    Mocanu Bogdan Dabija Dan

  • 2

    Cuprins

    1.Obiectivele aplicatiei...3

    2.Prezentarea aplicatiei...4

    3.Codul sursa.....15

    4.Bibliografie.....19

  • 3

    1.Obiectivele aplicatiei

    Examenele auto sunt un lucru foarte important pentru societate, pentru

    siguranta ei dar si pentru buna dezvoltare a sa. Datorita acestor examene si

    posibilitatea de a le desfasura face din societate un mediu sigur pentru toti cei ce

    traiesc acolo.

    Aceste examene sunt un mod responsabil de a conduce in siguranta, cunoscand

    legile in vigoare si cele de circulatie.

    Aceasta aplicatie pe care am realizat-o ajuta la dezvoltarea personala a fiecarui

    candidat ajutandu-l sa se autoevalueze mult mai simplu decat facand teste de pe carti

    asa cum se facea de obicei. Aplicatia il ajuta sa introduca chestionarele si sa simuleze

    un examen cu acele intrebari pana va reusi sa invete. Totodata are la indemana un

    meniu de help in care va gasi legislatia codului rutier.

  • 4

    2. Prezentarea aplicatiei

    Odata cu deschiderea acestei aplicatii denumita 'Examen auto' pe ecran va

    aparea o fereastra impreuna cu un meniu in partea de sus exact ca in aplicatiile

    windows si o imagine ca in figura de mai jos.

  • 5

    2.1.Meniu principal

    Acest meniu este format din cinci operatii pe care le realizeaza programul pe

    care il voi prezenta in aceste pagini.

    2.1.1 Chestionar

    Aceasta optiune contine trei operatii prin care utilizatorul va putea sa adauge

    chestionare, sa modifice intrebarile din el, si deasemenea sa stearga chestionare.

    La apasarea mouse-ului pe optiunea 'Adauga chestionar' va aparea o fereastra

    de inregistrare in baza de date a unei chestionar asa cum apare in imaginea de mai jos.

  • 6

    Ca sa se poata realiza inregistrarea corect este necesar ca toate campurile sa

    fie completare, nu neaparat si campul poza din interiorul bazei de date, numai daca

    pentru intrebare exista o poza pe care candidatul sa indentifice ceva trebuie completat

    prin apasarea butonului 'Adauga poza' si selectand o poza din fisierul 'chestionare' din

    fisierul cu atestatul.

    De mentionat e ca pozele care se vor introduce pentru fiecare intrebare in parte

    trebuie sa fie in fisierul CHESTIONARE din interiorul fisierului cu atestatul.

    Odata completate toate aceste date utilizatorul este indreptatit sa apese pe

    butonul Adauga intrebare pentru a finaliza inregistrarea. La apasarea butonului

    Adauga intrebare programul va adauga in baza de date intrebarea si nu va da voie sa

    parasiti aplicatia decat cand ati terminat de adaugat cele 26 de intrebari necesare

    pentru un chestionar.

  • 7

    In caz de necompletare a tuturor datelor de catre utilizator va aparea o fereastra

    prin care se va specifica ca nu au fost completate toate datele.

    La apasarea mouse-ului pe optiunea 'Modifica chestionar' va aparea o fereastra

    de modificare a datelor in baza de date a unui chestionar asa cum apare in imaginea

    de mai jos.

  • 8

    Se va cauta chestionarul dupa numarul atribuit asa cum a fost introdus in baza

    de date, dupa care se vor putea modifica datele intrebarilor.

  • 9

    Finalizarea acestui process consta in afisarea unui mesaj de informare a

    utilizatorului precum ca modificarea a fost realizata.

    La apasarea mouse-ului pe optiunea 'Sterge chestionar' va aparea o fereastra de

    stergere a datelor din cele doua baze de date a unui chestionar asa cum apare in

    imaginea de mai jos.

    Acest proces se va inchia printr-un mesaj de informare.

    2.1.2 Examen

    Aceasta optiune simuleaza examenul auto cu inregistrarea persoanei in baza de

    date,cu testul propriu-zis si cu rezultatul testului.

  • 10

    Pentru inceput trebuie sa completati campurile din formular cum vedeti mai sus,

    dupa care va trebui sa alegi un chestionar pe care vreti sa-l rezolvati. Daca

    chestionarul are intrebari adaugate atunci va aparea pe ecran un mesaj de continuare

    afirmativ.

    In caz ca, chestionarul nu contine intrebari veti fi indrumat sa alegi alt

    chestionar.

  • 11

    Dupa ce ati facut ce am descris pana acum sunteti indreptatiti sa incepeti testul

    prin apasarea butonului 'Continua examinare', pe ecran va aparea o fereastra cu

    numele dumneavoastra.

    Dupa ce apasati 'Ok' pe ecran va aparea fereastra pentru test asa cum veti vedea

    mai jos.

    Daca insa nu sunteti totusi hotarat sa incepeti testul puteti renunta la el prin

    apasarea butonului 'Renuntare examen' din coltul din stanga-jos.

    Pentru a incepe examenul apasa pe butonul 'Start examen'. In dreapta aveti

    intrebarile din acest test, deci nu e nevoie sa le faceti in ordine. Pentru a urma insa

    ordinea fireasca a intrebari-lor apasati pe butonul 'Urmatoarea intrebare'.

  • 12

    In partea din stanga in dreptul fiecarui raspuns aveti niste butoane pe care le

    puteti bifa. Un singur raspuns e correct.

    Dupa ce ati rezolvat toate cele 26 de intrebari apasati pe butonul 'Finalizare

    examen' din coltul dreapta-jos.

    Pe ecran va aparea o fereastra unde veti fi informat cate raspunsuri corecte si

    cate raspunsuri gresite ati dat si daca ati trecut sau nu examenul.

  • 13

    2.1.3 Invata

    Aceasta este o fereastra informativa prin care sunteti instiintati ca puteti sa

    apasati F1 pentru o fereastra de help in care va aparea codul rutier.

  • 14

    2.1.4.Rapoarte

    Aceasta optiune contine doua operatii care realizeaza doua rapoarte cu datele

    celor care au trecut examenul si cei care l-au picat.

    In cazul nostru pe care l-am folosit vom vizualiza lista celor respinsi printre care

    se afla si cazul nostru.

  • 15

    Pentru a iesi din aceasta aplicatie apasati pe butonul din meniu Iesire.

    3. Codul Sursa

    Butonul Adauga intrebare

    IF EMPTY(_intrebare) OR EMPTY(_raspuns) OR EMPTY(_fals1) OR

    EMPTY(_fals2)

    MESSAGEBOX("Nu ati completat toate campurile obligatorii!",64,'Examen

    auto')

    thisform.edit1.SetFocus

    thisform.Refresh

    ELSE

    IF nr1

  • 16

    thisform.edit1.SetFocus

    thisform.Refresh

    ELSE

    MESSAGEBOX("Chestionarul este complet!",64,'Examen auto')

    GO bottom

    _cod=numar+1

    _intrebare=SPACE(200)

    _raspuns=SPACE(100)

    _fals1=SPACE(100)

    _fals2=SPACE(100)

    _poza=SPACE(50)

    nr1=1

    thisform.edit1.SetFocus

    thisform.image1.visible= .F.

    thisform.command2.Visible= .T.

    thisform.Refresh

    ENDIF

    thisform.Refresh

    ENDIF

    Butonul Adauga poza

    _poza=GETPICT("*.*","Adauga poza","Adauga poza")

    thisform.image1.Visible= .T.

    thisform.image1.Picture=_poza

    nr=AT('CHESTIONAR',_poza)

    _poza=subSTR(_poza,nr)

    thisform.Refresh

    Butonul Iesire

    thisform.Release

    Butonul Continua examinare

    IF EMPTY(_nume) OR EMPTY(_prenume) OR EMPTY(_cnp) OR _data_n={..} OR

    EMPTY(_localitate) OR nrch=0

    MESSAGEBOX("Nu ati completat toate campurile obligatorii!",64,'Examen

    auto')

    ELSE

    SELECT 2

    APPEND BLANK

    replace cnp WITH _cnp

    replace nume WITH PROPER(_nume)

    replace prenume WITH proper(_prenume)

    replace localitate WITH PROPER(_localitate)

    replace data_n WITH _data_n

    replace categorie WITH cat

    MESSAGEBOX("Puteti continua examinarea "+ALLTRIM(nume)+"

    "+ALLTRIM(prenume)+"!",64,'Examen auto')

    SELECT 3

    APPEND BLANK

    replace cnp WITH _cnp

    replace rasp_corect WITH 0

    replace rasp_gresite WITH 0

    _nume=SPACE(15)

    _prenume=SPACE(15)

    _localitate=SPACE(20)

  • 17

    _data_n={..}

    cat='B'

    thisform.txtnume.SetFocus

    thisform.Refresh

    thisform.Release

    DO FORM examen1

    ENDIF

    Butonul C5

    nrch=5

    SELECT 1

    LOCATE FOR numar=nrch

    IF !FOUND()

    MESSAGEBOX("Alegeti alt chestionar!",48,'Examen auto')

    nrch=0

    ELSE

    MESSAGEBOX("Puteti continua examinarea!",64,'Examen auto')

    ENDIF

    Butonul Start examen

    _intrebare=intrebare

    r1=raspuns

    r2=fals1

    r3=fals2

    IF !EMPTY(poza)

    thisform.image2.Visible= .T.

    thisform.image2.Picture=poza

    ENDIF

    thisform.command2.Visible= .T.

    thisform.Refresh

    Butonul Urmatoarea intrebare

    IF rs=raspuns

    SELECT 3

    replace rasp_corect WITH rasp_corect+1

    ELSE

    SELECT 3

    replace rasp_gresite WITH rasp_gresite+1

    ENDIF

    SELECT 1

    SKIP

    _intrebare=intrebare

    x=ABS(INT(RAND()*10))

    IF x=0 OR x=2 OR x=4 OR x=6

    r1=raspuns

    r2=fals1

    r3=fals2

    thisform.command3.picture=''

    thisform.command4.picture=''

    thisform.command5.picture=''

    IF !EMPTY(poza)

    thisform.image2.Visible= .T.

    thisform.image2.Picture=poza

    ELSE

  • 18

    thisform.image2.Visible= .f.

    ENDIF

    thisform.refresh

    ELSE

    IF x=1 OR x=3 OR x=5 OR x=7

    r1=fals1

    r2=raspuns

    r3=fals2

    thisform.command3.picture=''

    thisform.command4.picture=''

    thisform.command5.picture=''

    IF !EMPTY(poza)

    thisform.image2.Visible= .T.

    thisform.image2.Picture=poza

    ELSE

    thisform.image2.Visible= .f.

    ENDIF

    thisform.refresh

    ELSE

    r1=fals2

    r2=fals1

    r3=raspuns

    thisform.command3.picture=''

    thisform.command4.picture=''

    thisform.command5.picture=''

    IF !EMPTY(poza)

    thisform.image2.Visible= .T.

    thisform.image2.Picture=poza

    ELSE

    thisform.image2.Visible= .f.

    ENDIF

    thisform.refresh

    ENDIF

    ENDIF

    thisform.refresh

    Butonul Renuntare examen

    SELECT 2

    LOCATE FOR cnp=ALLTRIM(_cnp)

    IF FOUND()

    DELETE

    PACK

    ELSE

    MESSAGEBOX("Candidatul cu cnp-ul "+ALLTRIM(_cnp)+" nu se poate

    sterge!")

    ENDIF

    thisform.Release

    Butonul Finalizare examen

    thisform.Release

    DO FORM examen2

    Butonul Incheiere sesiune

    thisform.Release

    DO FORM examen2

  • 19

    Butonul Modifica intrebare

    IF EMPTY(_intrebare) OR EMPTY(_raspuns) OR EMPTY(_fals1);

    OR EMPTY(_fals2)

    MESSAGEBOX("Nu ati completat toate campurile obligatorii!",64,'Examen

    auto')

    ELSE

    replace intrebare WITH upper(_intrebare)

    replace raspuns WITH upper(_raspuns)

    replace fals1 WITH upper(_fals1)

    replace fals2 WITH upper(_fals2)

    MESSAGEBOX("Intrebarea din acest chestionar a fost

    modificata!",64,'Examen auto')

    _intrebare=SPACE(200)

    _raspuns=SPACE(100)

    _fals1=SPACE(100)

    _fals2=SPACE(100)

    _poza=SPACE(50)

    thisform.image1.Visible= .F.

    thisform.Refresh

    ENDIF

    Butonul Sterge poza

    thisform.image1.Visible= .F.

    replace poza WITH SPACE(50)

    Butonul Sterge chestionar

    DELETE FOR _cod=numar

    PACK

    MESSAGEBOX("Chestionarul a fost sters din baza de date!",64,'Examen

    auto')

    _intrebare=SPACE(200)

    _raspuns=SPACE(100)

    _fals1=SPACE(100)

    _fals2=SPACE(100)

    _poza=SPACE(50)

    thisform.image1.Visible= .F.

    thisform.Refresh

    4.Bibliografie

    Manual Visual Fox Pro clasa XII, editura L&S Infomat, fam. Paniru (

    Mariana, Ionut, Irina )

    Visual FoxPro 8.0 Help

  • 20