Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




PROGRAM EVIDENTA PERSONAL

Informatica




CAPITOLUL I

PREZENTAREA CONDIŢIILOR- CADRU DE REALIZARE A APLICAŢIEI

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.

CAPITOLUL II

APLICAŢIA PROIECTATĂ

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
SERVICIU ÎNV 414c24e 8;ŢĂMÂMT
SERVICIU CONTABILITATE
SERVICIU PERSONAL

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

TABELE RAPOARTE IEsIRE

La optiunea TABELE , vom gasi o structura tip meniu vertical ce este prezentata mai jos: CURSURI

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.




Document Info


Accesari: 2415
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )