Documente Academic
Documente Profesional
Documente Cultură
Atestat informatica
CAMPULUNG MUSCEL
Atestat professional
Informatica
PREZENTARE
GESTIONAREA UNUI MAGAZIN DE UNELTE
Clasa XIIC
1 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica
Aplicatia realizeaza gestiunea unui magazine de unelte. Avem doua baze de date stoc.dbf si
vanzari.dbf cu structurile:
● cod Numeric 7 0
● den_prod Character 20
● pret Numeric 10 2
● nr_unit Numeric 5 0
● valid Numeric 1 0
● 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
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.
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
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.
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
6 | Page
Prezentare proiect – Gestionarea unui magazin de unelte
Atestat informatica
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