Sunteți pe pagina 1din 51

Controalele Proprietile i evenimentele specifice controalelor

Pe lng proprietile standard comune i formularelor, controalele mai au urmtoarele proprieti specifice.
Proprietatea Reprezint

Valoarea este o proprietate pe care programatorul interfeei o poate folosi ca s pstreze valoarea unei date prin simpla referire la acel control. Ea permite proiectantului interfeei s foloseasc obiectele de tip control ca o legtur ntre utilizator i aplicaie, Value prin care utilizatorul comunic aplicaiei datele de intrare i procesele pe care trebuie s le execute, iar aplicaia, rezultatele obinute. n tabelul alturat sunt prezentate tipurile de date premise pentru fiecare control predefinit. Sursa controlului stabilete sursa de date a controlului (variabila de memories au ControlSource cmpul referit) care determin i tipul datei pstrate n valoarea controlului. Printele este identificatorul formularului de care aparine controlul. Parent Alinierea caracterizeaz modul n care va fi aliniat textul n interiorul unui obiect. Proprietatea este de tip numeric i poate lua valorile: 0 Left (aliniere la stnga ; implicit), 1 Right (aliniere la dreapta), 2 Center (aliniere n centru) i 3 Automatic (implicit, alinierea este fcut de ctre sistem n funcie de tipul proprietii Value : pentru tipul numeric, la stnga, iar pentru celelalte la dreapta)

Alignment

SpecialEffect (1) al obiectului.

Aparena este de tip numeric i definete aspectul tridimensional (0) sau plat

Stilul fundalului este de tip numeric i definete stilul fundalului controlului: transparent (0) sau opac (1). Implicit, este opac. n stilul transparent este BackStyle ignorat proprietatea BackColor. Se recomand acest stil pentru controalele plasate peste imagini grafice) Bara de stare este de tip ir de caractere i reprezint textul care va fi afiat n StatusBarText bara de stare atunci cnd este focalizat controlul. Informaii despre control este de tip ir de caractere i reprezint textul care ToolTipText va fi afiat n caseta de informaii (ToolTip) atunci cand este indicat controlul cu mouse-ul. BackColor Culorile controlului care nu este disponibil sunt determinate de proprietile de tip numeric : pentru culoarea fundalului ; respectiv culoarea textului. ForeColor

ReadOnly

Protejarea la scriere este de tip logic i caracterizeaz modul de acces la un control : dac are valoarea .T., controlul nu poate fi editat (poate fi numai vizualizat) ; altfel, utilizatorul poate modifica valoarea controlului. Valoarea implicit a proprietii este .F.

Tasta de acces. Se poate focaliza rapid un control apsnd o liter mpreun cu tasta Alt. Tasta literei se numete tast de acces (access key) i ea este afiat subliniat. Tasta de acces se poate stabili astfel : n proiprietatea Caption a controlului litera folosit pentru tasta de acces se scrie precedat de caracterele : \<. De exemplu, dac legenda unui control este Telefon i litera F va fi tasta de acces, se va scrie legenda astfel : Tele\<fon. n formular legenda va fi afisat Telefon.

Evenimentele specifice sunt : Accesul condiionat When. Se declaneaz naintea primirii focalizrii. Metoda de rspuns la eveniment poate fi folosit pentru a focaliza condiionat controlul: dac nu sunt ndeplinite anumite condiii (precizate n procedur), controlul nu va putea fi focalizat. Procedura va ntoarce un rezultat de tip logic: valoarea .T. va permite primirea focalizrii, iar valoarea .F. nu. Validarea Valid. Se declaneaz nainte de pierderea focalizrii. Metoda de rspuns la eveniment poate fi folosit pentru a ceda focalizarea condiionat : de exemplu, n cazul unei casete de text, dac valoarea introdus n cmp nu ndeplinete o anumit condiie, nu se va putea focaliza urmtorul control. Procedura va ntoarce fie un rezulatat de tip logic (valoarea .T. va permite transferarea focalizrii, iar valoarea .F. va pstra focalizarea), fie un rezultat numeric (0 controlul pstreaz focalizarea, diferit de 0 focalizarea va avansa peste n controale, n fiind valoarea furnizat ; avansarea se va facen sensul acionrii tastei Tab, dac valoarea este pozitiv, i n sens invers, dac valoarea este negativ). Astfel, dac procedura ntoarce valoarea 1, focalizarea este trecut controlului urmtor, iar dac ntoarce valoarea -1, focalizarea este trecut controlului anterior.

Control
CheckBox CommandGroup EditBox TextBox Grid

Tipuri de acces permise


Integer, Numeric, Logical Character, Integer, Numeric Character, Memo Oice tip Character, Numeric

ListBox
ComboBox Spinner OptionButton OptionGroup

Character, Integer, Numeric


Character, Integer, Numeric Currency, Integer, Numeric Integer, Numeric, Logical Character, Integer, Numeric

Controale pentru executarea aciunilor


Cea mai simpl cale prin care i se permite unui utilizator s interacioneze cu o aplicaie este executarea unui clic pe un buton de pe ecran. Aceste controale pot fi de tip declanator sa buton de comand (command button) sa opiune de meniu (menu option).

Controlul CommandButton butonul de comand


Este folosit pentru a ncepe, a ntrerupe sa a termina un anumit proces n cadrul aplicaiei. De exemplu, n timpul executrii unui proces poate fi afiat un buton de comand de tip Pause care prin acionare oprete temporar executarea procesului. n timpul opririi temporare a unui proces, butonul de pauz este nlocuit cu butonul Resume pentru reluarea execuiei procesului din punctul n care a fost ntrerupt. Mai poate fi afiat i un buton Stop care poate opri execuia procesului. n general, acestui control nu i se asociaz valori, ci aciuni descrise prin procedura asociat evenimentului Click. Butonul de comand nu are proprietatea BackColor, iar proprietatea Style poate avea valorile : 0 standard (implicit) i 1 invizibil. Are proprietile WordWrap i Autosize (care vor fi prezentate ulterior).

n funcie de modul n care este informat utilizatorul despre aciunea butonului exist : Butoane n care aciunea este descris printr-un text. n acest caz, textul care descrie aciunea va fi pstrat de proprietatea Caption a controlului. Butoane n care aciunea este descris printr-o imagine. n acest caz, identificatorul fiierului care conine imagine care va fi afiat va fi pstrat de proprietatea Picture a controlului (identificatorul fiierului n care este pstrat imaginea). n cazul n care se folosete imaginea pentru descrierea aciunii, trebuie folosite i urmtoarele proprieti : DownPicture imaginea afiat cnd butonul este focalizat i DisablePicture imaginea afiat cnd butonul nu este disponibil. Declanatorul poate fi acionat n mai multe moduri : Se execut clic pe buton. Se focalizeaz butonul apsnd repetat tasta Tab i apoi se apas tasta Enter sa Spaiu. Se apas tasta Alt mpreun cu tasta de acces (tasta literei de identificare). Dac butonul de comand este butonul implicit al formularului, se apas tasta Enter, indiferent de poziia selectorului. Dac butonul de comand este butonul de anulare al formularului, se apas tasta Esc, indiferent de poziia selectorulu. Indiferent de modul ales, evenimentul este acelai (evenimentul Click) ; prin acionarea butonului se declaneaz operaia atribuit lui.

Un formular nu poate conine dect un buton implicit i un buton de anulare. Tipul butonului este controlat cu proprietile specifice unui buton de comand : Implicit Default. Este de tip logic. Dac are valoarea .T. butonul de comand este butonul implicit. Valoarea implicit pentru aceast proprietate este .F. Anulare Cancel. Este de tip logic. Dac are valoarea .T. butonul de comand este butonul de anulare. Valoarea implicit pentru aceast proprietate este .F.

Controale pentru introducerea i afiarea datelor Controlul Label eticheta


Este un control care afieaz un text pe care utilizatorul nu-l poate modifica. Poate fi folosit ca identificator al unei zone dintr-un formular, pentru furnizarea unor instruciuni pentru utilizator sau pentru identificarea unor controale care nu au proprietatea de legend (cum sunt casetele de text, zonele de editare, listele etc.). Textul care va fi afiat este memorat n proprietatea Caption a etichetei ce poate avea lungimea de maxim 256 de caractere. Proprietatea de aliniere (Alignment) se refer la tipul de aliniere folosit pentru textul etichetei. La definirea unei etichete, legenda nu poate ocupa dect o singur linie de text. Dac legenda etichetei este mai mare sau lungimea ei se poate schimba n funcie de anumite condiii (prin schimbarea textului), exist dou proprieti specifice etichetei care permit legendei s ncap n zona alocat ei : Autodimensionarea AutoSize. Este de tip logic i stabilete dac eticheta va fi redimensionat automat pe orizontal (textul va fi scris pe un singur rnd), pstrndu-i-se nlimea, astfel nct s ncap textul : .T. eticheta este redimensionat automat, iar .F. (implicit) eticheta nu este redimensionat (n acest caz textul care nu ncape n etichet este tiat i nu ami este afiat). Trunchierea textului WordWrap. Este de tip logic i stabilete cum va fi expandat eticheta (pe orizontala sau pe vertical) pentru a ncpea textul atunci cnd controlul este redimensionat : .T. textul este trunchiat, adic se mrete dimensiunea etichetei pe vertical, pstrndu-i-se limea (textul va fi scris pe mai multe rnduri, separarea textului pe rnduri fcndu-se la nivel de cuvnt), iar .F. (implicit) textul nu se trunchiaz, nu i se modific nlimea, dar este mrit limea. Dac are valoarea .T., proprietatea AutoSize este ignorat.

Controlul TexBox caseta de text


Afieaz coninutul unei variabile de memorie, al unui cmp sau al unui element de tablou i permite editarea lui. Pentru editarea textului dispune de urmtoarele faciliti : mutarea cursorului de inserare, selectarea textului i operaiile de tergere, mutare, i copiere a textului selectat (Cut, Copy i Paste). Ea poate fi folosit i pentru afisarea unui text dac este protejat la scriere (prin proprietatea ReadOnly). Pe lng proprietile standard (dimensiunea, poziia, aparena, fontul, dimensiunea i stilul caracterelor, stilul bordurii chenarului, alinierea textului n caset) ea are i proprietai specifice care caracterizeaz aspectul i modul n care se comport : Proprietatea
Style

Reprezint

Stilul este de tip numeric i stabilete stilul casetei de text : 0 Normal (implicit) i 1 Read Only (nu poate primi focalizarea ; nu poate fi modificat). Margin Marginea este de tip numeric i stabilete distana n interior, de la text la bordura controlului. Este bine s fie mai mare dect 0 pentru a face textul mai lizibil. PasswordChar Ascunderea textului este de tip ir de caractere i precizeaz ce se va afia n caseta de text ; textul editat de utilizator (proprietatea are valoarea irul vid) sau un ir de alte caractere, de exemplu * sau #. Aceast proprietate este folosit de obicei la casetele de text pentru introducerea parolei sau a codului de acces, pentru ca persoanele neautorizate s nu poat vedea textul scris.

SelectOnEntry
MaxLength

Selectarea la focalizare este de tip logic ; dac are valoarea .T., coninutul cmpului este selectat la focalizarea controlului. Se recomand selectarea la focalizare pentru cmpurile a cror valoare trebuie schimbat des. Lungimea maxim a textului (de tip numeric) stabilete numrul maxim de caractere ce pot fi scrise n caseta de text. Se folosete n cazul cmpurilor de tip ir de caractere pentru ca textul introdus s nu depeasc lungimea permis n cmp.

Proprieti prin care se controleaz formatul de introducere i afiare a datei memorate n proprietatea Value Format
Formatul de introducere (de tip sir de caractere) stabileste caracteristica intregului camp de editare. De exemplu, daca proprietatea are valoarea A, in caseta de text vor fi acceptate numai litere. Masca de introducere (de tip ir de caracrtere) stabilete un ablon pentru format n care se precizeaz caracteristica fiecrei poziii a formatului. Fa de proprietatea anterioar prezint avantajul c permite i precizarea lungimii formatului. De exemplu, dac proprietatea are valoarea 9999.99, n caseta de text se va putea scrie numai o valoare numeric ; numrul va avea maxim 4 cifre pentru partea ntreag i dou cifre pentru partea fracionar.

InputMask

Proprieti folosite la selectarea textului din caseta de text SelectedBackColor Culoarea zonei selectate este determinat de culorile folosite pentru evidenierea SelectedForeColor textului selectat pentru fundal, respectiv pentru text. SelectedStart SelectedLength SelectedText
Poziia de nceput a zonei selectate (de tip numeric). Dac nu este selectat un text, proprietatea va furniza poziia cursorului de inserare. Lungimea zonei selectate (de tip numeric) furnizeaz numrul de caractere din zona selectat. Textul selectat (de tip ir de caractere). Dac nu este selectat un text, proprietatea va avea valoarea irul vid.

Ascunderea textului selectat (de tip logic). Dac are valoarea .T. (implicit), textul selectat n caset nu va mai fi evideniat dup ce caseta pierde HideSelection focalizarea ; altfel, el va fi evideniat i dup ce a fost focalizat alt control din formular.

Proprietai specifice casetelor de text pentru introducerea cmpurilor memo


Deschiderea ferestrei de editare a cmpului memo (de tip logic) se folosete pentru a stabili modul n care se face deschiderea ferestrei: dac are valoarea OpenWindow .T. (implicit), se va deschide automat atunci cnd este focalizat controlul, altfel trebuie deschis de ctre utilizator prin apsarea tastelor Ctrl+PageDown. Fereastra folosit pentru editarea cmpului memo (de tip ir de caractere). Ea poate fi : fereastra implicit a interfeei Visual FoxPro (valoarea MemoWindow proprietii este irul vid) sau o fereastr definit de utilizator (valoarea proprietii va fi numele ferestrei).

ablonul Cod X 9 # $
Orice caracter. Numai cifre i semne (ca de exemplu semnul -)

Semnificaie

Cifre, spaii i semne


Afiarea simbolului monetar Afiarea simbolului monetar mobil. Afieaz asteriscuri la stnga valorii. Reprezint poziia punctului zecimal (separatorul ntre partea ntreag i partea fracionar). Reprezint poziia separatorului ordinelor de mrime (sute de mii, sutele de mii de milioane etc.)

$$
* . ,

Format Cod A D E K L R T ! $ Semnificaie Numai litere, fr spaii sau semne de punctuaie. Pentru datele calendaristice, se folosete formatul stabilit prin set date Datele de tip dat calendaristic vor fi editate n formatul british Selecteaz textul din cmp atunci cnd este focalizat controlul Se folosete numai pentru tipul numeric ; afieaz zerouri nesemnificative n locul spaiilor. Afieaz ablonul definit prin proprietatea InputMask. Valoarea ablonului nu va fi memorat n proprietatea Value. Se folosete numai pentru tipul ir de caractere ; nltur spaiile de la nceputul i de la sfritul irului de caractere. Se folosete numai pentru tipul ir de caractere ; convertete toate literele n litere mari. Se folosete numai pentru tipul numeric ; afieaz simbolul monetar.

Controlul EditBox caseta de editare


Spre deosebire de caseta de text care permite scrierea datelor pe un singur rnd, caseta de editare permite introducerea lor pe mai multe rnduri. Ea este recomandat atunci cnd datele de intrare sunt formate din texte foarte lungi. Fa de casetele de text, zonele de editare au urmtoarele proprieti specifice : Barele de derulare ScrollBars. Este de tip numeric. Se afieaz barele de derulare atunci cnd dimensiunea textului depete capacitatea de afiare a casetei. n general, proprietatea precizeaz dac nu exist bare de derulare, dac exist bar de derulare pe vertical, dac exist bar de derulare pe orizontal sau dac exist ambele tipuri de bare. n cazul zonei de editare, dac are valoarea 0, bara de derulare este ascuns i derularea textului n zona de editare se face numai cu ajutorul tastelor de editare, iar dac are valoarea 2, este afisat bara de derulare pe vertical, care va permite i folosirea mouse-ului. Valoarea implicit este 2. Folosirea tabulrii n text AlowTabs. Este de tip logic ; dac are valoarea .F., nu este voie s se foloseasc tasta Tab pentru editarea textului (ea va fi folosit pentru ieirea din zona de editare i predarea focalizrii urmtorului control), iar dac are valoarea .T., se poate folosi tasta Tab pentru editarea textului (pentru ieirea din zona de editare se vor folosi tastele Ctrl+Tab). Valoarea implicit este .F.

Controlul Spinner caseta de text cu derulor


Caseta de text cu derulor este un control care combin un control caset de text cu un control derulor. Derulorul faciliteaz utilizatorului modificarea unei valori numerice prin incrementare sau decrementare. Este reprezentat printr-un buton cu dou sgei (sus/jos sau dreapta/stnga) ce poate fi acionat executnd clic cu mouse-ul peu na dintre sgei. Evenimentul declanat este incrementarea/decrementarea cu un pas a valorii asociate controlului. Derulorul nu are proprietatea de legend i din aceast cauz trebuie asociat cu o etichet care s precizeze parametrul cruia i se atribuie valoarea. Pe lng proprietile standard i specifice unei casete de text, derulorul mai are i urmtoarele proprieti specifice : Pasul Increment. Este de tip numeric i reprezint cu ct se incrementeaz/decrementeaz valoarea. De exemplu, valorile numerice ntregi pot fi incrementate cu o unitate, iar cele reale cu o zecime de unitate. Pasul implicit este 1. Proprietile folosite pentru a preciza domeniul care poate fi parcurs (limitele valorii asociate controlului) sunt de tip numeric : Pentru valorile introduse de la tastatur n caseta de text : KeyboardHighValue valoarea maxim i KeyboardLowValue valoarea minim. Domeniul implicit este 2.147.483.647. Dac se introduce un numr care depete aceast valoare, se afieaz un mesaj de eroare. Pentru valorile inmcrementate/decrementate n derulor : SpinnerHighValue valoarea maxim i SpinnerLowValue valoarea minim. Dac se incrementeaz/decrementeaz peste limite, nu se afieaz un mesaj de eroare, dar valoarea controlului nu va mai fi modificat peste limitele admise.

Pentru a controla comportamentul controlului au fost adugate urmtoarele evenimente specifice : Evenimentele declanate la pierderea focalizrii controlului i care permit validarea valorii introduse (de la tastatur sau cu mouse-ul). Astfel, dac metoda de rspuns la evenimentul RangeLow ntoarce un numr mai mare dect cel introdus n control, controlul va pstra focalizarea, iar dac metoda de rspuns la evenimentul RangeHight ntoarce un numr mai mic dect cel introdus n control, controlul va pstra focalizarea. Evenimentele declanate de acionarea derulorului cu mouse-ul : UpClick cnd este acionat butonul de incrementare i DownClick cnd este acionat butonul de decrementare.

Observaie. Controlul CommandButtonGroup se folosete pentru a grupa


butoanele dintr-un formular i a uura administrarea lor. El are urmtoarele proprieti specifice : numrul de butoane din grup ButtonCount (de tip numeric) i butoanele Buttons (un vector ale crui elemente se folosesc pentru a referi butoanele din grup).

Controalele : Grid grila, Column coloana, Header antetul coloanei


Grila ca obiect de interfa se folosete pentru organizarea datelor sub form de tabele. Ea afieaz un ansamblu de rnduri i coloane. Intersecia unui rnd cu o coloan se numete celul (cell). n celulele grilei se pot scrie i se pot afisa informaii att sub form de texte, ct i sub form de imagini. Grila se realizeaz prin intermediul obiectului container Grid care conine obiecte de tip coloan Column. Obiectul coloan la rndul su conine un obiect de tip antet Header i alte controale. Controalele sunt adaptate datelor care trebuie introduse sau afiate n coloana respectiv. Cele mai folosite sunt casetele de text (de aceea ele sunt implicite la definirea unei coloane). Pentru datele care trebuie introduse de utilizator se mai pot folosi i casetele de editare sau casetele cu derulor. Dac valoarea celulei trebuie aleas din mai multe variante posibile, se pot folosi comutatoarele (pentru dou variante) sau listele. Aadar, grila este o matrice n celulele creia pot fi create diferite controale. Grila se creeaz ntr-un formular. Folosind acest tip de obiect, pot fi afiate sub forma unui tabel cmpurile dintr-un tabel. Aspectul afirii n gril este asemntor cu cel al ferestrei Browse. Fa de fereastra Browse, grila are avantajul c poate fi tratat ca un obiect cu proprieti, care tie s execute diferite metode i care tie s rspund la evenimente.

Elementele caracteristice ale unui obiect de interfa de tip gril sunt : Dimensiunea grilei. Este dat de numrul de rnduri i de coloane ale grilei. Rndul grilei. Corespunde unei nregistrri dintr-un tabel. Coloana grilei. Corespunde unui cmp din tabel sau unei variabile de memorie a crei valoare este dat de o expresie ce poate conine i cmpuri din tabel. Antetul coloanei. Este o etichet afiat n partea de sus a coloanei care conine un text explicativ referitor la datele afisate n coloan. Celula. Celula curent (celula activ) este celula care primete focalizarea. Ea este detreminat de numrul rndului i numrul coloanei la intersecia crora se gsete celula. Utilizatorul poate schimba n orice moment celula curent folosind mouse-ul sau tastatura (tasta Tab). Dimensiunea celulei este determinat de nlimea rndului i limea coloanei. Aceste proprieti trebuie s fie modificate ca s nvap n celul textul sau imaginea. Alinierea. Se refer la alinierea datelor n coloanele tabelului i n celule. Barele de derulare. Se folosesc pentru a deplasa coninutul grilei atunci cnd nu pot fi vizualizate toate datele n zona de afiare a grilei. Se pot folosi bare de derulare pe vertical i pe orizontal. Liniile folosite ca delimitatori. Pentru delimitareea celulelor se pot folosi linii care pot fi caracterizate de culaore i grosime.

Coloana cu marcajul pentru tergere. Este o coloan cepoate fi folosit pentru a marca o nregistrare pentru tergere (se execut clic n aceast coloan n dreptul nregistrrii care trebuie marcat pentru tergere la fel ca la fereastra Browse). Coloana cu marcajul rndului curent. Este o coloan ce poate fi folosit pentru a stabili nregistrarea curent (se execut clic n aceast coloan n dreptul nregistrrii care va deveni nregistrare curent la fel ca la fereastra Browse). Panourile grilei. La fel ca la fereastra Browse grila paote fi mprit n dou partiii numite panouri. Cele dou panouri pot funciona ca dou grile independente, iar divizarea lor se face prin intermediul unei bare de divizare (split).

Toate aceste elemente pot fi caracterizate cu ajutorul proprietilor grilei, coloanelor i al anteturilor, pot fi manipulate cu ajutorul metodelor i pot rspunde la evenimente specifice.

Antetul Header. Creaz un antet al unei coloane dintr-o gril prin care se afieaz o etichet n partea de sus a coloanei. Antetul poate rspunde la evenimente. Aspectul antetului poate fi stabilit prin intermediul proprietilor pentru fontul caracterelor (nume font, dimensiune, stil), pentru aliniere i culoare (pentru fond i pentru text). Obiectul nu are proprieti pentru dimensiune i poziie. Prin proprietatea Caption a antetului se stabilete textul care se afieaz ca etichet a coloanei. Antetul rspunde la evenimente declanate la aciunile mouse-ului (Click, RightClick, DblClick, MouseUp, MouseDown, MouseMove) i recunoate metoda Refresh. Coloana Column. Creeaz o coloan ntr-o gril. Coloana poate conine un obiect antet i diverse controale. Coloana poate conine date din cmpurile unui table sau valori ale unei expresii. Afiarea i editarea lor se poate face cu ajutorul controalelor. Aadar, ntr-o coloan poate fi creat un antet i pot fi adugate diferite controale. Controalele pot fi adugate la coloana unei grille cu metoda AddObject n metoda de rspuns la evenimentul Init al formularului care conine grila. Sursa de date a coloanei este dat de proprietatea ControlSource care este de tip ir de caractere (este numele unui cmp sau al unei variabile de memorie). Alinierea controalelor n coloan poate fi stabilit cu proprietatea Alignment. Coloanele nu au dect proprietatea Width (lime). Proprietile Width ale controalelor create n coloan sunt protejate la scriere (read-only). Proprietile specifice unei coloane sunt:

Proprietatea

Reprezint
Numrul de ordine al coloanei n cadrul grilei. La crearea grilei, fiecare coloan primete un index pentru referin, n ordinea n care au fost create. Numrul de ordine al coloanei este diferit de acest index i se refer la ordinea de exploatare a coloanelor ntr-o gril (afiare i focalizare). Proprietile dinamice pentru aspectul fizic al coloanei se pot folosi pentru a stabili caracteristicile fizice ale unei coloane deoarece ele sunt reevaluate dup fiecare execuie a metodei Refresh a grilei. Ele se refer la aliniere, la culori, la aspectul caracterelor i la controlul curent. Metoda folosit pentru focalizarea unei celule este de tip logic i se folosete pentru a controla modul n care poate fi focalizat o celul din coloan. Dac are valoarea .T., celula este focalizat atunci cnd utilizatorul execut clic n celul sau apas repetat tasta Tab pn este deplasat selectorul n celul. Dac are valoarea .F. (valoare implicit), aceste aciuni nu vor focaliza celula. Numrul controalelor este de tip numeric i reprezint numrul de controale definite ntr-o coloan (inclusiv antetul). Referina controalelor este un vector care conine referinele pentru controalele din coloan. Controlul current este de tip ir de caractere i conine numele controlului care afieaz i primete date n celula activ a coloanei.

Column Order

DynamicAlignment DynamicBackColor DynamicForeColor DynamicFontName DynamicFontSize DynamicCurrentControl

SelectOnEntry

Proprieti folosite pentru a administra controalele din coloan


ControlCount Controls CurrentControl

Sparse

Bound

Rspndirea influenei este de tip logic i se folosete pentru a controla modul n care controlul curent influeneaz i celelalte controale din coloan. Dac are valoarea .T. (valoare implicit), numai celula activ folosete obiectul de interfa specificate n proprietatea CurrentControl (controlul curent), iar celelalte celule din coloan folosesc pentru afoare i editare controalele de tip caset de text (TextBox). Dac are valoarea .F., toate celulele din coloan vor folosi obiectul de interfa specificate n proprietatea CurrentControl. Aadar, dac ntr-o colaon trebuie s se foloseasc pentru vizualizarea i editarea datelor un alt tip de control dect caseta de text, proprietatea Sparse a coloanei trebuie s aib valoarea .F. Domeniul sursei de date este de tip logic i se folosete pentru a controla sursa de date a controalelor din coloan. Dac are valoarea .T. (valoare implicit), toate controalele din coloan vor folosi aceiai surs de date ca i coloan, iar dac are valoarea .F., fiecare control din coloan va putea folosi propria sa surs de date. Aadar, pentru a obliga toate controalele din coloan s foloseasc sursa de date a coloanei (condiie necesar n cazul unui tabel al sursei de date), proprietatea Bound a coloanei trebuie s aib valoarea .T..

Proprietati folosite pentru manipularea coloanei Movable


Deplasarea coloanei este de tip logic i determin dac o coloan poate fi mutat sau nu. Dac are valoarea .T. (valoare implicit), coloana poate fi mutat interactiv, iar dac are valoarea .F., coloana nu poate fi mutat interactive de ctre utilizator, ci numai din program prin modificarea proprietii ColumnOrder. Redimensionarea este de tip logic i determin dac limea coloanei poate fi modificat sau nu. Dac are valoarea .T., limea poate fi modificat interactiv, iar dac are valoarea .F. (valoare implicit), nu poate fi modificat interactive dectre utilizator, ci numai din program prin modificarea valorii proprietii Width.

Resizable

Printre metodele care pot fi folosite de coloan sunt : SetAll, Refresh, SetFocus, i Move. Evenimentele recunoscute de coloan sunt: MouseMove, Moved (provocat prin mutarea interactiv a coloanei de ctre utilizator sau prin modificarea din program a proprietailor Top i Left ale coloanei) i Resize (provocat prin redimensioanrea interactiv a coloanei de ctre utilizator, sau prin modificarea din program a proprietii Width a coloanei).
Grila Grid. Adun ntr-un container mai multe obiecte de tip coloan. La nivelul grilei nu exist proprietatea Alignment (alinierea se face la nivelul fiecrei coloane). Exist proprietile pentru poziia grilei , relative la formular (Top i Left), proprietile pentru dimensiunea grilei (Hight i Width), pentru culori i pentru caracteristicile caracterelor. Pe lng aceste proprieti generale exist urmtoarele proprieti specifice. Proprieti folosite pentru a stabili aspectul fizic al grilei sunt proprieti care se refer la unele componente ale grilei, dar care nu se stabilesc la nivelul componentei, deoarece trebuie s existe un aspect unitar al acestor componente la nivelul grilei.

Proprietatea HeaderHeight

Reprezint Proprieti ce caracterizeaz aspectul grilei


nlimea antetului este de tip numeric i se msoar n pixeli

Modificarea interactiv a nlimii antetului este de tip logic. Dac AllowHeaderSizing are valoarea .T., permite modificarea interactiv de ctre utilizator a nlimii antetului. nlimea rndului este de tip numeric. Dac are valoarea -1, nlimea este aleas automat astfel nct s ncap caracterele corespunztoare RowHeight dimensiunii stabilite prin proprietile FontSize i Fontname. Modificarea interactiv a nlimii rndului este de tip logic. Dac are AllowRowSizing valoarea .T. , permite modificarea interactiv de ctre utilizator a nlimii rndului. Evidenierea celulei focalizate este de tip logic i determin cum este afiat celula foclaizat : dac are valoarea .T., calula focalizat apare HeightLight evideniat, iar dac are valoarea .F., celula focalizat nu apare evideniat.

Propriati folosite pentru a stabili aspectul fizic al elementelor grilei


Proprietatea barelor de derulare este de tip numeric i controleaz ce bare de derulare sunt afiate. Pentru valori diferite de 0 barele de derulare sunt afiate automat atunci cnd n spaiul de afiare al grilei nu pot fi afiate toate datele din sursa de date a grilei. Acionarea elementelor caracteristice ale barei de derulare sunt sesizate de evenimentul Scrolled. Barele de derulare pot fi acionate interactiv (clic pe sgei, clic deasupra, dedesubt, la dreapta sau la stnga casetei de derulare sau glisarea casetei de derulare) sau pot fi acionate din program folosind metoda DoScroll. Coloana cu marcajul nregistrrii curente este de tip logic i controleaz dac este afiat coloana ce conine marcajul pentru nregistrarea curent : dac are valoarea .T. (implicit), este afiat, iar dac are valoarea .F., nu este afiat. Coloana cu marcajele pentru tergere este de tip logic i controleaz dac este afiat coloana care conine marcaje pentru tergere. Dac are valoarea .T. (implicit), este afiat, iar dac are valoarea .F., coloana nu este afiat. Modul de afiare a liniilor este de tip numeric. Grosimea liniilor este de tip numeric i determin grosimea n pixeli a liniilor Culoarea liniilor este de tip numeric i reprezint codul culorii.

ScrollBars

RecordMark

DeleteMark

Proprieti folosite pentru a caracteriza liniile folosite ca delimitatori GridLines GridLineWidth GridLineColor

Proprieti folosite pentru a caracteriza mprirea grilei n panouri


mprirea n panouri este de tip numeric i controleaz dac grila este mprita sau nu n panouri. Dac are valoarea 0, grila nu este mprit n panouri, dac are valoarea diferit de 0, nseamn c grila este mprit n panouri, iar valoarea proprietii reprezint distana dintre marginea stng a grilei i bara de divizare a grilei n panouri. Panoul activ este de tip numeric. Dac are valoarea 0, panoul activ este n stnga, iar dac are valoarea 1 (implicit), panoul activ este n dreapta. Legtura dintre panouri este de tip logic i determin dac cele dou panouri sunt legate ntre ele (dac au acelai aspect determinat de proprietile HeaderHeight, DeleteMark, GridLines, , HeghtLight, RecordMark, RowHeight, ScrollBar) : dac are valaorea .T. (implicit), au acelai aspect, iar dac are valoarea .F., nu au acelai aspect. Numrul de coloane este de tip numeric. Implicit are valoarea -1, care nseamn numr suficient de coloane pentru a afia cmpurile sursei de date. Referirea coloanei este de tip vector i conine referine ctre coloanele grilei. Prima coloan afisat este de tip numeric i reprezint numrul coloanei (numrtoarea se face ncepnd de la stnga) care va fi prima afiat. De exemplu, dac proprietatea are valoarea 3, afiarea n gril va ncepe cu coloana 3, iar coloanele 1 si 2 nu vor fi afiate.

Partition

Panel

PanelLink

Proprieti folosite pentru a caracteriza coloanele grilri ColumnCount Columns LeftColumn

Proprieti ce caracterizeaz comportamentul grilei Proprieti folosite pentru a caracteriza celula activ (focalizat) :
Poziia absolut este furnizat de numrul rndului, respectiv numrul coloanei. Aceste proprieti sunt de tip numeric i se calculeaz fa de ActiveRow primul rnd, respectiv prima coloan a grilei. Sunt proprieti protejate la ActicveColumn scriere (read-only). Aceste valori corespund parametrilor metodei ActivateCell. Poziia relativ furnizat de numrul rndului fa de primul rnd afiat n gril i respectiv, de numrul coloanei fa de prima coloan afiat n gril. RelativeRow Aceste proprieti sunt de tip numeric. De exemplu, dac prima coloan RelativeColumn afiat n gril este coloana 2, iar proprietatea ActiveColumn are valoarea 5, nseamn c valoarea proprietii RelativeColumn este 3. Adugarea datelor la gril este de tip logic. Dac are valoarea .T. permite AllowAddNew adugarea de noi rnduri la gril (dac se apas tasta se mai adaug un rnd la gril).

Proprieti folosite pentru a caracteriza sursa de date a grilei


Tipul sursei de date este de tip numeric i caracterizeaz ce date se vor folosi pentru a popula grila. Dac datele vor fi preluate dintr-un tabel, acesta poate fi permanent sau temporar (cursor), poate fi deja construit sau poate fi construit la iniializarea grilei (n procedura asociat evenimentului Init al grilei se poate crea un tabel folosind comanda SQL, Create table). Inregistrrile tabelului vor fi rndurile grilei, iar cmpurile lui vor fi coloanele grilei. Sursa de date este de tip ir de caractere i furnizeaz numele tabelului folosit ca surs de date sau numele aliasului tabelului temporar sau numele fiierului de interogri.

RecordSourceType

RecordSource

Proprieti folosite pentru a carcteriza grila care afieaz date din tabelele bazei de date
RelationalExpr LinkMaster
Cmpul cheie este de tip caracter i precizeaz cmpul cheie care asigur legtura ntre tabelul condus i tabelul conductor i care permite reunirea celor dou tabele ntr-un singur tabel. Aliasul tabelului conductor este de tip ir de caractere i furnizeaz aliasul tabelului conductor al tabelului afiat n gril.

Valoare
0 1 2

Efect Scrollbars
Barele nu sunt afiate

Efect GridLines
Liniile nu sunt afiate

Se afieaz numai barele pe Liniile se afieaz numai pe orizontal orizontal Se afieaz numai barele pe vertical Liniile se afieaz numai pe vertical Se afieaz barele pe orizontal i pe Liniile se afieaz pe orizontal i pe vertical
Semnific : RecordSource
Numele tabelului

3 (implicit) vertical
RecordSourceType

Sursa de date este un tabel deja construit. El va fi deschis automat la 0 - Table iniializarea grilei (evenimentul Init). Tabelul care va fi sursa de date este 1 Alias (implicit) specificat prin alias. Sursa de date este un tabel al crui nume va fi specificat de utilizator prin intermediul unei casete de dialog ; dac 2 Prompt este deschis o baz de date poate alege un tabel din ea. Sursa de date este generat dintr-un 3 Query fiier de interogri (.qpr). Sursa de date va fi descris printr-o instruciune SQL Select de interogare a 4 SQL Statement bazei de date, care va genera un tabel permanent sau temporar ce va fi afiat n gril.

Aliasul tabelului. Numele tabelului.

Numele fiierului de interogri (.qpr). Instruciunea SQL.

Pe lng metodele obinuite , printre care i SetAll i SetFocus, grila mai are urmtoarele metode specifice care se pot folosi din progarm pentru a executa diferite operaii : Manipularea barelor de derulare DoScroll. Se deruleaz coninutul grilei pentru a simula acionarea interactiv a barelor de derulare. Metoda are parametrul <n>. Apelul metodei se face cu DoScroll(<n>). Parametrul <n> determin modul n care se face derularea i poate avea urmtoarele valori: 0 derulare cu un rand n sus, 1 derulare cu un rand n jos, 2 derulare cu o pagin n sus, 3 derulare cu o pagin n jos, 4 derulare cu o coloan la stnga, 5 derulare cu o coloan la dreapta, 6 derulare cu o pagin la stnga, 7 derulare cu o pagin la dreapta. Activarea celulei ActiveCell. Se schimb celula activ. Metoda trebuie s primeasc doi parametri : <n> - numrul rndului i <m> - numrul coloanei. Apelul metodei se face cu ActivateCell(<n>,<m>). Adugarea unei coloane la gril AddColumn. Se adaug un nou obiect Column la gril. Metoda trebuie s primeasc un parametru <n> - poziia coloanei n gril ; coloanele care urmeaz dup ea sunt deplasate cu o poziie spre dreapta. Apelul metodei se face cu AddColumn(<n>). tergerea unei coloane din gril DeleteColumn. Se terge un obiect Column din gril. Metoda poate primi un parametru <n> - poziia coloanei care se terge din gril, altfel se terge coloana activ (cea care conine celula activ) ; coloanele care urmeaz dup ea sunt deplasate cu o poziie spre stnga. Apelul metodei se face cu DeleteColumn([<n>]).

Evenimentele specifice grilei sunt declanate de :


Manipularea barelor de derulare Scrolled. Este declanat fie de acionarea interactiv a barei de derulare, fie de acionarea ei din program cu metoda DoScroll. Procedura asociat evenimentului primete din partea acestuia parametrul <nDirection> care i comunic modul n care a fost acionat bara de derulare : 0 derulare cu un rnd n sus (butonul sau tasta ), 1 derulare cu un rnd n jos (butonul sau tasta ), 2 derulare cu o pagin n sus (clic pe bara vertical, deasupra casetei), 3 derulare cu o pagin n jos (clic pe bara vertical, sub caset), 4 derulare cu o coloan la stnga (butonul sau tasta ), 5 derulare cu o coloan la dreapta (butonul sau tasta ), 6 derulare cu o pagin la stnga (clic pe bara orizontal, la stnga casetei), 7 derulare cu o pagin la dreapta (clic pe bara orizontal, la dreapta casetei). Marcarea pentru tergere a unei nregistrri Deleted. Este declanat fie de marcarea interactiv n gril a nregistrrii pentru tergere sau refacerea ei, fie prin marcarea pentru tergere cu comanda Delete. Procedura asociat evenimentului primete din partea acestuia parametrul <nRecNo> care i comunic numrul nregistrrii marcate pentru tergere. Schimbarea celulei focalizate (fie interactiv prin deplasarea selectorului de celul cu mouse-ul sau cu tastatura, fie din program cu metoda ActivateCell) : Dup mutarea focalizrii AfterRowColChange. Se produce atunci cnd utilizatorul mut focalizarea ntr-o celul dintr-o alt coloan sau un alt rnd al grilei, dup ce a fost focalizat noua celul i numai dac procedura asociat evenimentului When a obiectului din celula nou focalizat furnizeaz un rezultat .T.. Evenimentul furnizeaz un parametru care corespunde indexului coloanei sau rndului n care a fost mutat focalizarea. naintea mutrii focalizrii BeforeRowColChange. Se produce atunci cnd utilizatorul mut focalizarea ntr-o celul dintr-o alt coloan sau un alt rnd al grilei, nainte ca noua celul s primeasc focalizarea i nainte de evenimentul Valid al obiectului din celula din care se mut focalizarea.

Controale care permit utilizatorului s aleag


Unele aplicaii necesit ca utilizatorul s aleag din mai multe variante, de la o simpl alegere dintre dou opiuni Da/Nu, pn la alegerea unei variante dintr-o list care conine sute de posibiliti. Varianta aleas este atribuit ca valoare nou unei variabile de memories au unui camp. Controalele care permit utilizatorului s aleag sunt : Controlul Comutatorul Butoane de opiuni Lista Semnificaie
Permite utilizatorului s aleag din dou variante posibile : adevrat sau fals. Un set de opiuni care permit utilizatorului s aleag numai una dintre ele. O list de variante din care utilizatorul poate s aleag una sau mai multe variante O combinaie ntre o list i o caset de text. Utilizatorul poate fie s aleag din list, fie s scrie articolul ales n zona de editare a casetei Logic

Tipul datelor

ir de caractere sau numere

ir de caractere sau numere


ir de caractere sau numere

Caseta combinat

Controlul CheckBox comutatorul


Se folosete ntr-o aplicaie pentru a permite utilizatorului s aleag din dou variante posibile, adic s comute ntre dou variante posibile. ntr-un formular, comutatoarele sunt independente unele de altele. De obicei, legenda comutatorului afieaz numele comutatorului care corespunde datei a crei valoare va fi stabilit de utilizator. Propriatatea de aliniere a comutatorului (Alignment) se refer la modul de aranjare a legendei fa de comutator (la dreapta - 1 sau la stnga 0). Metoda de acionare a unui comutator este la fel ca i la butoanele de comand : executnd clic. Astfel, procedura asociat evenimentului Click trebuie s asigure trecerea comutatorului dintr-o stare n alta i de a atribui proprietii Value valoarea corespunztoare noii stri. Valoarea unui comutator poate fi de tip logic sau numeric : .F. sau 0, dac este dezactivat, .T. sau 1, dac este activate i NULL sau 2, dac nu este disponibil. n proprietatea Value se memoreaz 0 sau 1 dac proprietatea ControlSource este de tip numeric sau .T. sau .F. dac proprietatea ControlSource este de tip logic. Stilul de reprezentare a comutatorului poate fi stabilit cu proprietatea Style. Dac proprietatea are valoarea 0 Standard (implicit), controlul este reprezentat grafic printr-o caset care, dac are n interior semnul de validare, valoarea controlului este .T., iar dac nu are semnul de validare are valoarea .F.. De aceea se mai numete i caset de validare. Dac proprietatea are valoarea 1 Graphic, controlul este reprezentat ca un buton de comand : n interiorul su este afiat o imagine care poate fi nsoit de text (textul va fi scris centrat, sub imagine). Pentru acest stil de reprezentare trebuie folosit proprietatea DownPicture prin care se stabilete aspevtul comutatorului cnd este activat. Se recomand acestui tip de reprezentare n barele cu instrumente.

Controlul OptionButton buton de opiune Controlul OptionGroup grup cu butoane de opiuni


ntr-un formular, controlul de tip buton de opiune nu poate fi folosit independent, ci ntr-un container de tip grup de butoane de opiuni. Butoanele de opiuni se folosesc ntr-o aplicaie pentru a permite utilizatorului s aleag din dou sau mai multe variante posibile. Apartenena butoanelor de opiuni la un grup face ca la un moment dat utilizatorul s poat selecta un singur buton din grup, celelalte butoane din grup nefiind selectate. Ele funcioneaz la fel ca butoanele pentru selectarea lungimii de und ale unui aparat de radio i de aceea se mai numesc i butoane radio. ntr-un formular pot s existe mai multe grupuri de butoane de opiuni, fiecare grup avnd activat un singur buton. Grupul de butoane radio este desenat n interiorul unui recipient care are proprietatea BorderStyle egal cu 1 (fix i trasat cu linie simpl). Grupul de butoane radio nu are proprietatea de legend. Pentru a afia numele datei pentru care se stabilete o valoare cu ajutorul butoanelor de opiuni din grup, trebuie s se adauge un control de tip etichet (label). Legenda fiecrui buton afieaz valoarea care se va atribui datei asociate grupului dac se va selecta acel buton. Proprietatea de lainiere a butonului de opiuni se refer la modul de aranjare a legendei fa de buton (la dreapta sau la stnga). Butonul de opiuni este reprezentat grafic printr-un cerc care are n intrior un punct atunci cnd butonul este selectat.

n proprietatea Value se memoreaz : Dac proprietatea ControlSource este o variabil de memorie sau un cmp de tip numeric, se memoreaz poziia n grup a butonului selectat. Dac proprietatea ControlSource este o variabil de memorie sau un cmp de tip ir de caractere, se memoreaz textul explicativ (Caption) asociat butonului selectat. Butonul radio poate fi selectat prin mai multe metode : Se execut clic cu mouse-ul pe buton. Se mut selectorul n grupul de butoane radio apsnd repetat tasta Tab i apoi se selecteaz butonul activ din grup folosind tastele cu sgei. Se apas tastele de acces la buton (tasta Alt mpreun cu tasta literei de identificare).

Pentru administrarea butoanelor din grup se pot folosi proprietile specifice grupului de butoane radio : Numrul de butoane din grup ButtonCount. Este de tip numeric. Butoanele Buttons. Aceast proprietate este de tip vector i poate fi folosit pentru referirea butoanelor din grup. Se poate folosi metoda SetAll pentru a atribui aceiai valoare a unei proprieti tuturor butoanelor din grup. Sintaxa de apelare a metodei este: SetAll(<proprietate>,<valoare>).
Evenimentul Click asociat grupului de butoane radio va atribui datei valoarea asociat butonului selectat.

Controlul List lista, controlul ComboBox caseta combinat


Listele i casetele combinate sunt controale care permit utilizatorului s aleag dintr-o colecie de valori numite articolele listei (item).Ele pot fi folosite pentru administrarea sistemului sau pot fi folosite pentru introducerea datelor n cmpurile unei baze de date. Pentru administrarea sistemului, se pot construi liste cu unitile de disc din sistem, cu directoarele i ci fisierele dintr-un director. Aceste controale nu au proprietatea Caption. Din aceast cauz ele se pot folosi mpreun cu controlul Label. Proprietatea Caption a etichetei ataate poate fi folosit pentru a afia numele parametrului a crui valoare va fi stabilit de uti,izator n urma selectrii unui articol din list. Deosebirea dintre un grup de butoane radio i o list este aceea c, n cazul butoanelor de opiuni, colecia de articole din care se alege valoarea este fix, iar n cazul listei aceast colecie este variabil, controlul avnd ncorpoarate metode suplimentare pentru actualizarea coleciei (adugarea i nltuarea unor articole din list), pentru sortarea articolelor din list i pentru localizarea unui articol din list. Lista ListBox afieaz colecia de valori din care utilizatorul poate s aleag sub forma unei liste de articole ntr-o caset, afisate pe vertical, pe o singur coloan sau pe mai multe coloane (lista multicoloana) In cazul listei multicoloana un articol din lista contine mai multe coloane cu valori. Dac numrul de articole din colecie depete capacitatea de afiare a casetei, apar automat barele de derulare. Articolele listei pot s fie derulate numai pe vertical.

Caseta combinat ComboBox este un control care combin o caset de text cu o list, permind utilizatorului s aleag dintr-o colecie de valori. Aceste valori sunt afiate n list i utilizatorul poate fie s aleag un articol din list, fie s scrie valoarea de la tastatur n caseta de text. Fa de list, caseta combinat are i proprietatea Style (stil). Proprietatea este de tip numeric i poate lua valorile : 0 Drop-down Combo, adic o caset derulant combinat care conine o list derulant i o caset de tip text i 1 Drop-down List, adic o list derulant, care conine numai o list derulant (se mai numete i list ascuns). Aadar, folosind aceste tipuri de controale putei obine urmtoarele tipuri de liste : Lista simpl (List). Afieaz pe ecran mai multe articole (nu neaprat toate articolele). Se obine cu controlul ListBox. Lista ascuns sau lista derulant (Drop-down List).Afieaz pe ecran numai articolul curent selectat din list (ascunde restul articolelor). Pentru a avea acces i la alte elemente, lista trebuie s fie deschis. n urma operaiei de deschidere, lista este expandat (se deruleaza continutul), iar utilizatorul are acces la mai multe articole (nu neaparat toate). Se obine cu controlul ComboBox avnd proprietatea Style=1. Caseta derulant combinat (Drop-down List). Combin o list ascuns cu o caset de text. Afieaz pe ecran numai elementul curent selectat din list. Pentru a avea acces si la alte elemente lista trebuie deschisa. n urma operaiei de deschidere, lista este expandat (sunt afiate mai multe articole, nu neaprat toate) i se activeaz caseta de text. Utilizatorul fie poate alege un articol din lista, fie scrie valoarea in caseta de text. Se obine cu controlul ComboBox avnd proprietatea Style=0.

Sursa de date a listei Articolele listei pot fi precizate, nainte de executarea listei (liste statice), la fel ca i n cazul butoanelor radio, prin precizarea sursei de date n momentul proiectrii i citirea sursei de date a listei n momentul execuiei, dar pot fi stabilite i n timpul execuiei (liste dinamice), prin adugarea i nltuarea unor articole din list n timpul execuiei.

Proprieti folosite pentru sursa de date a listei Tipul sursei de date este de tip numeric i specific un cod prin care RowSourceType RowSource
poate fi identificat tipul sursei de date. Sursa de date este de tip ir de caractere i furnizeaz sursa de date.

RowSourceType
0 None

Articolele listei sunt furnizate :

RowSource

1 Value
2 Alias 3 SQL Statement 4 Query 5 Array

6 Fields

7 Files
8 Structure

n timpul execuiei listei folosind Nu este precizat metodele AddItem sau AddListItem Prin enumerare ntr-o list de valori. Lista de valori. Valorile sunt separate n list prin virgul. Prin preluarea din cmpurile unui tabel Numele tabelului dein baza de date sau al tabelului liber (.dbf). De o instruciune SQL Select de Instruciunea SQL. interogare a bazei de date, care va genera un tabel permanent sau temporar ce va conine articolele listei. De o interogare. Numele fiierului de interogri (.qpr). De un tablou de memorie (vector pentru Numele tabloului de memorie. lista cu o singur coloan sau matrice pentru lista cu mai multe coloane). De cmpurile unui tabel, enumerate Lista de nume de cmpuri ntr-o list. (separate n list prin virgul). Numele cmpului trebuie precedat de numele tabelului : <nume_tabel>.<nume_cmp> Un grup de fiiere dintr-un director. ablonul care descrie grupul de fiiere. Numele cmpurilor unui tabel. Numele tabelului.

Proprieti specifice listelor care au ca surs de date tablouri de memorie - prin care se controleaz intervalul de elemente din tablou care sunt preluate n list (valabil numai pentru RowSourceType=5). Proprietaile sunt de tip numeric i determin intervalul de elemente, respectiv de rnduri, care vor fi folosite ca surs de date ; altfel vor fi folosite toate elementele, respectiv toate rndurile din tablou.
Primul elemnt, respectiv primul rnd al intervalului. Implicit are valoarea 1 (primul element, respectiv primul rnd al tabloului) Numrul de elemente, respectiv numrul de rnduri preluate din sursa de date ncepnd cu primul element al intervalului. Implicit are NumberOfElements valloarea corespunztoare numrului de elemente, respectiv de rnduri ale tabloului.

FirstElement

Identificarea articolelor din list. n timpul execuiei, articolele din list sunt pstrate n memoria intern sub forma unui tablou de memorie. Dac lista are o singur coloan, tabloul va fi de tip vector cu elemente de tip ir de caractere, iar dac are mai multe coloane, va fi de tip matrice. Fiecare element al vectorului, respectiv fiecare rnd al matricei, reprezint un articol din list. Fiecrui articol din list i se atribuie, la crearea listei sau la adugarea lui la list, dou coduri numerice pentru identificare :

Cod
Index

ItemID

Reprezint Indexul reprezint poziia articolului n list la un moment dat. Operaiile de reordonare a listei, de tergere sau de adugare a unui articol au ca efect schimbarea poziiei articolului n list. n acest caz se modific i indexul articolelor, pentru a reflecta noua situaie. Codul de identificare reprezint un cod numeric unic asociat articolului care nu se modific pe toat perioada existenei articolului n list (nu se modific la schimbarea poziiei articolului n list). De obicei, acest cod este indexul iniial al articolului (atribuit articolului la adugarea lui la list). Numele proprietilor care folosesc acest cod pentru identificarea unui articol n list conin cuvntul cheie ID.

Pentru conversia celor dou coduri numerice se pot folosi metodele : Metoda Realizeaz ItemIDToIndex Furnizeaz codul asociat al unui articol specificat prin index Furnizeaz indexul unui articol specificat prin codul asociat. De exemplu, dac ntr-o list identificat prin numele Lista articolul IndexToItemID din poziia 5 are codul 20, apelarea metodei Lista.IndexToItemID(5) va furniza numrul 20, iar apelarea metodei Lista.IndexToItemID(20) va furniza numrul 5.

Proprieti folosite pentru a caracteriza tabloul de memorie ca conine articolele listei

ListCount

Numrul de articole din list este de tip numeric. Tabloul de memorie (de tip vector sau matrice, n funcie de numrul de coloane ale listei). Articiolele se pstreaz n ordinea poziiei lor curente (ordinea n care sunt afisate n list), respectiv articolele se pstreaz n ordinea dat de codurile de identificare. Ambele proprieti sunt de tip tablou de memorie. De exemplu, n lista cu numele Lista, Lista.List(5) identific al cincelea articol din list, iar Lista.ListItem(5) identific articolul din list care are codul de identificare 5. Dac lista conine mai multe coloane, trebuie precizat i numrul coloanei. De exemplu, dac Lista are 4 coloane, Lista.List(5,2) identific a doua coloan din cel de al cincelea articol din list. Proprietatea ListCount poate fi folosit pentru a parcurge elementele tabloului de la primul element pn la ultimul (ListCount). Identificatorul articolului selectat (de tip numeric) este furnizat de proprietatea care se folosete mpreun cu proprietatea List (dac are valoarea 0, nu este selectat un articol, iar dac are valoarea cuprins ntre 1 i ListCount reprezint poziia curent a articolului selectat), respectiv mpreun cu proprietatea ListItem (dac are valoarea -1, nu este selectat un articol, iar dac are valoarea pozitiv reprezint codul de identificare al articolului selectat). De exemplu, pentru a face referire la articolul selectat n lista Lista se poate folosi Lista.List(Lista.ListIntex), dar i Lista.ListItem(Lista.ListItemID). Vectorul cu indeci asociat listei n care identificarea articolului se face prin poziia n list, respectiv prin codul de identificare. Proprietatea poate fi folosit de programator pentru a atribui intern coduri speciale articolelor listei. Fiecare element al vectorului conine un cod special asociat unui articol din list, diferit de codul de identificare. Dimensiunea vectorului este egal cu numrul de elemente, respectiv cu numrul de rnduri ale tabloului asociat listei. De exemplu, n lista Lista se obine codul special asociat articolului focalizat cu Lista.ItemData(Lista.ListIndex). Codul special asociat poate fi folosit pentru a identifica un articol din list : poziia n list a unui articol cu codul special asociat cu valoarea 12345 se poate afla cu Lista.ItemIDData(12345).

List ListItem

ListIndex ListItemID

ItemData ItemIDData

Selectarea articolelor din list A selecta un articol din list, nseamn a atribui proprietii Value a obiectului de tip list valoarea articolului selectat. Dac lista este de tip multicoloan, proprietii Value a listei i se va atribui numai una dintre valorile afisate n coloanele articolului. Selectarea unui articol din list se poate face fie cu mouse-ul (se execut clic pe articol), fie de la tastatur (se deplaseaz slectorul pe articol cu tastele i Si se confirm alegerea apsnd tasta Enter). Dac lista este ascuns, n prealabil ea trebuie deschis fie cu mouse-ul (se execut clic pe butonul cu sgeat din partea dreapt), fie de la tastatur (se apas tastele Alt+). Mecanismul implementat pentru listele Visual FoxPro permite selectarea unui grup de articole din list. Aceast metod de selectare multipl este util atunci cnd trebuie s se execute operaii cu un grup de articole din list : copiere, mutare sau tergere (de exemplu, s se copieze, s se mute sau s se tearg un grup de fiiere), s se efectueze calcule cu un grup de articole etc. Pentru a avea evidena articolelor selectate, lista are asociat un vector cu valori logice de aceiai lungime ca i vectorul list. Fiecare element al vectorului descrie starea unui articol din list : dac are valoarea adevrat, articolul este selectat, iar dac are valoarea fals, nu este selectat.

Selectarea unui grup de articole din list se face prin selectarea fiecrui articol fie cu mouse-ul (se execut clic pe articol cu tasta Shift sau Ctrl apsat), fie cu tastatura (se deplaseaz selectorul pe articol cu tastele i i se confirm alegerea apsnd tasta Shift sau Ctrl mpreun cu tasta Space). Tasta Shift se folosete atunci cnd grupul de articole selectate formeaz un grup continuu n list, iar tasta Ctrl atunci cnd articolele sunt dispersate n list. Pentru anularea selectrii unui articol din grup se procedeaz la fel ca i la selectarea lui.
Dac lista permite selectarea unui grup de articole, proprietii Value a listei i se va atrubui valoarea ultimului articol selectat (chiar dac ntre timp i s-a anulat selectarea, dar dup el nu a mai fost selectat un alt articol din list). Lista poate s permit sau nu selectarea unui grup de articole. De exemplu, dac lista conine fiiere care pot fi deschise, se va putea selecta un singur fiier, iar dac lista conine documente care pot fi copiate sau mutate, se vor putea selecta mai multe documente.

Proprieti specifice selectrii multiple MultipleSelect


Selectarea multipl este de tip numeric i controleaz dac este permis (valoarea 1) sau nu (valoarea 0 implicit) selectarea mai multor articole n list. Evidena articolelor selectate este furnizat de proprietile de tip vector cu elemente de tip logic i conine attea elemente cte articole sunt n list. Fiecare element din vector reprezint starea unui articol : dac are valoarea .T., articolul este selectat, iar dac are valoarea .F., articolul nu este selectat. Cei doi vectori se deosebesc dup modul n care se face identificarea articolelor : dup poziia curent, respectiv dup codul de identificare. De exemplu, dac vrei s aflai dac n lista Lista a fost selectat al treilea articol din list, aflai valoarea proprietii Lista.Selected(3), iar dac vrei s aflai dac articolul cu codul de identificare 10 a fost selectat, aflai valoarea proprietii Lista.SelectedID(10). Aceste proprieti pot fi folosite pentru a selecta un articol sau pentru a anula selectarea unui articol din program. De exemplu, dac trebuie selectat al treilea articol din lista Lista, se atribuie valoarea corespunztoare proprietaii : Lista.Selected(3)=.T., iar dac trebuie anulat selectarea pentru articolul cu codul de identificare 10, se atribuie valoarea corespunztoare proprietii : Lista.SelectedID(10)=.F.

Selected SelectedID

Articolele listei pot fi aranjate n ordine alfabetic (sortate) sau nu. Proprietai folosite pentru a caracteriza ordonarea articolelor n list Autosortarea este de tip logic i controleaz modul n care sunt afiate articolele din list. Dac are valoarea .T., articolele din list sunt automat ordonate alfabetic, inndu-se cont de diferena dintre literele mari i mici. Dac are valoarea .F. (implicit), articolele din Sorted list sunt afiate n ordinea natural, ordinea n care au fost adugate la creare sau n care au fost preluate dintr-o surs de date. Proprietatea este disponibil numai pentru valorile 0 i 1 ale proprietaii RowSourceType. Ordonarea manual este de tip logic i controleaz dac articolele pot fi aranjate manual n list. Dac are valoarea .T., este afiat bara de mutare cere permite executarea interactiv a operaiei de mutare a articolelor n list. Dac are valoarea .F. (implicit), bara nu este afiat. MoveBars Pentru a muta un articol n list se poate folosi fie tastatura (se selecteaz articolul i apoi cu tasta Ctrl apsat se deplaseaz articolul n noua poziie cu tastele i ), fie mouse-ul (pe bara de mutare se gliseaz butonul din dreptul articolului pe care vrei s-l mutai n noua poziie). Proprietatea este specific numai controlului ListBox.

Alte proprieti specifice listei sunt : Proprietatea ControlSource Reprezint


Variabila de memorie sau cmpul n care se memoreaz valoarea elementului selectat. Dac este de tip numeric, se va memora poziia curent n list a articolului selectat, iar dac este de tip ir de caractere, se va memora textul asociat articolului selectat. Data memorat n proprietatea Value. Este de tip logic: dac are valoarea .T., n proprietatea Value se va memora textul asociat articolului selectat, iar dac are valoarea .F., n proprietatea Value se va memora coninutul variabilei sau cmpului specificat de proprietatea ControlSource. Cutarea asistat este de tip logic i controleaz dac se poate folosi metoda de cutarea asistat pentru gsirea unui articol n list. Dac are valoarea .T., se folosete cutarea asistat, iar dac are valoarea .F., nu este activat aceast facilitate. Cutarea asistat nseamn c atunci cnd este apsat o tast, sistemul interpreteaz aceast tast ca fiind primul caracter al textului afiat de articolul cutat i deruleaz lista astfel nct s fie afiat n list primul articol care ndeplinete aceast condiie. Dac se mai apas o tast, aceasta este intrepretat ca fiind al doilea caracter al textului afiat de articolul cutat i deruleaz lista astfel nct s fie afiat n list primul articol care afieaz un text care ncepe cu cele dou caractere .a.m.d. Este util s se activeze aceast facilitate dac lista are dimensiuni mari.

BoundTo

IncrementalSearch

TopIndex TopItemID NewIndex NewItemID

Primul articol vizibil din list este furnizat prin poziia curent a primului articol afiat n partea vizibil a listei, respectiv prin codul de identificare al primului articol afiat n partea vizibil a listei. Aceste proprieti se pot folosi pentru a afla dac un articol se gsete n zona vizibil a listei sau pentru a schimba articolele afiate n partea vizibil a listei. Ultimul articol adugat n list este furnizat prin poziia curent a ultimului articol adugat la list, respectiv prin codul de identificare al ultimului articol adugat la list.

Proprieti specifice listelor cu mai multe coloane ColumnCount coloane.


Numrul de coloane este de tip numeric, dac are valoarea 0, nu se afieaz Limea coloanelor este o list de numere, separate prin virgul ; fiecare ColumnWidth numr reprezint limea unei coloane. De exemplu, n lista Lista, Lista.ColumnCount=3 i Lista.ColumnWidth=5,7,9 Afiarea liniilor separatoare ntre coloane este de tip logic (dac are valoarea ColumnLines .T. implicit ntre coloane vor fi afiate linii separatoare, altfel liniile de separare sunt invizibile). Coloana preluat de proprietatea Value a controlului este de tip numeric i BoundColumn reprezint numrul coloanei al crei text va fi preluat de proprietatea Value. Implicit se preia textul din prima coloan. Textul din prima coloan este de tip ir de caractere. Proprietatea este util DisplayValue atunci cnd n proprietatea Value este preluat textul articolului dintr-o alt coloan.

Proprietile folosite pentru a controla culoarea de afiare a articolelor i a listei : Lista nu este disponibil culoarea pentru fundal, respectiv DisabledBackColor pentru text DisabledForeColor DisabledItemBackColor Articolul nu este disponibil culoarea pentru fundal, respectiv DisabledItemForeColor pentru text Articol care nu este selectat culoarea pentru fundal, respectiv ItemBackColor pentru text ItemForeColor SelectedItemBackColor Articol selectat culoarea pentru fundal, respectiv pentru text SelectedItemForeColor

Metodele specifice listei sunt :


Metoda Realizeaz
Adugarea unui articol la list. Metodelor trebuie s li se comunice textul afiat de articol (<text>), poziia n care va fi adugat (<n>), respectiv codul de identificare atribuit i numrul coloanei (<c>) n cazul unor liste cu coloane : AddItem(<text>[,<n>[,<c>]]). Dac poziia precizat este valid, articolul va fi inserat n poziia precizat. Dac nu este precizat poziia, articolul va fi inserat n poziia corespunztoare dac lista este sortat, iar dac nu este sortat, va fi adugat la sfritul listei. Dac lista are mai multe coloane i nu se precizeaz coloana, se va considera coloana 1. Aceste metode se pot folosi numai pentru listele a cror surs de date nu este precizat (RowSourceType=0). nlturarea unui articol din list. Metodelor trebuie s li se comunice indexul articolului nlturat, respectiv codul de identificare al articolului. De exemplu, apelul metodei RemoveItem(5) nltur din list articolul din poziia a cincea. tergerea coninutului unei liste. Remprosptarea listei. Aceast metod trebuie s fie apelat dup orice modificare a sursei de date. Prin aceast metod este recitit sursa de date a listei. Metoda este similar metodei Refresh.

AddItem AddItemList

RemoveItem RemoveItemList
Clear

Requery

S-ar putea să vă placă și