Visual Foxpro 0 abc-doar


un click drept in fereastra respectiva,urmat de optiunea Remove Table



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

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

Yüklə 1,41 Mb.

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




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin