Documente Academic
Documente Profesional
Documente Cultură
EM
L O EC N } ST I R E AT IV
INTRODUCERE
Sporirea complexit\]ii [i diversit\]ii activit\]ii economice [i sociale a generat n timp nevoia unor date din ce n ce mai elaborate [i precise. Ob]inerea acestora a fost posibil\ datorit\ evolu]iei spectaculoase a sistemelor electronice de calcul, care au permis cre[terea volumului de date culese, transmise, prelucrate [i stocate. Cursul Ini]iere `n programare elaborat de Institutul Eurocor v\ propune familiarizarea cu unul dintre cele mai folosite sisteme de gestiune a bazelor de date, [i anume Visual FoxPro. Cursul se adreseaz\ tuturor celor interesa]i s\ se ini]ieze n lucrul cu bazele de date, precum [i celor care doresc s\-[i mbog\]easc\ cuno[tin]ele pe care le au n acest domeniu. n dezvoltarea materialului am insistat n permanen]\ asupra aspectelor practice, ns\ nu am pierdut din vedere nici fundamentarea teoretic\ a ceea ce nseamn\ un sistem de gestiune a bazelor de date. Consider\m, totu[i, c\ este necesar\ familiarizarea cu anumite elemente teoretice de baz\; dac\ un utilizator sare peste aspectele teoretice [i trece direct la folosirea unui sistem, el va asimila mult mai greu produsul, multe no]iuni le va aborda incorect sau nu le va n]elege deloc. Fiecare facilitate oferit\ de un astfel de sistem are o fundamentare teoretic\ ce ajut\ utilizatorul s\ n]eleag\ logic ceea ce face. Cursul pleac\ de la ideea c\ sistemul de gestiune a bazei de date este parte integrant\, al\turi de baza de date, a unui sistem de baz\ de date. Din acest motiv, se va face mai nti o trecere n revist\ a principalelor elemente din teoria bazelor de date. n modulele urm\toare vom continua cu descrierea sistemului Visual FoxPro [i a particularit\]ilor acestuia, vom vorbi despre exploatarea [i construirea bazelor de date folosind acest sistem, despre principalele comenzi [i func]ii specifice Visual FoxPro. n ultima parte a cursului, accentul se va pune pe construirea [i executarea programelor [i, n special, pe programarea orientat\ pe obiecte. Elaborarea rapoartelor [i interogarea bazelor de date ncheie prezentarea gradual\ a materialului. Materialul cursului a fost astfel conceput `nct s\ permit\ `nsu[irea optim\ a informa]iilor prezentate. Efectuarea de la bun nceput a exerci]iilor recomandate v\ va u[ura n mod vizibil deprinderea [i consolidarea noilor cuno[tin]e. Accesibilitatea modului de prezentare a materialului [i exemplele care apar `n modulele de studiu asigur\ nsu[irea f\r\ probleme a con]inutului, chiar [i de c\tre persoanele neini]iate nc\ n domeniul program\rii. Lec]ia de fa]\ constituie o lec]ie demostrativ\, care dore[te s\ v\ familiarizeze cu metoda de studiu EUROCOR. Din punctul de vedere al num\rului de pagini, ea reprezint\ mai pu]in de jum\tate din con]inutul unui caiet de studiu. Ve]i g\si aici fragmente din caietele de curs, exemple, exerci]ii, precum [i un model de rezumat [i de tem\ pentru acas\. V\ dorim mult succes!
lec]ie demonstrativ\
Ini]iere `n programare
i e
3 (18)
indic\ faptul c\ tema respectiv\ a mai fost abordat\ n modulele anterioare (n acest caz, tema a mai fost abordat\ n modulul 3, la pagina 18).
Ini]iere `n programare
lec]ie demonstrativ\
MODULUL 2
MODULUL 3
MODULUL 4
MODULUL 5
MODULUL 6
MODULUL 7
lec]ie demonstrativ\
Ini]iere `n programare
MODULUL 8
Programarea orientat\ pe obiecte (POO) Aspecte generale. Obiecte [i clase. Caracteristicile modelului orientat pe obiecte. ncapsularea [i mo[tenirea. Terminologia modelului bazat pe obiecte. Propriet\]i, evenimente [i metode. Domeniul variabilelor. Limbajul n programarea orientat\ pe obiecte. Clasele de baz\ Programarea bazat\ pe evenimente Crearea claselor. Crearea subclaselor. Instan]ierea. Bibliotecile de clase. nregistrarea bibliotecilor de clase vizuale. Instrumente de creare a claselor. Crearea unei forme noi. Propriet\]i [i metode ale formelor n ansamblu
MODULUL 9
MODULUL 10 Utilizarea controalelor Meniul Form. Controalele grup de butoane de op]iuni (Option Buttons). Controalele grup de butoane de comand\ (Option Groups). Grilele (Grid). Controalele Page Frame. Controlul Timer (cronometru). Utilizarea controalelor. Meniurile. Componentele unui meniu. Construirea unui meniu. Propriet\]ile globale ale meniului MODULUL 11 Rapoarte. Depanarea programelor Modul de creare a unui raport. Sec]iunile raportului. Tipuri de elemente incluse n raport. Afi[area [i tip\rirea rapoartelor. Constructorul de etichete. Depanarea programelor. Modul de lucru cu depanatorul din Visual FoxPro. Instrumente de depanare. Tratarea erorilor MODULUL 12 Project Manager Fereastra Project Manager. Interogarea (Query Designer). Vederi. View Designer. Vederile locale [i la distan]\. Tehnologia client/server
Ini]iere `n programare
lec]ie demonstrativ\
Fiecare caiet de curs `ncepe cu o scurt\ introducere care are rolul de a v\ prezenta succint informa]iile ce urmeaz\ a fi expuse. Pentru `nceput, v\ prezent\m introducerea modului 2, `n care sunt prezentate no]iuni generale privind sistemul de gestiune a bazelor de date rela]ionale Visual FoxPro
Caracteristici generale
FoxPro este un sistem de gestiune a bazelor de date rela]ionale pentru microcalculatoare compatibile IBM-PC. Produsele elaborate dup\ modelul conceptual rela]ional au nceput cu dBASE n versiunile II, III, III+, IV, apar]innd ini]ial firmei Ashton Tate, devenind mai trziu ale firmei Borland. Au continuat cu Fox n diferite versiuni concepute de c\tre firma Fox Software, ulterior achizi]ionate de cea mai mare firm\ din domeniul software-ului, Microsoft.
lec]ie demonstrativ\
Ini]iere `n programare
FoxPro s-a impus pe pia]a SGBD-urilor pe PC-uri nc\ de la primele versiuni 1.02 [i 2.0. Cump\rarea [i dezvoltarea lui de c\tre firma Microsoft a condus la apari]ia versiunilor 2.5 [i 2.6, care au plasat produsul spre vrful ierarhiei n acest domeniu. ~n versiunile 2.5 [i 2.6, FoxPro a fost conceput pentru a lucra fie sub DOS sau UNIX (n modul de lucru caracter), fie sub Windows sau Macintosh (n modul de lucru grafic). Din concuren]a firmelor de software Borland (cu produsele dBASE [i Paradox), Nantucket (cu produsul Clipper) [i Microsoft (cu produsul FoxPro), s-a ajuns la versiunea FoxPro, care ofer\ posibilitatea transferului de elemente (ecrane, rapoarte, proiecte) ntre versiunile FoxPro care lucreaz\ sub diferite sisteme de operare. n domeniul limbajelor de programare, principalele rivale sunt firmele Microsoft [i Borland. Referindu-ne la SGBD-uri, politica firmei Microsoft de a dezvolta produsul FoxPro pe baza dBASE-ului a avut drept scop atragerea utilizatorilor care proiecteaz\ aplica]ii de baze de date. Prin ultimele versiuni, FoxPro este considerat cel mai performant din familia amintit\, datorit\ urm\toarelor caracteristici principale: dispune de tehnici de optimizare, dintre care cea mai important\ este tehnica Rushmore, prin care se realizeaz\ compresarea indec[ilor, efectul fiind reducerea dimensiunii fi[ierelor index cu pn\ la 80%; prin noile tehnologii de acces la date, tehnologia Rushmore a dus la cre[terea cu mult a vitezei de prelucrare fa]\ de alte SGBD-uri; dispune de un limbaj procedural propriu foarte performant, care asigur\ descrierea [i manipularea datelor, precum [i de un nucleu al limbajului neprocedural SQL (Structured Query Language); aceste limbaje se adreseaz\ profesioni[tilor, asigurnd utilizarea [i dezvoltarea de programe de mare complexitate; pentru a se adresa unei game ct mai largi de utilizatori, sistemul Visual FoxPro are componente ce pot fi apelabile att de la tastatur\, ct [i cu ajutorul mouse-ului; poate importa fi[iere din Excel, Lotus, Paradox, Symphony, Multiplan, RapidFile, ASCII; poate exporta fi[iere n Excel, Lotus, ASCII, Symphony, Multiplan, RapidFile etc.; dezvolt\ programe structurate de cel mai nalt nivel (utiliznd comenzile pentru realizarea structurilor secven]iale, alternative [i repetitive) [i modularizate (prin scrierea programelor sub form\ de proceduri); n func]ie de cerin]e, poate fi instalat n ntregime sau pot fi instalate numai modulele necesare aplica]iei; poate fi utilizat pe sta]ii de lucru individuale sau n re]ea, avnd ca avantaj cre[terea eficien]ei de utilizare a resurselor sistemului; ultimele versiuni dispun de un mecanism evoluat de conversie a programelor [i a aplica]iilor scrise n versiunile anterioare de FoxPro.
Ini]iere `n programare
lec]ie demonstrativ\
Pentru a v\ facilita re]inerea defini]iilor [i a exemplelor, acestea au fost marcate prin semne grafice. Acest tip de eviden]iere se reg\se[te pe parcursul `ntregului curs [i pentru exemplificare v\ prezent\m cteva fragmente din modulul 3.
i i
~nc\rcarea nregistr\rii vide se realizeaz\ [i cu alte comenzi de actualizare (BROWSE, CHANGE, REPLACE).
Dac\ tabela nu este activat\ [i se tasteaz\ comanda APPEND, se deschide o fereastr\ pentru selectarea tabelei.
lec]ie demonstrativ\
Ini]iere `n programare
Comenzile FIND [i SEEK Caut\ direct ntr-o tabel\ indexat\ prima nregistrare cu cheia specificat\. Comanda FIND Sintaxa comenzii: FIND ExprCheie ExprCheie poate fi un num\r sau un [ir de caractere. FIND utilizeaz\ un index fie sub forma unui fi[ier index simplu (.IDX), fie sub forma unui fi[ier index compus (.CDX). Indexul utilizat este numit index principal [i poate fi activat cu clauza INDEX din comanda USE, cu SET INDEX sau cu SET ORDER.
Este de remarcat faptul c\ FIND caut\ un [ir de caractere specificat [i nu con]inutul unei variabile. De exemplu, dac\ avem variabila: obiect=scaun birou comanda: FIND obiect nu va c\uta dup\ [irul scaun birou, ci chiar dup\ [irul obiect.
Pentru a c\uta con]inutul unei variabile se utilizeaz\ operatorul &, care realizeaz\ func]ia de macrosubstitu]ie. n acest caz, comanda opereaz\ asupra con]inutului variabilei referit\ prin numele ei [i nu dup\ numele variabilei. n aceast\ situa]ie, comanda se va scrie astfel: FIND &obiect Comanda SEEK Caut\ ntr-o tabel\ indexat\ prima nregistrare a c\rei cheie rezult\ din evaluarea unei expresii. Sintaxa comenzii: SEEK expresie expresie trebuie s\ fie de acela[i tip cu tipul cmpului din structura nregistr\rii.
Comanda FIND se recomand\ atunci cnd se lucreaz\ n fereastra de comand\, iar SEEK este preferabil\ n programe.
La executarea comenzii SEEK, pentru reg\sirea cheii n fi[ierul index, se pot returna rezultate false datorit\ faptului c\ este diferen]\ ntre literele mari [i cele mici. n acest caz, este bine s\ se utilizeze func]iile UPPER( ) de transformare a literelor mici n litere mari [i LOWER( ) de transformare a literelor mari n litere mici.
Ini]iere `n programare
lec]ie demonstrativ\
Tabelele au rolul de a completa `ntr-un mod adecvat informa]iile prezentate. Din modulele 4 [i 6, am selectat cteva fragmente pentru exemplificare.
Tipul numeric
O mare parte a datelor prelucrate de calculator este reprezentat\ de numere, pentru a c\ror descriere se folose[te tipul numeric. Cu toate c\ limbajul Visual FoxPro este un limbaj orientat pe lucrul cu baze de date [i nu unul orientat pe calcule matematice, [tiin]ifice, tipul numeric este implementat astfel nct s\ permit\ realizarea majorit\]ii opera]iilor matematice ntlnite n practic\. De asemenea, sunt prev\zute o serie de func]ii prin care se pot calcula func]iile matematice elementare, cum ar fi exponen]iala, logaritmul, func]iile trigonometrice etc., putndu-se astfel realiza calcule matematice mai complexe cu efort minim. Operanzii numerici care intervin n expresii pot fi: cmpuri numerice ale unei baze de date; func]ii care returneaz\ valori numerice; variabile de tip numeric; constante numerice. Operatorii care se aplic\ unor operanzi numerici, avnd ca rezultate tot valori numerice, sunt sintetiza]i n tabelul urm\tor:
Operator (,) **, ^ *, /, % +, Semnifica]ie grupeaz\ expresiile ridicare la putere nmul]ire, mp\r]ire, modulo (restul mp\r]irii) adunare, sc\dere
Prioritatea operatorilor din acest tabel scade de sus n jos, iar pe acela[i nivel de prioritate evaluarea se face de la stnga la dreapta, n ordinea apari]iei operatorilor n expresie. ntre dou\ expresii numerice se pot aplica, de asemenea, operatori rela]ionali, ob]inndu-se astfel expresii logice. Ace[ti operatori sunt prezenta]i n tabelul urm\tor:
Op er a t or < > = == <>, #, != <= >= Sem n ifica ] ie mai mic dect mai mare dect egal cu egalitate pentru [iruri diferit de mai mic sau egal cu mai mare sau egal cu
10
lec]ie demonstrativ\
Ini]iere `n programare
Ini]iere `n programare
lec]ie demonstrativ\
11
Fiecare lec]ie a acestui curs con]ine o serie de exemple [i exerci]ii bazate pe informa]iile expuse pe parcursul acesteia. }innd cont de importan]a `nsu[irii [i consolid\rii cuno[tin]elor, al\turi de fiecare exerci]iu ve]i intlni exemple asem\n\toare. V\ prezent\m `n continuare astfel de fragmente din modulele 7 [i 8. Structura repetitiv\ condi]ionat\ anterior Structura este implementat\ prin comanda DO WHILE... ENDDO cu urm\toarea sintax\: DO WHILE <expL> <comenzi> [LOOP] [EXIT] ENDDO Se evalueaz\ expresia logic\ <expL> [i, dac\ este adev\rat\, se execut\ setul de comenzi ce urmeaz\ pn\ la ENDDO. Fiecare DO WHILE trebuie s\ se ncheie cu ENDDO. Dac\ <expL> devine fals\, ciclul este nchis [i pointerul de control se pozi]ioneaz\ la urm\toarea comand\ ce urmeaz\ dupa ENDDO. Clauza LOOP va determina reluarea execut\rii comenzii DO WHILE. Dac\ este specificat\ clauza EXIT, aceasta returneaz\ controlul programului la urm\toarea comand\ ce urmeaz\ lui ENDDO. Aceasta reprezint\ o ie[ire for]at\ din structura repetitiv\. EXIT poate ap\rea oriunde n ciclul DO WHILE ENDDO. Exemplu a=1 DO WHILE a<=100 IF a>50 a=a+2 ELSE a=a+1 ENDIF ENDDO ?a Sunt permise structuri DO WHILE imbricate n modul urm\tor: DO WHILE <condi]ie1> <comenzi> DO WHILE <condi]ie2> <comenzi> ENDDO <comenzi> ENDDO Exerci]iul 2 Scrie]i o bucl\ DO WHILE pentru parcurgerea de la sfr[it la nceput a unei tabele.
12
lec]ie demonstrativ\
Ini]iere `n programare
READ EVENTS [i CLEAR EVENTS Comanda READ EVENTS porne[te procesorul de evenimente n timpul rul\rii unui program. Toate instruc]iunile care urmeaz\ dup\ comanda READ EVENTS nu vor fi rulate pn\ cnd comanda READ EVENTS nu este dezactivat\. Comanda CLEAR EVENTS opre[te procesorul de evenimente. Dup\ ce CLEAR EVENTS a fost executat\, controlul n program este returnat la prima linie dup\ READ EVENTS. Exemplu Exemplul urm\tor este un program foarte simplu, care arat\ cum se define[te o clas\, cum se creeaz\ un obiect cu func]ia CREATEOBJECT() [i cum se utilizeaz\ READ EVENTS [i CLEAR EVENTS.
Forma1=CREATEOBJECT(FormaTest) && se creeaza obiectul WITH Forma1 .Caption=Aceasta este Forma1 .AutoCenter=.T. ENDWITH Forma1.SHOW READ EVENTS && se porneste procesorul de evenimente RETURN * definitia clasei DEFINE CLASS FormaTest AS Form ADD OBJECT Buton1 AS CommandButton WITH ; Caption = 'Iesire', ; Left = 6, ; Top = 2, ; AutoSize = .T. PROCEDURE Buton1.Click =MessageBox(Gata, 16, READ EVENTS) RELEASE THISFORM && se inchide forma CLEAR EVENTS && se opreste procesorul de evenimente ENDPROC ENDDEFINE
Fig. 5. Forma creat\ [i mesajul care apare cnd se d\ clic pe butonul Iesire. Dup\ ce se d\ clic [i pe butonul OK, forma va fi nchis\.
Ini]iere `n programare
lec]ie demonstrativ\
13
Exerci]iul 1 Crea]i un fi[ier program [i introduce]i exemplul de mai sus exact a[a cum este scris. Executa]i apoi programul. Exemplu Exemplul urm\tor utilizeaz\ metoda AddObject() pentru a transmite doi parametri la evenimentul Init al butonului de comand\ Buton1. Forma1=CREATEOBJECT(FormaTest) Forma1.SHOW READ EVENTS DEFINE CLASS FormaTest AS Form * Proprietatile formei AutoCenter = .T. PROCEDURE Init ThisForm.AddObject(Buton1,Buton,Placinte,; Clatite) WITH ThisForm.Buton1 .Caption = Cancel .Top = 25 .Autosize = .T. .Left = 30 .Visible = .T. ENDWITH ENDPROC ENDDEFINE DEFINE CLASS Buton AS CommandButton PROCEDURE Init PARAMETERS X,Y =MessageBox(x+ si +y, 32, AddObject) ENDPROC PROCEDURE Click RELEASE THISFORM CLEAR EVENTS ENDPROC ENDDEFINE
Exerci]iul 2 n exemplul de mai sus ncerca]i s\ modifica]i procedura Init, astfel nct s\ transmite]i 3 parametri. Vizualiza]i [i acest al treilea parametru mpreun\ cu ceilal]i doi.
14
lec]ie demonstrativ\
Ini]iere `n programare
Accesibilitatea cursului este asigurat\ de capturile de imagini reprezentative, permi]nd `nsu[irea con]inutului chiar [i de c\tre cei neini]ia]i `n domeniu. Pentru exemplificare v\ prezent\m fragmente din modulul 9. Interfa]a Class Designer Class Designer (ca [i Form Designer) permite ca propriet\]ile [i metodele clasei s\ fie manipulate prin interfa]\. Fereastra Properties poate fi utilizat\ pentru a vizualiza [i modifica set\rile pentru propriet\]i (aceea[i ca [i set\rile de propriet\]i din Form Designer).
Meniul Class Dup\ ce dialogul Class Designer a ap\rut pe ecran, n bara de meniu Visual FoxPro a ap\rut o nou\ op]iune Class, cu ajutorul c\reia pute]i introduce propriet\]i [i metode noi.
Ini]iere `n programare
lec]ie demonstrativ\
15
Ad\ugarea propriet\]ilor [i metodelor unei clase Pentru a introduce o proprietate nou\: Din meniul Class, alege]i New Property. Va ap\rea urm\toarea fereastr\ de dialog:
n cmpul Name tasta]i numele noii propriet\]i. Din lista Visibility selecta]i vizibilitatea propriet\]ii. Op]iunile posibile sunt: Public, Protected, Hidden. Propriet\]ile protejate nu pot fi accesate de instan]ele clasei, dar pot fi accesate de subclase. Propriet\]ile ascunse nu pot fi accesate nici de subclase. Prin op]iunea Access Method specifica]i dac\ exist\ o metod\ pentru aceast\ proprietate. Instruc]iunile din aceast\ metod\ sunt executate de fiecare dat\ cnd proprietatea este apelat\. Dac\ a]i selectat aceast\ op]iune, va fi creat\ [i o metod\ cu numele propriet\]ii [i termina]ia _access. Op]iunea Assign Method este asem\n\toare cu Access Method, numai c\ metoda creat\ va fi executat\ cnd se ncearc\ modificarea valorii propriet\]ii. Termina]ia metodei create va fi _assign. Pute]i s\ include]i [i o descriere a propriet\]ii, care, atunci cnd proprietatea este selectat\, va fi afi[at\ n partea de jos a ferestrei Properties n Class Designer.
16
lec]ie demonstrativ\
Ini]iere `n programare
Toolbar Icon specific\ icoana care va reprezenta clasa pe bara de instrumente a controalelor. Container Icon reprezint\ icoana care va fi afi[at\ n Class Browser ca reprezentare grafic\ a clasei. Scale Units poate fie Pixels sau Foxels [i reprezint\ unitatea de m\sur\ pentru clas\. Foxels este echivalentul n\l]imii [i l\]imii medii a unui caracter bazat pe fontul curent al formei n care este con]inut un obiect. Foxels este folositor cnd se dezvolt\ aplica]ii pentru platforme grafice sau caracter diferite. Descrierea unei clase poate fi modificat\ `n Description. Informa]iile Class Name, Parent Class [i Class Library sunt read-only. Acestea arat\ numele clasei pe care clasa este bazat\ [i fi[ierul .VCX n care se afl\.
Ini]iere `n programare
lec]ie demonstrativ\
17
La finalul fiec\rui modul ve]i `ntlni cte o recapitulare, `n care sunt prezentate succint [i schematic cele mai importante informa]ii expuse pe parcurs. V\ prezent\m `n continuare recapitularea modului 10, `n care sunt tratate modalit\]ile de utilizare a controalelor.
Recapitularea modulului 10
10.1 Controalele grup de butoane de op]iuni (Option Buttons) sunt controale care con]in un num\r de op]iuni din care nu poate fi selectat\ la un moment dat dect o op]iune. Din aceast\ cauz\ mai sunt numite [i butoane radio. 10.2 Controalele grup de butoane de comand\ (Option Groups) sunt controale care con]in un num\r de butoane de comand\ care pot s\ fie tratate ca o unitate. 10.3 Controalele Grid (grile) sunt controale container sub form\ de grile ce v\ permit s\ prezenta]i datele n format tabelar. Controalele componente ale unei grile sunt coloanele, header-ele [i controalele con]inute de coloane. 10.4 Controalele Page Frame sunt containere folosite pentru crearea de pagini alternante. Fiecare pagin\ poate con]ine un set de controale grupate dup\ anumite criterii. O singur\ pagin\ a controlului poate fi activ\ la un moment dat n form\. 10.5 Controalele Timer sunt utilizate pentru lansarea periodic\ a unor evenimente ntr-o aplica]ie. Aceste controale nu sunt vizibile n program. 10.6 Mediul de date (Data environment) reprezint\ toate tabelele, vederile [i rela]iile care trebuie s\ fie deschise cnd rula]i sau modifica]i o form\. Mediul de date este salvat cu forma [i poate fi modificat n Data Environment Designer. 10.7 Sesiunea de date (Data session) este o reprezentare a mediului curent de lucru utilizat de o form\ sau set de forme. Fiecare sesiune de date con]ine propriul set de zone de lucru. Aceste zone de lucru con]in tabelele deschise, indec[ii [i rela]iile lor. 10.8 Obiectele Form au o proprietate foarte important\, numit\ WindowType, prin care se poate stabili comportamentul general al unei forme. Aceasta poate avea valorile:
18
lec]ie demonstrativ\
Ini]iere `n programare
Modal forma de]ine controlul permanent; Modeless se poate comuta la o alt\ form\ sau se poate lansa o alt\ op]iune dintr-un meniu.
10.9 Ordinea controalelor (tab order) reprezint\ ordinea n care controalele dintro form\ sunt parcurse atunci cnd ap\sa]i tasta TAB. 10.10 Variabila _SCREEN este o variabil\ sistem (este creat\ automat la lansarea sistemului) [i cu ajutorul ei se poate manipula fereastra principal\ a Visual FoxPro ca orice obiect. Prin variabila _SCREEN se pot specifica propriet\]ile [i metodele ferestrei principale Visual FoxPro dup\ aceea[i sintax\ de manipulare a obiectelor dintr-o form\. 10.11 Meniurile sunt liste de elemente care declan[eaz\ comenzi atunci cnd se alege una dintre op]iuni. Generatorul de meniuri (Menu Designer) permite introducerea sau [tergerea op]iunilor din meniuri sau submeniuri. De asemenea, pentru fiecare meniu sau op]iune ata[eaz\ proceduri [i comenzi ce vor fi lansate n execu]ie n momentul select\rii meniului / op]iunii. Elementele care definesc un meniu sunt: bara de meniu o f[ie orizontal\ care apare de-a lungul p\r]ii de sus a ecranului [i con]ine numele meniurilor; articolul de meniu o comand\ de meniu sau nume de fi[ier listate ntrun meniu. Pute]i s\ crea]i [i s\ defini]i elemente de meniu pentru aplica]iile dumneavoastr\ utiliznd Menu Designer; textul meniului un cuvnt, expresie, sau icoan\ de pe bara de meniu care desemneaz\ un meniu. Selectnd textul meniului se va produce extinderea meniului n jos. Este adesea referit ca un nume de meniu; meniul sistem combina]ia dintre bara de meniu, meniuri [i articole de meniu; meniu generat este un program generat cu ajutorul generatorului de meniuri. Programele de meniu generate au extensia .MPR.
Ini]iere `n programare
lec]ie demonstrativ\
19
Toate lec]iile au la final o tem\ pentru acas\, care are rolul de a v\ testa cuno[tin]ele `nsu[ite.
20
lec]ie demonstrativ\
Ini]iere `n programare
Cu aceasta se `ncheie lec]ia demonstrativ\ a cursului de Ini]iere `n programare. ~n speran]a c\ materialul prezentat v-a convins de accesibilitatea [i atractivitatea cursului v\ a[tept\m s\ deveni]i cursant al Institutului Eurocor `nscriindu-v\ la cursul de Ini]iere `n programare.