|
rior cu o comanda de tip MODIFY PROJECT.Ca rezultat,nu mai este necesar
|
səhifə | 2/17 | tarix | 17.03.2018 | ölçüsü | 1,41 Mb. | | #45490 |
| rior cu o comanda de tip MODIFY PROJECT.Ca rezultat,nu mai este necesar
sa tineti personal evidenta fiecarei file,sa construiti directoare si
subdirectoare,sa includeti sau sa excludeti file din proiect etc. Toate
aceste operatii se vor executa automat.Mai mult,Project Manager executa
si operatiile necesare pentru compilare si respectiv pentru construirea
filei executabile.
Pentru lansarea acestui instrument,editati comanda CREATE PROJECT,sau
alegeti din meniul File,optiunea New,apoi Project si apasati butonul New
file.Alegeti un nume pentru proiectul d-voastra si confirmati cu OK.
Project Manager grupeaza filele din proiect in urmatoarele categorii:
Data,Documents,Classes,Code si Other.
Executati un click de mouse pe semnul plus care precede grupul Data.
Se vor afisa trei categorii: Databases,Free Tables si Queries.
Prima optiune este pentru a construi baze de date,a doua pentru a crea
un tabel nou,iar ultima pentru a selecta datele dintr-un tabel cu o
formula de tip SQL (apel in limbaj SQL).
Cea mai simpla,si cea mai frecventa operatie este cea de formare a
unui nou tabel.De exemplu,se poate realiza un tabel in care puteti tine
evidenta cartilor din biblioteca.
EXEMPLU:
selectati Free Tables si apoi apasati butonul New
apasati butonul New Table
In fereastra Create introduceti numele tabelului (biblioteca) apoi Save
In fereastra Table Designer introduceti urmatoarele date:
Name Type Width Decimal Index NULL
autor Character 25
titlul Character 30
editura Character 15
anul Character 5
descriere Memo(binary) 4
apoi apasati butonul OK iar la intrebarea Input data records now ? apasati
butonul Yes si introduceti in tabel cateva date.
Inchideti fereastra de editare a tabelului si reveniti la Project Manager.
Pentru a putea avea acces facil la tabelul realizat,este nevoie de o
fereastra specializata,in care sa includeti un obiect de tip grila legat
la tabelul dorit (daca este cazul si la baza de date).
Executati un click de mouse pe semnul plus care precede grupul Docu-
ments.Se vor afisa trei categorii : Forms,Reports si Labels
Alegeti grupul Forms si apoi apasati butonul New si apoi New Form.
-7- TABLES
Se va deschide fereastra denumita Form Designer,care este un instrument
specializat pentru crearea unei interfete grafice cu utilizatorul de tip
fereastra de dialog (asemanatoare cu TDialog din C++).
Pentru a conecta fereastra Form1 la tabelul proaspat realizat,executati
un click drept de mouse in obiectul Form1(fereastra de dialog) si alegeti
optiunea Data Enviroment.Se va deschide fereastra Open in care sunt afisa-
te toate filele cu extensia .DBF din directorul curent.Daca tabelul a fost
creat corect va fi afisat in aceasta fereastra.Daca doriti puteti alege
orice alta fila cu extensia .DBF.Selectati fila dorita(biblioteca.dbf) si
confirmati cu OK.Inchideti fereastra Data Enviroment.
Din bara de butoane situata pe marginea dreapta a ecranului alegeti
butonul denumit Grid,apasati butonul apoi executati un click in fereastra
Form1.Pentru a redimensiona obiectul Grid1 creat,alegeti cu mouse margi-
nea obiectului pana cand se schimba aspectul cursorului,apoi apasati
butonul si trageti cu butonul apasat pana cand ajungeti la dimensiunea
dorita.
Pentru a verifica aspectul ferestrei,alegeti din meniul principal
Form si apoi optiunea Run Form.Confirmati salvarea ferestrei Form1,apoi
evaluati aspectul ferestrei de dialog.Inchideti fereastra activa si la
nevoie redimensionati fereastra,si/sau obiectul Grid1.
Pentru a adauga si un buton de inchidere,alegeti din bara de butoane
pe cel denumit Command Button,apasati butonul,apoi executati un click in
Form1,undeva sub obiectul Grid1.Pentru a schimba denumirea butonului
(implicit este denumit Command1),selectati butonul Command1,apoi executati
un click drept de mouse si alegeti Properties.
In fereastra Properties,selectati campul Caption iar in caseta de
editare stergeti textul "Command1" si adaugati textul dorit(Exemplu:EXIT).
Pentru ca butonul sa execute o operatie oarecare executati un dublu click
pe butonul Command1.
Se va deschide fereastra Command1.Click.
Introduceti in aceasta fereastra comanda:
ThisForm.Release
Inchideti fereastra Properties si fereastra Command1.Click.
Alegeti din nou Run Form (din Form) si confirmati salvarea modificarilor.
Testati daca butonul este functional.
Daca totul este corect,fereastra Form1 afiseaza tabelul dorit,cu
aspectul dorit,iar butonul inscriptionat EXIT inchide fereastra.
Pentru a schimba putin aspectul,selectati Grid1,executati un click
drept de mouse si in fereastra Properties alegeti BackColor si inlocuiti
255,255,255 cu alte valori (Exemplu: 50,250,50).Apoi alegeti FontBold si
selectati .T.-True si FontSize si setati valoarea 12.
Verificati din nou cu Run Form.
Pentru a finaliza proiectul,inchideti fereastra Form Designer,confirmati
toate modificarule efectuate cu Yes si in fereastra Project Manager
apasati butonul Build.
Se va deschide fereastra Build Options,cu mai multe optiuni.Pentru a
construi o fila executabila,alegeti varianta "Build Executable" si apoi
confirmati cu OK.In fereastra Save As alegeti numele proiectului si apoi
confirmati cu Save.Inchideti fereastra Project Manager.
Pentru a executa programul proaspat realizat,alegeti din meniul princi-
pal Program,apoi Do si selectati fila proaspat salvata.
-8- DATABASES
Programul astfel realizat contine un singur tabel,si o fereastra in
care sunt prezentate datele din acest tabel.Visual FoxPro permite insa
prelucrarea datelor din mai multe tabele simultan.Pentru acest scop este
necesar ca tabelele sa fie grupate sub forma de baze de date.Intr-o baza
de date,se pot formula expresii in limbaj SQL prin care datele sa fie
selectate simultan din doua sau mai multe tabele simultan,sau se pot
realiza diverse tipuri de legaturi intre doua tabele,astfel incat
alegerea unei anumite inregistrari dintr-un tabel sa fie corelata cu
actualizarea bazei de date cu care se afla in relatie.Acest gen de tabele
se numesc relationale si permit operatii complexe de cautare a datelor in
doua sau mai multe tabele.
EXEMPLU: sa presupunem ca doriti sa organizati cartile din biblioteca si
in functie de alte criterii,arhivate intr-un alt tabel.
Deschideti un nou proiect si construiti un tabel nou,denumit arhiva1.dbf
cu urmatoarele campuri: autor,titlu,tematica,raft,an si apoi completati
cateva date(utilizati Data-Free Tables si New).
Apoi alegeti optiunea Databases si apasati butonul New.
Alegeti numele viitoarei baze de date (baza1) si confirmati cu Save.
Se va deschide fereastra Database Designer - Baza1.
Executati un click drept de mouse si alegeti optiunea Add Table,apoi
selectati in fereastra Open tabelul intitulat biblioteca.dbf si confirmati
cu OK.Observati ca in fereastra Database Designer a aparut o fereastra
mica,denumita biblioteca,in care sunt afisate campurile de date din
tabelul proaspat adaugat.
Executati un nou click drept,alegeti Add Table si apoi selectati din
fereastra Open tabelul arhiva1.dbf,apoi confirmati cu OK.
Acum baza de date va contine ambele tabele (biblioteca si arhiva1).
Inchideti fereastra Database Designer.Pentru a completa proiectul,puteti
construi o fereastra in care sa afisati ambele tabele.
Din Documents alegeti Forms si apasati butonul New,apoi New Form.In
Form1,executati un click drept si alegeti Data Enviroment.Utilizati
butonul Add,pentru a adauga cele doua tabele.Apoi alegeti butonul Grid
si adaugati doua obiecte de tip grila(Grid1 si Grid2).Pentru a alege
tabelul afisat,sau pentru a selecta doar o parte dintre campuri,executati
un click drept de mouse pe Grid1 si alegeti optiunea Builder.Din fereastra
Grid Builder alegeti tabelul dorit,apoi alegeti dintre elementele incluse
in Available fields si utilizati butonul cu sageata pentru a transfera
elementul in Selected Fields.Pentru a vedea intregul tabel,apasati sageata
dubla.Apoi confirmati cu OK.Repetati operatia si pentru cel de al doilea
tabel,dar selectati cel de al doilea tabel(si campurile dorite).
Apoi alegeti Relationship si in caseta de dialog: "Key field in parent
table" alegeti campul autor (Biblioteca.Autor).Confirmati cu OK.
Pentru a vedea rezultatul obtinut,utilizati din Form optiunea Run Form si
confirmati cu Yes salvarea ferestrei.
Inchideti fereastra Form Designer si construiti proiectul cu Build.
Inchideti fereastra Project Manager.
Pentru a lansa proiectul in executie,alegeti Program si DO.
Pentru moment,cele doua tabele nu sunt in relatie functionala,dar pot fi
consultate separat,in aceeasi fereastra si sunt grupate in aceeasi baza
de date.Pentru a modifica baza de date,din File alegeti Open,utilizati
Files of type Database(*.dbc) si alegeti fila baza1.DBC,apoi OK.
-9- INDEX
Pentru a putea realiza o relatie intre cele doua tabele,este necesar
sa existe cel putin o fila de indexare,pentru fiecare dintre cele doua
tabele.Pentru a indexa cele doua tabele,cel mai simplu este sa utilizati
tot Database Designer.Din meniul File,alegeti Open si apoi din Files of
Type alegeti Database(*.dbc).Selectati fila baza1.dbc si confirmati cu
OK.Pentru a indexa tabelul biblioteca,executati un click drept in fere-
astra cu acest nume si alegeti optiunea Modify.Se va deschide fereastra
Table Designer.Alegeti meniul Indexes si utilizati fereastra pentru a
realiza unul sau mai multe indexu-uri:
EXEMPLE:
Order Name Type Expression Filter
AUTOR REGULAR autor
ANUL REGULAR anul
AUTIT REGULAR autor+titlul
Sageata situata sub Order indica daca indexarea se va face in ordine
crescatoare sau descrescatoare,fata de criteriul ales.Pentru a schimba
acest parametru,executati un click simplu pe sageata.
Apoi indexati si cel de al doilea tabel.
EXEMPLE:
Order Name Type Expresion Filter
AUTOR REGULAR autor
An REGULAR an
Observati ca in cele doua ferestre,sub campurile de date se vor afisa
si index-urile realizate.
Pentru a inspecta oricare dintre tabele,este suficient sa executati un
dublu click pe tabelul respectiv.Pentru a adauga noi inregistrari,este
suficient sa selectati tabelul dorit si sa adaugati in fereastra de co-
menzi: APPEND.Pentru a modifica structura tabelului,puteti utiliza tot
fereastra Table Designer (click drept si apoi Modify).
Dupa ce epuizati toate operatiile dorite,inchideti fereastra Database
Designer si redeschideti proiectul pentru a crea o relatie intre cele
doua tabele:
din File,alegeti Open,apoi Files of Type Project(*.pjx.*.fpc,*.cat) si
alegeti proiectul dorit,apoi confirmati cu OK.
In fereastra Project Manager,alegeti Documents,apoi Forms,selectati fe-
reastra aplicatiei si apasati butonul Modify.In fereastra Form Designer,
executati un click drept de mouse pe obiectul Grid2 (cea de a doua grila)
si alegeti optiunea Builder.In fereastra Grid Builder,alegeti meniul
Relationship si completati cele doua campuri de editare asfel:
in "Key field in parent table:" introduceti: Biblioteca.Autor si
in "Related index in child table:" introduceti Autor
Confirmati cu OK,inchideti fereastra,apoi inchideti toate ferestrele si
confirmati modificarile (eventual executati Run Form pentru a verifica
daca relatia stabilita este functionala).Inchideti Project Manager si
executati aplicatia cu DO.
In mod normal,in cel de al doilea tabel nu se vor mai afisa decat acele
inregistrari in care valoarea din campul "autor" este identica cu cea
din campul "autor" din primul tabel.Exemplu: daca in primul tabel selec-
tati un volum de Moliere,in cel de al doilea tabel se vor afisa doar acele
inregistrari in care autorul este tot Moliere.
Acum,cele doua tabele pot fi utilizate interactiv.
-10- QUERIES
Visual FoxPro permite selectarea inregistrarilor din tabele in functie
de o serie de formule,mai mult sau mai putin complicate.Aceste formule de
selectie poarta numele de Queries.In diverse materiale,au fost traduse
prin mai multe expresii gen:interogari,intrebari,cereri,apeluri,solicitari
etc.Personal,prefer termenul de selectii,deoarece este cel mai apropiat de
operatia executata si denumeste si functia utilizata pentru editarea for-
mulelor dorite.
Cea mai simpla si cea mai versatila modalitate de a formula o selectie
este sa utilizati comanda SELECT - SQL,fie din fereastra de comenzi,fie
dintr-o secventa de cod oarecare.
EXEMPLU: deschideti baza de date baza1 (cu Open,Files of type Database())
apoi introduceti in fereastra de comenzi formula:
SELECT * FROM biblioteca WHERE editura = 'Minerva'
va extrage din tabel doar cartile editate de editura Minerva.
sau: SELECT autor FROM biblioteca WHERE anul < '1980'
va extrage din tabel doar numele autorului pentru cartile editate inainte
de anul 1980.
Pentru a formula selectiile cat mai simplu si elegant,Visual FoxPro
ofera si un set de instrumente grafice,in care formulele de selectie se
pot edita cu ajutorul unor casete de dialog.Instrumentele grafice cele
mai utilizate sunt Query Designer si Query Wizard si pot fi apelate in
mai multe moduri.Cel mai simplu este sa utilizati meniul File si Open.
Project Manager ofera si el o cale directa de acces la Query Designer.
Inchideti baza de date cu: CLOSE DATABASES,apoi redeschideti proiectul
realizat anterior cu File,Open si Files of type Project(*.prj,*.fpc,*.cat)
Din Data,alegeti Queries si apasati butonul New,apoi alegeti New Query.
Se va deschide fereastra Query Designer si fereastra Add Table or View cu
ajutorul careia puteti alege tabelele necesare pentru formularea selectiei
Alegeti arhiva1 si apasati butonul Add apoi inchideti fereastra Add Table
or View.In fereastra Query Designer alegeti campurile care doriti sa fie
incluse in selectie si apasati butonul Add.
Exemplu: Arhiva1.autor si Arhiva1.raft
Pentru a sorta inregistrarile in ordine alfabetica fata de unul dintre
campurile alese,alegeti Order By si apoi selectati Arhiva.autor si apasati
butonul Add.
Inchideti fereastra Query Designer si salvati selectia cu un nume oare-
care (query1).
Observati ca in fereastra Project Manager,selectia astfel formulata
apare in arborele de directoare sub Queries.Pentru a executa selectia
alegeti query1 si apoi apasati butonul Run.
Se vor afisa cele doua campuri solicitate,ordonate alfabetic dupa
autor.
Pentru a include in proiect o noua selectie,alegeti din nou Queries
si apasati butonul New,apoi New Query.In fereastra Add Table or View
alegeti biblioteca,apoi inchideti fereastra.
Selectati campurie dorite.Exemplu: Biblioteca.autor,Biblioteca.titlul
si Biblioteca.descriere.Pentru a alege doar volumele lui Moliere,alegeti
Filter si complectati astfel : Biblioteca.autor = 'Moliere',apoi inchideti
fereastra,salvati selectia (query2) si verificati cu Run.
In mod similar,puteti adauga oricate selectii doriti,astfel incat se
puteti obtine datele dorite prin simpla apasare a butonului Run.
-11-
Selectiile pot utiliza formule care aleg campurile de date,in functie
de un anumit criteriu,din doua sau mai multe tabele deschise simultan.
Pentru a exersa astfel de formule,puteti utiliza cu succes tabelele exem-
plificative arhivate in directorul Data.
EXEMPLU: deschideti un proiect nou (cu New Project)
Alegeti Databases si apasati butonul Add.Navigati in fereastra Open si
deschideti directorul Samples/Data si fila Testdata.dbc.Aceasta baza de
date contine 7 tabele exemplificative.Pentru a vizualiza baza de date si
legaturile permanente dintre tabele,alegeti in fereastra Project Manager
fila testdata si apasati butonul Modify.Se va afisa fereastra Database
Designer.La nevoie,puteti deplasa ferestrele pentru a vedea legaturile
dintre tabele.Inchideti fereastra Database Designer.
Directorul Data contine deja un numar de file tip Query gata salvate.
Pentru a studia oricare dintre exemple,alegeti in Project Manager optiunea
Queries si apasati butonul Add.In fereastra Open se vor afisa filele de
tip Query existente (cu extensia .qpr).Alegeti una dintre ele (de exemplu
Comboj.qpr) si confirmati cu OK,apoi alegeti fila in Project Manager si
apasati butonul Run.Pentru a studia cum a fost conceputa selectia,apasati
butonul Modify.Observati ca fila comboj.qpr realizeaza o selectie multipla
cu date preluate din tabelele: Customer,Orders si Orditems.
Au fost selectate pentru afisare campurile: Customer.company, si res-
pectiv Orders.order_id si Orditems.line_no.
Pentru a studia formula de selectie,alegeti Join si observati cele doua
ecuatii utilizate:
Customer.cust_id = Orders.cust_id
Orders.order_id = Orditems.order_id
Observati ca nu toate campurile utilizate in formula de selectie vor fi
afisate in fereastra Browse (Exemple: Customer.cust_id ).
Pentru a studia un alt exemplu util,selectati Queries,apasati butonul
Add si alegeti fila Worstten.qpr apoi apasati butonul Modify.
Observati ca selectia va include tabelele Products si Orditems din care
se vor utiliza campul Products.prod_name si un camp nou creat prin cal-
culul sumei obtinute dupa inmultirea campurilor Orditems.unit_price si
Orditems.quantity ( SUM(Orditems.unit_price*Orditems.quantity)).
Formula de selectie este:
Products.product_id = Orditems.product_i
iar criteriul de ordonare alfabetica (vezi Order By) este:
SUM(Orditems.unit_price*Orditems.quantity)
Daca executati fila cu Run,observati ca datele sunt ordonate crescator in
functie de valoarea sumei obtinute.
Pentru a crea o fila noua,cu criterii stabilite de d-voastra,alegeti
Queries,apasati butonul New,apoi New Query,adaugati tabelele dorite din
fereastra Add Table or View apasand butonul Add .
Exemplu: Adaugati tabelele Customer si Orders.Observati ca cele doua
tabele au o legatura permanenta intre campurile cust_id.Apoi adaugati si
tabelul Products.Se va deschide automat fereastra Join Condition.
Completati in cele doua casete de dialog campurile pe care doriti sa le
utilizati in formula de selectie,sau apasati butonul Cancel.
(campurile alese trebuie sa contina date identice)
Pentru a verifica stadiul actual al formulei,executati un click drept
de mouse in fereastra Query Designer si alegeti optiunea View SQL.
-12-
Alegeti si adaugati campurile care doriti sa fie afisate in fereastra
Browse.(Exemplu: Customer.cust_id,Customer.phone,Orders.to_adress si
Orders.order_date,Products.prod_name,Products.unit_price.
Pentru a executa selectia in forma actuala,executati tot un click drept
de mouse in fereastra Query designer si alegeti optiunea Run Query.
Daca datele incluse in fereastra Browse sunt selectate asa cum doriti
puteti trece la etapa urmatoare.In caz contrar,trebuie sa modificati
formula de selectie.Pentru acest scop utilizati meniul Join si apoi
reevaluati formula.In situatii extreme,puteti elimina complet un tabel,cu
Dostları ilə paylaş: |
|
|