|
un click drept in fereastra respectiva,urmat de optiunea Remove Table
|
səhifə | 3/17 | tarix | 17.03.2018 | ölçüsü | 1,41 Mb. | | #45490 |
| un click drept in fereastra respectiva,urmat de optiunea Remove Table.
La eliminarea unui tabel se vor desface automat toate relatiile stabilite.
Apoi puteti sa adaugati din nou tabelul dorit cu un click drept in ferea-
stra Query Designer,urmat de optiunea Add Table.
Utilizati instrumentele grafice,pana cand fereastra Browse va contine
toate datele dorite si in ordinea specificata.Daca este necesar puteti
adauga si una sau mai multe conditii de filtrare sau formule de sortare
alfabetica.
In final,inchideti fereastra Query Designer,salvati fila cu un nume
oarecare,apoi construiti proiectul cu Build.
Pentru tabelele cu mai putin de 20 de inregistrari,este bine sa nu
utilizati nici o formula de selectie.Cu cat tabelele utilizate contin
un numar mai mare de inregistrari asemanatoare,cu atat operatia de for-
mulare a comenzii de selectie devine mai delicata.Nu exista nici o "regula
de aur" care sa va ofere solutia optima pentru orice situatie posibila din
practica.Pentru fiecare proiect in parte,in functie de conditiile de mediu
de operare si in functie de structura tabelelor si a bazelor de date,va
trebui sa experimentati pana cand ajungeti la solutia cea mai buna.Ideal
este sa utilizati mai multe file de tip query,fiecare astfel conceputa
incat sa satisfaca o anumita conditie.In cazul tabelelor cu milioane de
inregistrari,se vor utiliza solutii complexe,care grupeaza trei sau patru
criterii de selectie,cateva filtre si cateva criterii de ordonare.
In general este bine ca solutia oferita sa ofere maximum de date semni-
ficative,dar sa nu excluda din selectie datele importante.Pentru a putea
fi utilizate,este bine ca o selectie sa nu includa mai mult de cateva
sute de inregistrari.Astfel,tabelele utilizate pentru stocarea datelor,
pot fi oricat de mari,in timp ce tabelele utilizate pentru prezentarea
datelor selectate,este bine sa fie cat mai mici.
Datele importante,selectate cu o formula optima,este bine sa fie
pastrate intr-un tabel separat (se copiaza selectia intr-un tabel de
arhivare,de unde pot fi preluate mult mai usor).
Pentru a stabili destinatia datelor selectate cu ajutorul unei file
de tip query,din interiorul ferestrei Query Designer puteti utiliza
butonul Query Destination (cel cu o pereche de ochelari in icon).
Destinatia implicita este fereastra Browse.Pentru a salva selectia reali-
zata sub forma unui tabel definitiv,apasati butonul Query Destination,
apasati butonul Table si introduceti numele tabelului,apoi confirmati cu
OK.Daca doriti sa salvati datele intr-un tabel pre-existent,apasati
butonul cu trei puncte si selectati tabelul de destinatie.Inchideti fe-
reastra si salvati modificarile facute.Tabelul poate fi apoi reactualizat
ori de cate ori este necesar.In acest mod,puteti obtine datele dorite cu
o singura operatie(comparativ fila .qpr executa sute sau mii de operatii).
-13- FORMS
Dupa redactarea si salvarea unei selectii sub forma unei file (cu
extensia .qpr),aceasta poate fi utilizata ori de cate ori este necesar,
fie din meniul principal (cu Program si Do),fie din fereastra de comenzi
sau dintr-o fila de program,fie dintr-un proiect oarecare(in fereastra
Project Manager).Cu cat un programator este mai experimentat,cu atat
formulele de selectie sunt mai nuantate si extrag datele mai eficient.
Pentru a va forma o experienta proprie,este bine sa experimentati cat
mai multe formule posibile si sa salvati acele file care ofera rezultate
optime.
In rezumat,paginile anterioare au prezentat instrumentele de programa-
re din directorul Data din Project Manager (a nu se confunda cu directorul
Data din Samples,unde sunt stocate tabelele exemplificative).Trebuie re-
marcat faptul ca tabelele libere (Free Tables) isi schimba statutul in
momentul in care sunt incluse intr-o baza de date(se schimba primul octet)
si nu mai pot fi deschise decat dupa ce baza de date care le contine a
fost deschisa la randul sau.Unele aplicatii vor lucra mai usor cu tabele
simple,de tip Free Tables in timp ce alte aplicatii necesita ca tabelele
sa fie incluse intr-o baza de date si sa fie legate intre ele prin una
sau mai multe relatii.Filele de tip .qpr,contin expresii complexe formu-
late pentru a selecta doar o parte din datele unui tabel,sau pentru a
selecta din mai multe tabele doar datele care respecta un anumit sir de
conditii.
Urmatorul director din Project Manager,denumit Documents contine un alt
grup de instrumente grafice destinate pentru proiectarea si programarea
unei interfete cu utilizatorul.Dintre acestea,Forms este de departe piatra
de temelie pentru orice aplicatie care contine obiecte de tip Windows.
Form este acelasi lucru cu Window si reprezinta o fereastra de tip
Windows.Fiecare fereastra este un obiect de sine statator,obtinut prin
derivarea din clasa de baza.Cu alte cuvinte,fiecare fereastra este o
instanta a clasei de baza.Pentru cei mai putin familiarizati cu obiectele
Windows,o clasa de baza este un fel de sablon,sau de matrita,din care se
obtin prin derivare obiectele grafice propriu zise.
Fereastra Windows este un obiect mai special,deoarece pe langa faptul
ca detine proprietati,metode si evenimente,la fel ca orice alt obiect,
fereastra Windows are si calitatea de container,adica poate contine,poate
grupa si poate ordona alte obiecte.Din acest motiv,toate programele axate
pe obiecte grafice de tip Windows utilizeaza aceste ferestre ca suport
pentru restul obiectelor utilizate.
Fereastra Windows are circa 82 de proprietati distincte,29 de metode
si 24 de evenimente (functii pentru tratarea mesajelor Windows).Pentru
a experimenta toate aceste proprietati,din fereastra Project Manager
alegeti Documents,apoi Forms si apasati butonul New,apoi New Form.
In fereastra Form1,executati un click drept si apoi alegeti Properties.
O parte dintre proprietati sunt destinate doar pentru aspectul ferestrei.
Pentru a lucra doar cu aceste proprietati,alegeti meniul Layout.
In continuare,puteti sa va jucati putin cu proprietatile afisate,pana
cand obtineti o fereastra cu aspectul dorit. EXEMPLU:
Pentru a schimba culoarea de fond,alegeti proprietatea BackColor si schim-
bati putin valorile functiei RGB(valori acceptate sunt intre 0 si 255),
de exemplu,in loc de 192,192,192 introduceti: 25,200,100.Cele trei valori
reprezinta intensitatea culorilor Rosu=25,Galben=200 si Albastru=100.
-14- FORM
Culoarea obtinuta este o nuanta de verde smarald.Pentru a verifica
aspectul ferestrei,din meniul Form alegeti Run Form si apoi confirmati
cu Yes salvarea ferestrei.
Daca doriti ca fereastra sa fie afisata intotdeauna in mijlocul ecra-
nului,alegeti proprietatea AutoCenter si setati valoarea .T. - True.
Verificati aspectul cu Run Form.
Pentru a schimba numele ferestrei,alegeti proprietatea Caption si
introduceti numele dorit (Fereastra Principala).
Pentru a modifica dimensiunile ferestrei utilizati proprietatile:
Height si Width (Exemplu Height = 350 si Width = 600 ).
Verificati aspectul cu Run Form.
Daca doriti sa inlocuiti culoarea de fond cu un model grafic de tip
BitMap,alegeti proprietatea Picture,apasati butonul cu trei puncte din
dreapta casetei de editare si alegeti una dintre filele de tip .bmp
(de exemplu fila Fox,sau fila Print).Pentru a vedea aspecul grafic
puteti utiliza butonul Preview,apoi confirmati cu OK.
Verificati aspecul final cu Run Form.
Daca doriti ca fereastra sa poata fi marita sau micsorata cu ajutorul
butonului Zoom,alegeti proprietatea ZoomBox si setati valoarea .T.-True.
Verificati cu Run Form.
Pentru a modifica una dintre metodele implicite,selectati meniul
Methods.De exemplu,pentru a putea inchide fereastra cu un click de mouse
in fereastra,selectati evenimentul Click Event si executati un dublu
click in caseta cu acest nume.Se va deschide fereastra Form1.Click in
care puteti redefini aceasta metoda.Introduceti in fereastra textul:
ThisForm.Release
Inchideti fereastra Form1.Click si verificati metoda nou definita cu
Run Form,apoi executati un click in fereastra.
Pentru a modifica o alta proprietate implicita,alegeti de exemplu
ResizeEvent,executati un dublu click in caseta si introduceti in fereastra
Font1.Resize textul:
ThisForm.Height = 50
ThisForm.Width = 50
Apoi inchideti fereastra Form1.Resize si verificati noua metoda cu Run
Form.Observati,ca daca incercati sa modificati dimensiunea ferestrei,
aceasta se va redimensiona automat la dimensiunile de 50/50.Pentru a
reveni la metoda implicita,executati din nou un dublu click in caseta
ResizeEvent din Properties si apoi stergeti textul din Form1.Resize.
In mod similar,puteti verifica sau redefini oricare dintre metodele si
evenimentele implicite.Pentru a experimenta metode si proceduri noi,este
bine sa lucrati intr-un proiect care nu contine nici un alt fel de date
(in cazul unor erori flagrante sa nu pierdeti date esentiale).
Dupa ce fereastra are aspectul,dimensiunile si metodele dorite,
inchideti fereastra Form Designer si salvati fereastra in forma sa defi-
nitiva.
In continuare,puteti lansa in executie fereastra din interiorul
ferestrei Program Manager cu ajutorul butonului Run.
Pentru a modifica ulterior proprietatile ferestrei,utilizati butonul
Modify (dupa ce selectati fereastra dorita in directorul Documents).
Fereastra astfel realizata,este functionala,dar este goala.Pentru a
fi utila,trebuie sa adaugati unul sau mai multe controale active.
-15- FORM-LABEL si EDIT
Ferestrele Windows grupeaza unul sau mai multe obiecte,fie pentru a
prezenta date ce nu pot fi modificate (date statice),fie pentru a prelua
doar date introduse de utilizator,fie pentru a realiza o interfata grafica
interactiva in care utilizatorul primeste o serie de date in functie de
datele sau comenzile pe care le introduce in obiecte specializate.
Form Designer include un grup de 20 de obiecte standard la care se
adauga un numar foarte mare de obiecte de tip ActiveX,cu ajutorul carora
se pot imagina un numar practic nelimitat de solutii tehnice,prin care
se poate realiza legatura dintre utilizator si aplicatia software.
Cel mai simplu model de acest gen include doar obiecte de tip Label,
in care se pot afisa date statice.
Exemplu: din Project Manager,alegeti Forms,new si New Form.
Din bara de butoane(din dreapta ecranului) alegeti butonul Label (primul
din grup cu un A mare imprimat) si executati un click in fereastra Form1.
Apoi executati un click drept pe obiectul Label1 si alegeti Properties.
In fereastra Properties,alegeti Caption si scrieti un text oarecare
(EXEMPLU: Introduceti textul dorit: )
Pentru a evidentia mai bine textul,alegeti BackColor si setati:250,250,250
apoi verificati operatia cu Run Form.
In acest moment,in momentul executiei fereastra va afisa textul editat in
proprietatea Caption.Acum puteti adauga si obiecte interactive.
Daca doriti ca utilizatorul sa poata introduce date,alegeti din bara
de butoane Edit Box si apoi executati un click in fereastra Form1,undeva
sub obiectul Label1.Redimensionati caseta de editare la dimensiunile do-
rite,apoi verificati fereastra cu Run Form.In acest moment,utilizatorul
va putea introduce date in caseta de editare.
Pentru a putea inchide fereastra mai usor,adaugati un buton (selectati
din bara de controale standard Command Buton,apoi executati un click de
mouse in fereastra Form1.In fereastra Properties alegeti Caption si
modificati textul (Exemplu: INCHIDE).Pentru ca butonul sa fie functional,
executati un dublu click pe buton (sau in caseta Click Event din Proper-
ties) si introduceti in fereastra Command1.Click textul:
ThisForm.Release
Apoi verificati cu Run Form.
In acest moment,butonul trebuie sa fie functional si sa inchida fe-
reastra.Deocamdata,utilizatorul poate introduce date,dar aceste date
raman neutilizate,intr-un tampon de memorie.Pentru a putea observa
transferul de date,catre un alt obiect,adaugati inca un buton,apoi un
obiect de tip TextBox si inca un obiect de tip Label.Redimensionati Text1.
Selectati cu mouse noul buton,executati pe el un dublu click si scrieti
in fereastra Command2.Click urmatorul text:
ThisForm.Label2.Caption = ThisForm.Edit1.Text
ThisForm.Text1.SelText = ThisForm.Edit1.Text
Alegeti in Properties proprietatea Caption si scrieti: TRANSFERA
Apoi verificati cu Run Form.
Introduceti date in caseta de editare,apoi apasati butonul Transfera.
In mod normal,datele introduse vor fi copiate atat in Text1 cat si in
Label2.Inchideti Form Designer si salvati fereastra realizata.
Acum,fereastra este deja un obiect interactiv.Este bine sa verificati
cu Run Form fiecare modificare,pentru a putea corecta cat mai usor orice
greseala eventuala (depanarea este mai dificila in mediul multi-obiect).
-16- FORM - COMMAND GROUP
Urmatorul control din bara de obiecte Windows este Command Group.Se
utilizeaza atunci cand interfata grafica urmeaza sa includa un numar mare
de butoane cu functii destul de asemanatoare.In acest obiect,butoanele
sunt grupate in asa fel incat sa ocupe minimum de spatiu.In plus,toate
butoanele raspund la acelasi mesaj de tip Windows,adica exista un singur
eveniment pentru toate butoanele( nu deranjeaza deoarece butoanele nu
vor fi apasate simultan).Pentru a determina numarul de butoane se seteaza
proprietatea ButtonCount,iar pentru a identifica unul dintre butoane se
utilizeaza proprietatea Value.
EXEMPLU:
Deschideti din Project Manager o noua fereastra Form Designer(New Form).
Adaugati un obiect Label,apoi un obiect CommandGroup.
Pentru ca grupul de butoane sa fie format din 5 butoane,deschideti fe-
reastra Properties(click dreapta) si setati ButtonCount = 5.
Pentru ca fiecare buton sa contina un nume personalizat,executati un click
drept pe CommandGroup si alegeti Builder.
In fereastra Command Group Builder utilizati tabelul pentru a specifica
numele fiecarui buton in coloana Caption si adaugati eventual cate o
pictograma in coloana Graphic (apasati butonul cu trei puncte si alegeti
cate o pictograma: Exemplu - selectati fila Fox).In meniul Layout puteti
alege daca doriti sa desfasurati butoanele pe orizontala,sau pe verticala,
spatiul dintre butoane si tipul de chenar.Apoi Confirmati cu OK.
Pentru ca butoanele sa execute o operatie oarecare,trebuie modificata
una dintre metodele implicite.Din fereastra Properties,alegeti Methods,
si executati un dublu click pe evenimentul Click Event.
Pentru ca fiecare buton sa execute o operatie diferita,trebuie ca
metoda editata sa contina un criteriu de discriminare pentru fiecare
buton.O modalitate simpla este sa utilizati o bucla de tip DO CASE,sau
un sir de conditii IF.De exemplu puteti introduce textul:
DO CASE
CASE This.Value = 1
ThisForm.Label1.Caption = "Butonul 1"
CASE This.Value = 2
ThisForm.Label1.Caption = "Butonul 2"
CASE This.Value = 3
ThisForm.Label1.Caption = "Butonul 3"
CASE This.Value = 4
ThisForm.Label1.Caption = "Butonul 4"
CASE This.Value = 5
ThisForm.Label1.Caption = "Butonul 5"
ENDCASE
Verificati fereastra cu Run Form.
In mod normal,la apasarea fiecaruia dintre butoane se va afisa in Label1
numele butonului apasat.De obicei,grupurile de butoane de acest gen se
utilizeaza pentru a executa operatii similare,care se exclud reciproc,sau
pentru a executa o serie de operatii succesive(cate una pentru fiecare
buton apasat).In plus,acest gen de grup de butoane exploateaza acelasi
eveniment Windows.Prin urmare,se pot edita coduri comune pentru toate
butoanele,astfel incat fiecare buton va executa un grup de operatii comune
pentru toate butoanele si una sau mai multe operatii specifice doar pentru
butonul respectiv.
-17- FORM - OPTIONS GROUP
Options Group este un obiect asemanator cu Command Group,dar are un
aspect diferit si permite doar setarea unor optiuni care se exclud reci-
proc.Un astfel de obiect este format din butoane de tip radio,dintre
care,unul dintre butoane trebuie sa fie selectat,in orice moment al exe-
cutiei.Selectarea unuia dintre butoane deselecteaza automat restul
butoanelor.Pentru a specifica butonul implicit,se poate utiliza proprie-
tatea Value.Obiectul contine si o versiune grafica in care butoanele
radio sunt inlocuite cu butoane simple care accepta si o pictograma.Si
in acest caz,unul dintre butoane trebuie sa fie selectat,in orice moment
al executiei (spre deosebire de Commnad group,unde grupul de butoane poate
fi ignorat complet pe toata durata executiei).
EXEMPLU: din Project Manager alegeti Forms,New si New Form.
Adaugati in fereastra Form Designer un obiect de tip Option Group,exe-
cutati un click drept de mouse pe acest obiect si alegeti Builder.
In caseta Number of buttons alegeti 3.In coloana Caption introduceti
numele butoanelor(Exemplu: Fonturi mici,Fonturi mijlocii si Fonturi mari).
Apoi alegeti meniul Layout si selectati butonul Button layout Horizontal.
Pentru a schimba distanta dintre butoane,setati o valoare oarecare in
caseta Spacing between buttons (De exemplu: 10).Apoi confirmati cu OK.
Acum obiectul va contine trei butoane radio,aranjate orizontal.Deplasati
obiectul in fereastra,in pozitia dorita,apoi adaugati un control Label.
Redimensionati obiectul Label1 astfel incat sa poata include un text mai
lung,scris cu fonturi mari,deschideti fereastra Properties si setati pro-
prietatea BackColor = 250,250,250.
Selectati cu mouse obiectul Optiongroup1.In fereastra Properties puteti
modifica proprietatile obiectului.Daca doriti sa modificati doar proprie-
tatile unuia dintre obiecte,apasati butonul cu sageata din caseta de
editare(situat deasupra meniului Other) si alegeti butonul dorit(Option1,
Option2...etc).
Evenimentele obiectului,exploateaza acelasi mesaj Windows pentru toate
butoanele.Din acest motiv,metodele se vor edita astfel incat sa existe un
criteriu de discriminare a butonului selectat(la fel ca la Command Group).
Exemplu: Executati un dublu click pe Click Event si editati textul:
DO CASE
CASE This.Value = 1
ThisForm.Label1.FontSize = 15
ThisForm.Label1.Caption = "Fonturi mici"
CASE This.Value = 2
ThisForm.Label1.FontSize = 20
ThisForm.Label1.Caption = "Fonturi mijlocii"
CASE This.Value = 3
ThisForm.Label1.FontSize = 30
ThisForm.Label1.Caption = "Fonturi mari"
ENDCASE
Pentru a initializa alte fonturi,dublu click pe Init Event si editati:
IF This.Value = 1
ThisForm.Label.FontName = 'Mistral'
ENDIF
Verificati fereastra cu Run Form.Daca doriti,puteti adauga si alte metode
sau evenimente.In final inchideti fereastra Form Designer si construiti
proiectul in forma finala.
-18- FORM - CHECK BOX
Un alt control de acelasi gen este Check Box.Acest control se poate
utiliza la fel ca orice buton,dar prin conventie se utilizeaza mai ales
pentru a alege una dintre cele doua optiuni alternative ale unei anumite
Dostları ilə paylaş: |
|
|