Prezentarea generala a
întreprinderii si prezentarea detailata a sectiei, compartimentului pentru care se proiecteaza
aplicatia.
Obiectul de activitate al Regiei Nationale a Padurilor, consta în aplicarea strategiei nationale în domeniul silviculturii si actioneaza pentru apararea, conservarea si dezvoltarea durabila a fondului forestier proprietate publica a statului, pe care îl administreaza precum si gospodarirea si valorificarea vânatului, a pestelui din apele de munte si a celorlalte produse specifice fondului forestier reglementarilor legale în conditii de eficienta economica.
Regia Nationala a Padurilor functioneaza pe baza evidentei personalului silvic functie de pregatirea (cursurile urmate) fiecarui salariat.
Aplicatia dezvoltata în acest proiect este folosita de serviciul personal-învatamânt, scopul ei fiind pregatirea personalului la cel mai înalt .
Prezentarea sistemului informatic al întreprinderii
Directia Silvica Piatra Neamt are o gama larga de informatii pe care le prelucreaza, drept pentru care se impune un sistem informational si informatic bine pus la punct.
În cadrul unitatii noastre exista o retea de calculatoare, unde se introduc date, se prelucreaza si se listeaza în regim rapid si eficient.
1. Titlul aplicatiei: EVIDENŢĂ PERSONAL
Necesitatea proiectarii aplicatiei
Evidenta personalului cuprinde un volum mare de date, evidente periodice, cu o structura laborioasa de informatii referitoare la situatia pregatirii profesionale a fiecarui salariat, situatia drepturilor banesti, evidente tinute dupa diverse criterii cum ar fi: salarii, functie, pregatire.
Aceste fise sufera modificari frecvente ca urmare a numeroaselor cursuri de pregatire, ce presupune modificari în ceea ce priveste situatia drepturilor banesti. De aici, necesitatea implementarii unei aplicatii, exploatarea automata cu ajutorul calculatoarelor PC, editarea de rapoarte si anume:
Situatia drepturilor banesti
Situatia pregatirii profesionale
Se pot elibera documente justificative si pentru perioade mai mari de timp în functie de cerintele solicitantului.
Necesitatea proiectarii acestei aplicatii se impune si ca urmare a faptului ca într-un interval de timp redus, volumul de lucru este foarte mare, iar timpul pentru predarea situatiilor este limitat. Astfel se realizeaza:
Reducerea unui volum de munca si implicit reducerea erorilor ce pot aparea în activitatea manuala
Obtinere unor informatii si rapoarte în timp util si reluarea prelucrarii cu date noi.
3. Prezentarea fluxului informational
Serviciu tehnic, propune salariatii ce vor fi trimisi la cursuri de pregatire profesionala
Compartimentul învatamânt, solicita unitatilor de învatamânt, cursurile de pregatire ce urmeaza a se desfasura. Serviciul contabilitate urmareste plata cursurilor, iar serviciul personal tine evidenta pregatirii personalului, implicit evidenta drepturilor banesti.
Urmarirea evidentei personalului respectiv: situatia pregatirii profesionale, situatia drepturilor banesti, este realizata prin acest program, usurând foarte mult munca celor care trebuie sa faca acest lucru.
4. Prezentarea generala a aplicatiei
4.1.Formularea aplicatiei
Evidenta personalului presupune crearea a trei baze de date ce cuprinde elementele referitoare la personalul angajat în cadrul Directiei Silvice Piatra Neamt, situatia cursurilor de pregatire urmate de personal, plus o baza de date ce cuprinde informatii cu privire la premiile acordate personalului.
Articolele din cele trei baze de date alcatuiesc structura elementelor cuprinse în personal, interdependenta si relatiile dintre ele.
Aceste baze urmeaza a fi actualizate în functie de modificarile care apar în cadrul evidentei cursurilor urmate de personal.
Prin actualizarea bazelor de date se va cunoaste situatia reala si corecta a situatiei personalului la un moment dat.
Editarea situatiei personalului faciliteaza obtinerea de informatii referitoare la pregatirea personalului angajat la un moment dat.
De asemenea se va urmari cu ultima baza de date situatia premiilor acordate salariatilor, respectiv procentele.
Delimitarea ariei de probleme si aplicabilitate
Aplicatia EVIDENŢĂ PERSONAL este alcatuita dintr-o serie de programe de :creare, încarcare, modificare, stergere fisiere permanente, în vederea obtinerii la imprimanta sau pe ecran a situatiilor dorite de utilizator.
Alegerea programelor si lansarea lor în executie se realizeaza din selectarea de catre utilizator, a unor optiuni ale meniurilor puse la dispozitie de prezenta aplicatie.
Pentru realizarea pachetului SOFT s-a folosit limbajul de programare FOXPRO, de fapt motivat si de domeniul de aplicare, dublat de cerintele lucrului cu bazele de date.
Fisierele (bazele de date) utilizate în acest program sunt:
§ Fisierul PERSONAL - cuprinde informatii cu privire la personalul angajat al Directiei Silvice Piatra Neamt si anume: marca, numele prenumele, functia pe care o are in cadrul unitatii, data nasterii, data angajarii, salariul de încadrare care se poate modifica la fiecare negociere functie de realizarile avute si cursurile urmate intre cele doua negocieri.
§ Fisierul CURSURI - cuprinde informatii cu privire la cursurile urmate de personalul angajat prin: marca angajatului, denumirea cursului urmat, data de începere a cursului, data de sfârsit a cursului, nota de absolvire a cursului.
§ Fisierul PREMII - cuprinde informatii cu privire la premiile acordate de unitate salariatilor prin: marca, luna în care i se acorda premiul meritat, suma, procentul functie de salariu.
Aplicatia de fata este formata din urmatoarele:
Program de actualizare (încarcare, modificare, stergere) pentru bazele de date.
Program de prelucrare tabele
Program de utilizare fisiere.
Program de editare fisiere
Toate aceste programe sunt înglobate într-un program principal de meniuri combinate, deoarece aplicatia are mai multe subunitati care trebuie sa tina separat evidenta personalului. Ca urmare a rularii aplicatiei vor fi vizualizate sau listate unul sau mai multe din urmatoarele rezultate:
§ Situatia pregatirii profesionale.
§ Situatia drepturilor banesti, etc.
Aplicatia este conceputa sa lucreze în dialog permanent între operator si computer, pe baza de întrebari si raspunsuri, sugestii pentru operare si meniuri.
Aplicatia are ca element principal de prezentare si selectare a optiunilor, un sistem de meniuri, în functie de ordinea apelarii lui.
Exista un meniu principal care în urma optiunii selectate, duce în alte meniuri, cu revenire în cel principal dupa rularea procedurii alese de utilizator.
Schematic sistemul de meniuri poate fi prezentat astfel:
5. Diagrama de structura a functiilor aplicatiei
MENIURI COMBINATE AL APLICAŢIEI: EVIDENŢĂ PERSONAL
PERSONAL
PREMII
EXIT
Cu operatii de ÎNCĂRCARE
MODIFICARE
sTERGERE
VIZUALIZARE
EXIT
La optiunea RAPOARTE , vom gasi o structura tip meniu vertical prezentat mai jos: SITUAŢIA PREGĂTIRII PROFESIONALE
SITUAŢIA DREPTURILOR BĂNEsTI
La optiunea IEsIRE , vom gasi o structura de meniu vertical ce va contine urmatoarele: FOX
WIN
Definirea meniurilor s-a realizat proportional cu marimea lor, pentru a evita suprapunerea lor cât si un aspect dezordonat al acestora pe ecran.
6. Schema bloc a aplicatiei EVIDENŢĂ PERSONAL
ANALIZA PROBLEMEI
STABILIREA CĂII DE LUCRU
PROIECTAREA STRUCTURII DE BAZĂ
PRELUCRAREA BAZEI DE DATE
INCĂRCARE MODIFICARE sTERGERE
EDITARE RAPOARTE
ECRAN INPRIMANTĂ
PRELUCRAREA REZULTATELOR
7. Legaturi cu alte aplicatii
Aplicatia EVIDENŢĂ PERSONAL are legaturi cu diverse aplicatii care se vor realiza dupa diverse criterii: angajati permanenti, angajati sezonieri, lucrari executate în regie, lucrari executate cu terti.
8. Definirea intrarilor, criterii de control
Acest program are ca scop editarea unor rapoarte referitoare la situatia pregatirii profesionale la o anumita data, situatia drepturilor banesti, ce pot fi dezvoltate dupa cerintele utilizatorului.
Conceptia si modul de lucru cu informatiile a determinat alegerea unui limbaj de programare cu aplicatii predilecte în gestiunea bazelor de date (în acest caz FOX-PRO), tinând cont de usurinta cu care se poate realiza asemenea aplicatii si de accesibilitatea acestui limbaj.
Controlul datelor de intrare se realizeaza în mai multe etape. Una dintre acestea se desfasoara la utilizator, altele la unitatea de prelucrare a datelor.
Pot fi considerate ca obisnuite urmatoarele etape de control:
anterior prelucrarii automate
prin calcul automat, cu ocazia prelucrarilor
la receptia rapoartelor si la restituirea documentelor predate spre prelucrare
cu ocazia valorificarii informatiilor furnizate de sistem
Fiecare dintre aceste etape cuprinde una sau mai multe faze, functie de circuitul documentelor si chiar de utilizarea finala a informatiilor.
Verificarea datelor de intrare presupune efectuarea a doua genuri de validari:
validarea la nivel de înregistrare
validarea datelor cu fisierele permanente
În cadrul validarii la nivel de înregistrare se face controlul sintactic si logic al informatiilor continute în acestea.
Acest gen de control se efectueaza pe baza unor algoritmi si conventii în programele de verificare.
Validarea datelor cu fisierele permanente, presupune confruntarea informatiilor din documente cu fisierele permanente si semnalarea sau respingerea acelora care nu au corespondent în fisiere.
În urma procesului de prelucrare automata a datelor de intrare se pastreaza în colectii permanente ale sistemului si se utilizeaza în diferite etape de prelucrare, în special pentru obtinerea rapoartelor.
STRUCTURA FIsIERELOR PERMANENTE
1. Structura bazei de date: PERSONAL
MARCA |
NUMERIC | ||
NUME PRENUME |
CARACTER | ||
FUNCŢIA |
CARACTER | ||
DATA NAsTERII |
DATA | ||
DATA ANGAJĂRII |
DATA | ||
SALARIU |
INTREG |
2. Structura bazei de date: CURSURI
MARCA |
NUMERIC | ||
DENUMIRE CURS |
CARACTER | ||
DATA DE ÎNCEPUT A CURSULUI |
DATA | ||
DATA DE SFÂRsIT A CURSULUI |
DATA | ||
NOTA |
NUMERIC |
3. Structura bazei de date: PREMII
MARCA |
NUMERIC | ||
LUNA |
NUMERIC | ||
PROCENT |
NUMERIC | ||
SUMA |
NUMERIC |
DESCRIEREA PROGRAMULUI EVIDENŢĂ PERSONAL
clear
set talk off
Close data
defi menu mo
defi pad fis of mo prom'tabele'at 1,10
defi pad rap of mo prom'rapoarte'at 1,40
defi pad ies of mo prom 'iesire' at 1,70
on sele pad fis of mo do afismvt
on sele pad rap of mo do afismvr
on pad ies of mo activate popup mvi
defi popup mvt from 3,10
defi bar 1 of mvt prompt'cursuri'
defi bar 2 of mvt prompt'personal'
defi bar 3 of mvt prompt'premii'
defi bar 4 of mvt prompt'exit'
on sele popup mvt do preltab
defi popup mvr from 3,40
defi bar 1 of mvr prompt 'rap1'
defi bar 2 of mvr prompt 'rap2'
defi bar 3 of mvr prompt 'exit'
on sele popup mvr do prelrap
defi popup mvi from 3,70
defi bar 1 of mvi prompt'fox'
defi bar 2 of mvi prompt'win'
on sele popup mvi do prelies
defi popup mvo from 4,20 title 'operatii'
defi bar 1 of mvo prompt 'incarcare'
defi bar 2 of mvo prompt 'modificare'
defi bar 3 of mvo prompt 'stergere'
defi bar 4 of mvo prompt 'vizualizare'
defi bar 5 of mvo prompt 'exit'
on sele popup mvo do prelop
activate menu mo
clear
close data
release menu mo
clear popup
set talk on
procedure afismvt
v1=.t.
do while v1
activate popup mvt
enddo
return
procedure afismvr
v2=.t.
do while v2
activate popup mvr
enddo
return
procedure preltab
do case
case bar()=1
nfis= 'cursuri'
activate popup mvo
case bar()=2
nfis='personal'
activate popup mvo
case bar()=3
nfis='premii'
activate popup mvo
otherwise
v1=.f.
deactivate popup
endcase
return
procedure prelrap
do case
case bar()=1
do rap1
case bar()=2
do rap2
otherwise
v2=.f.
deactivate popup
endcase
return
procedure prelies
do case
case bar()=1
deactivate menu
otherwise
quit
endcase
return
procedure prelop
do case
case bar()=1
if nfis='personal'
do incpersonal
else
if nfis='premii'
do incpremii
else
if nfis='cursuri'
do inccursuri
endi
endi
endif
case bar()=2
if nfis='personal'
do modpersonal
else
if nfis='premii'
do modpremii
else
if nfis='cursuri'
do modcursuri
endi
endi
endif
case bar()=3
if nfis='personal'
do stergpersonal
else
if nfis='premii'
do stergpremii
else
if nfis='cursuri'
do stergcursuri
endif
endif
endif
case bar()=4
if nfis='personal'
do vizpersonal
else
if nfis='premii'
do vizpremii
else
if nfis='cursuri'
do vizcursuri
endi
endi
endif
otherwise
deactivate popup
endcase
return
PROGRAM DE ÎNCĂRCARE DATE ÎN BAZA PERSONAL.DBF
procedure incpersonal
** ** ****
hide menu mo
hide popup mvt,mvo
clear
set talk off
set date french
set century on
use
use c:\andriesa\personal
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'macheta incarcare articole in personal.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'introdu marca:' get cheie pict'9999'valid cheie#0 ;
mess'marca se introduce obligatoriu'
read
seek cheie
if found()
@5,5 say 'marca existenta'
read
else
scatter memvar blank
m.marca=cheie
@5,5 say 'nume prenume:' get m.np valid m.np#space(25) mess'nume prenume obligatoriu'
@7,5 say 'functia:' get m.fct valid m.fct#space(15) mess'functia obligatoriu'
@9,5 say 'data nasterii:' get m.dn valid m.dn# ;
mess'data nasterii obligatoriu zz/ll/aaaa'
@11,5 say 'data angajarii:' get m.da valid m.da# ;
mess'data angajarii obligatoriu zz/ll/aaaa'
@13,5 say 'salariu:' get m.sal valid m.sal#0 mess 'salariu obligatoriu'
read
append blank
gather memvar
endif
raspuns=' '
@15,1 say 'continua incarcarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN' mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit incarcare'
clear
*set talk on
set date american
set century off
show menu mo
show popup mvt, mvo
return
procedure inccursuri
** ** ***
@20,1 say 'procedura neterminata'
read
@20, 1
return
Macheta de incarcare în baza de date PERSONAL.DBF
MARCA: 15
NUME PRENUME: MIHNEA CĂTĂLIN
FUNCŢIA: GUVERNATOR
DATA NAsTERII: 01/01/1961
DATA ANGAJĂRII: 10/011988
SALARIU: 9999999
PROGRAM DE MODIFICARE DATE ÎN BAZA PERSONAL .DBF
proc modpersonal
clear
set talk off
set date french
set century on
use
use c:\andriesa\personal
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'modificari articole in personal.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca:' get cheie pict'9999'valid cheie#0 mess'marca se introduce obligatoriu'
read
seek cheie
if found()
scatter memvar
@5,5 say 'nume prenume:' get m.np valid m.np#space(25);
mess'puteti modifica nume prenume sau mergeti mai departe'
@7,5 say 'functia:' get m.fct valid m.fct#space(15);
mess'puteti modifica functia'
@9,5 say 'data nasterii:' get m.dn valid m.dn# mess'puteti modifica data nasterii '
@11,5 say 'data angajarii:' get m.da valid m.da# mess'puteti modifica data angajarii'
@13,5 say 'salariu:' get m.sal valid m.sal#0 mess 'puteti modifica salariul'
read
gather memvar
else
@5,5 say 'marca inexistenta'
read
endif
raspuns=' '
@15,1 say 'continua modificarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN' mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit modificare'
clear
set talk on
set date american
set century off
PROGRAM DE sTERGERE DATE ÎN BAZA PERSONAL.DBF
proc stergpersonal
clear
set talk off
set date french
set century on
use
use c:\andriesa\personal
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
nrst=0
@1,10 say 'macheta de stergere in personal.dbf'
dowhile raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca;'get cheie pict'9999'valid cheie#0;
mess 'marca articolului care se va sterge'
read
seek cheie
if found()
scatter memvar
@5,5 say 'nume prenume:'+m.np
@7,5 say 'functia:'+m.fct
@9,5 say 'data nasterii:'+ dtoc(m.dn)
@11,5 say 'data angajarii:'
@11,(col) say m.da
@13,5 say 'salariu:'+str(m.sal)
x=' '
@15,5 say 'stergeti acest articol?' get x pict'!' valid x='D'or x='N';
mess 'tastati D sau N'
read
if x='D'
delete
nrst=nrst+1
endif
else
@5,5 say'marca absenta'
read
endif
raspuns=' '
@15,5 say 'continuati stergerile?' get raspuns pict'!' valid raspuns$'DN'
read
enddo
browse noap nodel nomodi
if nrst#0
pack
endif
use
clear
set talk on
set date american
set century off
PROGRAM DE VIZUALIZARE(LISTARE) DATE ÎN BAZA PERSONAL.DBF
procedure vizpersonal
clear
hide menu mo
hide popup mvt,mvo
set talk off
set date french
set century on
use
use c:\andriesa\personal
delete tag npm
index on np+str(marca,4)tag npm
set order to tag npm
r1=' '
1,1 say 'vizualizati pe ecran sau in fisierul vizpers.prt(E/F)' ;
get r1 pict'!' valid r1$'EF' mess'E pt ecran,F pt fisier'
read
clear
if r1='E'
nrr=30 &&nr rinduri/pagina
else
nrr=60
set device to file listpers.prt &&dispozitiv de iesire pt @
endif
clear
pag=1
lin=1 &&linia curenta din pagina
do captabelpe
scan
@lin,2 say marca pict'9999' font 'courier new',10
@lin,9 say np font 'courier new',10
@lin,42 say fct font 'courier new',10
@lin,63 say dn font 'courier new',10
@lin,77 say da font 'courier new',10
@lin,90 say sal pict'99999999' font 'courier new',10
lin=lin+1
if lin>nrr
pag=pag+1
if r1='E'
r2=' '
@32,1 say 'continuati afisarea?(D/N)' get r2 pict'!' valid r2$'DN' mess'tastati D sau N'
read
if r2='D'
clear
do captabelpe
else
exit
endif
endif
endif
endscan
wait 'sfirsit listare'
clear
set device to screen
set talk on
set date american
set century off
use
show menu mo
show popup mvt,mvo
retu
procedure captabelpe
** ** ****
@1,20 say 'lista personal' font 'courier new',10
@2,55 say 'pag'+str(pag,2) font 'courier new',10
@3,1 say repl('-',76) font 'courier new',10
@4,1 say 'marca* nume * functia *data nast.*data angaj* salariu' ;
font 'courier new',10
@5,1 say ' * prenume * * zz/ll/aa * zz/ll/aa * ' ;
font 'courier new',10
@6,1 say repl('-',76) font 'courier new',10
lin=7
return
PROGRAM DE INCĂRCARE DATE ÎN BAZA PREMII.DBF
procedure incpremii
** ** ****
hide menu mo
hide popup mvt,mvo
clear
set talk off
set date french
set century on
use
use c:\andriesa\premii
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'macheta incarcare articole in premii.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'introdu marca:' get cheie pict'9999'valid cheie#0 ;
mess'marca se introduce obligatoriu'
read
seek cheie
if found()
@5,5 say 'marca existenta'
read
else
scatter memvar blank
m.marca=cheie
@5,5 say 'luna:' get m.luna valid m.luna#space(2) mess'luna obligatoriu'
@7,5 say 'procent:' get m.prc valid m.prc#space(2) mess'procent obligatoriu'
@9,5 say 'suma:' get m.suma valid m.suma#space(6) ;
mess'suma obligatoriu'
read
append blank
gather memvar
endif
raspuns=' '
@11,1 say 'continua incarcarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN' mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit incarcare'
clear
*set talk on
set date american
set century off
show menu mo
show popup mvt, mvo
return
PROGRAM DE MODIFICARE DATE ÎN BAZA PREMII.DBF
proc modpremii
clear
set talk off
set date french
set century on
use
use c:\andriesa\premii
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'modificari articole in premii.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca:' get cheie pict'9999'valid cheie#0 mess'marca se introduce obligatoriu'
read
seek cheie
if found()
scatter memvar
@5,5 say 'luna:' get m.luna valid m.luna#space(2);
mess'puteti modifica luna sau mergeti mai departe'
@7,5 say 'procent:' get m.pro valid m.pro#space(2);
mess'puteti modifica procent'
@9,5 say 'suma:' get m.suma valid m.suma#0 mess'puteti modifica suma '
read
gather memvar
else
@5,5 say 'marca inexistenta'
read
endif
raspuns=' '
@11,1 say 'continua modificarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN' mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit modificare'
clear
set talk on
set date american
set century off
PROGRAM DE sTERGERE DATE ÎN BAZA PREMII.DBF
proc stergpremii
clear
set talk off
set date french
set century on
use
use c:\andriesa\premii
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
nrst=0
@1,10 say 'macheta de stergere in premii.dbf'
dowhile raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca;'get cheie pict'9999'valid cheie#0;
mess 'marca articolului care se va sterge'
read
seek cheie
if found()
scatter memvar
@5,5 say 'luna:'+m.luna
@7,5 say 'procent:'+m.pro
@9,5 say 'suma'+ str(m.suma)
x=' '
@11,5 say 'stergeti acest articol?' get x pict'!' valid x='D'or x='N';
mess 'tastati D sau N'
read
if x='D'
delete
nrst=nrst+1
endif
else
@5,5 say'marca absenta'
read
endif
raspuns=' '
@15,5 say 'continuati stergerile?' get raspuns pict'!' valid raspuns$'DN'
read
enddo
browse noap nodel nomodi
if nrst#0
pack
endif
use
clear
set talk on
set date american
set century off
PROGRAM DE VIZUALIZARE (LISTARE) DATE ÎN BAZA PREMII.DBF
procedure vizpremii
clear
hide menu mo
hide popup mvt,mvo
set talk off
set date french
set century on
use
use c:\andriesa\premii
delete tag marca
index on str(marca,4)tag marca
set order to tag marca
r1=' '
@1,1 say 'vizualizati pe ecran sau in fisierul vizpers.prt(E/F)' ;
get r1 pict'!' valid r1$'EF' mess'E pt ecran,F pt fisier'
read
clear
if r1='E'
nrr=30 &&nr rinduri/pagina
else
nrr=60
set device to file listpremii.prt &&dispozitiv de iesire pt @
endif
clear
pag=1
lin=1 &&linia curenta din pagina
do captabelpr
scan
@lin,3 say marca pict'9999' font 'courier new',10
@lin,14 say luna font 'courier new',10
@lin,23 say pro font 'courier new',10
@lin,35 say suma pict'999999'font 'courier new',10
lin=lin+1
if lin>nrr
pag=pag+1
if r1='E'
r2=' '
@32,1 say 'continuati afisarea?(D/N)' get r2 pict'!' valid r2$'DN' mess'tastati D sau N'
read
if r2='D'
clear
do captabelpr
else
exit
endif
endif
endif
endscan
wait 'sfirsit listare'
clear
set device to screen
set talk on
set date american
set century off
use
show menu mo
show popup mvt,mvo
retu
procedure captabelpr
** ** ****
@1,20 say 'lista premii' font 'courier new',10
@2,55 say 'pag'+str(pag,2) font 'courier new',10
@3,1 say repl('-',36) font 'courier new',10
@4,1 say ' marca * ln * pro * suma ';
font 'courier new',10
@6,1 say repl('-',36) font 'courier new',10
lin=7
return
PROGRAM DE INCĂRCARE DATE ÎN BAZA CURSURI.DBF
procedure inccursuri
** ** ****
hide menu mo
hide popup mvt,mvo
clear
set talk off
set date french
set century on
use
use c:\andriesa\cursuri
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'macheta incarcare articole in cursuri.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'introdu marca:' get cheie pict'9999'valid cheie#0 ;
mess'marca se introduce obligatoriu'
read
seek cheie
if found()
@5,5 say 'marca existenta'
read
else
scatter memvar blank
m.marca=cheie
@5,5 say 'denumire cursant:' get m.denc valid m.denc#space(20) mess'denumire cursant obligatoriu'
@7,5 say 'data inceperii cursului:' get m.di valid m.di#;
mess'data inceperii obligatoriu zz/ll/aaaa'
@9,5 say 'data sfirsitului:' get m.ds valid m.ds# ;
mess'data sfirsitului obligatoriu zz/ll/aaaa'
@11,5 say 'nota:' get m.nota valid m.nota#space(2) ;
mess'nota obligatoriu'
read
append blank
gather memvar
endif
raspuns=' '
@15,1 say 'continua incarcarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN' mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit incarcare'
clear
set talk on
set date american
set century off
show menu mo
show popup mvt, mvo
return
Macheta de incarcare în baza de date CURSURI.DBF
MARCA: 15
DENUMIREA CURSULUI: PROGRAMATOR
DATA DE INCEPERE CURS: 17/02/2000
DATA DE SFÂRsIT CURS:. 27/05/2000
NOTA: 10
PROGRAM DE MODIFICARE DATE ÎN BAZA CURSURI.DBF
proc modcursuri
clear
set talk off
set date french
set century on
use
use c:\andriesa\cursuri
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
@1,10 say 'modificari articole in cursuri.dbf'
do while raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca:' get cheie pict'9999'valid cheie#0 mess'marca se introduce obligatoriu'
read
seek cheie
if found()
scatter memvar
@5,5 say 'denumire cursant:' get m.denc valid m.denc#space(20);
mess'puteti modifica denumirecursant sau mergeti mai departe'
@7,5 say 'data inceputului:' get m.di valid m.di#;
mess'puteti modifica data inceput'
@9,5 say 'data sfirsitului:' get m.ds valid m.ds# mess'puteti modifica data sfirsit '
@11,5 say 'nota:' get m.nota valid m.nota#space(2) mess'puteti modifica nota'
read
gather memvar
else
@5,5 say 'marca inexistenta'
read
endif
raspuns=' '
@15,1 say 'continua modificarea?(D/N)' get raspuns pict'!'valid raspuns $ 'DN';
mess'tastati D pentru continuare,N pentru sfirsit'
read
enddo
browse noap nodel nomodi
wait 'sfirsit modificare'
clear
set talk on
set date american
set century off
PROGRAM DE sTERGERE DATE ÎN BAZA DE DATE CURSURI.DBF
proc stergcursuri
clear
set talk off
set date french
set century on
use
use c:\andriesa\cursuri
delete tag marca
index on marca tag marca
set order to tag marca
raspuns='D'
nrst=0
@1,10 say 'macheta de stergere in cursuri.dbf'
dowhile raspuns='D'
@2,0 clear
cheie=0
@3,5 say 'marca;'get cheie pict'9999'valid cheie#0;
mess 'marca articolului care se va sterge'
read
seek cheie
if found()
scatter memvar
@5,5 say 'denumire cursant:'+m.denc
@7,5 say 'data inceputului:'+ dtoc(m.di)
@9,5 say 'data sfirsitului:'+ dtoc(m.ds)
@11,5 say 'nota:'
@11,(col) say m.nota
x=' '
@15,5 say 'stergeti acest articol?' get x pict'!' valid x='D'or x='N';
mess 'tastati D sau N'
read
if x='D'
delete
nrst=nrst+1
endif
else
@5,5 say'marca absenta'
read
endif
raspuns=' '
@15,5 say 'continuati stergerile?' get raspuns pict'!' valid raspuns$'DN'
read
enddo
browse noap nodel nomodi
if nrst#0
pack
endif
use
clear
set talk on
set date american
set century off
PROGRAM DE VIZUALIZARE (LISTARE) DATE ÎN BAZA CURSURI.DBF
procedure vizcursuri
clear
hide menu mo
hide popup mvt,mvo
set talk off
set date french
set century on
use
use c:\andriesa\cursuri
delete tag marca
index on str(marca,4) tag marca
set order to tag marca
r1=' '
@1,1 say 'vizualizati pe ecran sau in fisierul vizcursuri.prt(E/F)' ;
get r1 pict'!' valid r1$'EF' mess'E pt ecran,F pt fisier'
read
clear
if r1='E'
nrr=30 &&nr rinduri/pagina
else
nrr=60
set device to file listcursuri.prt &&dispozitiv de iesire pt @
endif
clear
pag=1
lin=1 &&linia curenta din pagina
do captabelc
scan
@lin,2 say marca pict'9999' font 'courier new',10
@lin,9 say denc font 'courier new',10
@lin,38 say di font 'courier new',10
@lin,52 say ds font 'courier new',10
@lin,69 say nota font 'courier new',10
lin=lin+1
if lin>nrr
pag=pag+1
if r1='E'
r2=' '
@32,1 say 'continuati afisarea?(D/N)' get r2 pict'!' valid r2$'DN' mess'tastati D sau N'
read
if r2='D'
clear
do captabelc
else
exit
endif
endif
endif
endscan
wait 'sfirsit listare'
clear
set device to screen
set talk on
set date american
set century off
use
show menu mo
show popup mvt,mvo
retu
procedure captabelc
** ** ****
@1,20 say 'lista cursuri' font 'courier new',10
@2,55 say 'pag'+str(pag,2) font 'courier new',10
@3,1 say repl('-',55) font 'courier new',10
@4,1 say 'marca* denumire cursant * data i * data s *nota' ;
font 'courier new',10
@5,1 say ' * * zz/ll/aa * zz/ll/aa * ' ;
font 'courier new',10
@6,1 say repl('-',55) font 'courier new',10
lin=7
return
PROGRAM DE VIZUALIZARE (LISTARE) A SITUAŢIEI DREPTURILOR BĂNEsTI
procedure rap1
clear
hide menu mo
hide popup mvr
set talk off
set date french
set century on
sele 1
use
use c:\andriesa\premii
delete tag marca
index on marca tag marca
set order to tag marca
sele 2
use c:\andriesa\personal
delete tag marca
index on marca tag marca
set order to tag marca
sele 3
use c:\andriesa\cursuri
delete tag marca
index on marca tag marca
set order to tag marca
sele 1
set rela to marca into 2
set rela to marca into 3 addi
r1=' '
@1,1 say 'vizualizati pe ecran sau in fisierul drepturi.prt(E/F)' ;
get r1 pict'!' valid r1$'EF' mess'E pt ecran,F pt fisier'
read
clear
if r1='E'
nrr=30 &&nr rinduri/pagina
else
nrr=60
set device to file drepturi.prt &&dispozitiv de iesire pt @
endif
clear
pag=1
lin=1 &&linia curenta din pagina
do captabelrap1
scan
@lin,2 say marca pict'9999' font 'courier new',10
@lin,9 say b.np font 'courier new',10
@lin,44 say b.fct font 'courier new',10
@lin,65 say b.sal pict '99999999' font 'courier new',10
@lin,78 say c.nota pict '99' font 'courier new',10
@lin,82 say suma pict'99999999' font 'courier new',10
lin=lin+1
if lin>nrr
pag=pag+1
if r1='E'
r2=' '
@32,1 say 'continuati afisarea?(D/N)' get r2 pict'!' valid r2$'DN' mess'tastati D sau N'
read
if r2='D'
clear
do captabelrap1
else
exit
endif
endif
endif
endscan
wait 'sfirsit listare'
clear
set device to screen
set talk on
set date american
set century off
use
show menu mo
show popup mvr
retu
procedure captabelrap1
** ** ****
@1,20 say 'situatia drepturilor banesti' font 'courier new',10
@2,55 say 'pag'+str(pag,2) font 'courier new',10
@3,1 say repl('-',70) font 'courier new',10
@4,1 say 'marca* nume prenume * functia * salar *nota* suma ' ;
font 'courier new',10
@6,1 say repl('-',70) font 'courier new',10
lin=7
return
PROGRAM DE VIZUALIZARE (LISTARE) A PREGĂTIRII PROFESIONALE
procedure rap2
clear
hide menu mo
hide popup mvr
set talk off
set date french
set century on
sele 1
use
use c:\andriesa\cursuri
delete tag marca
index on marca tag marca
set order to tag marca
sele 2
use c:\andriesa\personal
delete tag marca
index on marca tag marca
set order to tag marca
sele 1
set rela to marca into 2
r1=' '
@1,1 say 'vizualizati pe ecran sau in fisierul pregatire.prt(E/F)' ;
get r1 pict'!' valid r1$'EF' mess'E pt ecran,F pt fisier'
read
clear
if r1='E'
nrr=30 &&nr rinduri/pagina
else
nrr=60
set device to file pregatire.prt &&dispozitiv de iesire pt @
endif
clear
pag=1
lin=1 &&linia curenta din pagina
do captabelrap2
scan
@lin,2 say marca pict'9999' font 'courier new',10
@lin,9 say b.np font 'courier new',10
@lin,44 say denc font 'courier new',10
@lin,68 say di font'courier new',10
@lin,84 say ds font'courier new',10
@lin,101 say nota font'courier new',10
lin=lin+1
if lin>nrr
pag=pag+1
if r1='E'
r2=' '
@32,1 say 'continuati afisarea?(D/N)' get r2 pict'!' valid r2$'DN' mess'tastati D sau N'
read
if r2='D'
clear
do captabelrap2
else
exit
endif
endif
endif
endscan
wait 'sfirsit listare'
clear
set device to screen
set talk on
set date american
set century off
use
show menu mo
show popup mvr
retu
procedure captabelrap2
** ** ****
@1,20 say 'pregatirea profesonala' font 'courier new',10
@2,55 say 'pag'+str(pag,2) font 'courier new',10
@3,1 say repl('-',90) font 'courier new',10
@4,1 say 'marca* nume prenume * denumire curs * data inc * data sfr *nota' ;
font 'courier new',10
@6,1 say repl('-',90) font 'courier new',10
lin=7
return
CAPITOLUL III
CONCLUZII FINALE PRIVIND EFICIENŢA APLICAŢIEI
Aplicatia EVIDENŢĂ PERSONAL poate fi utilizata la orice societate comerciala, indiferent de profilul sau de activitate si prezinta avantajul ca într-un interval relativ scurt de timp poate fi editata si prezentata, la cererea utilizatorului.
Sub forma rezultatelor rularii aplicatiei sunt prezentate date referitoare la situatia pregatirii profesionale a salariatilor, la situatia drepturilor banesti, , la diverse situatii care se pot crea dupa diverse criterii cum ar fi: salariu, pregatirea, functia.
Pentru folosirea prelucrarii datelor cu ajutorul computerului, însotit de un pachet de soft adecvat, se obtin rezultatele dorite într-un interval de timp scurt si cu un volum de munca mult redus, dublat de corectitudinea informatiilor.
|