Visual Foxpro 0 abc-doar


apoi apoi intr-un proiect,sau construiti o fereastra cu mai multe butoane



Yüklə 1,41 Mb.
səhifə15/17
tarix17.03.2018
ölçüsü1,41 Mb.
#45490
1   ...   9   10   11   12   13   14   15   16   17

apoi apoi intr-un proiect,sau construiti o fereastra cu mai multe butoane

si folositi cate un buton pentru a executa o astfel de selectie.Puteti

deschide doua selectii succesiv,sau in paralel (in ferestre paralele).


-89- REPORT WIZARD
Report Wizard - este un instrument specializat pentru a putea crea un

raport simplu,cu date selectate si sortate dintr-un tabel izolat.Este un

wizard foarte simplu,ce nu necesita explicatii suplimentare.Nu trebuie

decat sa urmati pas cu pas,fiecare etapa de design.Pentru a lansa in exe-

cutie acest wizard,alegeti din Tools,optiunea Wizards si apoi Report.

EXEMPLU: pentru a selecta si sorta cateva date dintr-un tabel :

In prima etapa alegeti tabelul sursa.Pentru acest exemplu,se poate

utiliza tabelul Employee.dbf din directorul Samples/Data.Apoi alegeti un

numar oarecare de campuri.De exemplu,pentru a forma o lista cu numele si

data nasterii,pentru fiecare angajat,selectati campurile: Last_Name,

First_Name,Birth_date si Home_phone.Apoi apasati Next.

In etapa a doua alegeti stilul de prezentare (exemplu: Executive).

In etapa a treia puteti selecta stilul de prezentare a datelor si

orientarea in pagina.Datele pentru fiecare angajat se pot prezenta atat

in coloane cat si in randuri succesive.Puteti lasa valorile implicite,

sau puteti schimba aspectul de prezentare.De exemplu,setati Number of

Columns la valoarea 3,alegeti Rows pentru Field Layout si Landscape pentru

Orientation.Cu aceste setari,datele se vor prezenta pe trei coloane in

format de carte de vizita.Apasati Next.

In etapa a patra alegeti campul utilizat pentru sortarea datelor.Pentru

a sorta datele alfabetic,selectati campul Last_name si apasati Add.

In etapa cinci,previzualizati aspectul final si apoi salvati raportul.

In continuare,fila se va putea utiliza ca orice fila de tip raport.Pentru

a modifica fila,deschideti fila cu Open Files of type Report.Se va deschi-

de automat fereastra Report Designer.

Dintr-un tabel complex,se pot crea mai multe astfel de rapoarte.Fie-

care astfel de fila,prezinta datele intr-un anumit format,intr-o anumita

ordine,sau cu o formula distincta de selectie a campurilor afisate.Mai

multe file de acest gen,pot fi apoi afisate succesiv,sau chiar in paralel

cu ajutorul unor butoane de comanda.Actualizarea tabelului sursa va asi-

gura actualizarea tuturor acestor rapoarte.In cazul tabelelor mici,acest

gen de solutie nu ofera rezultate prea spectaculoase.Exista insa situatii

in care o baza de date,sau un tabel,pot contine zeci de mii de inregis-

trari (pana la un miliard).In aceste situatii,selectiile de tip Query si

rapoartele sunt singurele mijloace de a putea extrage date coherente.De

cele mai multe ori,sunt necesare mai multe etape succesive de filtrare si

selectare a datelor ("in cascada").Se incepe cu criteriul cel mai putin

semnificativ si se formeaza tabele secundare din ce in ce mai mici.In

final se utilizeaza unul sau mai multe criterii semnificative.Pentru a

avea certitudinea ca nu pierdeti date esentiale,este bine sa formulati

doua sau chiar mai multe sisteme de selectie,utilizand criterii diferite,

sau expresii de filtrare diferite.Daca ambele variante ofera aceeasi so-

lutie,nu are rost sa continuati sortarea datelor.Daca cele doua solutii

ofera rezultate net diferite,este necesara o noua analiza a sistemelor de

selectie.Pentru bazele de date extrem de mari,se recomanda ca un numar mai

mare de persoane sa verifice aceeasi sursa de date,cu programe si sisteme

de selectie diferita,apoi se confrunta rezultatele.

Rapoartele nu ofera doar o solutie simpla de selectie si sortare ci

ofera si o solutie foarte eleganta pentru imprimarea lor.A se vedea si ra-

poartele de tip: Group/Total Report Wizard si One-to-Many Report Wizard.


-90- TABLE WIZARD
Setup Wizard si SQL Server Upsizing Wizard nu sunt recomandate incepa-

torilor,deoarece presupun notiuni avansate de gestionare a memoriei si/sau

seletie a formatului pentru date.Daca aveti nevoie imperioasa sa creati

astfel de file,apelati la ajutorul unui profesionist.Setup wizard se poate

utiliza pentru a forma o selectie de file ce se vor utiliza intr-un anu-

mit program.Filele vor fi identificate prin comparare cu un tabel de tip

.dbf si apoi vor fi extrase de pe disc si arhivate intr-un director.Daca

sunteti incepator,este mai bine sa efectuati toate aceste operatii manual

(nu lucrati cu programe formate din sute sau mii de file).SQL Server Up-

sizing Wizard,creaza un tabel de tip .dbf ce va putea fi accesat din re-

tea cu ajutorul unui server de tip SQL.Pentru a utiliza acest instrument

trebuie sa aveti instalat un server SQL si sa aveti notiuni despre modul

de functionare a acestui server.Nu este indicat sa "presupuneti".
Table wizard - este un instrument destinat pentru a forma tabele de tip

.dbf,cu ajutorul unor sablonuri standardizate.Este mai usor de utilizat

decat Table Designer si ofera avantajul de a putea crea un anumit tip de

tabel,in acelasi format,ori de cate ori este necesar (daca pastrati toate

setarile implicite).Acest wizard ofera peste 40 de tabele sablon,care

contin toate campurile de date ce pot fi necesare pentru domeniul respec-

tiv de activitate.Tabelele sursa pot fi utilizate pentru diverse tipuri de

activitati,cum ar fi: -contabilitate,gestiune,resurse umane si administra-

tie,management,evidenta corespondentei,arhive personale sau profesionale,

gospodarie si bucatarie,afaceri etc.Toate tabelele generate vor fi complet

goale.Wizard-un nu genereaza decat scheletul tabelului.Pentru a modifica

ulterior structura tabelului,se va putea utiliza Table Designer.

Pentru a lansa Table designer,alegeti din Tools,Wizards si apoi Table.

EXEMPLU: pentru a tine evidenta unui regim alimentar

In prima etapa,alegeti sablonul utilizat pentru crearea tabelului.Din

caseta Sample Tables,alegeti tabelul Diet Log.Daca doriti sa utilizati un

alt tabel pe post de sursa,apasati butonul Add si apoi selectati tabelul

dorit.Pentru a crea un tabel complet,apasati butonul cu doua sageti.Apoi

apasati butonul Next.

Daca nu este deschisa nici o baza de date,puteti crea o baza de date

noua,selectand butonul Yes.Daca nu doriti sa creati o baza de date noua,

selectati butonul No (se va crea un tabel izolat).Daca doriti sa includeti

tabelul intr-o baza de date pre-existenta,trebuie sa deschideti baza de

date inainte de a lansa in executie Table Wizard.

In etapa a doua,puteti modifica numele campului de date.De exemplu,in

loc de DietLogID puteti utiliza titlul : Dietetician.In caseta Caption se

va introduce titlul ce urmeaza sa fie afisat in tabel.De exemplu,puteti

utiliza tot titlul Dietetician.In caseta Width puteti seta largimea campu-

lui.In continuare,puteti modifica toate campurile de date,astfel incat sa

contina identificator si titlu in limba romana.Exemple: PersonID=Pacientul,

DietType = Regimul,WitchMeal= Masa,DateRecord = Data,GramsCarbo = Glucide,

GramsProt = Proteine,GramsFat = Lipide,TotalCalor = Calorii,Miligrams=Sare,

Vitamins=Vitamine si Note = Observatii.Pentru coloanele de date cu care

urmeaza sa efectuati si calcule matematice,utilizati tipul de data numeric.

Nu este strict necesar sa utilizati toate campurile de date din tabelul

sursa,dar este recomandabil (ofera a imagine clara a dietei urmate).


-91-

In etapa a treia,puteti indexa tabelul,in functie de unul sau mai multe

campuri de date.Pentru a crea filele de indexare,este suficient sa bifati

casetele checkbox.Pentru a alege cheia primara de indexare,alegeti in

caseta Primary Key unul dintre campurile de date.Este bine sa indexati

cel putin urmatoarele campuri: Dietetician,Pacient si Regim.

In etapa a patra salvati tabelul.Daca doriti,puteti sa si deschideti

automat tabelul creat (cu Save Table and Browse it),sau puteti chiar sa

deschideti automat Table Designer,pentru a modifica setarile.

In continuare,puteti adauga tabelul nou creat in lista de tabele sursa,

astfel incat sa puteti reutiliza sablonul ori de cate ori doriti sa re-

creati un tabel din tipul respectiv.Este important sa utilizati pentru

fiecare camp de date acelasi identificator,pentru ca tabelele din aceeasi

baza de date sa poata fi interconectate prin diverse tipuri de relatii.

Cea mai mica diferenta in formularea identificatorului va determina ca

doua sau mai multe tabele sa nu poata fi relationate (interconectate).

Din acest motiv,este recomandabil sa utilizati acest instrument,ori de

cate ori doriti sa recreasti un tabel pre-existent.In plus,cele 40 de

sabloane ofera un model destul de complet pentru o serie intreaga de

aplicatii (va ajuta sa alegeti campurile de date necesare si formatul

cel mai probabil).Bineninteles,ca dimensiunile tabelului si tipul de data,

se vor adapta in functie de necesitatile aplicatiei in care va fi inclus.

Pentru a modifica un tabel,dupa ce a fost creat,deschideti tabelul cu

Open (din File) si apoi alegeti din meniul View optiunea Table Designer.

Atunci cand utilizati intensiv un anumit tip de date,puteti crea mai

multe variante de tabel.Fiecare tabel va avea un numar din ce in ce mai

mare de campuri de date,sau va fi indexat intr-un mod diferit.In final,

introduceti datele in tabelul cel mai complet.Apoi,transferati datele si

in tabelele partiale.Eventual,puteti crea un program care actualizeaza

automat toate tabelele.In final,tabelele vor putea fi utilizate pentru

a crea aplicatii cu acces gradat la informatie.Fiecare utilizator va

putea avea acces doar la o anumita configuratie a informatiei de baza.

Acest gen de implementare este diferit de cel realizat prin selectii si

rapoarte,deoarece limiteaza sursa de informatii,in loc sa filtreze doar

inforatiile existente.Acest tip de solutie,ofera doua avantaje : 1.-se

opereaza cu volume mai mici de informatie,se executa un numar mai mic de

operatii si creste foarte mult viteza de executie,si 2. - utilizatorul nu

poate sa-si extinda singur accesul la informatie prin schimbarea formulei

de filtrare a datelor.

O alta solutie rapida si practica,este de a fragmenta datele in mai

multe tabele,care contin campuri de date comune,sunt indexate si sunt

relationate printr-o formula oarecare.In acest caz,fiecare inregistrare

din tabelul "parinte",va relationa automat cu inregistrarile corespunza-

taore din tabelul sau tabelele "copil".Si aceasta solutie este foarte

rapida si eficienta,dar trebuie creata o interfata in care cele doua

tabele sa fie prezentate simultan (pentru mai mult de doua tabele nu

exista wizard).

Pentru tabelele utilizate foarte frecvent,este bine sa pastrati o

copie de siguranta,arhivata la alta adresa decat tabelele de lucru.Daca

dintr-un motiv sau altul,fila de tip .dbf se degradeaza sau se suprascrie,

utilizati copia de siguranta pentru a recrea tabelul,sau chiar pentru a

recupera majoritatea datelor.


-92- BUILDERS AutoFormat Builder
Un alt grup de instrumente specializate,poarta numele de "builders",

adica de constructori.Aceste instrumente nu fac decat sa simplifice mult

munca de selectie si configurare a unora dintre proprietatile obiectelor

si controalelor create.Sunt la randul lor obiecte de tip interfata grafi-

ca,in care programatorul are control vizual asupra operatiilor pe care le

executa asupra obiectului.De exemplu,daca alege stilul sau culorile si

fonturile,va avea o mica fereastra in care se va afisa aspectul rezultat.

Utilizand aceste instrumente,munca de configurare este mult mai rapida,

mai sigura si mai eficienta.
AutoFormat Builder - este inclus in fereastra Form Designer si se poate

utiliza pentru a selecta acelasi stil grafic pentru mai multe controale

de acelasi tip.De exemplu,daca intr-o fereastra se utilizeaza un set de

casete de editare,culorile,fonturile si stilul de prezentare pot fi setate

pentru toate aceste controale simultan.

EXEMPLU : Deschideti un proiect oarecare.In fereastra Project Manager

alegeti Documents si apoi Forms si apasati butonul New.Se va deschide

fereasta Form Designer.Adaugati trei butoane de comanda,de tip Command

Button.Apoi mentineti apasata tasta Shift si selectati toate cele trei

butoane.Executati un click drept de mouse pe unul dintre butoane si ale-

geti optiunea Builder.Se va deschide fereastra AutoFormat Builder.Alegeti

un stil comun pentru cele trei butoane (de exemplu: Standard) si apoi

apasati butonul Apply.Puteti utiliza casetele de tip checkbox pentru a

selecta proprietatile pe care doriti sa le setati prin stilul respectiv.

Apoi adaugati trei controale de tip TextBox.Executati un click drept

de mouse si deschideti fereastra Properties.Utilizati FontName pentru a

alege fonturi diferite pentru cele trei controale de tip Text (exemple:

Mistral,News Gothic si Papyrus).

Pentru a readuce toate cele trei controale la un standard comun,apasati

si mentineti tasta Shift,selectati cele trei controale,executati un click

drept de mouse si alegeti Builder.Se va deschide fereastra AutoFormat.

Alegeti stilul dorit si apoi apasati Apply.

Acest instrument,este util atunci cand doriti ca mai multe controale

dintr-o fereastra sa fie in unul dintre formatele standard.Prezinta avan-

tajul ca poate modifica prin o singura operatie urmatoarele proprietati:

Borders,Colors,Fonts,Layout si 3D Effect.

Daca doriti ca doua sau mai multe controale sa contina doar o singura

proprietate comuna,diferita de standardul propus de builder,puteti uti-

liza fereastra Properties.In exemplul de mai sus,setati cele trei controa-

le de tip text la stilul Standard.Apoi inchideti fereastra AutoFormat

Builder apasand tasta OK.Cele trei controale au ramas selectate.Daca

fereastra Properties este deschisa,in caseta de editare va figura optiunea

Multiple Selection (in caz contrar selectati cele trei controale).

Pentru a pastra stilul standard,dar pentru a seta un font comun,alegeti

proprietatea FontName si setati un font oarecare (de exemplu Century

Gothic).Observati ca fontul se va aplica simultan la toate cele trei con-

troale.

In concluzie,AutoFormat Builder permite configurarea rapida a unui

numar mare de controale,la un stil comun.Puteti combina AutoFormat cu

fereastra Properties,pentru a personaliza aspectul interfetei grafice.


-93- COMBO BOX BUILDER
Combo Box Builder - este un instrument conceput pentru a simplifica

setarea proprietatilor unui obiect de tip Combo Box.Se utilizeaza in

fereastra Form Designer.Pentru a deschide acest instrument,selectati un

obiect de tip Combo Box,executati un click drept de mouse si alegeti

optiunea Builder.Fereastra Combo Box Builder contine patru meniuri:

List Items,Style,Layout si Value.

In meniul List Items selectati baza de date si/sau tabelul din care

doriti sa preluati datele.Daca nu doriti sa utilizati un tabel,puteti sa

creati manual o lista de optiuni,alegand in caseta "Fill the list with"

optiunea "Data entered by hand",sau puteti sa preluati un set de valori

dintr-o arie de date,alegand optiunea "Values from an array".

Daca alegeti un tabel oarecare,puteti sa completati lista de optiuni

cu datele preluate din unul sau mai multe campuri de date.

EXEMPLU: selectati baza de date TESTDATA (din Samples/Data),alegeti

tabelul CUSTOMER.dbf si selectati campurile: Company,Contact si City.

In meniul Style,puteti alege stilul casetei Combo Box.

In ,meniul Layout puteti modifica dimensiunile fiecarei coloane,astfel

incat sa se incadreze cat mai bine in pagina.Utilizati barele de scroll,

pentru a putea observa toate datele selectate.Daca in una dintre coloane

datele sunt amputate,sau raman spatii goale prea largi,deplasati mouse

pe titlul coloanei respective,in margine,pana cand apar sagetile de

ajustare.Apoi trageti cu butonul mouse apasat,pana cand coloana are dimen-

siunea dorita.

In meniul Value,puteti alege valoarea returnata.In exemplul de mai sus

puteti alege dintre : Company,Contact si City.In momentul in care utili-

zatorul selecteaza un rand din caseta combox,in caseta edit se va returna

valoarea campului setat in acest meniu.

EXEMPLU: in exemplul de mai sus,daca setati valoarea returnata pentru

campul City si apoi selectati in timpul executiei compania denumita:

"Around the Horn",in caseta de editare se va returna valoarea: "London".

Daca in meniul Value,caseta de selectie este colorata in gri,inseamna ca

aceasta optiune este inactivata.Pentru a alege campur returnat,reveniti

la meniul List Items si modificati lista din Selected fields,astfel incat

campul dorit sa fie primul in lista( de exemplu City).

In continuare,puteti utiliza fereastra Properties pentru a personaliza

obiectul,sau pentru a seta restul de proprietati si metode.Instrumentul

Builder nu ofera decat un punct de pornire in munca de design a obiectului

respectiv.Este indicat sa utilizati acest instrument mai ales pentru a

forma lista de optiuni.Este mult mai comod decat sa editati o fila de cod

in care sa repetati de nenmuarate ori comenzi de genul AddItem sau Add-

ListItem.Instrumentul builder insa nu editeaza nici una dintre metode sau

evenimente.Pentru a adauga proceduri specializate va trebui sa utilizati

si fereastra Properties.

EXEMPLU: pentru a prelua valoarea returnata intr-un obiect de tip Label,

adaugati un obiect Label,apoi selectati metoda ClickEvent si editati

urmatoarea procedura:

ThisForm.Label1.Caption = ThisForm.Combo1.Text

In mod similar se vor edita restul de metode sau evenimente.De exemplu,

incercati sa utilizati un obiect de tip ComboBox,pentru a prelua date

dintr-un tabel si a actualiza o colana de date din alt tabel.


-94- EDIT BOX BUILDER
Edit Box Builder - este un instrument destinat pentru a seta o parte

dintre proprietatile unui obiect de tip Edit Box.Se utilizeaza tot in

fereastra Form Designer.Edit Box are o serie de particularitati fata de

Combo Box.De obicei,se utilizeaza pentru a prezenta sau edita texte mai

lungi,campuri memo sau chiar pagini intregi de tip text.Cel mai frecvent

se utilizeaa pentru a introduce date si comenzi,sau pentru a actualiza

datele dintr-un tabel.

EXEMPLU: in Project Manager alegeti Forms si apoi New Form.In fereastra

Form Designer adaugati un control de tip Edit Box,selectati obiectul si

apoi executati un click drept de mouse si alegeti optiunea Builder.

In fereastra Edit Box Builder,puteti utiliza trei meniuri: Format,Style

si Value.In meniul Format puteti selecta optiunile dorite (de exemplu

selectati: Select on entry si Enable at run time.

In meniul Style alegeti optiunile: 3D si Single,cu aliniere la stanga.

Iar in meniul Value puteti selecta un tabel de tip .dbf in care doriti

sa arhivati datele editate in caseta Edit Box.Apasati butonul cu trei

puncte si alegeti tabelul: Samples/Data/Country.dbf.Confirmati cu OK.

Daca utilizati fereastra cu design-ul actual,orice text editat in caseta

EditBox va fi arhivat automat in primul camp de date din tabelul Country.

Pentru a putea naviga in tabel,trebuie sa adaugati si un buton de navigare

de tip Command Buton,la care editati evenimentul Click Event astfel:

Skip

ThisForm.Edit1.Refresh

Acum puteti executa fereastra cu Run Form.Apasati de cateva ori butonul

si observati ca in caseta EditBox defileaza valorile din tabelul Country.

Daca editati un text oarecare si confirmati cu Enter,textul respectiv va

fi salvat in tabelul Country.dbf in campul de date aflat in executie.De

exemplu,puteti inlocui oricare dintre tari cu ROMANIA.Pentru a putea

naviga corespunzator,trebuie sa adaugati un set intreg de butoane.De

exemplu,pentru a putea naviga si retrograd,se va utiliza o procedura de

genul: Skip -1

ThisForm.Edit1.Refresh

Mai multe obiecte de tip EditBox se pot grupa intr-o singura interfata

grafica cu scopul de a putea actualiza o parte dintre inregistrarile unui

tabel,sau chiar toate inregistrarile.In acest caz,se poate utiliza un

singur set de butoane de navigare,pentru toate casetele de tip EditBox,cu

conditia ca procedura fiecarui buton sa apeleze metoda Refresh pentru

fiecare dintre casetele EditBox active.

EXEMPLU: (daca utilizati tabelul Customer.dbf) pentru doua casete de

tip Edit Box,evenimentul Click Event,pentru butonul Next,va fi:

Skip

ThisForm.Edit1.Refresh

ThisForm.Edit2.Refresh

Pentru design-ul unei singure interfete grafice se pot apela succesiv

mai multe instrumente de tip builder.In exemplul de mai sus,se poate apela

un builder pentru Form,apoi se apeleaza un builder pentru fiecare obiect

de tip EditBox si in final se pot selecta toate obiectele de tip EditBox

pentru a apela AutoFormat Builder.Mai mult decat atat,se pot combina si

instrumentele de tip wizard si designer,pana cand interfata realizata are

toate proprietatile si functiile dorite.


-95- EXPRESION BUILDER DIALOG BOX
Expresion Builder - este un instrument specializat pentru a forma

expresii.Este inclus intr-un numar mare de instrumente specializate de tip

designer si wizard,sau poate fi utilizat independent cu ajutorul comenzii

GETEXPR.Expresiile se pot forma utilizand diverse tipuri de date.O astfel

de expresie poate fi extrem de simpla,si poate fi formata dintr-un singur

caracter,cifra,sir de caractere sau data calendaristica,sau poate fi o

expresie complexa cu numeroase calcule si functii numerice,sau cu diverse

operatii executate asupra datelor.Tipul expresiei este dat de tipul de

data returnat in urma executiei,sau a calculelor.Pentru a forma expresii,

se pot utiliza date de tip: caracter,data calendaristica,data + timp,

numeric,in virgula mobila,numar intreg,numar in dubla precizie,logic sau

unitate monetara.Expresia poate contine si conditii imediate de tip IF...

sau poate realiza concatenarea unor siruri,sau conversia unui tip de data

in alt tip de data.Pentru formarea expresiilor,Visual FoxPro accepta si

un numar foarte mare de functii directe.Toate aceste functii sunt incluse

in Expresion Builder,impreuna cu lista completa de operatori logici si

matematici.Elementele ce pot fi utilizate pentru a forma o expresie sunt

grupate in liste,astfel incat nu trebuie decat sa fie selectate (un dublu

click de mouse din caseta corespunzatoare).In plus,exista si un buton

marcat "Verify" cu ajutorul caruia se poate verifica daca expresia este

formulata corect.Functiile si operatorii sunt grupate in patru casete,

in functie de tipul de data : string,numeric (matematic),logic si data.

Expresia finala se formuleaza in caseta denumita "Expresion".

EXEMPLU: pentru a formula o expresie simpla:

In fereastra Commnad editati urmatoarea comanda:

GETEXPR TO y

Se va deschide automat fereastra Expression Builder.Formulati o expresie

oarecare:

EXEMPLU: CEILING(5.73/LOG(3)) + EXP(2.13)/ RAND(7)

apoi confirmati cu OK.Expresia se va salva in variabila y.Pentru a verifi-

ca expresia,introduceti in fereastra de comenzi: ? y

Pentru a formula expresia,puteti sa scrieti expresia direct in caseta

"Expression",sau puteti sa alegeti elementele care compun expresia din

listele incluse in casetele String,Math,Logical si Date.

Instrumentul mai contine si urmatoarele casete: Fields,From Table si

Variables.In Fields se vor afisa campurile de date ale tabelului care este

deschis in memorie in acel moment (daca exista).Pentru a utiliza in expre-

sie unul dintre campurile de date,executati un dublul click,sau selectati

campul si tastati Enter.Pentru a deschide alt tabel,utilizati caseta From

Table pentru a selecta tabelul dorit,apoi alegeti campul de date.

Caseta Variables afiseaza o lista a variabilelor,ariilor de date si a

variabilelor de memorie create pana in acel moment.Pentru a utiliza una

dintre variabile,executati un dublu click pe ea,sau selectati variabila

si tastati Enter.

Butonul Verify valideaza doar sintaxa expresiei.Daca utilizati si

functii definite de d-voastra,este posibil ca butonul Verify sa returneze

un mesaj de eroare,dar expresia sa functioneze corect in timpul executiei.

Este insa preferabil sa utilizati doar functiile standard (sunt sigure).

Butonul Options poate fi utilizat pentru a extinde sau limita setul de

functii din casetele:String,Math,Logical si Date.


-96- FORM BUILDER

Pentru a evalua o expresie,se poate utiliza functia EVALUATE().De

exemplu,pentru a vedea rezultatul expresiei y,realizata anterior,se va

utiliza o comanda: ? EVALUATE(y)

Verificati cu atentie fiecare expresie.Daca expresia permite un numar

variabil de valori,verificati cu atentie valorile extreme si exceptiile.

Daca expresia este inclusa intr-un wizard sau intr-un designer,verificati

cu atentie obiectul rezultat,in toate ipostazele posibile.Compilatorul nu

poate decela erorile generate de o expresie conceputa gresit.Orice eroare

logica returnata de expresie in cazul valorilor extreme sau a exceptiilor

va fi foarte greu de depistat si depanat,dupa ce programul complet a fost

asamblat.Daca un obiect contine mai multe expresii,verificati cu atentie

fiecare dintre ele,precum si rezultatul obtinut prin combinarea lor.Cele

mai frecvente erori de programre se datoreaza unor valori aflate in afara

domeniului reprezentabil,sau unor erori logice generate de ignorarea

indicatorului EOF().
Form Builder - este un instrument specializat pentru a reprezenta date-

le dintr-un tabel,intr-o fereastra.Cu ajutorul acestui instrument,se vor

crea automat casete de editare si etichete de tip Label,pentru fiecare

dintre campurile de date selectate dintr-un tabel.In continuare,puteti

sa rearanjati sau sa redimensionati obiectele,sau sa schimbati culorile

si fonturile.Form Builder se lanseaza in executie din Form Designer,cu

un click drept de mouse,urmat de alegerea optiunii Builder.

EXEMPLU: deschideti o fereastra noua din Project Manager.

Executati un click drept si alegeti Builder.In prima etapa alegeti

tabelul sursa si apoi selectati campurile de date dorite.Pentru a alege

un anumit stil de prezentare,deschideti meniul Style si alegeti unul

dintre stiluri (de exemplu Boxed).Apoi confirmati cu OK.

Pentru fiecare dintre campurile de date selectate s-a creat cate un

obiect de prezentare.De exemplu,pentru stilul "Boxed",pentru fiecare camp

de date s-a creat un obiect de tip container.Fiecare container contine o

caseta de tip Edit Box(in care este preluat campul de date),un obiect de

tip Label(in care este prezentat numele campului de date) si un obiect de

tip Shape.

Pentru a personaliza sau modifica restul proprietatilor,puteti utiliza

fereastra Properties.

Daca numarul de obiecte generate automat este destul de mare,acestea

se var suprapune.Este necesar sa fie rearanjate in fereastra.Pur si simplu

trageti cu butonul mouse apasat de obiecte,pana cand ajung in pozitia

dorita.Daca doriti o aliniere perfecta,utilizati fereastra Properties si

proprietatile Top,Left si Width.

In unele dintre stiluri,etichetele si obiectele Edit Box sunt generate

separat (nu sunt incluse in containere).In acest caz,trebuie sa rearanjati

obiectele astfel incat fiecare eticheta sa corespunda cu caseta Edit Box

pe care o prezinta.

Instrumentul Form Builder nu genereaza metode sau evenimente.Pentru a

definitiva fereastra si a putea adauga metode si evenimente se va utiliza

in continuare fereastra Form Designer.Form Builder nu face decat sa gene-

reze o solutie de prezentare si actualizare a datelor dintr-un tabel.

Pentru navigare,sau pentru orice alt tip de operatii va trebui sa

editati evenimente (sau sa utilizati Form Wizard).


-97- GRID BUILDER
Grid Builder - este un instrument specializat pentru a crea un obiect

de tip Grid si a seta proprietatile esentiale.Grid Builder nu realizeaza

automat toate operatiile necesare pentru design,nu asigura vizibilitatea

pentru toate datele selectate si nici nu permite navigarea sau efectuarea

unor operatii asupra dateler (cu exceptia editarii).Este destinat mai

ales pentru o orientare rapida,urmand ca definitivarea obiectului sa se

faca in fereastra designer.Instrumentul are patru meniuri ce permit selec-

tarea datelor,alegerea stilului de prezentare,redimensionarea coloanelor

si stabilirea unor criterii de indexare (relatii).

Grid Builder se utilizeaza din fereastra Form Designer(un click drept).

EXEMPLU: in Project Manager deschideti o fereastra noua si adaugati

un control de tip Grid,apoi executati un click drept de mouse si alegeti

optiunea Builder:

In meniul Grid Items,alegeti tabelul sursa.De exemplu,puteti alege din

directorul Samples/Data fila EMPLOYEE.DBF.Apoi selectati campurile de

date pe care doriti sa le afisati in grila.De exemplu:Last_Name,First_Name

Title,Country,Home_Phone,Photo.

In meniul Style,puteti alege stilul de prezentare (Exemplu: Ledger).

In meniul Layout,puteti redimensiuna coloanele (trageti cu mouse apasat

de caseta care contine titlul coloanei),sau puteti alege intre prezentarea

in casete TextBox sau EditBox.De exemplu: selectati campul de date Title

si alegeti in caseta "Control type:" optiunea Editbox.In acest caz,in

timpul executiei puteti actualiza permanent datele din coloana "Title".

In meniul Relationship puteti selecta o anumita fila de indexare.De

exemplu ,alegeti in caseta "Key field in parent table" campul de date:

Employee.Home_Phone si in caseta "Related index in child Table" campul

Last_Name (numerele de telefon vor fi sortate alfabetic,dupa "Last_Name").

Apoi lansati fereastra in executie cu Run Form.

Observati ca in caseta Title puteti edita activ datele,dar textul este

pertial amputat,din cauza dimensiunii prea mici a celulelor din tabel.

Pentru a putea corecta acest inconvenient,reveniti in fereastra Form De-

signer,si deschideti fereastra Properties.Inaltimea celulelor (Height) nu

poate fi modificata,dar se poate schimba fontul.Alegeti in caseta de edi-

tare obiectul Edit1 din Column3 (utilizati butonul de scroll) si apoi

setati proprietatea FontSize la valoarea 7 (in loc de 9).

In mod similar,puteti utiliza fereastra Properties,pentru a personaliza

sau scimba oricare dintre proprietatile obiectelor ce compun grila (Column

Header,Text1 sau Edit1).Tot fereastra Properties,se va utiliza si pentru

a redefini metodele si evenimentele grilei.

In concluzie,Grid Builder nu permite setarea tuturor proprietatilor

necesare pentru design,dar reprezinta un foarte bun punct de plecare.

Obiectele generate cu acest instrument sunt simple,clare,sigure,usor de

transformat si modificat dupa dorinta.In plus,in meniul Layout se ofera

si o imagine a grilei,astfel incat se simplifica mult etapa de selectie

a campurilor si de redimensionare a coloanelor.Dupa ce au fost alese

datele si forma de prezentare,obiectul final va putea fi finizat in

fereastra Properties.Grid Builder este foarte util si pentru a putea

prezenta foarte rapid datele dintr-un tabel sau dintr-o baza de date,mai

ales atunci cand nu exista pretentii deosebite pentru forma de prezentare,

sau cand tabelele sunt mici si se pot include toate datele.


-98- OPTION GROUP BUILDER
List Box Builder - este un instrument specializat pentru a crea si seta

proprietatile obiectelor de tip List Box.Este identic cu Combo Box Builder

(vezi Combo Box Builder).Se lanseaza in executie din Form Designer.
Option Group Builder - este un obiect specializat pentru obiectele de

tip Option Group.Se utilizeaza pentru a crea grupuri de butoane ce contin

optiuni care se auto-exclud reciproc.Mai mult decat atat,obiectul poate fi

conectat intr-o legatura permaneta cu un tabel de tip .dbf,astfel incat

optiunea selectata din grupul optional sa fie salvata automat in tabelul

respectiv.Cu acest procedeu,se poate monitoriza activitatea desfasurata

intr-o anumita aplicatie.De exemplu,daca se arhiveaza in tabel toate

optiunile selecate de utilizatori,se poate efectua o analiza statistica

a optiunilor ce au fost selectate cel mai frecvent,sau se pot analiza

preferintele unui singur utilizator,etc.

Instrumentul permite selectarea unui anumit numar de butoane,a tipului

de reprezentare a butoanelor (orizontal,vertical,spatiate etc.) precum

si a campului de date in care se va arhiva valoarea preluata.

EXEMPLU: In Project Manager deschideti o fereastra noua:

Adaugati in fereastra un obiect de tip Option Group si apoi executati

un click drept si alegeti optiunea Builder.

In meniul Buttons selectati numarul de butoane si apoi completati in

lista din coloana Caption,textul pentru fiecare optiune.De exemplu pentru

patru butoane,setati valorile: Valoare1,Valoare2,Valoare3,Valoare4.

Butoanele pot fi reprezentate standard sau grafic.Daca doriti sa fie

cu aspect de "check box" alegeti optiunea standard,iar daca doriti sa

fie reprezentate sub forma de butoane,alegeti optiunea Graphical.

In meniul Layout,puteti alege distributia: pe orizonatala sau pe ver-

ticala,spatiul dintre butoane si tipul de chenar.

In meniul Value,puteti deschide un tabel oarecare,din care puteti alege

campul de date in care doriti sa salvati optiunea selectata.Deschideti

orice tabel si selecatati un camp de date de tip caracter.

Pentru a verifica obiectul,adaugati si un obiect de tip Label,apoi

deschideti fereastra Properties,selectati obiectul Optiongroup1,alegeti

Methods si apoi Click Event si editati o procedura de genul:

ThisForm.Label1.Caption = ThisForm.Optiongroup1.Value

Apoi inchideti fereastra designer si executati fereastra cu Run Form.

Optiunea selectata va fi afisata in campul de tip Label.Mai mult decat

atat,valoarea selectata va fi salvata in campul de date specificat in

meniul Value din Builder.Pentru a verifica daca optiunea selectata a fost

salvata corect,deschideti tabelul si apoi verificati cu Browse.

Valoarea salvata va fi suprascrisa de fiecare data in primul camp de

date din tabelul respectiv.Daca doriti sa salvati toate valorile,va trebui

sa editati o procedura,care sa adauge o inregistrare noua la fiecare ope-

ratie de salvare,si apoi se execute un salt la inregistrarea respectiva.

Puteti rezerva un tabel,doar pentru a tine evidenta operatiilor de

acest gen,efectuate intr-o anumita aplicatie.Daca se utilizeaza mai multe

grupuri de butoane,fiecare camp din tabelul de arhivare poate prelua

valorile dintr-un astfel de grup,astfel incat se poate reface complet

secventa de operatii si/sau mediul de memorie in care a survenit o eroare

oarecare (depanare retrograda).


-99- REFERENTIAL INTEGRITY BUILDER
Referential Integrity Builder - este un instrument specializat pentru

a crea sau modifica o tabela de control,pentru integritatea referintelor.

Tabela de control pentru integritatea referintelor contine un set de

indicatori,prin care se specifica modul in care se pot insera,actualiza,

sau sterge o parte dintre inregistrarile tabelelor legate intre ele prin

diverse formule si expresii de interconectare.

Daca doua tabele sunt interconectate cu ajutorul unei expresii pentru

selectarea si sortarea datelor,atunci orice modificare survenita in ta-

belul "parinte" va influenta intr-un mod sau altul si tabelul "copil".

De exemplu,daca doua tabele sunt legate intre ele printr-un camp de

date comun pentru ambele tabele,stergerea unei inregistrari din primul

tabel va putea lasa in cel de al doilea tabel inregistrari ce nu mai

pot fi accesate (sunt denumite si "orfane").Daca tabelul "copil" este

intr-o legatura permaneta cu tabelul "parinte",aceste inregistrari nu

vor mai putea fi utilizate si ocupa in mod inutil un spatiu de memorie.

In plus,inregistrarile "orfane",implica o serie de operatii inutile in

etapa de selectie si sortare a datelor si pot sa intarzie semnificativ

executia programului.

EXEMPLU : daca cele doua tabele contin date despre cartile din biblioteca

si sunt interconectate prin campul denumit AUTOR,care este comun pentru

ambele tabele.Sa presupunem ca primul tabel contine o singura inregistra-

re pentru Liviu Rebreanu,iar cel de al doilea tabel contine toate operele

sale.Prin executia bazei de date,cu cele doua tabele interconectate,vom

alege in primul tabel numele lui Liviu Rebreanu,pentru a vedea toate

operele sale.Daca dintr-un motiv oarecare,stergem din primul tabel numele

lui Liviu Rebreanu,atunci toate inregistrarile din cel de al doilea tabel

care corespund acestui nume vor ramane "orfane" si nu vor mai putea fi

accesate.

Exista insa si alte situatii posibile.Este posibil,ca un tabel sa fie

in legatura cu mai multe tabele,si sa fie inclus in diferite variante de

interfata grafica.In acest caz,stergerea unei inregistrari din tabelul

"parinte" va intrerupe legatura cu inregistrarile corespunzatoare din

tabelul "copil",dar acestea vor ramane valide pentru a forma noi legaturi,

sau pentru legaturile pre-existente cu alte tabele "parinte".In exemplul

de mai sus,este posibil sa formam mai multe tabele "parinte" in care sa

ordonam autorii dupa criterii diferite si sa utilizam un singur tabel de

tip "copil" in care sa arhivam operele fiecarui autor.In acest caz,daca

stergem unul dintre autori,din unul dintre tabelele "parinte",inregistra-

rile corespunzatoare din tabelul "copil" vor fi inactive pentru acel tabel

dar vor fi valabile pentru restul tabelelor de tip "parinte".

In acest mod,se realizeaza o adevarata retea de legaturi si relatii

intre doua sau mai multe tabele.Pentru a tine evidenta tuturor acestor

legaturi,se poate utiliza un obiect de tip structura,o arie de date,sau

un tabel.Visual FoxPro utilizeaza un tabel obisnuit de tip .dbf.

Pentru a reglementa modul in care stergerea sau inserarea unei inregis-

trari afecteaza sau nu afecteaza si tabelul cu care se afla in relatie,

exista trei posibilitati :

1. -tabelul "copil" este actualizat deodata cu tabelul "parinte"

2. -tabelul "parinte" nu poate fi modificat pentru datele partajate

3. -modificarile din tabelul "parinte" nu afecteaza tabelul "copil"


-100-

Constructorul tabelei pentru integritatea referintelor (Referential

Integrity Builder),permite selectarea unei adintre cele trei variante,

pentru fiecare dintre legaturile formate intre doua tabele din aceeasi

baza de date.Cele trei variante sunt denumite astfel:

CASCADE - actualizeaza toate campurile de date legate intre ele prin

o relatie,atat in tabelul parinte cat si in tabelul copil.

(adauga si in tabelul copil noua valoare de referinta)

RESTRICT -blocheaza actualizarea datelor din tabelul parinte,daca in

tabelul copil exista inregistrari legate printr-o relatie

de cele ce urmeaza sa fie modificate

(blocheaza actualizarea "cheilor de referita")

IGNORE - permite actualizarea datelor din tabelul parinte fara sa

modifice cu nimic tabelul copil

(ignora tabelul copil si interrelatia cu acesta)

In plus,instrumentul constructor prezinta si un tabel in care sunt

incluse in lista,toate relatiile existente si tabelele implicate.Tabelul

contine urmatoarele coloane: Parent Table (tabelul parinte),Child Table

(tabelul copil),Update (optiunea pentru actualizari),Delete (optiunea

pentru stergeri),Insert (optiunea pentru inserari),Parent Tag (cheia de

indexare a tabelului parinte) si Child Tag (cheia de indexare a tabelului

copil).

Pentru a deschide acest instrument,deschideti orice baza de date in

care exista tabele legate printr-o relatie oarecare,si apoi executati un

click drept de mouse.

EXEMPLU: deschideti baza de date Testdata.dbc din Samples/Data ( cu

Open si Files of type: Database(*.dbc) ).Apoi executati un click drept de

mouse si alegeti: Edit Referential Integrity.

Se va deschide fereastra Referential Integrity Builder.

Observati ca pentru fiecare relatie dintre tabelele ce formeaza baza de

date,exista si o inregistrare in tabelul pentru integritatea referintelor.

De exemplu,intre tabelul Customer si tabelul Orders,exista o relatie prin

campul de date cust_id.Fiecare dintre cele trei operatii posibile: actua-

lizare,stegere sau inserare poate sa fie reglementata printr-o optiune

diferita.Pentru a modifica optiunea respectiva,selectati optiunea si

apoi alegeti varianta dorita selectand butonul CheckBox.

De exemplu,pentru a schimba optiunea Update din Ignore in Cascade,se-

lectati campul de date cu mouse,apoi executati un click in butonul Check

Box denumit Cascade.

Pentru stergerea datelor,setul de reguli(optiuni) este urmatorul:

CASCADE - sterge si toate inregistrarile din tabelul copil

RESTRICT -blocheaza stergerea daca exista inregistrari partajate

IGNORE -sterge inregistrarile doar in tabelul parinte

Pentru inserarea unor date noi,setul de optiuni este urmatorul:

RESTRICT -blocheaza inserarea daca nu exista in ambele tabele o cheie

de referinta pentru inregistrarea respectiva

IGNORE - permite inserarea indiferent de situatie

Asadar,pentru fiecare relatie,se pot seta optiuni diferite pentru fiecare

dintre operatiile posibile.Optiunea IGNORE este cea mai permisiva si nu

ingradeste cu nimic operatiile asupra tabelelor,dar permite ca tabelele

sa contina si inregistrari situate in afara relatiei configurate (adica

inregistrari "orfane").


-101-

Optiunea RESTRICT este cea mai restrictiva.Nu permite nici un fel de

operatii,in cazul in care inregistrarea respectiva este implicata intr-o

relatie oarecare cu un alt tabel.

Optiunea CASCADE influenteaza toate campurile de date interesate in

relatia respectiva.Aceasta optiune este ideala,atunci cand baza de date

contine doar doua tabele,aflate in legatura permaneta si fara nici o alta

relatie sau fara perspectiva de a schimba in viitor relatia dintre tabele.

Insa,in cazul in care tabelul "copil" este,sau va fi in legatura si cu

alte tabele,toate modificarile efectuate in acest tabel,vor afecta sau

chair vor intrerupe leagturile existente cu celelalte tabele.

EXEMPLU: sa presupunem ca o anumita baza de date,contine un tabel in

care sunt arhivate toate datele de referinta,si cate un tabel "parinte",

in care fiecare utilizator isi selecteaza o parte din referintele spre

arhiva de date.Pentru acest gen de situatie,se recomanda optiunea IGNORE

pentru toate tipurile de operatii.In acest caz,fiecare utilizator va avea

o interfata proprie,in care va putea sa faca orice operatii doreste,fara

sa influeneteze cu nimic activitatea celorlalti utilizatori.

Situatia inversa este atunci cand se utilizeaza o intefata prin care

se utilizeaza un tabel "parinte",pentru a actualiza si/sau completa datele

din tabelul "copil",in care se va forma arhiva principala.In acest caz,

se va prefera optiunea de actualizare CASCADE,care nu numai ca ne asigura

ca nu vom pierde o parte din date in timpul transferului,dar si realizeaza

o mare parte dintre operatii automat,simplificand munca programatorului.

Optiunea RESTRICT se utilizeaza mai ales pentru a proteja un tabel

in care se arhiveaza date valoroase ce sunt,sau urmeaza sa fie in relatie

cu mai multe alte tabele.

Bineinteles ca exista un numar foarte mare de combinatii posibile.In

practica,fiecare programator va cauta combinatia de optiuni care serveste

cel mai fidel intereselor sale.De cele mai multe ori insa,riscati sa va

complicati viata in mod inutil si sa va blocati ulterior in propriile

restrictii sau combinatii de optiuni.Este recomandabil sa alegeti com-

binatia de optiuni,atunci cand creati baza de date,in functie de tipul

de aplicatie in care urmeaza sa fie utilizata.Nu este indicat sa modifi-

cati permanet optiunile de control pentru integritatea referintelor,

deoarece riscati sa pierdeti controlul acestora.Cu cat tabelele implicate

in relatie contin mai multe date,cu atat va fi mai dificil sa observati

eventualele erori,sau sa depanati aplicatia.

Daca acest gen de situatie a intervenit totusi,se recomanda urmatorul

procedeu tehnic.Creati niste tabele pilot,care contin aceleasi campuri de

date si introduceti un numar limitat de inregisrari (10-20).Apoi formati

o baza de date,indexati tabelele si formati relatiile de legatura.In sfar-

sit,utilizati tabelul de integritate a referintelor si formulati seturi

de optinui,pana cand obtineti rezultatul optim.Verificati cu mare atentie

toate variantele posibile,apoi aplicati acelasi set de optiuni si pentru

tabelele "buclucase".

Munca cu tabele numeroase,legate intre ele prin diverse relatii,poate

fi extrem de anevoioasa.Pentru a simplifica aceasta munca,incercati pe

cat posibil sa separati module cat mai mici si sa lucrati separat pentru

fiecare operatie posibila.Experimentati pe modele mici,inainte de a va

lansa la aplicatii complete cu date numeroase.Atentie maxima la stergerea

datelor(datele sterse nu mai pot fi "recuperate").


-102- TOOLBARS
Text Box Builder - este un instrument constructor pentru obiectele de

tip TextBox.Este foarte asemanator cu EditBox Builder (vezi descrierea).

Spre deosebire de EditBox Builder,prezinta in meniul Format si caseta

Input Mask ce permite fixarea unui filtru pentru datele afisate.Se poate

alege una dintre variantele din lista,sau se poate edita un filtru nou.

EXEMPLU: pentru a forma un cod numeric,separat in trei coduri distincte

se poate utiliza un filtru de genul:

###-##-###

sau pentru a formula un cod mixt,numeric si alfanumeric:

AAA-##-AAAAAAAAAAA

Meniul Value,permite preluarea datelor afisate dintr-un tabel .dbf.
TOOLBARS - sunt obiecte de tip container,utilizate pentru a simplifica

etapa de design a unei interfete grafice.Contin un numar oarecare de

controale,ce pot fi activate cu un simplu click de mouse.Ca orice alt

obiect,toolbars au un set propriu de proprietati,metode si evenimente.

Dintre acestea,cele mai importante sunt : AfterDock Event,BeforeDock Event

Dock Method,UnDock Event,Docked Property si DockPosition Property.Cu aju-

torul acestor metode si evenimente,obiectele de tip toolbar pot fi mane-

vrate activ,pot fi deplasate sau activate,etc.

Visual FoxPro contine un set implicit de astfel de bare de obiecte,ce

pot fi activate din meniul View,selectand optiunea Toolbars.

Cel mai utilizat obiect de acest tip este Standard Toolbar,in care se

grupeaza butoane ce controleaza operatiile cele mai comune din mediul

Visual Foxpro.Standard Toolbar este afisata in mod curent,atat in timpul

etapei de design cat si in timpul etapei de executie a aplicatiilor.

Contine butoanele: New,Open,Save,Print,Print Preview,Spelling,Cut,Copy,

Paste,Undo,Redo,Run,Database,Command Window,Data Sesion Window,Form Wizard

Report Wizard,AutoForm Wizard si Help.Daca doriti,puteti sa utilizati un

set de butoane mai mari (mai usor de selectat),selectand si butonul de

tip check box denumit "Large buttons".Nu este recomandabil sa inactivati

acest obiect,deoarece este foarte practic si usor de utilizat.Butoanele

sunt afisate cu o imagine diferita atunci cand sunt active,fata de cele

care nu sunt active in momentul respectiv.Daca un buton este inactiv,

inseamna ca lipseste o conditie oarecare pentru a putea executa operatia

pe care o controleza.Exemplu: butonul Run nu se activeaza decat dupa ce

se deschide o fila ce poate fi executata cu comanda Run.Daca sunteti

incepator,obiectele de tip toolbar va avertizeaza atunci cand o anumita

operatie nu poate fi executata in mediul de memorie actual.

Restul obiectelor de tip toolbar pot fi afisate sau nu,in functie de

preferitele utilizatorului,sau de necesitatile de moment.Pentru a afisa

o astfel de bara de controale,bifati in caseta checkbox obiectul toolbar

dorit.Se pot afisa urmatoarele obiecte: ColorPalette,DataDesigner,Form

Controls,Form Designer,Layout,Print Preview,Query Designer,Report

Controls,Report Designer si View Designer.

Utilizarea acestor bare de controale este extrem de simpla si intuitiva.

Daca unul dintre butoane este afisat ca activ,inseamna ca poate fi utili-

zat in momentul respectiv.Pentru a executa operatia controlata de butonul

respectiv,apasati butonul.Operatia se va executa imediat,fara nici o alta

comanda sau manevra auxiliara.


-103-

Uneori,obiectele toolbar pot fi activate in cascada,adica un obiect

de tip toolbar contine butoane pentru activarea unor alte obiecte de tip

toolbar.

EXEMPLU: din meniul View alegeti Toolbars si apoi bifati in caseta

Toolbars optiunea Form Designer si confirmati cu OK.Se va afisa bara de

butoane denumita Form Designer cu toate butoanele inactive.Pentru a

putea utiliza acest obiect,este necesar sa deschideti o fereastra de

tip Form Designer.

Din meniul File,alegeti Open si deschideti orice fila de tip proiect

(cu extensia .pjx).Apoi,din Documents alegeti Forms si deschideti o fila

noua,(sau alegeti o fila oarecare si apasati butonul Modify).

Dupa ce fereastra Form Designer este deschisa,toate butoanele din

Form Designer se vor activa automat.Pentru a deschide si bara de controale

denumita Form Controls Toolbar puteti apasa butonul corespunzator (cel cu

ciocan),iar pentru a deschide obiectul Color Palette Toolbar apasati

butonul respectiv (cel cu chevalet).

Acum puteti utiliza toate cele trei obiecte toolbar pentru designul

ferestrei.De exemplu,pentru a schimba culoarea de fond a ferestrei,in

Color Palette,apasati butonul Background Color si apoi executati un click

de mouse pe una dintre culori.Daca doriti sa utilizati o nuanta de culoare

apasati butonul Other Colors.Daca nici acest set de culori nu va satisface

apasati butonul Define Custom Colors si alegeti nuanta dorita (executati

un click in caseta cu nuante,sau setati valorile numerice in casetele: Red

Green si Blue).Nuanta obtinuta se va afisa in caseta Color|Solid.Daca

nuanta este cea dorita,apasati butonul Add to Custom Colors si apoi selec-

tati cu mouse nuanta din setul Custom colors si confirmati cu OK.

In mod similar,puteti utiliza orice combinatie de obiecte toolbar.

Obiectele de tip Toolbar,nu adauga facilitati noi,ci doar simplifica

munca de design.Fiecare buton executa doar o operatie prestabilita.De

exemplu,Form Designer Toolbar contine si un buton care deschide automat

instrumentul Form Builder sau instrumentul AutoFormat,precum si un buton

ce deschide fereastra Properties,sau fereastra Data Enviroment.

Obiectele de tip toolbar,pot fi modificate,astfel incat sa corespunda

mai bine necesitatilor de moment.De exemplu,alegeti din View optiunea

Toolbars,apoi selectati Form Designer si apasati butonul OK.Pentru a

personaliza acest obiect,alegeti din nou Toolbars din View si apasati

butonul Customize.In fereastra Customize Toolbar,alegeti o alta categorie

(de exemplu Debugger).Pentru a vedea ce operatie executa fiecare buton

executati un click pe butonul respectiv si apoi cititi descrierea in

caseta Description.Pentru a adauga butonul respectiv in Form Designer

Toolbar,trageti cu butonul mouse apasat,pana cand butonul este inclus in

bara de obiecte.

Mai mult decat atat,puteti crea o bara de obiecte complet noua.Din

Fereastra Toolbars,apasati butonul New,editati numele obiectului si apoi

procedati ca mai sus pentru a adauga butoanele dorite (deschideti "Custo-

mize" si trageti in obiect toate butoanele dorite).

In sinteza,mediul Visual FoxPro,va permite sa creati interfete grafice

vizuale,doar cu cateva click-uri de mouse pe alte obiecte de tip vizual.

In loc sa editati sute de linii de cod,este suficient sa alegeti obiectele

dorite si apoi sa setati proprietatile,metodele si evenimentele.Obiectele

sunt construite automat,sunt sigure,sunt standardizate,sunt complete.


-104- FILE SI FISIERE
Visual FoxPro,recunoaste orice fel de fila,cu sau fara extensie,cu con-

ditia sa fie redactate intr-un format acceptat de sistemul de operare si

sa contina doar caractere de tip ASCII.Ca urmare,se pot utiliza in mediul

Visual FoxPro si file redactate in alte programe (C++,Delphi,Visual Basic)

,dar cu anumite limite.La randul sau,Visual FoxPro genereaza un numar des-

tul de mare de tipuri de file,cu extensie specifica pentru fiecare tip.

Aceste file contin datele standard in format Visual FoxPro si pot fi uti-

lizate fara nici o restrictie sau operatie de conversie si reformatare.

Tipurile de fila editate de Visual Foxpro si extensia acestora sunt:
Documenting Wizard action diagram (.ACT),Generated application(.APP),Com-

pound index(.CDX),Database(.DBC),Table(.DBF),Database Memo(.DCT),Database

index(.DCX),Windows Dynamic Link Library(.DLL),Compilation error(.ERR),

Visual FoxPro support library(.ESL),Executable program(.EXE),Macro(.FKY),

Visual Foxpro Dynamic link Library (.FLL),Format File(.FMT),Table memo

(.FPT),Report memo(.FRT),Report(.FRX),Compiled program(.FXP),Header File

(.H),Graphical Help(.HLP),Index file(.IDX),Label memo(.LBT),Label(.LBX),

Documenting Wizard list(.LST),Variable save(.MEM),Menu memo(.MNT),Menu

(.MNX),Generated menu program(.MPR),Compiled menu program(.MPX),OLE Con-

trol(.OCX),Project memo(.PJT),Project(.PJX),Program(.PRG),Generated query

program(.QPR),Compiled query program(.QPX),Form memo(.SCT),Form(.SCX),

Generated Screen program(.SPR),Compiled Screen program(.SPX),Memo backup

(.TBK),Text(.TXT),Visual class library memo(.VCT),Visual class library

(.VCX),FoxPro 2.x view (.VUE),Window file (.WIN).
O parte dintre aceste tipuri de file sunt destul de simple si pot fi

generate direct,sau cu ajutorul unui sablon inclus in compilator.O alta


Yüklə 1,41 Mb.

Dostları ilə paylaş:
1   ...   9   10   11   12   13   14   15   16   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