Visual Foxpro 0 abc-doar


rior cu o comanda de tip MODIFY PROJECT.Ca rezultat,nu mai este necesar



Yüklə 1,41 Mb.
səhifə2/17
tarix17.03.2018
ölçüsü1,41 Mb.
#45490
1   2   3   4   5   6   7   8   9   ...   17

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

Yüklə 1,41 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   17




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin