|
apoi apoi intr-un proiect,sau construiti o fereastra cu mai multe butoane
|
səhifə | 15/17 | tarix | 17.03.2018 | ölçüsü | 1,41 Mb. | | #45490 |
| 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
Dostları ilə paylaş: |
|
|