CATEGORII DOCUMENTE |
Inchiriere CD-uri, DVD-uri
Baze de date
(generalitati)
O baza de date (BD) este o multime structurata de elemente de date si de legaturi logice dintre ele ce descriu un univers real sau conceptual.
Un sistem de gestiune a Bazelor de date (SGBD) este un pachet de programe utilizat pentru crearea, intretinerea si exportare a BD si care da posibilitatea mai multor utilizatori sa aiba acces simultan la date.
Tinand seama ca poate sa existe difrite tipuri de SGBD-uri, si ca ele se diferentiaza prin limbajele ulilizate, prin anumite componente ce imprima diferite facilitati de exploatare a BD nu poate fi data o structura unica valabila pentru toate sistemele.
Un SGBD este compus din modele, fiecare avand sarcini specifice.
La modul general un SGBD este alcatuit din:
.gestionarul bazei de date
-asigura interfata dintre programe si datele fizice ale BD
.gestionarul de fisiere
.procesorul de consulare
.precompilatorul limbajului de manipulare a datelor
.dictionarul de date
-multimea de schime si de legaturi dintre acestea, de descriere a semnificatiilor datelor si restrictiilor pe care acestea trebuie sa le satisfaca.
Functiile unui SGBD:
In principal un SGBD permite organizarea datelor pe suportul de date si ofera procedurile de cautare si selectie a datelor.
.functia de descriere a datelor;
-pune la dispozitia utilizatorului un instrument de descriere a ansamblului de date ce se vor stoca in BD.
.functia de manipulare a datelor;
-consta in efectuarea urmatoarelor functii:
crearea si popularea BD.
adaugarea de noi inregistrari.
stergerea de inregistrari.
modificarea valorilor corespunzatoare unor campuri.
-cautarea, sortarea si editarea unei iregistrari(functia este realizata cu ajutorul limbajului de manipulare a datelor).
.functia de utilizare;
-asigura interfetele necesare pentru comunicarea utilizatorului cu BD
Tipuri de utilizatori:
.liberi (nespecialisti);
.programatori (specialisti);
.administratorul bazei de date.
Inchiriere CD-uri DVD-uri
In acest proiect vom incerca sa construim bazele de date si programul necesare intr-o societate comerciala specializata in inchirierea filmelor inregistrate pe CD-uri si/sau DVD-uri.
Pentru aceasta am folosit trei baze de date:
. client;
. date inchiriere;
. filme;
CLIENT:
.NR_CLIENT→numeric 2
.NUME_CLIENT→caracter 15
.PRENUME_CLIENT→caracter 20
.STRADA→caracter 20
.NUMAR→numeric 2
.CNP→numeric 13
DATE_INCHIRIERE:
.NUMAR_DATA_INCHIRIERE→numeric 2
.NUMAR_FILM_INCHIRIAT→ numeric 3
.NUMAR_CLIENT_INCHIRIERE → numeric 3
.DATA_INCHIRIERE→date 8
.TIMP_INCHIRIERE_ZILE→numeric 2
.DATA_RETURNARE→date 8
.PRET_PE_ZI→numeric 2
.PRET_TOTAL→numerc 3
.ZILE_PENALIZARE→numeric 2
.PRET_PENALIZARE_ZI→numeric 3
.COST_PENALIZARI→numeric 3
.COST_TOTAL→numeric 3
FILME:
.NUMAR_FILM→numeric 3
.NUME_FILM_ORIGINAL→caracter 30
.NUME_FILM_TRADUS→ caracter 30
.AN_APARITIE→numeric 4
.FIRMA_PRODUCATOARE→ caracter 30
.ACTOR_PRINCIPAL_1→ caracter 30
.ACTOR_PRINCIPAL_2→ caracter 30
.RAFT→ numeric 2
.NUMAR_CDURI→ numeric 1
.PRET_DETERIORARE_CD→ numeric 3
.GENUL→ caracter 15
In prezent bazele de ate contin urmatoarele informatii:
CLIENT:
Nume_cl |
Prenum_cl |
Strada |
Numar |
Cnp |
Aancai |
Gheorghe |
N.Titulescu | ||
Andone |
Marian Bogdan |
M. Eminescu | ||
Banut |
Mircea |
N. Iorga | ||
Cazacu |
Floriana Valentina |
Bd. Tineretului | ||
Deaconescu |
Catalin Nicolae |
Calea lui Traian | ||
Ene |
Lili Sabina |
Stirbei Voda | ||
Fanita |
Felicia Mihaela |
Republicii | ||
Ghetar |
Ciprian |
Decebal | ||
Hristea |
Ionut |
Matei Basarab | ||
Irimia |
Alina Maria |
Bd. Pandurilor | ||
Jecu |
Aurel |
Aleea Cocoriilor | ||
Chirita |
Elena Maria |
Ostriveni | ||
Lazar |
Teodora |
Dr. Hacman | ||
Manga |
Alexandru Ilie |
Marin Sorescu | ||
Mihail |
Marius Sebastian |
N. Titulescu | ||
Novac |
Luiza Violeta |
Mihai Viteazul | ||
Oprita |
Daniela Gabriela |
Marasesti | ||
Palmieri |
Vasile Mircea |
Stirbei-Voda | ||
Quintus |
Anton Cezar |
Bd. Nicolae Balcescu | ||
Radoi |
Steal Florina |
Florilor | ||
Skoda |
Felicia Octavia |
Aleea Masinutelor | ||
Stroescu |
Camelia Adelina |
Int Violetelor | ||
Tolescu |
Sebastian Daniel |
Lucian Blaga | ||
Teposu |
Sam |
Dacia | ||
Ursu |
Ilie Ovidiu |
Constantin Brancus | ||
Valcea |
Magdalena Carmen |
Primaverii | ||
Videanu |
Dorinela |
Crinilor | ||
Weber |
Camelia Vasilica |
Matei Basarab | ||
Zaharia |
Roxana Cornelia |
1 Mai | ||
Zarioiu |
Irina |
Liberatii | ||
Zota |
Ludovic Mihai |
Liviu Rebreanu | ||
Avram |
Emil Cristian |
Bd. Tineretului | ||
Birica |
Marcela |
General Maghieru | ||
Cebuc |
Madalina Iuliana |
Regina Marina | ||
Devila |
Devila |
Aleea Melodii | ||
Enus |
Emanuel |
Ion Luca Caragiale | ||
Fanita |
Violeta |
Carol I | ||
Gainaru |
Ionela Smaralda |
Macilor | ||
Huidu |
Victor Octavian |
Ferdinand | ||
Iliescu |
Daniela Georgiana |
Bd. Pandurilor | ||
Japin |
Robert |
Bd. T. Vladimirescu | ||
Kiss |
Julia |
Gib Mihaiescu | ||
Lascu |
Silvia Ecaterina |
Grigore Sinescu | ||
Mecu |
Adriana Brigitte |
Aleea Cocoriilor | ||
Noroc |
Ghinion |
Prvidentei | ||
Palos |
Buzdugan |
Aleea Armatei | ||
Rada |
Stefania |
I.C. Bratianu | ||
Schere |
Rebeca Fausta |
Uzinei | ||
Toiag |
Carja Bogdan |
Batranetii | ||
Zmeu |
Harap Alb |
Basmelor | ||
Zmeu |
Fat Frumos |
Povestilor |
FILME:
Nr_f |
Num_f_or |
Num_f_tr |
An_apar |
Firma_prod |
Actor_1 |
Actor_2 |
Butterfly Effect |
Teoria Haosului |
New Line Cinema |
Ashton Kutcher |
Amy Smart |
||
Dare Devil |
Omul Fara Frica |
Marvel |
Ben Afflec |
Jennifer Gargner |
||
Elektra |
Elektra |
Marvel |
Jennifer Gargner |
Amy Lee |
||
New-York Minute |
Pe Fuga Prin New-York |
Warner Bros. Pictures |
Ashley Olsen |
Mary-Kate Olsen |
||
Are We There Yet??? |
Am Ajuns??? |
|
Ice Cube |
Nia Long |
||
Meet The Parents |
Cunoaste-ti Socrii |
Universal |
Robert De Niro |
Ben Stiller |
||
Life Or Something Like It |
Previziunea |
20th Centuri Fox |
Angelina Jolie |
Edward Burns |
||
Buying The Cow |
Nunta |
Destination Films |
Jerry O'Connell |
Brigette L. Wilson |
||
Transporter 2 |
Transportorul 2 |
20th Century Fox |
Jasn Statham |
Alessandro Gassman |
||
The Pacifier |
Pacifistul |
20th Century Fox |
Vin Diesel |
Ice Cube |
||
Aeon Flux |
Virusul |
|
Charlize Theron |
Marton Csokas |
||
|
|
Metro Goldwyn Mayer |
Josh Hartnett |
Rose Byrne |
||
The Army Of Darkness |
Armata Intunericului |
Universal |
Bruce Campbell |
Embeth Davitz |
||
Godsend |
Trimisul |
Lions Gate Films |
Greg Kinner |
Robert de Niro |
||
Meltdown |
Risc Maxim |
Upland Films |
Jet Li |
|
||
Seed Of Chucy |
Progenitura lui Chucky |
Rogue Pictures |
Steve Lawton |
Billy Boid |
||
How High |
Cat de sus |
Universal |
Redman |
Methodman |
||
Walking Tall |
Walking Tall |
MGM |
The Rock |
Jonny |
||
Mr. and Mrs. Smith |
Domnul si Doamna Smith |
Universal |
Brad Pitt |
Angelina Jolie |
||
Dracula2000 |
Dracula2000 |
Dimensions Films |
Jennifer Troll |
Jason Scott Lee |
||
American Pie |
Placinta Americana |
Universal |
Jason Biggs |
Seann W Scott |
||
American Pie 2 |
Placinta Americana 2 |
Universal |
Jason Biggs |
Seann W Scott |
||
American Pie3 American Wedding |
Placinta Americana 3 |
Universal |
Jason Biggs |
Seann W Scott |
||
American Pie 4 Band Camp |
Placinta Americana 4 |
Universal |
Tad Hilgenbrinck |
Arielle Kebbel |
||
Taxi |
Taxi |
ARP Selection |
Sammy Naceri |
Frederic Diefental |
||
Taxi 2 |
Taxi 2 |
ARP Selection |
Sammy Naceri |
Frederic Diefental |
||
Taxi 3 |
Taxi 3 |
ARP Selection |
Sammy Naceri |
Frederic Diefental |
||
The Fast And The Furious |
Rapid si Furios |
Universal |
Paul Walker |
Vin Diesel |
||
2 Fast 2 Furious |
Mai Rapid,Mai Furios |
Universal |
Paul Walker |
Cris Ludacris Brides |
||
Triple X |
Xxx |
|
Vin Diesel |
Samuel L Jackson |
||
Triple X 2 |
Xxx |
|
Ice Cube |
Samuel L Jackson |
||
Underworld |
Lumea De Sub |
Screen Gems |
Kate Beckinsale |
Scott Speedman |
||
Underworld 2 Evolution |
Lumea De Sub |
Screen Gems |
Kate Beckinsale |
Scott Speedman |
||
The Mask Of Zorro |
Masca Lui Zorro |
|
Antonio Banderas |
Anthony Hopkins |
||
The Legend Of Zorro |
Legenda Lui Zorro |
|
Antonio Banderas |
Katherine Zeta Jones |
||
Spider Man |
Omul Paianjen |
Marvel |
Tobie Maguire |
Kirsten Dunst |
||
Spider Man 2 |
Omul Paianjen 2 |
Marvel |
Tobie Maguire |
Kirsten Dunst |
||
Eurotrip |
Euroexcursia |
DreamWorks |
Scott Mechlowiscz |
Michelle Trachtenberg |
||
The Hot Chick |
Gagica cu Cocosel |
TouchStone Pictures |
Anna Faris |
Rob Schneider |
||
Super Troopers |
Super Trupele |
Fox Light Pictures |
Jay Chandrasekhar |
Kevin Heffernan |
||
Male Model |
Manechinul |
|
Ben Stiller |
Owen Wilson |
||
|
Orasul Pacatelor |
Dimesion Films |
Jessica Alba |
|
||
Grind |
Skaterii |
Pandora |
Mike Dogel |
Vince Vieluf |
||
Intermedio |
Intermediul |
Global Asilum |
Edward Furlong |
Steve Railsback |
||
The Last Ride |
Ultima Cursa |
Universal |
Dennis Hopper |
Will Patton |
||
X-Men |
X-Men |
20th Century Fox |
Patrick Stewart |
|
||
X-Men 2 |
X-Men 2 |
20th Century Fox |
Patrick Stewart |
|
||
Matrix |
Matrix |
Warner Bros |
Keanu Reeves |
Laurence Fishburne |
||
Matrix Reloaded |
Matrix Reincarcat |
Warner Bros |
Keanu Reeves |
Laurence Fishburne |
||
Matrix Revolutions |
Matrix Revolutii |
Warner Bros |
Keanu Reeves |
Laurence Fishburne |
DATE_INCHIRIERE:
Nr_di |
Nr_f_inc |
Nr_cl_inc |
Data_inc |
Tm_inc_z |
Data_ret |
Pr_pe_zi |
Pret_total |
Zile_pen |
Pret_pen_z |
Cost_pen |
Cost_total |
Programul va contine un meniu format din mai multe pad-uri, fiecare fiind la randul lor formate din mai multe meniuri pop-up.Pentru afisarea datelor s-au folosit trei ferestre de dimensiuni diferite.
Structura meniului va fi:
AFISARE CAUTARE ADAUGARE STERGERE
filme clienti film film film
numar filme actor client client
numar filme inchiriate regizor data inchiriere data inchiriere
data prezenta producator
nume clienti cu penalizare client
MODIFICARE TERMINARE
date client iesire din program
date inchiriere iesire din fox
In momentul in care unul dintre pad-uri sau pop-up-uri sunt selectate pe ultima linie a programului se va afisa un mesaj cu operatia ce se va putea face cu ajutorul activarii instructiunii.
Programul este acesta:
_SCREEN.Caption='Inchiriere CD-uri-DVD-uri'
set talk off
close all
clear
define window w1 from 0,0 to 50,127 TITLE 'fereastra 1' color 6/0 system CLOSE MINIMIZE GROW ZOOM
define window w2 from 10,10 to 30,50 TITLE 'fereastra 2' color 6/0 system CLOSE MINIMIZE GROW ZOOM
define window w3 from 2,2 TO 20,100 TITLE 'fereastra 3' color 6/0 system CLOSE MINIMIZE GROW ZOOM
define menu men1 message 'meniul principal'
define pad p1 of men1 prompt 'AFISARE' at 1,1 message 'pad afisare'
define pad p2 of men1 prompt 'CAUTARE' at 1,20 message 'pad cautare'
define pad p3 of men1 prompt 'ADAUGARE' at 1,40 message 'pad adaugare'
define pad p4 of men1 prompt 'STERGERE' at 1,60 message 'pad stergere'
define pad p5 of men1 prompt 'MODIFICARE' at 1,80 message 'pad modificare'
define pad p6 of men1 prompt 'TERMINARE' at 1,100 message 'pad terminare'
define popup v1 from 2,1
define bar 1 of v1 prompt 'filme' message 'afisare filme'
define bar 2 of v1 prompt 'clienti' message 'afisare clienti'
define bar 3 of v1 prompt 'numar filme' message 'afisare numar filme'
define bar 4 of v1 prompt 'numar filme inchiriate' message 'afisare numar filme inchiriate'
define bar 5 of v1 prompt 'data prezenta' message 'afisare data prezenta'
define bar 6 of v1 prompt 'date inchiriere' message 'afisare date inchiriere'
define popup v2 from 2,20
define bar 1 of v2 prompt 'film' message 'cautare film'
define bar 2 of v2 prompt 'actor' message 'cautare actor'
define bar 3 of v2 prompt 'gen film' message 'cautare gen film'
define bar 4 of v2 prompt 'firma producatoare' message 'cautare firma producatoare'
define bar 5 of v2 prompt 'client' message 'cautare client'
define popup v3 from 2,40
define bar 1 of v3 prompt 'film' message 'adaugare film'
define bar 2 of v3 prompt 'client' message 'adaugare client'
define bar 3 of v3 prompt 'data inchiriere' message 'adaugare data inchiriere'
define popup v4 from 2,60
define bar 1 of v4 prompt 'film' message 'stergere film'
define bar 2 of v4 prompt 'client' message 'stergere client'
define bar 3 of v4 prompt 'data inchiriere' message 'stergere data inchiriere'
define popup v5 from 2,80
define bar 1 of v5 prompt 'date client' message 'modificare date client'
define bar 2 of v5 prompt 'date inchiriere' message 'modificare date inchiriere'
define bar 3 of v5 prompt 'date film' message 'modificare film'
define popup v6 from 2,100
define bar 1 of v6 prompt 'iesire din program' message 'iesire din program'
define bar 2 of v6 prompt 'iesire din fox' message 'iesire din foxpro'
on selection pad p1 of men1 activate popup v1
on selection pad p2 of men1 activate popup v2
on selection pad p3 of men1 activate popup v3
on selection pad p4 of men1 activate popup v4
on selection pad p5 of men1 activate popup v5
on selection pad p6 of men1 activate popup v6
on selection popup v1 do AFISARE
on selection popup v2 do CAUTARE
on selection popup v3 do ADAUGARE
on selection popup v4 do STERGERE
on selection popup v5 do MODIFICARE
on selection popup v6 do TERMINARE
activate menu men1
DO poza
procedure AFISARE
do case
case bar()=1
do 1_filme
case bar()=2
do 1_clienti
case bar()=3
do 1_numar_filme
case bar()=4
do 1_numar_filme_inchiriate
case bar()=5
do 1_data_prezenta
case bar()=6
do 1_data_inchiriere
endcase
return
procedure CAUTARE
do case
case bar()=1
do 2_film
case bar()=2
do 2_actor
case bar()=3
do 2_gen
case bar()=4
do 2_producator
case bar()=5
do 2_client
endcase
return
procedure ADAUGARE
do case
case bar()=1
do 3_film
case bar()=2
do 3_client
case bar()=3
do 3_data_inchiriere
endcase
return
procedure STERGERE
do case
case bar()=1
do 4_film
case bar()=2
do 4_client
case bar()=3
do 4_data_inchiriere
endcase
return
procedure MODIFICARE
do case
case bar()=1
do 5_date_client
case bar()=2
do 5_date_inchiriere
case bar()=3
do 5_film
endcase
return
procedure TERMINARE
do case
case bar()=1
do terminare1
case bar()=2
do terminare2
endcase
return
procedure 1_filme
activate window w1
CLEAR
HIDE POPUP v1
use filme
browse noappend noedit nodelete noclear
use
deactivate window w1
return
procedure 1_clienti
activate window w1
CLEAR
HIDE POPUP v1
use client
browse noappend noedit nodelete noclear
use
deactivate window w1
RETURN
procedure 1_numar_filme
activate window w2
CLEAR
HIDE POPUP v1
use filme
go bottom
filme=nr_f
? 'Numarul de filme in momentul de fata este:'
display filme off
wait 'Pentru continuare apasati o tasta'
use
deactivate window w2
return
procedure 1_numar_filme_inchiriate
activate window w2
CLEAR
HIDE POPUP v1
use date_inchiriere
GO bottom
filme_inchiriate=nr_di
? 'numarul de filme inchiriate este:'
display filme_inchiriate off
wait 'Pentru continuare apasati o tasta'
use
deactivate window w2
return
procedure 1_data_prezenta
activate window w2
CLEAR
HIDE POPUP v1
? 'data de azi este:',date()
? 'ora',time()
wait 'Pentru continuare apasati o tasta'
use
deactivate window w2
return
procedure 1_data_inchiriere
activate window w1
CLEAR
HIDE POPUP v1
use date_inchiriere
browse noappend noedit nodelete noclear
use
deactivate window w1
return
procedure 2_film
ACTIVATE WINDOW w3
USE filme
CLEAR
HIDE POPUP v2
STORE SPACE(25)to vnume_film
@2,2 say 'numele original al filmului este:' get vnume_film function'!'
READ
LOCATE FOR UPPER(ALLTRIM(num_f_or))=UPPER(ALLTRIM(vnume_film))
CLEAR
IF.not.found()
@2,2 say 'acest film nu este inregistrat'
wait 'Pentru continuare apasati o tasta'
ElSE
WAIT 'apasati tasta pentru a vedea informatii despre filmul cautat'
BROWSE fields nr_f, num_f_or, num_f_tr, an_apar, firma_prod, actor_1, actor_2, raft, nr_cduri, pr_det_cd, gen for upper(alltrim(num_f_or))=upper(alltrim(vnume_film)) noappend noedit nodelete noclear
ENDIF
use
DEACTIVATE WINDOW w3
return
procedure 2_actor
ACTIVATE WINDOW w3
USE filme
CLEAR
HIDE POPUP v2
STORE SPACE(25)to vactor
@2,2 say 'numele actorului cautat este:' get vactor function'!'
READ
LOCATE FOR UPPER(ALLTRIM(actor_1))=UPPER(ALLTRIM(vactor)).or.UPPER(ALLTRIM(actor_2))=UPPER(ALLTRIM(vactor))
CLEAR
IF.not.found()
@2,2 say 'Nu avem nici un film cu actorul cautat'
wait 'Pentru continuare apasati o tasta'
ELSE
WAIT 'apasati tasta pentru a vedea informatii despre filmul in care joaca actorul cautat'
BROWSE fields nr_f, num_f_or, num_f_tr, an_apar, firma_prod, actor_1, actor_2, raft, nr_cduri, pr_det_cd, gen for upper(alltrim(actor_1))=upper(alltrim(vactor)).or.upper(alltrim(actor_2))=upper(alltrim(vactor)) noappend noedit nodelete noclear
ENDIF
use
DEACTIVATE WINDOW w3
return
procedure 2_gen
ACTIVATE WINDOW w3
USE filme
CLEAR
HIDE POPUP v2
STORE SPACE(25)to vgen
@2,2 say 'genul de film cautat este:' get vgen function'!'
READ
LOCATE FOR UPPER(ALLTRIM(gen))=UPPER(ALLTRIM(vgen))
CLEAR
IF .not. found()
@2,2 say 'Nu avem nici un film tip genul cautat'
wait 'Pentru continuare apasati o tasta'
ELSE
WAIT 'apasati tasta pentru a vedea informatii despre genul filmului cautat'
BROWSE fields nr_f, num_f_or, num_f_tr, an_apar, firma_prod, actor_1, actor_2, raft, nr_cduri, pr_det_cd, gen for upper(alltrim(gen))=upper(alltrim(vgen)) noappend noedit nodelete noclear
ENDIF
use
DEACTIVATE WINDOW w3
return
procedure 2_producator
ACTIVATE WINDOW w3
USE filme
CLEAR
HIDE POPUP v2
STORE SPACE(25)to vprod
@2,2 say 'numele firmei producatoare cautate este:' get vprod function'!'
READ
LOCATE FOR UPPER(ALLTRIM(firma_prod))=UPPER(ALLTRIM(vprod))
CLEAR
IF.not.found()
@3,3 say 'Nu avem nici un film cu firma producatoare cautata'
wait 'Pentru continuare apasati o tasta'
ELSE
WAIT 'apasati tasta pentru a vedea informatii despre filmul produs de catre aceasta firma'
BROWSE fields nr_f, num_f_or, num_f_tr, an_apar, firma_prod, actor_1, actor_2, raft, nr_cduri, pr_det_cd, gen for upper(alltrim(firma_prod))=upper(alltrim(vprod)) noappend noedit nodelete noclear
ENDIF
use
DEACTIVATE WINDOW w3
return
procedure 2_client
ACTIVATE WINDOW w3
USE client
CLEAR
HIDE POPUP v2
STORE SPACE(15)to vclient
@2,3 say 'numele clientului cautat este:' get vclient function'!'
READ
LOCATE FOR UPPER(ALLTRIM(nume_cl))=UPPER(ALLTRIM(vclient))
CLEAR
IF.not.found()
@ 2,2 say 'Nu avem nici un client cu numele cautat'
wait 'Pentru continuare apasati o tasta'
ELSE
BROWSE fields nume_cl, prenum_cl, strada, numar, cnp for upper(alltrim(nume_cl))=upper(alltrim(vclient)) noappend noedit nodelete noclear
ENDIF
use
DEACTIVATE WINDOW w3
return
procedure 3_film
activate window w1
use filme
GO BOTTOM
a=nr_f
CLEAR
HIDE POPUP v3
opt='D'
do while upper(opt)='D'
clear
store space(30) to vnumeo , vnumet , vfirma , vactor1 , vactor2 , vgen
store 0 to vnrf , vraft , vnrcd , vprdetcd, van
@3,5 say 'Dati numele original al filmului' get vnumeo function'!'
@4,5 say 'Dati numele tradus al filmului' get vnumet function'!'
@5,5 say 'Dati anul aparitiei' get van pict'9999'
@6,5 say 'Dati firma producatoare' get vfirma function'!'
@7,5 say 'Dati numele primului actor principal' get vactor1 function'!'
@8,5 say 'Dati numele celui de-al doilea actor principal' get vactor2 function'!'
@9,5 say 'Dati genul filmului' get vgen function'!'
@10,5 say 'Dati raftul pe care se afla filmul' get vraft picture'9'
@11,5 say 'Dati numarul de cd-uri' get vnrcd picture'9'
@12,5 say 'Dati pretul de plata la deteriorarea cd-ului' get vprdetcd picture'999'
read
append blank
replace Num_f_or with vnumeo
replace Num_f_tr with vnumet
replace An_apar with van
replace Firma_prod with vfirma
replace Actor_1 with vactor1
replace Actor_2 with vactor2
replace Raft with vraft
replace Nr_cduri with vnrcd
replace Pr_det_cd with vprdetcd
replace Gen WITH vgen
replace nr_f WITH (a+1)
opt=' '
@15,5 say 'Mai adaugati un film? DN? 'get opt function'!'
READ
ENDDO
use
deactivate window w1
return
procedure 3_client
activate window w1
use client
CLEAR
HIDE POPUP v3
opt='D'
do while upper(opt)='D'
CLEAR
STORE space(30) to vnume , vprenume , vstrada
STORE 0 TO vnumar,vcnp
@3,5 say 'Dati numele clientului' get vnume function'!'
@4,5 say 'Dati prenumele clientului' get vprenume function'!'
@5,5 say 'Dati numele strazii pe care locuieste clientul' get vstrada function'!'
@6,5 say 'Dati numarul strazii' get vnumar picture'99'
@7,5 say 'Dati codul numeric personal al clientului' get vcnp picture'9999999999999'
read
APPEND blank
replace nume_cl WITH vnume
replace prenum_cl WITH vprenume
replace strada WITH vstrada
replace numar WITH vnumar
replace cnp WITH vcnp
opt=' '
@10,5 say 'Mai adaugati un client? DN?'get opt function'!'
READ
ENDDO
use
deactivate window w1
return
procedure 3_data_inchiriere
activate window w1
use date_inchiriere
SET date TO american
GO BOTTOM
a=nr_di
HIDE POPUP v3
opt='D'
do while upper(opt)='D'
CLEAR
STORE TO vdatai , vdatar
STORE 0 to vnr2 , vnr3 , vtimpi , vpretpzi , vpretpenzi
@3,5 say 'Dati numarul filmului inchiriat' get vnr2 picture'99'
@4,5 say 'Dati numarul clientului ce inchiriaza filmul' get vnr3 picture'999'
@5,5 say 'Dati data inchirierii(ll/zz/aa)' get vdatai
@6,5 say 'Dati timpul inchirierii(zile)' get vtimpi picture'99'
@7,5 say 'Dati data returnarii(ll/zz/aa)' get vdatar
@8,5 say 'Dati pretul pe zi' get vpretpzi picture'99'
@9,5 say 'Dati pretul de penalizare pe zi' get vpretpenzi picture'99'
read
APPEND blank
replace nr_di WITH (a+1)
replace nr_f_inc WITH vnr2
replace nr_cl_inc WITH vnr3
replace data_inc WITH vdatai
replace tm_inc_z WITH vtimpi
replace data_ret WITH vdatar
replace pr_pe_zi WITH vpretpzi
replace pret_pen_z WITH vpretpenzi
REPLACE ALL pret_total WITH (pr_pe_zi*tm_inc_z)
REPLACE ALL zile_pen WITH (data_ret-data_inc)
REPLACE ALL zile_pen WITH 0 FOR(zile_pen<=0)
REPLACE ALL cost_pen WITH (zile_pen*pret_pen_z)
REPLACE ALL cost_total WITH (pret_total+cost_pen)
opt=' '
@10,5 say 'Mai adaugati o data de inchiriere? DN?'get opt function'!'
READ
ENDDO
use
deactivate window w1
return
procedure 4_film
activate window w1
use filme
HIDE POPUP v4
opt='D'
do while upper(opt)='D'
clear
store SPACE(15) to vnume
@5,5 say 'numele original al filmului este este:' get vnume function'!'
read
locate for UPPER(ALLTRIM(num_f_or))==UPPER(ALLTRIM(vnume))
if.not.found()
@15,5 say 'Acest film nu se afla in baza noastra de date'
else
@18,5 say'Numele original al filmului este:'
@18,61 say num_f_or
@19,5 say 'Numele tredus al filmului este:'
@19,51 say num_f_tr
@20,5 say 'Anul aparitiei:'
@20,61 say an_apar
@21,5 say 'Firma producatoare este:'
@21,61 say firma_prod
@22,5 say 'Primul actor principal este: '
@22,61 say actor_1
@23,5 say 'Cel de-al doilea actor este:'
@23,57 say actor_2
store space(1) to opt1
@25,5 say 'Doriti sa stergeti filmul? (D/N)? ' get opt1 function'!'
read
if upper(opt1)='D'
delete
pack
endif
endif
opt=' '
@30,5 say 'Doriti sa continuati stergerea? D/N ?' get opt function'!'
read
enddo
pack
deactivate window w1
return
procedure 4_client
activate window w1
use client
HIDE POPUP v4
opt='D'
do while upper(opt)='D'
clear
store SPACE(15) to vnume , vprenume
@5,5 say 'numele clientului este:' get vnume function'!'
@6,5 say 'prenumele clientului este:' get vprenume function'!'
read
locate for nume_cl=vnume .and. prenum_cl=vprenume
if.not.found()
@15,5 say 'numele si prenumele date nu se afla in baza noastra de date'
else
@18,5 say'numele clientului este '
@18,61 say nume_cl
@19,5 say 'prenumele clientului este '
@19,51 say prenum_cl
@20,5 say 'numele strazii pe care clientul locuieste este '
@20,61 say strada
@21,5 say 'numarul strazii este'
@21,61 say numar
@22,5 say 'cnp-ul clientului este '
@22,61 say cnp
store space(1) to opt1
@25,5 say 'Doriti sa stergeti clientul? (D/N)? ' get opt1 function'!'
read
if upper(opt1)='D'
delete
pack
endif
endif
opt=' '
@30,5 say 'Doriti sa continuati stergerea? D/N ?' get opt function'!'
read
enddo
pack
deactivate window w1
return
procedure 4_data_inchiriere
activate window w1
use date_inchiriere
HIDE POPUP v4
opt='D'
do while upper(opt)='D'
clear
store 0 to vnr
@5,5 say 'Numarul datei de inchiriere este:' get vnr picture'99'
read
LOCATE FOR nr_di=vnr
if.not.found()
@15,5 say 'acest numar nu se afla in baza noastra de date'
else
@18,5 say'numarul filmului inchiriat este '
@18,61 say nr_f_inc
@19,5 say 'numarul clientului este '
@19,51 say nr_cl_inc
@20,5 say 'data inchirierii este '
@20,61 say data_inc
@21,5 say 'data returnarii este este'
@21,61 say data_ret
@22,5 say 'timpul inchirierii este '
@22,61 say tm_inc_z
store space(1) to opt1
@25,5 say 'Doriti sa stergeti clientul? (D/N)? ' get opt1 function'!'
read
if upper(opt1)='D'
delete
pack
ENDIF
endif
opt=' '
@30,5 say 'Doriti sa continuati stergerea? D/N ?' get opt function'!'
read
enddo
pack
deactivate window w1
return
procedure 5_date_client
activate window w1
CLEAR
HIDE POPUP v5
use client
browse noappend noclear
use
deactivate window w1
return
procedure 5_date_inchiriere
activate window w1
CLEAR
HIDE POPUP v5
use date_inchiriere
browse noappend noclear
use
deactivate window w1
return
procedure 5_film
activate window w1
CLEAR
HIDE POPUP v5
use filme
browse noappend noclear
use
deactivate window w1
return
procedure terminare1
deactivate window w1
deactivate menu men1
return
procedure terminare2
quit
RETURN
Procedure poza
if file('.4.jpg')
_SCREEN.Picture='.4.jpg'
ENDIF
Explicatia programului:
Fereastra fox-pro are numele "Inchiriere CD-uri-DVD-uri"
Inchidem toate bazele de date si variabilele folosite anterior.
Se definesc 3 ferestre de nume si dimensiuni diferite.
Se defineste meniul si padurile specifice, apoi procedurile fiecaruia.Pe fundal va aparea imagine:4.jpg.
Procedurile fiecarui pad se scriu:
1_filme: va afisa componenta bazei de date filme.
1_clienti: va afisa cmponenta bazei e date filme
1_numar_filme: va afisa numarul de filme care se afla momentan in baza de date filme.
1_numar_filme_inchiriate: va afisa numarul de filme inchiriate momentan
1_data_prezenta: va afisa data prezenta
1_data_inchiriere: va afisa cmponenta bazei e date date_inchiriere
2_film: cauta in baza de date film dupa numele original al filmului
2_actor: cauta dupa numele actorilor principal filmele
2_gen: cautare dupa genul filmului
2_producator: cautare dupa numele firmei producatoare
2_client: cautare client dupa nume si prenume
3_film: adaugare film
3_client: adaugare client
3_data_inchiriere: adaugare data inchiriere
4_film: stergere film
4_ client: stergere client
4_data_inchiriere: stergere data inchiriere
5_date_client: modificare date client
5_date_film: modificare date film
5_ date_inchiriere: modificare date inchiriere
term1: iesire din program
term2: iesire din fox
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1798
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved