Elev, 1 ARGUMENT Aplicaia permite gestionarea produselor unei librarii ntr-un mod sigur i e!icient" Aplicaia conine ba#e de date ce rein in!ormaii at$t despre produsele a!late n stoc si v$n#rile e!ectuate cat si despre clientii carora le-au !ost v$ndute produse " %e simpli!ic operaii ca & adugarea unui nou produs n stoc v$n#area produselor cutarea unui produs Aplicaia poate de asemenea genera rapoarte ale v$n#rilor e!ectuate la o anumit dat"
INTRODUCERE Noiuni de baz ' Visual FoxPro este un sistem de ba#e de date relaionale care simpli!ic procesele de gestionare i organi#are e!icient a datelor" (e asemenea, a)ut la organi#area datelor, la de!inirea regulilor de ba# i la construirea aplicaiilor" Cu a)utorul instrumentelor de proiectare vi#ual se pot crea uor !ormulare, interogri i rapoarte" *isual +o,-ro permite crearea rapid de aplicaii complet con!igurate, !urni#$nd un meniu de de#voltare integrat, care cuprinde instrumente de programare puternice, orientates pre obiect, !uncionaliti client.server i suport pentru controale Active/" -rincipalele elemente ale tuturor mediilor +o,-ro sunt& 0ara de meniuri +ereastra de comand Bara de meniuri. +iecare cuv$nt care apare n bara de meniuri repre#int o opiune bar sau mai simplu, opiune" 1eniul se mai numete meniu principal sau meniu sistem" -entru a selecta o anumit opiune se apas tasta A23 n combinaie cu tasta luminoas a numelui opiunii respective" -enru apelarea opiunii %4stem concomitent tastele A23 i %" %ubmeniul este lista care apare c$nd se selectea# o opiune bar" -entru a selecta o opiune a unui submeniu se deplasea# cursorul cu a)utorul tastelor po#iionale pe opiunea dorit i se tastea# EN3E5" 6nele selecii din meniuri au o cale direct de apelarede la tastatur, a!iat n dreapta opiunii7e,& 8elp-+19" 6nele opiuni sunt urmate de trei puncte" Acestea repre#int o indicaie vi#ual a !aptului c, dup selectarea lor urmea# o caset de dialog" Manipularea ferestrelor. (eoarece mediul se ba#ea# pe !erestre, aproape toate interaciunile au loc ntr-o !ereastr" Funciile ferestrelor: 1" :nc;idere& Cu mouse-ul: %e e,ecut clic simplu pe butonul de nc;idere" Cu tastatura: %e selectea# opiunea Close din meniul <indo= sau se acionea# combinaia de taste C352 >?" '" 5edimensionare i ma,im#are& Cu mouse-ul: %e acionea# asupra butonului de redimensionare cu un clic pe butonul st$ng al mouse-ului" @in$n butonul mouse-ului apsat de deplasea# cursorul p$n la po#iia dorit" -etru obinerea dimensiunilor ma,ime se acionea# butonul de e,tindere" Cu tastatura: (in opiunea %i#e a meniului <indo=" (imensiunea dorit se obine cu a)utorul tastelor sgei" %e mai poate !olosi combinaia de taste C352>+A" dimensiunile ma,ime se pot obine din opiunea Boom a meniului <indo= sau prin tastarea combinaiei de tasteC352>+1C" D" 1minimi#are& Cu mouse-ul: %e e,ecut dublu clic pe bara de titlu a !erestrei" Cu tastatura: Cu a)utorul opiunii Boom a meniului <indo= sau cu C352>+E" F" Ascundere i rea!iare& Cu mouse-ul: -entru ascunderea unei !erestre se e,ecut clic pe opiunea 8ide din meniul <indo=" -entru vi#uali#area unei !erestre ascunse se desc;ide meniul <indo= i se e,ecut clic pe opiunea care de!inete numele !erestrei ascunse" Cu tastatura: -entru ascunderea unei !erestre se apelea# opiunea 8ide din meniul <indo=" -entru vi#uali#area unei !erestre ascunse se desc;ide meniul <indo= i se alege opiunea care de!inete numele !erestrei ascunse" Cu mouse-ul: %e deplasea# cusorul mouse-ului pe unul din butoanele de de!ilare i se acionea# butonul st$ng al mouse-ului" -entru de!ilarea pagin cu paginse plasea# cursorul mouse-ului ntre butonul de po#iie i una din sgeile verticale, dup care se reali#ea# clicuri simple" Cu tastatura %e !olosesc tastele sgei pentru de!ilarea pe ori#ontal sau vertical" -entru de!ilarea pagin cu pagin se acionea# tastele -g(n sau -g6p" D -rogramarea n *isual +o,-ro implic scrierea unor secvene de cod& instruciuni sub !orm de comen#i, !uncii sau operaii pe care *isual +o,-ro le poate interpreta" Aceste instruciuni pot !i introduse n & !ereastra Command G !iiere de programe G !erestre de cod pentru evenimente sau metode, din cadrul -roiectantului de +ormulare 7+orm (esigner9 sau -roiectantului de Clase 7Class (esigner9 G !erestre procedurale din cadrul -roiectantului de 1eniuri 71enu (esigner9 G !erestre procedurale din cadrul -roiectantului de 5apoarte 75eport (esigner9" Fereastra de comand (Command) interacionea# direct cu sistemul" :n ea se poate scrie orice !el de comand speci!ic *isual +o,-ro" H instruciune introdus n !ereastra Command rm$ne acolo p$n la prsirea mediului" -rin deplasarea cu a)utorul tastelor direcionale se poate alege comanda anterioar tastat" Cu a)utorul opiunilor Cop4, Cut, -aste din meniul Edit se pot copia sau muta blocuri de in!ormaii n diverse !erestre active" Administratorul de proiecte (Project Manager) are dou scopuri ma)ore& a)ut la organi#area !iierelor n proiect, pe ba#a tipului !iierelorG o!er un container pentru a aduna componentele unei aplicaii, n ateptarea compilrii ntr-un !iier aplicaie 7"A--9 sau ntr-un !iier e,ecutabil 7"E/E9 Hrgani#area !iierelor n -ro)ect 1anager& (ate 7(ata9 0a#e de date 7(atabases9 3abele libere 7+ree 3ables9 Interogri 7?ueries9 (ocumente 7(ocuments9 +ormulare 7+orms9 5apoarte 75eports9 Etic;ete 72abels9 0iblioteci de Clase 7Class 2ibraries9 Cod 7Code9 -rograme 7-rograms9 0iblioteci A-I 7A-I 2ibraries9 Aplicaii 7Applications9 Altele 7Ht;er9 1eniuri 71enus9 +iiere te,t 73e,t +iles9 Alte !iiere 7Ht;er +iles9 6n program *isual +o,-ro este un !iier de te,t care cuprinde o serie de comen#i i se poate crea n mai multe !eluri & (in -ro)ect 1anagerICodeI-rogramsINe= G (in cadrul meniului +ileINe=I-rogramINe= +ileG In !ereastra Command se introduce comanda& MODIFY COMMAND Jnume !iierK" al!area acestuia se !ace din cadrul meniului +ileI%ave" F -entru ca un program s !ie modificat, acesta trebuie redesc;is prin una din metodele de mai )os & dac programul este cuprins ntr-un proiect, acesta se selectea# din -ro)ect 1anagerI1odi!4 G din cadrul meniului +ileIHpen G n !ereastra Command se tastea# comanda& 1H(I+L CH11AN( Jnume !iierK" "ularea unui program se poate !ace, de asemenea n mai multe moduri & din -ro)ect 1anagerI5un G din cadrul meniului -rogramI(o G n cadrul !erestrei Command se tastea# & DO Jnume !iierK" Concepte de baz 2a crearea unui program se stoc;ea# date, care sunt manipulate cu a)utorul unor instruciuni" (atele i containerele de depo#itare a acestora constituie materiile prime n procesul de programare" Intrumentele !olosite pentru a prelucra aceste materii prime sunt comen#ile, !unciile i operatorii" +iecare dat este de un anumit tip& aparine unei anume categorii de date care sunt manevrate ntr-un mod speci!ic" Este posibil ca datele sn u !ie staocate, dar ast!el se pierde o mare parte din !le,ibilitatea i puterea limab)ului *isual +o,-ro, care o!er numeroase containere de stocare, a)ut$nd ast!el la manevrarea datelor" 3ipurile de date determin modul n care datele sunt stocate i !olosite" -rincipalele tipuri de date acceptate de *isual +o,-ro& Caracter 7C;aracter9 M sunt cele mai !le,ibile i mai utili#ateG conin caractere A%CII, limita !iind de 'NOcaractereG (at calendaristic 7(ate9 M are lungimea !i, de A caractereG Numeric 7Numeric9 M memorea# numere cu punct #ecimal !i, po#itive sau negativeG imaginea unui c$p este limitat la 'C caractereG *irgul mobil 7+loat9 M destinate numerelor !oarte mari sau !oarte mici compuse din mantis i e,ponentG 2ogic 72ogical9 M are lungimea de un caracter, put$nd memora numai valorile adevrat sau !alsG 1emo 71emo9 M se pot memora in!ormaii de diverse tipuriG aceste c$mpuri sunt practic nelimitateG in!ormaiile sunt memorate ntr-un !iier separat care are e,tensia +-3 i acelai nume cu al !iierului (0+G Containerele de date permit e,ecutarea acelorai operaii asupra mai multor date simultan" (ac datele sunt stocate n containere i apoi se e,ecut operaiile asupra containerelor, datele vec;i pot !i nlocuite cu cele noi, rul$ndu-se din nou acelai program" -ricipalele containere de date din *isual +o,-ro& variabilele M elemente singulare de date stocate n memoria 5A1 75andom Access 1emor49 a calculatoruluiG nregistrri M r$nduri multiple de c$mpuri prede!inite, !iecare dintre acestea conin$nd date prede!initeG matrice M elemente multiple stocate n 5A1" Manipularea datelor Containerele i tipurile de date a)ut la construirea blocurilorP cu care se manipulea# datele" Componentele !inale sunt repre#entate de operatori, !uncii i comen#i" #peratorii leag datele ntre ele i se mpart n& N operatorii relaionali - !olosii n diverse e,presii logice& Q egal QQ egalitate e,act > mai mare dec$t < mai mic dec$t >Q sau Q> mai mare sau egal cu <Q sau Q< mai mic sau egal cu <> di!erit de di!erit de RQ di!erit de S este cuprins n Hperatorii relaionali se pot aplica doar operan#ilor iruri de caractere, dat calendaristic i numerici" operatorii caracter sunt operatorii P> i P- care concatenea# dou sau mai multe iruri de caractereG operatorii dat calendaristic sunt identici cu operatorii pentru irurile de caractere" E,ist doar patru metode permise de combinare a operan#ilor i a operatorilor dat calendaristic& - <dat>><numr> - re#ultat tip dat calendaristic - <numr>><dat> - re#ultat tip dat calendaristic - <dat>-<numr> - re#ultat tip dat calendaristic - <dat>-<dat> - re#ultat tip numeric operatorii logici !olosii n limba)ul *isual +o,-ro sunt AN(, H5, NH3G operatorii numerici sau operatorii aritmetici sunt& - unar generea# negativul unui numr > unar generea# po#itivul unui numr > adunare - scdere T nmulire . mprire TT sau U ridicare la putere V modulo M ntoarce restul care re#ult la mprirea a dou numere Funciile ntorc un anumit tip de date" E,ist cinci modaliti de a apela o !uncie *isual +o,-ro& "a prin atribuirea ctre o variabil a valorii ntoarse de !uncieG "b prin includerea apelului de !uncie ntr-o comand *isual +o,-roG "c prin a!iarea valorii ntoarse n !ereastra activ de ieireG "d prin apelul !unciei !r a stoca undeva re#ultatulG "e prin nglobarea !unciei ntr-o alt !uncie" H comand determin e,ecutarea unei aciuni" +iecare comand are o anumit sinta,, care indic ce trebuie s conin respectiva comand pentru a !unciona" E,ist i clau#e opionale asociate comen#ilor, care permit speci!icarea mai precis a scopului urmrit" *isual +o,-ro cuprinde o categorie special de comen#i, care pot !i incluse n alte comen#i i !uncii, determin$nd c$nd i c$t de des pot !i e,ecutate acestea" Comen#ile respective permit rami!icarea condiional i structurile ciclice, dou instrumente de programare puternice" O "amificarea condiional permite testarea unor condiii i e,ecutarea, n !uncie de re#ultatul testului, a unor operaii di!erite" E,ist dou comen#i *isual +o,-ro care permit rami!icarea condiional& I+WE2%EWEN(I+G (H CA%EWEN(CA%E" Ciclarea permite e,ecutarea uneia sau mai multor linii de cod de c$te ori este nevoie" E,ist trei comen#i *isual +o,-ro care permit implementarea unor structuri ciclice& %CANWEN(%CANG +H5WEN(+H5G (H <8I2EWEN((H !o"!a#a!e $n %i&ua' (o)!o -roiectarea i programarea orientate spre obiect repre#int o abordare nou !a de programarea procedural standard" Hbiectele sunt componente de sine stttoare ale unei aplicaii care au o !uncionalitate privat, dar i o !uncionalitate ce poate !i e,pus utili#atorului" :n mediul *isual +o,-ro, !ormularele i controalele pot !i gestionate prin intermediul proprietilor, evenimentelor i metodelor" -rogramarea orientat spre obiect este o modalitate de a mpac;eta codul ast!el nc$t s poat !i re!olosit i ntreinut mai uor" -rimul nivel de mpac;etare se numete clas. Clasele i obiectele sunt nrudite, dar nu similare" H clas conine in!ormaii despre cum arat i cum trebuie s se comporte un obiect" Clasa este un !el de sc;i a unui obiect" Hbiectele au proprieti care sunt determinate de clasa pe care se ba#ea# acestea" +iecare obiect recunoate i poate reaciona la anumite aciuni numite evenimente" 6n eveniment este o aciune speci!ic i predeterminat, iniiat !ie de utili#ator, !ie de sistem" 1etodele sunt proceduri asociate unui obiect" Evenimentele pot avea metode asociate" 3oate proprietiile, metodele i evenimentele asociate unui obiect sunt speci!icate n cadrul de!iniiei clasei" Clasele au o serie de caracteristici care permit crearea de cod reutili#abil, uor de ntreinut& ncapsulareaG subclaseleG motenirea" Cele dou tipuri primare de clase *isual +o,-ro sunt clasele container i clasele control" Containerele pot conine alte obiecte i permit accesul la acesteaG !iecare obiect creat poate !i manipulat individual, at$t n momentul proiectrii c$t i n momentul e,ecuiei Clasele control sunt mai bine ncapsulate dec$t clasele container, dar din aceast cau# sunt mai puin !le,ibile" Clasele control nu au o metod AddHb)ect" Butoane de na!igare prin ta$el :n ma)oritatea aplicaiilor e,ist o serie de butoane de navigare care permit utili#atorului s se deplase#e printr-o tabel" (e obicei, este vorba de butoane care mut indicatorul de nregistrri la urmtoarea sau la precedenta nregistrare din tabel, precum i la prima i la ultima nregistrare" C!ea!ea baze'o! de date X 2a crearea ba#ei de date, tabelele sunt reunite ntr-o singur colecie, bene!iciind ast!el, de dicionarul de date, care o!er mai mult !le,ibilitate n proiectarea i modi!icarea ba#ei de date" Crearea unei be#e de date se !ace n urmtoarele moduri& n cadrul Yestionarului de -roiecte, se selecte (ataI(atabasesINe=G n Command, utili#$nd comanda & C5EA3E (A3A0A%E% Jnume K" 2a creara unei ba#e de date, aceata nu conine nimic" -rin adugarea unei tabele, se crea# o legtur ntre !iierul tabelei i containerul ba# de date" +iecare tabel *isual +o,-ro poate e,ista n una din urmtoarele stri& ca tabel liber, sub !orm de !iier "db! neasociat vreunei ba#e de dateG ca tabel dintr-o ba# de date, sub !orm de !iier "db! asociat unei ba#e de date" Adugarea unei tabele libere la o ba# de date se !ace n urmtoarele moduri& n cadrul Yestionarului de -roiecte, select$nd 3ablesIAddG n Command, cu a)utorul comen#ii& A(( 3A02E Jnume tabelK 2a adugarea unei tabele ntr-o ba# de date , *isual +o,-ro modi!ic nregstrarea din antetul !iierului corespun#tor tabelei pentru a actuali#a calea i numele !iierului asociat ba#ei de date care include tabela" Calea i numele de !iier se numesc legturi napoi, deoarece leag tabela de ba#a de date care o conine " -rocesul de eliminare a unei tabele dintr-o ba# de date nu nemai c terge tabela i dicionarele de date din !iierul ba#ei de date, ci actuali#ea# in!ormaia de legtur napoi pentru a re!lecta noul statut al tabelei, cel de tabel liber" H tabel poate !i eliminat dintr-o ba# de date cu a)utorul inter!eei sau prin intermediul comen#ii 5E1H*E 3A0E2 Jnume tabelK" 5elaiile persistente ntre tabelele ba#ei de date se compun cu a)utorul indecilor, care permit legarea tabelelor pe ba#a unei e,presii simple sau comple,e" Crearea unei relaii ntre tabele se !ace din cadrul -roiectantului 0a#ei de (ate 7(atabases (esigner9, aleg$nd numele inde,ului care se dorete a !i legat i trg$ndu-l cu mouse-ul spre numele inde,ului din tabela legat" *i#uali#area sc;emei ba#ei de date se !ace cu a)utorul comen#ii 1H(I+L (A3A0A%E Jnume K" H ba# de date poate !i tears de pe ;ard-disc prin intermediul Yestionarului de -roiecte 7select$nd ba#a de date, apoi 5emoveI(elete9 sau cu a)utorul comen#ii (E2E3E (A3A0A%E JnumeK" A RE*ENTAREA ALICA+IEI 0a#a de date este reali#ata printr-o relationare ntre tabelele produse si *$n#ri " Aplicatia contine meniu n care se gasesc toate operatiunile posibile" Hperatiile posibile sunt urmatoarele& -Adaugarea unui produs n ba#a de date G - 1odi!icarea datelor produselor din ba#a de date G -%tergerea produselor G -*an#area produselor G -5apoarte despre v$n#rile e!ectuate G ,-Ope!aii ,-,-Adu"a!e Aceasta optiune da poibilitatea de a adauga n ba#a de date un nou produs" 2a apelare va aparea o noua !ereastra 7!ig" D9 n care va trebui sa completati campurile pre#ente cu datele re!eritoare la produsul pe care doriti sa il adaugati " -entru e!ectua adaugarea apelai butonul Adauga care la randul sau va veri!ica daca datele sunt introduse corect"In ca#ul n care nu ati completat toate campurile aplicatia va a!isa mesa)ul Completati toate campurile R"7!ig" '9" Alegerea categoriei se !ace alegand un camp din lista ascunsa indicata prin etic;eta categorie " In ca#ul n care adaugarea va !i valida aplicatia va a!isa mesa)ul Adaugare reusita 7!ig"19" In ba#a de date produsele vor !i introduse n ba#a de date cu litere mari " E +ig" 1 +ig" '
+ig" D -entru a nc;ide !ereastra apelai butonul Anulea#a " ,-.-%izua'iza!e /0nz!i Cu a)utorul acestei optiuni aveti posibilitatea de a vi#uali#a produsele v$ndute " 2a apelare va aprea o noua !ereastra 7!ig"F9 n care am introdus o lista n care veti avea posibilitatea de a alege un produs cu un anumit cod id produs " 1C (i"-1 -entru a vi#uali#a doar produsele v$ndute la o anumita data introducei data n campul indicat prin sageata n imaginea de mai sus si apelai butonul A!isea#a" In ca#ul n care la data introdusa au !ost reali#ate v$n#ri ,produsele v$ndute vor !i a!isate n lista ,indicate prin id produs ,indic$nd si clientul care a cumparat !iecare produs n parte indicat prin Id client"-entru a vi#uali#a datele n totalitate !acei clicZ asupra unu camp din lista si n acel moment datele vor !i trecute n campurile pre#ente n !ereastra nou desc;isa "3abela v$n#ri va !i !iltrata ast!el nc$t n lista sa apara doar produsele v$ndute la data introdusa"-entru a reali#a de!iltrarea tabelei 7pentru a va avea acces la toate produsele v$ndute9 apelai butonul Anulea#a !iltrare" (e e,emplu daca am introdus data & CF.CF.'CCA s-a reali#at urmatoarea !iltrare & Comparand ultimele doua imagini veti constata urmatoarele & -lista din imaginea a doua contine doar un singur camp singurul vandut la acea data G -butonul Anulea#a !iltrare care initial era de#activat n cea de-a doua img" este activat semn ca a avut loc o !iltrare " In ca#ul n care ati !acut o !iltrare la nc;iderea !erestrei se va reali#a automat de!iltrarea " 11 ,-2-Modi3ica 4 a5 !odu&e Aceasta optiune da posibilitatea de a modi!ica n ba#a de date datele produselor" 2a apelare va aparea o noua !ereastra 7!ig "N9 n care dupa cum veti vedea e,ista o lista n care se gasesc toate produsele din stoc" -entru a reali#a modi!icarea unu produs alegeti un produs,!acand clicZ asupra sa n lista sau apeland la optiunea de cautare a produsului "In ca#ul n care apelai la optiunea de cautare completati campul indicat prin sageata n !igura N apoi apelai butonul Cauta "In ca#ul n care produsul a !ost gasit datele sale vor !i trecute n !ormularul pre#ent n !ereastra " Hdata ales produsul aveti posibilitatea de a e!ectua modi!icari asupra datelor sale sau puteti sa il stergeti " In ca#ul n care vreti doar sa ii modi!icati datele e!ectuati modi!icarea dorita si apelai butonul 1odi!ica"In ca#ul n care nu ati completat toate datele aplicatia va a!isa mesa)ul Nu sunt acceptatre campuri vide R " (aca modi!icarea poate !i e!ectuata ,nu e,ista nici o eroare , aveti posibilitatea de a renunta la modi!icarea !acuta deoarece aplicatia va a!isa urmatoarea intrebare & In ca#ul n care alegeti optiunea Les modi!icarea va !i e!ectuata,in ca# contrar nu" 1' +ig"N
Alegand optiunea de cautare n lista va !i a!isat doar produsul cautat,completandu-se automat si campurile din !ereastra cu datele re!eritoare la produsul 7!ig"O9"In ca#ul n care produsul nu a !ost gasit n ba#a de date aplicatia va a!isa mesa)ul & +ig"O :nc;iderea !erestrei se reali#ea#a cu butonul 5enunta " b5 C'ient +ig" A 1odi!icare clientilor se !ace urmand urmatorii pasi & 1D - %electati din lista persoana asupra careia doriti sa reali#ati modi!icarea G - 5eali#ati modi!icarea dorita G - Apelai butonul 1odi!ica G Erori ce pot aparea n reali#area modi!icarii & 19 CN- e,istent !ig"X& apare n ca#ul n care e!ectuati modi!icare asupra cnp-ului introducand un cnp e,istent n ba#a de date 7nu se tine cont de cnp-ul ce a !ost modi!icat 9G '9 Completati ambele campuri !ig"A & apare n momentul n care nu au !ost completate ambele campuri Nume si Cnp " D9 Nu e,ista nici o persoana cu acest nume R!ig"E &apare n momentul n care alepati la optiunea de cautare a persoanei asupra careia doriti sa reali#ati modi!icarea G +ig" X +ig" A
+ig" E %i la aceasta operatie aveti posibilitatea de a apela la optiunea de cautare"In acest ca# cautarea se reali#ea#a n scopul gasirii mai rapide a unei anumite persoane asupra careia doriti sa e!ectuati modi!icarea " -entru aceasta completati campul indicat prin sageata n !ig" A apoi apelai butonul Cauta" In caul n care cautarea esuea#a va !i a!isat mesa)ul descris n eroarea D9 "In ca# contrar se vor reali#a urmatoarele & 1F -se e!ectuea#a o !iltrare asupra ba#ei de date dupa numele introdus ast!el nc$t n lista vor !i a!isate doar persoanele cu acel nume G -se completea#a automat campurile Nume si cnp " -entru a avea acces la toate persoanele dupa ce ati reali#at cautarea apelai butonul Anulea#a !iltrare " 3ot n cadrul acestei !eresre puteti e!ectua si stergerea unei persoane apeland butonul %terge insa dupa ce n prealabil ati ales persoana ce dariti sa o stergeti "Aveti posibilitatea de a renunta la stergere deoarece n momentul n care ati apelat butonul %terge aplicatia va a!isa mesa)ul Con!irmare stergere 7!ig"1C9 si, alegand optiunea Les persoana n cau#a va !i stearsa din ba#a de date iar,alegand No stergerea va !i anulata "
+ig"1C :nc;iderea !erestrei se reali#ea#a prin intermediul butonului 5enunta " .-%0nza!e -rin intermediul acestei optiuni se vor reali#a v$n#rile produselor a!late n ba#a de date " 2a apelare va apare o noua !ereastra 7!ig"119 " -entru a reali#a van#area unui produs reali#ati urmatorii pasi& -alegeti din lista produsul pe care doriti sa il vindeti G -introducei datele clientului G -introducei cantitatea ce doriti sa o vindeti G -apelai butonul *inde " Introducerea datelor clientului caruia doriti sa vindeti se !ace n !elul urmator & -in ca#ul n care clientul e,ista n ba#a de date se va introduce numai cnp-ul deoarece campul Nume va !i inactiv G -in ca#ul n care doriti sa vindeti unui client nou campul Nume va !i activ ast!el nc$t vor trebui completate ambele campuri " 3ipul clientului va trebui selectat prin alegerea unei optiuni din locul indicat prin sageata n !igura 11 "Acesta poate !i Client e,istent sau Client nou " E!o!i po&ibi'e 4 19 Nu puteti vinde mai mult decat detineti R eroare cau#ata de dorinta de a vinde o cantitate mai mare decat stocul pe care il detineti 7!ig"1'9 G '9 Clientul nu e,ista n ba#a de date R aceasta eroare apare n momentul n care doriti sa vindeti un produs unui client ce se a!la n ba#a de date si reali#ati greseli n introducerea cnp- ului 7!ig"1D9 G 1N D9 Nu sunt admise campuri vide R eroarea apare n ca#ul n care nu ati introdus cnp-ul persoanei careia doriti sa vindeti 7!ig"1F9 G F9 1ai e,ista un client cu acest CN- R-aceasta eroare apare n momentul n care doriti sa vindeti unui client ce nu se nou si introducei un cnp ce e,ista de)a n ba#a de date 7!ig"1N9 G N9 -rodusul cautat nu se a!la n ba#a de date R acest mesa) apare n momentu n care apelai la cautarea unui produs prin intermediul optiunii Cauta produs 7!ig" 1X9 G Hdata apelat butonul *inde produs se va veri!ica daca van#area poate sa !ie e!ectuata "In ca# de eroare aceea va !i una din cele pre#entate mai sus " In ca#ul n care doriti sa cautati un produs completati campul Cauta produs si apelai butonul Cauta produs " In ca#ul n care cautarea esuea#a va !i a!isata eroarea N9 " In ca#ul unei cautari reusite n lista va !i a!isat doar produsul cautat 7acest lucru se poate observa n !ig"1O comparativ cu !ig"119"-entru a avea acces la restul produselor apelai butonul Arata toate produsele" :nc;iderea !erestrei se reali#ea#a prin intermediul butonului :nc;ide " +ig"11 1O +ig"1' +ig"1D +ig"1F +ig"1N 1X !ig"1O +ig"1X 2-Gene!a!e !apo!t /0nz!i -rin intermediul acestei optiuni veti reali#a rapoarte lunare asupra v$n#rilor e!ectuate " 2a apelare se va desc;ide o noua !ereastra 7!ig"1A9"-entru a reali#a un raport alegeti din lista luna pentru care doriti sa reali#ati raportul apoi apelai butonul Yenerea#a raport " In ca#ul n care nu s-au inregistrat v$n#ri n luna respectiva aplicatia va a!isa mesa)ul Nu e,ista v$n#ri pentru luna aleasa "-ro!itQC R"7!ig"1E9" In ca# alternativ vor a!isa toate produsele v$ndute grupate n !untie de #iua n care s-a reali#at van#area impreuna cu subtotal pe !iecare #i si totalul lunar "5aportul ast!el obtinut poate !i printat " 1A
+ig"1A +ig"1E 1--arasirea aplicaiei se !ace prin intermediul optiunii Iesire a!lata n bara de meniu " 1E BIBLIOGRAFIE 'C 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