Sunteți pe pagina 1din 12

Prezentare proiect – Gestionarea unui magazin de unelte

Atestat informatica

COLEGIUL NATIONAL DINICU GOLESCU

CAMPULUNG MUSCEL

Atestat professional
Informatica

PREZENTARE
GESTIONAREA UNUI MAGAZIN DE UNELTE

Elev:Rîpea Raul Mihail

Clasa XIIC

Profesor coordinator:Dumitrascu Diana

1 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

Gestiunea unui magazine de unelte

Aplicatia realizeaza gestiunea unui magazine de unelte. Avem doua baze de date stoc.dbf si
vanzari.dbf cu structurile:

Baza de date stoc are urmatoarea structura:

● cod Numeric 7 0
● den_prod Character 20
● pret Numeric 10 2
● nr_unit Numeric 5 0
● valid Numeric 1 0

Baza de date vanzari are urmatoarea structura:

● cod Numeric 7 0
● den_prod Character 20
● pret Numeric 10 2
● nr_unit Numeric 7 0
● data Date 8
● oferta Numeric 10 2
● discount Numeric 10 2
● valid Numeric 1 0

Aplicatia se lanseaza in executie prin intermediul fisierului meniuri.prg.

Sunt trei fisiere sursa, listare.prg in care sunt realizate procedurile care imi fac anumite
calcule,proc.prg in care sunt facute principalele proceduri de la meniuri si meniuri.prog care
realizeaza de fapt meniul.

Ca urmare pe ecran apare fereastra aplicatiei cu meniurile corespunzatoare.

Meniurile se pot selecta fie cu ajutorul mouse-ului, fie cu ajutorul tastelor directionale si a tastei
enter. Dupa lansarea aplicatiei va aparea o fereastra ca mai jos:

2 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

Cu tasta Enter se intra in meniu care are urmatoarea forma:

La “Introduceri” se vor introduce produse in stoc,sau se vor vinde.La “Afisare” se vor afisa
stocurile si vanzarile in functie de anumite cerinte, cum ar fi stocul cu calculi si fara calculi, adica se
calculeaza sau nu valoarea stocurilor.

La meniurile de modificare se pot modifica anumite campuri fie din baza stoc,fie din baza
vanzari.Stergerea inregistrarilor se face in doi pasi : se marcheaza campul valid cu 1 in baza dorita(de
la meniurile de modificari) si apoi se selecteaza de la meniul “Stergere” baza dorita.

3 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

La introducerea informatiilor in stoc sau la vanzare apar ferestre ca in imaginea de mai jos:

De mentionat ca la meniuri s-au folosit si scurtaturi pentru a accesa mai usor anumite optiuni.

La “Iesire meniu” se paraseste aplicatia si se revine in mediul de programare foxpro.

Listare.prg:
procedure calcule1
sele 1
tv=0
scan
tv=tv+pret*nr_unit
endscan
return

procedure calcule2
sele 2
st=0
scan
st=st+pret*nr_unit
endscan
return

procedure proc_list
if bar()=1
do list1
else
if bar()=2
do list2
else
if bar()=3
do list3
else
if bar()=4
do list4
else
do list5
endif
endif
endif
endif
return

4 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

procedure list1
sele 1
define window w1 from 3,0 to 20,79 close nofloat
activate window w1
browse lock 2 noedit title 'afisare stoc' in window w1
deactivate window w1
clear
return

procedure list2
sele 1
do calcule1
clear
? 'valoare totala stoc=',tv
define window w1 from 3,0 to 20,79 close nofloat
activate window w1
browse lock 2 noedit title 'afisare stoc' in window w1
deactivate window w1
clear
return

procedure list3
sele 2
define window w1 from 3,0 to 20,79 close nofloat
activate window w1
browse lock 2 noedit title 'afisare vanzari' in window w1
deactivate window w1
clear
return

procedure list5
sele 2
define window w1 from 3,0 to 5,40 close nofloat
activate window w1
@0,1 say "dati data dorita" get x default ' ' size 1,10
read
clear
deactivate window w1
v=0
scan
if ctod(x)=data
v=v+pret*nr_unit
endif
endscan
? 'valoarea vanzarilor este ',v
wait
clear
return

procedure list4
do calcule2
sele 2
clear
? 'valoare totala vanzari=',st
define window w1 from 3,0 to 20,79 close nofloat
activate window w1
browse lock 2 noedit title 'afisare vanzari' in window w1
deactivate window w1

5 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

clear
return

meniuri.prg:
SET DEFAULT TO d:\proiect
close all
clear
use stoc in 1
use vanzari in 2
deactivate window f1
deactivate window w1
deactivate window w3
release menu principal
set talk off
set escape off
set safety off
set century on
set date to dmy
public st,tv
public nrd,data,loc,fur,nrf
do autor
do meniu
deactivate menu principal
release menu principal
close all
clear

procedure meniu
&& on key label esc keyboard chr(13)
define menu principal bar at line 0
set escape on

DEFINE PAD introd_pad of principal prompt '\<Introduceri' color scheme 3;


key alt+I,''
DEFINE PAD sterg_pad of principal prompt '\<Stergere' color scheme 3;
key alt+S,''
DEFINE PAD modif_pad of principal prompt '\<Modificare vanzari' color scheme
3;
key alt+M,''
DEFINE PAD modifs_pad of principal prompt 'Modi\<fic stoc' color scheme 3;
key alt+F,''
DEFINE PAD list_pad of principal prompt '\<Afisare' color scheme 3;
key alt+L,''
DEFINE PAD exit_pad of principal prompt 'I\<esire meniu' color scheme 3;
key alt+X,''

ON PAD introd_pad of principal activate popup introducere


ON PAD modif_pad of principal activate popup modi
ON PAD modifs_pad of principal activate popup modis
ON PAD sterg_pad of principal activate popup sterg
ON PAD list_pad of principal activate popup listare
ON selection PAD exit_pad of principal return to master

DEFINE POPUP modis margin relative shadow color scheme 4

6 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

DEFINE BAR 1 of modis prompt 'Denumire'


DEFINE BAR 2 of modis prompt 'Pret'
DEFINE BAR 3 of modis prompt 'Nr unitati'
DEFINE BAR 4 of modis prompt 'Stergere '
DEFINE BAR 5 of modis prompt 'Cod '

DEFINE POPUP modi margin relative shadow color scheme 4


DEFINE BAR 1 of modi prompt 'Denumire'
DEFINE BAR 2 of modi prompt 'Pret'
DEFINE BAR 3 of modi prompt 'Nr unitati'
DEFINE BAR 4 of modi prompt 'Data'
DEFINE BAR 5 of modi prompt 'Stergere '
DEFINE BAR 6 of modi prompt 'Cod '
DEFINE BAR 7 of modi prompt 'Oferta '
DEFINE BAR 8 of modi prompt 'Discount '

DEFINE POPUP introducere margin relative shadow color scheme 4


DEFINE BAR 1 of introducere prompt '\<Stoc'
DEFINE BAR 2 of introducere prompt '\<Vanzari'

DEFINE POPUP listare margin relative shadow color scheme 4


DEFINE BAR 1 of listare prompt 'Stoc fara calcule'
DEFINE BAR 2 of listare prompt 'Stoc cu calcule'
DEFINE BAR 3 of listare prompt 'Vanzari fara calcule'
DEFINE BAR 4 of listare prompt 'Vanzari cu calcule'
DEFINE BAR 5 of listare prompt 'Vanzari intr-o zi'

DEFINE POPUP sterg margin relative shadow color scheme 4


DEFINE BAR 1 of sterg prompt '\<Stoc'
DEFINE BAR 2 of sterg prompt '\<Vanzari'

ON selection POPUP listare do proc_list in listare


ON selection POPUP modi do proc_mod in proc
ON selection POPUP modis do proc_mods in proc
ON selection POPUP introducere do proc_int in proc
ON selection POPUP sterg do proc_sterg in proc

do while .t.
ACTIVATE MENU principal
enddo

PROCEDURE autor
define wind prez from 1,1 to 20,70 double shadow
move wind prez center
activate wind prez
@ 1,8 say '---------- "Proiect (c) INFORMATICA" ----------'
@ 7,1 say 'Proiectant: Braga Antonio-Stefan'
@ 9,1 say 'Clasa: XII-C Matematica-Informatica Intensiv'
@ 11,1 say 'Coordonator: Prof. Dumitrascu Octavian'
@ 13,1 say 'Magazin de unelte'
wait ' '
deactivate wind preZ
RETURN

7 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

Proc.prg:

procedure proc_int
if bar()=1
do int1
else
if bar()=2
do int2
endif
endif
return

procedure proc_sterg
if bar()=1
do sterg1
else
if bar()=2
do sterg2
endif
endif
return

procedure vanzari
return

procedure proc_mod
if bar()=1
do mod1
else
if bar()=2
do mod2
else
if bar()=3
do mod3
else
if bar()=4
do mod4
else
if bar()=5
do mod5
ELSE
IF BAR()=6
do mod6
ELSE
IF BAR()=7
DO mod7
ELSE
IF BAR()=8
DO mod8
ENDIF
ENDIF
endif
endif
endif
endif
endif

8 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

ENDIF
return

procedure proc_mods
if bar()=1
do mods1
else
if bar()=2
do mods2
else
if bar()=3
do mods3
else
if bar()=4
do mods4
else
do mods5
endif
endif
endif
ENDIF
RETURN

procedure int1
define window f1 from 10,5 to 18,45 close
activate window f1
x='D'
do while upper(x)='D'
clear
d=space(7)
a=space(20)
b=0
c=0
@ 0,1 say 'codul produsului 'get d default ' ' size 1,7
@ 1,1 say 'denumire produs' get a default ' ' size 1,20
@ 2,1 say 'pret ' get b default 0 picture '9999999.99' ;
valid b>=0 error 'nu poate fi negativ'
@ 3,1 say 'nr unitati ' get c default 0 picture '99999999';
valid c>=0 error 'nu poate fi negativ'
read
sele 1
u=-1
scan
if cod=val(d)
u=recno()
endif
endscan
if u=-1
go bottom
insert blank
replace valid with 0
replace den_prod with a,cod with val(d), pret with b, nr_unit with c
else
goto u
replace valid with 0
replace pret with b,nr_unit with nr_unit+c
endif
@5,1 say "Contnuati(D/N)" get x
read
clear
enddo

9 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

deactivate window f1
return

procedure int2
define window f1 from 25,5 to 35,45 close
activate window f1
@ 0,1 say 'cod produs' get a default ' ' size 1,5
@ 1,1 say 'nr unitati ' get c default 0 picture '999999.99';
valid c>=0 error 'nu poate fi negativ'
@ 2,1 say 'dati data ' get d default ' ' size 1,10
@ 3,1 say 'oferta ' get o default 0 picture '999999.99';
valid o>=0 error 'nu poate fi negativ'
@ 4,1 say 'discount ' get f default 0 picture '999999.99';
valid f>=0 error 'nu poate fi negativ'
read
sele 1
locate for cod=val(a)
p=pret
r=den_prod
if nr_unit<c
wait ' nu se poate efectua '
else
replace nr_unit with nr_unit-c
sele 2
clear
go bottom
insert blank
replace valid with 0
replace den_prod with r,cod with val(a), nr_unit with c,oferta WITH
o,discount WITH f
IF p*c>o then
replace pret WITH p-p*f
endif
replace data with ctod(d)
endif
deactivate window f1
return

procedure sterg3
sele 3
delete for valid<>0
pack
return

procedure sterg2
sele 2
delete for valid<>0
pack
return

procedure sterg1
sele 1
delete for valid<>0
pack
return

procedure mod1
sele 2
browse fields cod,den_prod,pret,nr_unit,oferta,discount freeze den_prod title
'Modific denumire produs'
RETURN

10 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

procedure mod7
sele 2
browse fields cod,den_prod,pret,nr_unit,oferta,discount freeze oferta title
'Modific oferta'
RETURN

procedure mod8
sele 2
browse fields cod,den_prod,pret,nr_unit,oferta,discount freeze discount title
'Modific discount'
return

procedure mod2
sele 2
browse fields cod,den_prod,pret,nr_unit,oferta,discount freeze pret title
'Modific pret'
return

procedure mod6
sele 2
browse fields cod,den_prod,pret,nr_unit,oferta,discount freeze cod title
'Modific codul produsului'
return

procedure mod3
sele 2
browse fields cod,den_prod,nr_unit,oferta,discount freeze nr_unit title
'Modific nr unitati'
return

procedure mod4
sele 2
browse fields cod,den_prod,nr_unit,data freeze data title 'Modific data
vanzarii'
return

procedure mod5
sele 2
browse fields cod,den_prod,pret,nr_unit,valid freeze valid title 'Modificari
pentru stergere'
return

procedure mods1
sele 1
browse fields cod,den_prod,pret,nr_unit freeze den_prod title 'Modific
denumire produs'
return

procedure mods2
sele 1
browse fields cod,den_prod,pret,nr_unit freeze pret title 'Modific pret'
return

procedure mods3
sele 1
browse fields cod,den_prod,nr_unit freeze nr_unit title 'Modific nr unitati'
return

11 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica

procedure mods4
sele 1
browse fields cod,den_prod,pret,nr_unit,valid freeze valid title 'Modificari
pentru stergere'
return

procedure mods5
sele 1
browse fields cod,den_prod,pret,nr_unit,valid freeze cod title 'Modificari
cod produs'
return

12 | Page

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