TEMA:
"GESTIONAREA UNUI MAGAZIN DE CONFECTII"
Programul realizeaza gestiunea unui magazin de confectii, folosind diferite proceduri de listare si de cautare. De asemenea programul permite evidenta intrarilor si iesirilor stocului respectiv, printari ale stocului pe spatiu de stocare fizic (hartia) precum si modificari asupra campurilor din baza de date respectiva.
Listarea produselor din stoc se face cu ajutorul unei proceduri din meniul EVIDENTALISTARE, ce permite ordonarea in functie de NUMELE, DATA intrarii confectiei si PRETUL confectiei respective. Meniul EVIDENTACAUTA permite cautarea unueia sau mai multor confectii in functie de NUME, DATA, PRET si COD.
Meniul principal arata astfel:
Prima optiune din meniu se ocupa de evidenta bazei de date si are urmatoarele submeniuri:
A doua optiune din meniu gestioneaza tranzactiile magazinului si mai precis actualizarea stocului:
A treia optiune din meniul principal gestioneaza modificarile aduse bazei de date cum ar fi modificarea pretului,a codului, a numelui sau a numelui unei confectii. Are ca submeniuri:
A patra optiune a meniului principal se ocupa cu printarea (in cazul in care calculatorul este dotat cu o imprimanta) a bazei de date. Are ca submeniuri:
Ultimile doua optiuni le meniului principal deschid informatii despre program si FoxPro in general si respective iese din programul de gestiune.
Codul Sursa al programului de gestiune a unui magazin de confectii
set talk off
set safety off
set clock on
clear
MODIFY WINDOW SCREEN ;
AT 0.000, 0.000 ;
SIZE 38.846,143.800 ;
TITLE 'Magazin' ;
FONT 'MS Sans Serif', 8 ;
FLOAT ;
noclose;
FILL FILE LOCFILE('confectii.jpg','Background?');
MOVE WINDOW SCREEN CENTER
define menu m
define pad p1 of m prompt '<Evidenta' key alt+e, ''
define pad p2 of m prompt '<Tranzactii' key alt+t, ''
define pad p3 of m prompt '<Modificari' key alt+m, ''
define pad p6 of m prompt '<Help' key alt+h, ''
define pad p7 of m prompt '<Exit' key alt+x, ''
on pad p1 of m activate popup evidenta
on pad p2 of m activate popup stoc
on pad p3 of m activate popup modificari
on pad p6 of m activate popup help
on pad p7 of m activate popup exit
define popup evidenta margin message 'Evidenta confectiilor' relative shadow
define bar 1 of evidenta prompt '<Listare' message 'Listeaza confectiile din stoc'
define bar 2 of evidenta prompt '<Caut confectie' message 'Cauta confectii'
on selection bar 1 of evidenta do listare
on bar 2 of evidenta activate popup cauta
define popup cauta margin message 'Cauta confectie' relative shadow
define bar 1 of cauta prompt 'Dupa <tip' message 'Cauta confectii dupa tip'
define bar 2 of cauta prompt '<Dupa <data intrarii' message 'Cauta confectii dupa data intrarii'
define bar 3 of cauta prompt '<Dupa <pret' message 'Cauta confectii dupa pret'
define bar 4 of cauta prompt '<Dupa <cod' message 'Cauta confectii dupa cod'
on selection bar 1 of cauta do cautn
on selection bar 2 of cauta do cautd
on selection bar 3 of cauta do cautp
on selection bar 4 of cauta do cautc
define popup stoc margin message 'Tranzactii' relative shadow
define bar 1 of stoc prompt '<Intrare produs' message 'Intrare confectie'
define bar 2 of stoc prompt 'I<esire produs' message 'Iesire confectie'
define bar 3 of stoc prompt '<Lichidare stoc'
on selection bar 1 of stoc do intrarep
on selection bar 2 of stoc do iesep
on selection bar 3 of stoc do iesirep
define popup modificari margin message 'Modificari stoc' relative shadow
define bar 1 of modificari prompt 'Modificare <numele confectiei' message 'Modificare numele confectiei'
define bar 2 of modificari prompt 'Modificare <pret confectie' message 'Modificare pret confectie'
define bar 3 of modificari prompt 'Modificare <cantitate confectie' message 'Modificare cantitate confectie'
define bar 4 of modificari prompt 'Modificare <data intrarii' message 'Modificare data intrarii'
define bar 5 of modificari prompt 'Modificare c<od produs' message 'Modificare cod produs'
on selection bar 1 of modificari do modificnp
on selection bar 2 of modificari do modificp
on selection bar 3 of modificari do modificc
on selection bar 4 of modificari do modificdi
on selection bar 5 of modificari do modificcp
define popup exit margin message 'Iesire din aplicatie' relative shadow
define bar 1 of exit prompt '<Iesire din program' message 'Iesire din program'
define bar 2 of exit prompt 'Ie<sire in sistem' message 'Iesire din Fox Pro'
on selection bar 1 of exit do iesp
on selection bar 2 of exit do iess
define popup help margin message 'Help' relative shadow
define bar 2 of help prompt '<Despre' message 'Despre program'
on selection bar 2 of help do aboutp
define popup print margin message 'Tipareste baza de date' relative shadow
define bar 1 of print prompt '<Tipareste baza de date' message 'Tipareste la imprimanta toate confectiile'
define bar 2 of print prompt '<Tipareste dupa data produsului' message 'Tipareste confectiile cu data specificata'
on selection bar 1 of print do prn
on selection bar 2 of print do prn_data
activate menu m
use conf.dbf
procedure aboutp
define window a from 10,20 to 17,60 title 'ABOUT' shadow
activate window a
@ 1,6 say 'GESTIUNE MAGAZIN CONFECTII'
@ 2,8 say 'de Calin Adnana Elena'
@ 3,17 say '(c) 2009'
@ 5,14 get ok function '*h !OK' default 1 size 1,10
read
if ok=1
show window a
release window a
endif
return
procedure auxiesep
scant=0
@ 4,1 say 'Ce cantitate iese? ' get scant picture '99999' color scheme 5
read
@ 5,1 say 'Noua cantitate este : '+str(cantitate-scant,10,0) color scheme 7
if cantitate-scant<=0
delete
pack
endif
replace cantitate with cantitate-scant
wait ' '
return
procedure iesep
use conf.dbf
define window ip from 2,5 to 14,74 title 'IESIRE CONFECTIE' double shadow
activate window ip
n=space(10)
@ 2,1 say 'Dati numele confectiei ' get n color scheme 5
read
locate for confectie=n
if found()=.t.
do auxiesep
else
@ 8,1 say 'Produs inexistent!' color scheme 7
wait ''
endif
show window ip
release window ip
activate popup stoc
return
procedure prn
use conf.dbf
store printstatus() to pregatita
if not pregatita
define window p from 9,9 to 11,70 none shadow
activate window p
@ 1,16 say 'Imprimanta nu este pregatita!'
wait ''
show window p
release window p
activate popup print
else
set headings on
list confectie,cod,cantitate,data_int,pret noconsole to printer
eject
set headings off
activate popup print
endif
return
procedure prn_data
use conf.dbf
store printstatus() to pregatita
if not pregatita
define window p from 9,9 to 11,70 none shadow
activate window p
@ 1,16 say 'Imprimanta nu este pregatita!'
wait ''
show window p
release window p
activate popup print
else
set headings on
define window cauta from 5,2 to 10,77 title 'TIPARESTE DUPA DATA INTRARII' double shadow
activate window cauta
index on confectie to prod
d=date()
@ 1,1 say 'Dati data inregistrarii confectiei:' get d
read
list confectie,cod,cantitate,data_int,pret for d=data_int noconsole to printer
eject
set headings off
show window cauta
release window cauta
activate popup print
endif
return
procedure listare
use conf.dbf
define window numelist from 2,3 to 20,75 title 'AFISARE CONFECTII DUPA NUME' shadow float grow
activate window numelist
browse fields confectie,cod,cantitate,data_int,pret noedit
show window numelist
release window numelist
return
procedure intrarep
use conf.dbf
define window d from 10,28 to 12,48 none shadow
define window adaug from 5,2 to 20,76 title 'ADAUGARE CONFECTII' double shadow
activate window d
f=date()
@ 1,1 say 'Data este:' get f color scheme 5
read
show window d
release window d
activate window adaug
re=' '
do while (upper(re)<>'N')
clear
numep=space(10)
c=space(4)
datain=f
cant=0
pretf=0
r=' '
tasta=0
do while upper(r)<>'D'
@ 2,9 say 'Confectie: ' get numep picture replicate('x',10) color scheme 5
@ 3,9 say 'Cod: ' get c picture 'xxxx' color scheme 5
@ 4,9 say 'Data intrarii: ' get datain color scheme 5
@ 6,9 say 'Cantitate: ' get cant picture '99999' color scheme 5
@ 7,9 say 'Pret: ' get pretf picture '99999' color scheme 5
read
r='D'
@ 10,3 say 'Datele introduse sunt corecte(D/N)? ' get r valid upper(r) $'D|N|'
read
enddo
locate for confectie=numep
if found()=.f.
append blank
replace confectie with numep
replace cod with c
replace data_int with datain
replace cantitate with cant
replace pret with pretf
@ 11,3 say 'Doriti sa introduceti alte date(D/N) ? ' get re valid upper(re) $'D|N|'
read
else
@ 12,3 say 'Produsul exista deja.'
@ 13,3 say 'Doriti sa introduceti alt produs (D/N)? ' get re valid upper(re) $'D|N|'
read
endif
enddo
show window adaug
release window adaug
activate popup modificari
return
procedure iesirep
use conf.dbf
define window scoatep from 5,2 to 20,76 title 'LICHIDARE STOC' double shadow
activate window scoatep
ie=' '
n=''
do while upper(ie)<>'N'
clear
sc=' '
n=''
do while upper(sc)<>'D'
clear
n=space(20)
@ 2,1 say 'Introduceti confectia ce urmeaza a fi stersa:' get n
read
sc='D'
@ 4,1 say 'Numele este corect (D/N)? ' get sc valid upper(sc) $'D|N|' color scheme 5
read
enddo
locate for confectie=n
if found()=.t.
delete
pack dbf
@ 5,1 say 'Confectia a fost scosa din baza de date.' color scheme 7
else
@ 6,1 say 'Nu exista acesta confectie!' color scheme 7
endif
@ 7,1 say 'Doriti sa mai scoateti alta confectie (D/N)? ' get ie valid upper(ie) $'D|N|' color scheme 1
read
enddo
show window scoatep
release window scoatep
activate popup stoc
return
procedure modificp
use conf.dbf
define window modifp from 2,2 to 18,76 title 'MODIFICARE PRET CONFECTIE' double shadow
activate window modifp
n=space(10)
@ 2,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window modifp
define window pretm from 7,2 to 18,76 title 'MODIFIC PRET CONFECTIE' double shadow
activate window pretm
p=0
browse fields confectie:r,cod:r,data_int:r,cantitate:r, pret :h='Pretul ce trebuie modificat';
show window pretm
release window pretm
activate window modifp
else
@ 3,5 say ' Nu exista aceasta inregistrare!' color scheme 7
wait ' Apasa o tasta!'
endif
show window modifp
release window modifp
activate popup modificari
return
procedure modificnp
use conf.dbf
define window modifnp from 2,2 to 18,76 title 'MODIFICARE NUME CONFECTIE' double shadow
activate window modifnp
n=space(10)
@ 2,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window modifnp
define window numem from 7,2 to 18,76 title 'MODIFIC NUME CONFECTIE' double shadow
activate window numem
browse fields confectie :h='Numele ce trebuie modificat',cod:r,data_int:r,pret:r,cantitate:r;
show window numem
release window numem
activate window modifnp
else
@ 3,5 say ' Nu exista aceasta inregistrare ' color scheme 7
wait ' Apasa o tasta '
endif
show window modifnp
release window modifnp
activate popup modificari
return
procedure modificdi
use conf.dbf
define window modifdi from 2,2 to 18,76 title 'MODIFICARE DATA INTRARE' double shadow
activate window modifdi
n=space(10)
@ 2,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window modifdi
define window datam from 7,2 to 18,76 title 'MODIFIC DATA INTRARII' double shadow
activate window datam
browse fields confectie:r,cod:r,data_int :h='Data ce trebuie modificata',pret:r, cantitate:r;
show window datam
release window datam
activate window modifdi
else
@ 3,5 say ' Nu exista aceasta inregistrare ' color scheme 7
wait ' Apasa o tasta '
endif
show window modifdi
release window modifdi
activate popup modificari
return
procedure modificcp
use conf.dbf
define window modifcp from 2,2 to 18,76 title 'MODIFICARE CODUL CONFECTEI' double shadow
activate window modifcp
n=space(10)
@ 2,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window modifcp
define window codm from 7,2 to 18,76 title 'MODIFIC CODUL confectiei' double shadow
activate window codm
browse fields confectie:r,cod :h='Codul ce trebuie modificat',data_int:r,pret:r,cantitate:r;
show window codm
release window codm
activate window modifcp
else
@ 3,5 say ' Nu exista aceasta inregistrare! ' color scheme 7
wait ' Apasa o tasta! '
endif
show window modifcp
release window modifcp
activate popup modificari
return
procedure modificc
use conf.dbf
define window modifc from 2,2 to 18,76 title 'MODIFICARE CANTITATE' double shadow
activate window modifc
n=space(10)
@ 2,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window modifc
define window cantm from 7,2 to 18,76 title 'MODIFIC CANTITATEA' double shadow
activate window cantm
p=0
browse fields confectie:r,cod :r,data_int:r,pret:r, cantitate:h='Cantitatea ce trebuie modificata';
show window cantm
release window cantm
activate window modifc
else
@ 3,5 say ' Nu exista aceasta inregistrare! ' color scheme 7
wait ' Apasa o tasta! '
endif
show window modifc
release window modifc
activate popup modificari
return
procedure cautn
use conf.dbf
define window cauta from 5,2 to 18,77 title 'CAUTARE DUPA NUME CONFECTIE' double shadow
activate window cauta
index on confectie to prod
n=space(10)
@ 1,1 say 'Dati numele confectiei:' get n color scheme 5
read
locate for confectie=n
if found()=.t.
deactivate window cauta
define window numec from 10,2 to 18,77 title 'NUME CONFECTIE' shadow
activate window numec
browse fields confectie,cod,data_int,cantitate,pret noedit
show window numec
release window numec
activate window cauta
else
@ 3,5 say ' Nu exista aceasta inregistrare! ' color scheme 7
wait ' Apasa o tasta! '
endif
show window cauta
release window cauta
activate popup cauta
return
procedure cautd
use conf.dbf
define window cauta from 5,2 to 10,77 title 'CAUTARE DUPA DATA INTRARII' double shadow
activate window cauta
index on confectie to prod
n=date()
@ 1,1 say 'Dati data inregistrarii produsului:' get n color scheme 5
read
deactivate window cauta
define window datac from 10,2 to 18,77 title 'DATA INTRARII CONFECTIEI' none shadow
activate window datac
browse fields confectie,cod,data_int,cantitate,pret for n=data_int noedit
show window datac
release window datac
activate window cauta
show window cauta
release window cauta
activate popup cauta
return
procedure cautp
use conf.dbf
define window cauta from 5,2 to 18,77 title 'CAUTARE DUPA PRETUL CONFECTIEI' double shadow
activate window cauta
index on pret to pret
n=0
@ 1,1 say 'Dati pretul confectiei:' get n color scheme 5
read
locate for pret=n
if found()=.t.
deactivate window cauta
define window pretc from 10,2 to 18,77 title 'PRET CONFECTIE' none shadow
activate window pretc
browse fields confectie,cod,data_int,cantitate,pret noedit
continue
show window pretc
release window pretc
activate window cauta
else
@ 3,5 say ' Nu exista aceasta inregistrare! ' color scheme 7
wait ' Apasa o tasta! '
endif
show window cauta
release window cauta
activate popup cauta
return
procedure cautc
use conf.dbf
define window cauta from 5,2 to 18,77 title 'CAUTARE DUPA CODUL CONFECTIEI' double shadow
activate window cauta
index on cod to cod
n=space(10)
@ 1,1 say 'Dati codul confectiei:' get n color scheme 5
read
locate for cod=n
if found()=.t.
deactivate window cauta
define window codc from 10,2 to 18,77 title 'COD CONFECTIE' double shadow
activate window codc
browse fields confectie,cod,data_int,cantitate,pret noedit
show window codc
release window codc
activate window cauta
else
@ 3,5 say ' Nu exista aceasta inregistrare! ' color scheme 7
wait ' Apasa o tasta! '
endif
show window cauta
release window cauta
activate popup cauta
return
procedure iesp
define window f from 12,20 to 17,60 shadow
activate window f
@ 1,10 say 'Parasiti aplicatia ?'
@ 3,3 get okcancel function '*h !OK;?Cancel' default 1 size 1,10,13
read cycle
if okcancel=2
deactivate window f
activate popup exit
else
close all
on key label f1
deactivate window all
clear
cancel
endif
return
procedure iess
define window f1 from 12,20 to 17,60 shadow
activate window f1
@ 1,11 say 'Parasiti FoxPro ?'
@ 3,3 get okcancel function '*h !OK;?Cancel' default 1;
size 1,10,13
read cycle
if okcancel=2
deactivate window f1
activate popup exit
else
deactivate window all
quit
endif
return
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |