Profesor ndrumtor, Ghimii Loredana le!, Podaru Ale"andra Ionela Caracal # $%&' # & ARGUMENT A(licaia (ermite gestionarea (roduselor unei li)rarii *ntr#un mod sigur i eficient+ A(licaia conine )a,e de date ce rein informaii at-t des(re (rodusele aflate *n stoc si !-n,rile efectuate cat si des(re clientii carora le#au fost !-ndute (roduse + .e sim(lific o(eraii ca / adugarea unui nou (rodus *n stoc !-n,area (roduselor cutarea unui (rodus A(licaia (oate de asemenea genera ra(oarte ale !-n,rilor efectuate la o anumit dat+
INTRODUCERE Noiuni de baz $ Visual FoxPro este un sistem de )a,e de date relaionale care sim(lific (rocesele de gestionare i organi,are eficient a datelor+ 0e asemenea, a1ut la organi,area datelor, la definirea regulilor de )a, i la construirea a(licaiilor+ Cu a1utorul instrumentelor de (roiectare !i,ual se (ot crea uor formulare, interogri i ra(oarte+ 2isual 3o"Pro (ermite crearea ra(id de a(licaii com(let configurate, furni,-nd un meniu de de,!oltare integrat, care cu(rinde instrumente de (rogramare (uternice, orientates (re o)iect, funcionaliti client4ser!er i su(ort (entru controale Acti!e5+ Princi(alele elemente ale tuturor mediilor 3o"Pro sunt/ 6ara de meniuri 3ereastra de comand Bara de meniuri. 3iecare cu!-nt care a(are *n )ara de meniuri re(re,int o o(iune )ar sau mai sim(lu, o(iune+ 7eniul se mai numete meniu (rinci(al sau meniu sistem+ Pentru a selecta o anumit o(iune se a(as tasta AL8 *n com)inaie cu tasta luminoas a numelui o(iunii res(ecti!e+ Penru a(elarea o(iunii .9stem concomitent tastele AL8 i .+ .u)meniul este lista care a(are c-nd se selectea, o o(iune )ar+ Pentru a selecta o o(iune a unui su)meniu se de(lasea, cursorul cu a1utorul tastelor (o,iionale (e o(iunea dorit i se tastea, N8:+ ;nele selecii din meniuri au o cale direct de a(elarede la tastatur, afiat *n drea(ta o(iunii<e"/ =el(#3&>+ ;nele o(iuni sunt urmate de trei (uncte+ Acestea re(re,int o indicaie !i,ual a fa(tului c, du( selectarea lor urmea, o caset de dialog+ Manipularea ferestrelor. 0eoarece mediul se )a,ea, (e ferestre, a(roa(e toate interaciunile au loc *ntr#o fereastr+ Funciile ferestrelor: &+ nchidere/ Cu mouse-ul: .e e"ecut clic sim(lu (e )utonul de *nchidere+ Cu tastatura: .e selectea, o(iunea Close din meniul ?indo@ sau se acionea, com)inaia de taste C8:L AB+ $+ :edimensionare i ma"im,are/ Cu mouse-ul: .e acionea, asu(ra )utonului de redimensionare cu un clic (e )utonul st-ng al mouse#ului+ Cin-n )utonul mouse#ului a(sat de de(lasea, cursorul (-n la (o,iia dorit+ Petru o)inerea dimensiunilor ma"ime se acionea, )utonul de e"tindere+ Cu tastatura: 0in o(iunea .i,e a meniului ?indo@+ 0imensiunea dorit se o)ine cu a1utorul tastelor sgei+ .e mai (oate folosi com)inaia de taste C8:LA3D+ dimensiunile ma"ime se (ot o)ine din o(iunea Eoom a meniului ?indo@ sau (rin tastarea com)inaiei de tasteC8:LA3&%+ F+ 7minimi,are/ Cu mouse-ul: .e e"ecut du)lu clic (e )ara de titlu a ferestrei+ Cu tastatura: Cu a1utorul o(iunii Eoom a meniului ?indo@ sau cu C8:LA3G+ '+ Ascundere i reafiare/ Cu mouse-ul: Pentru ascunderea unei ferestre se e"ecut clic (e o(iunea =ide din meniul ?indo@+ Pentru !i,uali,area unei ferestre ascunse se deschide meniul ?indo@ i se e"ecut clic (e o(iunea care definete numele ferestrei ascunse+ Cu tastatura: Pentru ascunderea unei ferestre se a(elea, o(iunea =ide din meniul ?indo@+ Pentru !i,uali,area unei ferestre ascunse se deschide meniul ?indo@ i se alege o(iunea care definete numele ferestrei ascunse+ Cu mouse-ul: .e de(lasea, cusorul mouse#ului (e unul din )utoanele de defilare i se acionea, )utonul st-ng al mouse#ului+ Pentru defilarea (agin cu (aginse (lasea, cursorul mouse#ului *ntre )utonul de (o,iie i una din sgeile !erticale, du( care se reali,ea, clicuri sim(le+ Cu tastatura .e folosesc tastele sgei (entru defilarea (e ori,ontal sau !ertical+ Pentru defilarea (agin cu (agin se acionea, tastele Pg0n sau Pg;(+ F Programarea *n 2isual 3o"Pro im(lic scrierea unor sec!ene de cod/ instruciuni su) form de comen,i, funcii sau o(eraii (e care 2isual 3o"Pro le (oate inter(reta+ Aceste instruciuni (ot fi introduse *n / fereastra Command H fiiere de (rograme H ferestre de cod (entru e!enimente sau metode, din cadrul Proiectantului de 3ormulare <3orm 0esigner> sau Proiectantului de Clase <Class 0esigner> H ferestre (rocedurale din cadrul Proiectantului de 7eniuri <7enu 0esigner> H ferestre (rocedurale din cadrul Proiectantului de :a(oarte <:e(ort 0esigner>+ Fereastra de comand (Command) interacionea, direct cu sistemul+ n ea se (oate scrie orice fel de comand s(ecific 2isual 3o"Pro+ I instruciune introdus *n fereastra Command rm-ne acolo (-n la (rsirea mediului+ Prin de(lasarea cu a1utorul tastelor direcionale se (oate alege comanda anterioar tastat+ Cu a1utorul o(iunilor Co(9, Cut, Paste din meniul dit se (ot co(ia sau muta )locuri de informaii *n di!erse ferestre acti!e+ Administratorul de proiecte (Project Manager) are dou sco(uri ma1ore/ a1ut la organi,area fiierelor *n (roiect, (e )a,a ti(ului fiierelorH ofer un container (entru a aduna com(onentele unei a(licaii, *n ate(tarea com(ilrii *ntr#un fiier a(licaie <+APP> sau *ntr#un fiier e"ecuta)il <+5> Irgani,area fiierelor *n Pro1ect 7anager/ 0ate <0ata> 6a,e de date <0ata)ases> 8a)ele li)ere <3ree 8a)les> Interogri <Bueries> 0ocumente <0ocuments> 3ormulare <3orms> :a(oarte <:e(orts> tichete <La)els> 6i)lioteci de Clase <Class Li)raries> Cod <Code> Programe <Programs> 6i)lioteci API <API Li)raries> A(licaii <A((lications> Altele <Ither> 7eniuri <7enus> 3iiere te"t <8e"t 3iles> Alte fiiere <Ither 3iles> ;n program 2isual 3o"Pro este un fiier de te"t care cu(rinde o serie de comen,i i se (oate crea *n mai multe feluri / 0in Pro1ect 7anagerJCodeJProgramsJNe@ H 0in cadrul meniului 3ileJNe@JProgramJNe@ 3ileH In fereastra Command se introduce comanda/ MODIFY COMMAND Knume fiierL+ al!area acestuia se face din cadrul meniului 3ileJ.a!e+ ' Pentru ca un (rogram s fie modificat, acesta tre)uie redeschis (rin una din metodele de mai 1os / dac (rogramul este cu(rins *ntr#un (roiect, acesta se selectea, din Pro1ect 7anagerJ7odif9 H din cadrul meniului 3ileJI(en H *n fereastra Command se tastea, comanda/ 7I0I3M CI77AN0 Knume fiierL+ "ularea unui (rogram se (oate face, de asemenea *n mai multe moduri / din Pro1ect 7anagerJ:un H din cadrul meniului ProgramJ0o H *n cadrul ferestrei Command se tastea, / DO Knume fiierL+ Concepte de baz La crearea unui (rogram se stochea, date, care sunt mani(ulate cu a1utorul unor instruciuni+ 0atele i containerele de de(o,itare a acestora constituie materiile (rime *n (rocesul de (rogramare+ Intrumentele folosite (entru a (relucra aceste materii (rime sunt comen,ile, funciile i o(eratorii+ 3iecare dat este de un anumit ti(/ a(arine unei anume categorii de date care sunt mane!rate *ntr#un mod s(ecific+ ste (osi)il ca datele sn u fie staocate, dar astfel se (ierde o mare (arte din fle"i)ilitatea i (uterea lima)1ului 2isual 3o"Pro, care ofer numeroase containere de stocare, a1ut-nd astfel la mane!rarea datelor+ 8i(urile de date determin modul *n care datele sunt stocate i folosite+ Princi(alele tipuri de date acce(tate de 2isual 3o"Pro/ Caracter <Character> N sunt cele mai fle"i)ile i mai utili,ateH conin caractere A.CII, limita fiind de $OPcaractereH 0at calendaristic <0ate> N are lungimea fi" de D caractereH Numeric <Numeric> N memorea, numere cu (unct ,ecimal fi" (o,iti!e sau negati!eH imaginea unui c-( este limitat la $% caractereH 2irgul mo)il <3loat> N destinate numerelor foarte mari sau foarte mici com(use din mantis i e"(onentH Logic <Logical> N are lungimea de un caracter, (ut-nd memora numai !alorile ade!rat sau falsH 7emo <7emo> N se (ot memora informaii de di!erse ti(uriH aceste c-m(uri sunt (ractic nelimitateH informaiile sunt memorate *ntr#un fiier se(arat care are e"tensia 3P8 i acelai nume cu al fiierului 063H Containerele de date (ermit e"ecutarea acelorai o(eraii asu(ra mai multor date simultan+ 0ac datele sunt stocate *n containere i a(oi se e"ecut o(eraiile asu(ra containerelor, datele !echi (ot fi *nlocuite cu cele noi, rul-ndu#se din nou acelai (rogram+ Prici(alele containere de date din 2isual 3o"Pro/ !aria)ilele N elemente singulare de date stocate *n memoria :A7 <:andom Access 7emor9> a calculatoruluiH *nregistrri N r-nduri multi(le de c-m(uri (redefinite, fiecare dintre acestea conin-nd date (redefiniteH matrice N elemente multi(le stocate *n :A7+ Manipularea datelor Containerele i ti(urile de date a1ut la construirea )locurilorQ cu care se mani(ulea, datele+ Com(onentele finale sunt re(re,entate de o(eratori, funcii i comen,i+ #peratorii leag datele *ntre ele i se *m(art *n/ O operatorii relaionali # folosii *n di!erse e"(resii logice/ R egal RR egalitate e"act > mai mare dec-t < mai mic dec-t >R sau R> mai mare sau egal cu <R sau R< mai mic sau egal cu <> diferit de diferit de SR diferit de T este cu(rins *n I(eratorii relaionali se (ot a(lica doar o(eran,ilor iruri de caractere, dat calendaristic i numerici+ operatorii caracter sunt o(eratorii QA i Q# care concatenea, dou sau mai multe iruri de caractereH operatorii dat calendaristic sunt identici cu o(eratorii (entru irurile de caractere+ "ist doar (atru metode (ermise de com)inare a o(eran,ilor i a o(eratorilor dat calendaristic/ # <dat>A<numr> # re,ultat ti( dat calendaristic # <numr>A<dat> # re,ultat ti( dat calendaristic # <dat>#<numr> # re,ultat ti( dat calendaristic # <dat>#<dat> # re,ultat ti( numeric operatorii logici folosii *n lim)a1ul 2isual 3o"Pro sunt AN0, I:, NI8H operatorii numerici sau o(eratorii aritmetici sunt/ # unar generea, negati!ul unui numr A unar generea, (o,iti!ul unui numr A adunare # scdere U *nmulire 4 *m(rire UU sau V ridicare la (utere W modulo N *ntoarce restul care re,ult la *m(rirea a dou numere Funciile *ntorc un anumit ti( de date+ "ist cinci modaliti de a a(ela o funcie 2isual 3o"Pro/ +a (rin atri)uirea ctre o !aria)il a !alorii *ntoarse de funcieH +) (rin includerea a(elului de funcie *ntr#o comand 2isual 3o"ProH +c (rin afiarea !alorii *ntoarse *n fereastra acti! de ieireH +d (rin a(elul funciei fr a stoca unde!a re,ultatulH +e (rin *nglo)area funciei *ntr#o alt funcie+ I comand determin e"ecutarea unei aciuni+ 3iecare comand are o anumit sinta", care indic ce tre)uie s conin res(ecti!a comand (entru a funciona+ "ist i clau,e o(ionale asociate comen,ilor, care (ermit s(ecificarea mai (recis a sco(ului urmrit+ 2isual 3o"Pro cu(rinde o categorie s(ecial de comen,i, care (ot fi incluse *n alte comen,i i funcii, determin-nd c-nd i c-t de des (ot fi e"ecutate acestea+ Comen,ile res(ecti!e (ermit ramificarea condiional i structurile ciclice, dou instrumente de (rogramare (uternice+ P "amificarea condiional (ermite testarea unor condiii i e"ecutarea, *n funcie de re,ultatul testului, a unor o(eraii diferite+ "ist dou comen,i 2isual 3o"Pro care (ermit ramificarea condiional/ I3XL.XN0I3H 0I CA.XN0CA.+ Ciclarea (ermite e"ecutarea uneia sau mai multor linii de cod de c-te ori este ne!oie+ "ist trei comen,i 2isual 3o"Pro care (ermit im(lementarea unor structuri ciclice/ .CANXN0.CANH 3I:XN03I:H 0I ?=ILXN00I !o"!a#a!e $n %i&ua' (o)!o Proiectarea i (rogramarea orientate s(re o)iect re(re,int o a)ordare nou fa de (rogramarea (rocedural standard+ I)iectele sunt com(onente de sine stttoare ale unei a(licaii care au o funcionalitate (ri!at, dar i o funcionalitate ce (oate fi e"(us utili,atorului+ n mediul 2isual 3o"Pro, formularele i controalele (ot fi gestionate (rin intermediul (ro(rietilor, e!enimentelor i metodelor+ Programarea orientat s(re o)iect este o modalitate de a *m(acheta codul astfel *nc-t s (oat fi refolosit i *ntreinut mai uor+ Primul ni!el de *m(achetare se numete clas. Clasele i o)iectele sunt *nrudite, dar nu similare+ I clas conine informaii des(re cum arat i cum tre)uie s se com(orte un o)iect+ Clasa este un fel de schi a unui o)iect+ I)iectele au (ro(rieti care sunt determinate de clasa (e care se )a,ea, acestea+ 3iecare o)iect recunoate i (oate reaciona la anumite aciuni numite e!enimente+ ;n e!eniment este o aciune s(ecific i (redeterminat, iniiat fie de utili,ator, fie de sistem+ 7etodele sunt (roceduri asociate unui o)iect+ !enimentele (ot a!ea metode asociate+ 8oate (ro(rietiile, metodele i e!enimentele asociate unui o)iect sunt s(ecificate *n cadrul definiiei clasei+ Clasele au o serie de caracteristici care (ermit crearea de cod reutili,a)il, uor de *ntreinut/ *nca(sulareaH su)claseleH motenirea+ Cele dou ti(uri (rimare de clase 2isual 3o"Pro sunt clasele container i clasele control+ Containerele (ot conine alte o)iecte i (ermit accesul la acesteaH fiecare o)iect creat (oate fi mani(ulat indi!idual, at-t *n momentul (roiectrii c-t i *n momentul e"ecuiei Clasele control sunt mai )ine *nca(sulate dec-t clasele container, dar din aceast cau, sunt mai (uin fle"i)ile+ Clasele control nu au o metod AddI)1ect+ Butoane de na!igare prin ta$el n ma1oritatea a(licaiilor e"ist o serie de )utoane de na!igare care (ermit utili,atorului s se de(lase,e (rintr#o ta)el+ 0e o)icei, este !or)a de )utoane care mut indicatorul de *nregistrri la urmtoarea sau la (recedenta *nregistrare din ta)el, (recum i la (rima i la ultima *nregistrare+ C!ea!ea baze'o! de date Y La crearea )a,ei de date, ta)elele sunt reunite *ntr#o singur colecie, )eneficiind astfel, de dicionarul de date, care ofer mai mult fle"i)ilitate *n (roiectarea i modificarea )a,ei de date+ Crearea unei )e,e de date se face *n urmtoarele moduri/ *n cadrul Gestionarului de Proiecte, se selecte 0ataJ0ata)asesJNe@H *n Command, utili,-nd comanda / C:A8 0A8A6A.. Knume L+ La creara unei )a,e de date, aceata nu conine nimic+ Prin adugarea unei ta)ele, se crea, o legtur *ntre fiierul ta)elei i containerul )a, de date+ 3iecare ta)el 2isual 3o"Pro (oate e"ista *n una din urmtoarele stri/ ca ta)el li)er, su) form de fiier +d)f neasociat !reunei )a,e de dateH ca ta)el dintr#o )a, de date, su) form de fiier +d)f asociat unei )a,e de date+ Adugarea unei ta)ele li)ere la o )a, de date se face *n urmtoarele moduri/ *n cadrul Gestionarului de Proiecte, select-nd 8a)lesJAddH *n Command, cu a1utorul comen,ii/ A00 8A6L Knume ta)elL La adugarea unei ta)ele *ntr#o )a, de date , 2isual 3o"Pro modific *nregstrarea din antetul fiierului cores(un,tor ta)elei (entru a actuali,a calea i numele fiierului asociat )a,ei de date care include ta)ela+ Calea i numele de fiier se numesc legturi *na(oi, deoarece leag ta)ela de )a,a de date care o conine + Procesul de eliminare a unei ta)ele dintr#o )a, de date nu nemai c terge ta)ela i dicionarele de date din fiierul )a,ei de date, ci actuali,ea, informaia de legtur *na(oi (entru a reflecta noul statut al ta)elei, cel de ta)el li)er+ I ta)el (oate fi eliminat dintr#o )a, de date cu a1utorul interfeei sau (rin intermediul comen,ii :7I2 8A6L Knume ta)elL+ :elaiile (ersistente *ntre ta)elele )a,ei de date se com(un cu a1utorul indecilor, care (ermit legarea ta)elelor (e )a,a unei e"(resii sim(le sau com(le"e+ Crearea unei relaii *ntre ta)ele se face din cadrul Proiectantului 6a,ei de 0ate <0ata)ases 0esigner>, aleg-nd numele inde"ului care se dorete a fi legat i trg-ndu#l cu mouse#ul s(re numele inde"ului din ta)ela legat+ 2i,uali,area schemei )a,ei de date se face cu a1utorul comen,ii 7I0I3M 0A8A6A. Knume L+ I )a, de date (oate fi tears de (e hard#disc (rin intermediul Gestionarului de Proiecte <select-nd )a,a de date, a(oi :emo!eJ0elete> sau cu a1utorul comen,ii 0L8 0A8A6A. KnumeL+ D RE*ENTAREA ALICA+IEI 6a,a de date este reali,ata (rintr#o relationare *ntre ta)elele (roduse si 2-n,ri + A(licatia contine meniu *n care se gasesc toate o(eratiunile (osi)ile+ I(eratiile (osi)ile sunt urmatoarele/ #Adaugarea unui (rodus *n )a,a de date H # 7odificarea datelor (roduselor din )a,a de date H #.tergerea (roduselor H #2an,area (roduselor H #:a(oarte des(re !-n,rile efectuate H ,-Ope!aii ,-,-Adu"a!e Aceasta o(tiune da (oi)ilitatea de a adauga *n )a,a de date un nou (rodus+ La a(elare !a a(area o noua fereastra <fig+ F> *n care !a tre)ui sa com(letati cam(urile (re,ente cu datele referitoare la (rodusul (e care doriti sa il adaugati + Pentru efectua adaugarea a(elai )utonul Adauga care la randul sau !a !erifica daca datele sunt introduse corect+In ca,ul *n care nu ati com(letat toate cam(urile a(licatia !a afisa mesa1ul Com(letati toate cam(urile S+<fig+ $>+ Alegerea categoriei se face alegand un cam( din lista ascunsa indicata (rin eticheta categorie + In ca,ul *n care adaugarea !a fi !alida a(licatia !a afisa mesa1ul Adaugare reusita <fig+&>+ In )a,a de date (rodusele !or fi introduse *n )a,a de date cu litere mari + G 3ig+ & 3ig+ $
3ig+ F Pentru a *nchide fereastra a(elai )utonul Anulea,a + ,-.-%izua'iza!e /0nz!i Cu a1utorul acestei o(tiuni a!eti (osi)ilitatea de a !i,uali,a (rodusele !-ndute + La a(elare !a a(rea o noua fereastra <fig+'> *n care am introdus o lista *n care !eti a!ea (osi)ilitatea de a alege un (rodus cu un anumit cod id (rodus + &% (i"-1 Pentru a !i,uali,a doar (rodusele !-ndute la o anumita data introducei data *n cam(ul indicat (rin sageata *n imaginea de mai sus si a(elai )utonul Afisea,a+ In ca,ul *n care la data introdusa au fost reali,ate !-n,ri ,(rodusele !-ndute !or fi afisate *n lista ,indicate (rin id (rodus ,indic-nd si clientul care a cum(arat fiecare (rodus *n (arte indicat (rin Id client+Pentru a !i,uali,a datele *n totalitate facei clicZ asu(ra unu cam( din lista si *n acel moment datele !or fi trecute *n cam(urile (re,ente *n fereastra nou deschisa +8a)ela !-n,ri !a fi filtrata astfel *nc-t *n lista sa a(ara doar (rodusele !-ndute la data introdusa+Pentru a reali,a defiltrarea ta)elei <(entru a !a a!ea acces la toate (rodusele !-ndute> a(elai )utonul Anulea,a filtrare+ 0e e"em(lu daca am introdus data / %'4%'4$%%D s#a reali,at urmatoarea filtrare / Com(arand ultimele doua imagini !eti constata urmatoarele / #lista din imaginea a doua contine doar un singur cam( singurul !andut la acea data H #)utonul Anulea,a filtrare care initial era de,acti!at *n cea de#a doua img+ este acti!at semn ca a a!ut loc o filtrare + In ca,ul *n care ati facut o filtrare la *nchiderea ferestrei se !a reali,a automat defiltrarea + && ,-2-Modi3ica 4 a5 !odu&e Aceasta o(tiune da (osi)ilitatea de a modifica *n )a,a de date datele (roduselor+ La a(elare !a a(area o noua fereastra <fig +O> *n care du(a cum !eti !edea e"ista o lista *n care se gasesc toate (rodusele din stoc+ Pentru a reali,a modificarea unu (rodus alegeti un (rodus,facand clicZ asu(ra sa *n lista sau a(eland la o(tiunea de cautare a (rodusului +In ca,ul *n care a(elai la o(tiunea de cautare com(letati cam(ul indicat (rin sageata *n figura O a(oi a(elai )utonul Cauta +In ca,ul *n care (rodusul a fost gasit datele sale !or fi trecute *n formularul (re,ent *n fereastra + Idata ales (rodusul a!eti (osi)ilitatea de a efectua modificari asu(ra datelor sale sau (uteti sa il stergeti + In ca,ul *n care !reti doar sa ii modificati datele efectuati modificarea dorita si a(elai )utonul 7odifica+In ca,ul *n care nu ati com(letat toate datele a(licatia !a afisa mesa1ul Nu sunt acce(tatre cam(uri !ide S + 0aca modificarea (oate fi efectuata ,nu e"ista nici o eroare , a!eti (osi)ilitatea de a renunta la modificarea facuta deoarece a(licatia !a afisa urmatoarea intre)are / In ca,ul *n care alegeti o(tiunea Mes modificarea !a fi efectuata,in ca, contrar nu+ &$ 3ig+O
Alegand o(tiunea de cautare *n lista !a fi afisat doar (rodusul cautat,com(letandu#se automat si cam(urile din fereastra cu datele referitoare la (rodusul <fig+P>+In ca,ul *n care (rodusul nu a fost gasit *n )a,a de date a(licatia !a afisa mesa1ul / 3ig+P nchiderea ferestrei se reali,ea,a cu )utonul :enunta + b5 C'ient 3ig+ A 7odificare clientilor se face urmand urmatorii (asi / &F # .electati din lista (ersoana asu(ra careia doriti sa reali,ati modificarea H # :eali,ati modificarea dorita H # A(elai )utonul 7odifica H rori ce (ot a(area *n reali,area modificarii / &> CNP e"istent fig+Y/ a(are *n ca,ul *n care efectuati modificare asu(ra cn(#ului introducand un cn( e"istent *n )a,a de date <nu se tine cont de cn(#ul ce a fost modificat >H $> Com(letati am)ele cam(uri fig+D / a(are *n momentul *n care nu au fost com(letate am)ele cam(uri Nume si Cn( + F> Nu e"ista nici o (ersoana cu acest nume Sfig+G /a(are *n momentul *n care ale(ati la o(tiunea de cautare a (ersoanei asu(ra careia doriti sa reali,ati modificarea H 3ig+ Y 3ig+ D
3ig+ G .i la aceasta o(eratie a!eti (osi)ilitatea de a a(ela la o(tiunea de cautare+In acest ca, cautarea se reali,ea,a *n sco(ul gasirii mai ra(ide a unei anumite (ersoane asu(ra careia doriti sa efectuati modificarea + Pentru aceasta com(letati cam(ul indicat (rin sageata *n fig+ A a(oi a(elai )utonul Cauta+ In caul *n care cautarea esuea,a !a fi afisat mesa1ul descris *n eroarea F> +In ca, contrar se !or reali,a urmatoarele / &' #se efectuea,a o filtrare asu(ra )a,ei de date du(a numele introdus astfel *nc-t *n lista !or fi afisate doar (ersoanele cu acel nume H #se com(letea,a automat cam(urile Nume si cn( + Pentru a a!ea acces la toate (ersoanele du(a ce ati reali,at cautarea a(elai )utonul Anulea,a filtrare + 8ot *n cadrul acestei feresre (uteti efectua si stergerea unei (ersoane a(eland )utonul .terge insa du(a ce *n (reala)il ati ales (ersoana ce dariti sa o stergeti +A!eti (osi)ilitatea de a renunta la stergere deoarece *n momentul *n care ati a(elat )utonul .terge a(licatia !a afisa mesa1ul Confirmare stergere <fig+&%> si, alegand o(tiunea Mes (ersoana *n cau,a !a fi stearsa din )a,a de date iar,alegand No stergerea !a fi anulata +
3ig+&% nchiderea ferestrei se reali,ea,a (rin intermediul )utonului :enunta + .-%0nza!e Prin intermediul acestei o(tiuni se !or reali,a !-n,rile (roduselor aflate *n )a,a de date + La a(elare !a a(are o noua fereastra <fig+&&> + Pentru a reali,a !an,area unui (rodus reali,ati urmatorii (asi/ #alegeti din lista (rodusul (e care doriti sa il !indeti H #introducei datele clientului H #introducei cantitatea ce doriti sa o !indeti H #a(elai )utonul 2inde + Introducerea datelor clientului caruia doriti sa !indeti se face *n felul urmator / #in ca,ul *n care clientul e"ista *n )a,a de date se !a introduce numai cn(#ul deoarece cam(ul Nume !a fi inacti! H #in ca,ul *n care doriti sa !indeti unui client nou cam(ul Nume !a fi acti! astfel *nc-t !or tre)ui com(letate am)ele cam(uri + 8i(ul clientului !a tre)ui selectat (rin alegerea unei o(tiuni din locul indicat (rin sageata *n figura && +Acesta (oate fi Client e"istent sau Client nou + E!o!i po&ibi'e 4 &> Nu (uteti !inde mai mult decat detineti S eroare cau,ata de dorinta de a !inde o cantitate mai mare decat stocul (e care il detineti <fig+&$> H $> Clientul nu e"ista *n )a,a de date S aceasta eroare a(are *n momentul *n care doriti sa !indeti un (rodus unui client ce se afla *n )a,a de date si reali,ati greseli *n introducerea cn(# ului <fig+&F> H &O F> Nu sunt admise cam(uri !ide S eroarea a(are *n ca,ul *n care nu ati introdus cn(#ul (ersoanei careia doriti sa !indeti <fig+&'> H '> 7ai e"ista un client cu acest CNP S#aceasta eroare a(are *n momentul *n care doriti sa !indeti unui client ce nu se nou si introducei un cn( ce e"ista de1a *n )a,a de date <fig+&O> H O> Produsul cautat nu se afla *n )a,a de date S acest mesa1 a(are *n momentu *n care a(elai la cautarea unui (rodus (rin intermediul o(tiunii Cauta (rodus <fig+ &Y> H Idata a(elat )utonul 2inde (rodus se !a !erifica daca !an,area (oate sa fie efectuata +In ca, de eroare aceea !a fi una din cele (re,entate mai sus + In ca,ul *n care doriti sa cautati un (rodus com(letati cam(ul Cauta (rodus si a(elai )utonul Cauta (rodus + In ca,ul *n care cautarea esuea,a !a fi afisata eroarea O> + In ca,ul unei cautari reusite *n lista !a fi afisat doar (rodusul cautat <acest lucru se (oate o)ser!a *n fig+&P com(arati! cu fig+&&>+Pentru a a!ea acces la restul (roduselor a(elai )utonul Arata toate (rodusele+ nchiderea ferestrei se reali,ea,a (rin intermediul )utonului nchide + 3ig+&& &P 3ig+&$ 3ig+&F 3ig+&' 3ig+&O &Y fig+&P 3ig+&Y 2-Gene!a!e !apo!t /0nz!i Prin intermediul acestei o(tiuni !eti reali,a ra(oarte lunare asu(ra !-n,rilor efectuate + La a(elare se !a deschide o noua fereastra <fig+&D>+Pentru a reali,a un ra(ort alegeti din lista luna (entru care doriti sa reali,ati ra(ortul a(oi a(elai )utonul Generea,a ra(ort + In ca,ul *n care nu s#au inregistrat !-n,ri *n luna res(ecti!a a(licatia !a afisa mesa1ul Nu e"ista !-n,ri (entru luna aleasa +ProfitR% S+<fig+&G>+ In ca, alternati! !or afisa toate (rodusele !-ndute gru(ate *n funtie de ,iua *n care s#a reali,at !an,area im(reuna cu su)total (e fiecare ,i si totalul lunar +:a(ortul astfel o)tinut (oate fi (rintat + &D
3ig+&D 3ig+&G 1-Parasirea a(licaiei se face (rin intermediul o(tiunii Iesire aflata *n )ara de meniu + &G BIBLIOGRAFIE $% 1. Mariana Paniru, Manual FoxPro clasa a XII-a, Editura L&S Infomat 2. Marin Fotach, Ioan !ra"a, #atalin Strim$i, Li"iu #rtu, %isual FoxPro. &hidul d'"oltarii a(licatiilor (rofsional, Editura Polirom ). Eu*n P+PES#, ,Mihala #+-.ES , -anil #+-.ES , Sofia %I/EL0., , -oina P.E-0 , Ecatrina !+0.12, %isual Fox Pro- /ori 3i a(licaii, Editura Els