Sunteți pe pagina 1din 28

U1.1.

Scopul i obiectivele unitii



n aceast tem vei nva urmtoarele concepte fundamentale:
scrierea programului (ntr-un anumit limbaj de programe);
compilarea programului;
editarea de legturi (link-editarea);
execuia programului;
eventuala depanare a sa, relund procedeul de la etapa a);
mbuntirea performanelor programului.

U1.2. Introducere n programare

Fr intenia de a leza temerarii angajai n acest domeniu trebuie s constatm c varietatea soft-
ului pentru PC-uri este imens, iar performanele atinse sunt incredibile. Meninerea n aceast curs
necesit echipe de specialiti pregtii temeinic i eforturi deosebite - ntinse pe perioade de luni sau chiar
ani de zile. Deci, nu v ateptai ca dup parcurgerea acestui capitol s putei aborda realizarea unui
program (pachet de programe) care s rivalizeze cu cele deja prezentate. Posibilitile unui singur
programator sau a unei echipe restrnse sunt mult mai modeste.
Dac aa stau lucrurile, este oare nevoie s programm? Sau trebuie s apelm ntotdeauna la
firme specializate?
n practic intervin frecvent cazuri n care este necesar construirea unui program deoarece orict
de generoas ar fi familia aplicaiilor deja disponibile este imposibil a acoperi infinitatea situaiilor
concrete. Aceste situaii inedite nu se refer la noi tipuri de probleme sau la revoluionarea modului de
lucru, ci n general, la modeste adaptri. Iat cteva situaii n care efortul de programare i dovedete pe
deplin utilitatea;
-adaptarea unui program (editor de texte) la specificul naional (caracterele romneti: , , , , );
-prelucrri sumare ale datelor (conversii, prelucrare efectiv);
-extinderea unei aplicaii cu module proprii;
-construirea unei aplicaii cu nalt grad de particularitate etc.
Un programator va putea rezolva o situaie neplcut de acest gen nefiind restrns la gama de
operaii oferite ntr-un pachet. n general, ns, nu pot fi abordate proiecte ample, ci doar operaii
punctuale.
Iar pentru ducerea la bun sfrit a unui astfel de proiect restrns sunt necesare cunotine tehnice
i studiu mult mei aprofundat dect cel a unui simplu utilizator.
Dac totui trebuie s programm, atunci s programm bine i eficient. S nu ne apucm s
reinventm gramafonul cnd acum muzica se ascult pe compact - discuri. Deci mai nti trebuie trecut n
revist soft-ul deja existent i doar n cazul n care acesta nu este suficient s ne construim propriile
programe. Iar atunci cnd abordm o aplicaie s alegem cea mai performant dintre uneltele disponibile.

U1.3. Noiuni de programare

Prezentarea amnunit a acestor noiuni se face pe baza schemei principiale de realizare a unui
program. Invariabil, etapele necesare de parcurs sunt urmtoarele:
scrierea programului (ntr-un anumit limbaj de programe);
compilarea programului;
editarea de legturi (link-editarea);
execuia programului;
eventuala depanare a sa, relund procedeul de la etapa a);
mbuntirea performanelor programului.



a) Scrierea programului presupune editarea unui fiier ce conine textul programului. Acest fiier
se cheam fiier-surs i este - dup cum am menionat-un fiier cu text n format ASCII. n interiorul su
el conine instruciuni ale limbajului n care se face programarea.
Un limbaj de programare este foarte asemntor limbajului obinuit (natural); el reprezint un
sistem de convenii pe baza cruia se efectueaz o comunicare. Deci limbajul de programare este un
sistem de cuvinte (cheie), semne, construcii cu cuvinte i semne care ne asigur de faptul c transmitem
calculatorului ceea ce dorim s realizeze.
b) Propoziiile i frazele unui limbaj de programare nu sunt direct nelese de calculator. Ele
sunt traduse din aceast form uor manevrabil n instruciuni main (singurele recunoscute de
microprocesor) de ctre un program ce se cheam compilator. Acest program recunoate noiunile din
fiierul-surs i le convertete n echivalenele lor n limbaj main pe care le depune ntr-un fiier de
ieire numit fiier-obiect.
c) Fiierul-obiect produs de un compilator nu este, nc, gata de a fi executat necesitnd o
prelucrare suplimentar a crei raiune va fi prezentat n continuare.
Dac fiierele-surs ar fi traduse ca atare ele ar putea conine mult informaie redundant. Spre
exemplu, s considerm un program care printre altele scrie mesaje pe monitorul calculatorului.
Dac fiecare instruciune din fiierul-surs ar produce instruciuni care realizeaz scrierea unui
mesaj aceast poriune de cod s-ar gsi repetat (cu mici modificri) n mai multe locuri din program.
Pentru nlturarea unui astfel de lucru nedorit, operaiile cel mai des folosite sunt izolate ntr-o colecie
de rutine de unde pot fi apelate oricnd este nevoie.
Deci, dup compilare, fiierul-obiect produs nu va conine ntotdeauna instruciunile necesare
unei operaii ci eventuale referiri la rutina de bibliotec ce execut operaia n cauz.
Editarea de legturi (link-editarea) va rezolva aceste referiri stabilind conexiunile dintre
referiri i punctele referite. Ea va conecta referinele nerezolvate de compilator cu modulele de bibliotec
ce le corespund.
Din colecia de rutine (denumit bibliotec) vor fi extrase numai aceste rutine (module) referite
care mpreun cu instruciunile din fiierul-obiect vor constitui un program coerent. adic un fiier-
executabil.
d) Execuia programului este scopul final al etapelor anterioare i presupune lansarea fiierului-
executabil astfel obinut. Pentru aceast operaie sunt eventual necesare:
-ndeplinirea unor cerine din partea sistemului;
-specificarea de parametri corespunztori pentru program.
e) n cazul unui program mai amplu sau n cazul unui debut n programare va fi ntotdeauna
necesar depanarea programului obinut deoarece (fr gre) acesta nu va funciona din prima. Pentru
depistarea eventualelor erori stau la dispoziie pachete de programe numite depanatoare.
f) Dup ce programul a fost convins s funcioneze corect, abia atunci este cazul a ncerca
mbuntirea performanelor sale (vitez de execuie, resurse sistem mai reduse, protejare la erori).
Pentru acest reglaj fin stau la dispoziie programe de tip profiler care detecteaz zonele de programe
ce consum cele mai mari cantiti de timp, punctele n care trebuie s se concentreze atenia
programatorului.
De regul se obinuiete a se lansa o versiune de test (versiunea beta) a aplicaiei care este
exploatat efectiv pentru a se constata eventualele erori de funcionare.
Etapele de compilare i link-editare sunt necesare pentru realizarea unui program compilat. Se pot
executa aplicaii i fr producerea fiierelor obiect i executabil. Metoda folosit este cea a unui
interpretor.
Un interpretor, compileaz, link-editeaz i execut un program linie-cu-linie. Pe msur ce
sunt citite linii din fiierul-surs ele sunt transformate n instruciuni main i executate imediat. Pentru
un program dat, un interpretor nu mai produce fiierele-obiect i executabil, opernd numai cu fiierul-
surs.
Care din metode este mai bun, cea a unui compilator sau cea a unui interpretor?
Pentru interpretor pledeaz un singur avantaj i anume reducerea timpului de punere la punct a
unei aplicaii (prin eliminarea etapelor intermediare), dar acest avantaj este infim, deoarece n
momentul de fa, mediile de programare de tip compilator, sunt extrem de rapide (sute de linii de text-
surs pe secund) i realizeaz automat link-editarea i execuia, astfel nct ntrzierile provocate de
etapele suplimentare sunt neglijabile.
n schimb, avantajele unui program compilat fa de un program interpretat sunt zdrobitoare:
- vitez de execuie de cteva ori (chiar zeci de ori) mai marc;
- posibilitatea de a rula de sine stttor; odat compilat, compilatorul nu este necesar n execuia
programului, pe cnd un program interpretat nu se poate executa dect dac interpretorul se afl n
memoria calculatorului;
- programul compilat dispune de resursele sistemului n ntregime, pe cnd cel interpretat le
mparte cu interpretorul (mai ales memoria, care este de multe ori critic);
- flexibilitate sporit n realizarea programelor compilate (adugarea de noi biblioteci, redefinirea
unei rutine deja existente etc).
Toate aceste consideraii au determinat ca interpretoarele s fie pe cale de dispariie la ora de fa
sau oricum, s fie dublate de un compilator. Spre exemplu limbajul BASIC ce beneficia iniial numai de
interpretor posed n prezent i compilatoare care ncearc s-l menin n atenia programatorilor.
Noiunile de mai sus descriu etapele principale ale realizrii unui program, n plus fa de aceste
elemente fundamentale ce asigur o viziune de ansamblu asupra procesului este necesar s amintim i
cteva noiuni de detaliu ce intervin frecvent n practic.

U1.4. Mediu de programare

Un pachet de programe ce asigur toate operaiile de mai nainte poart numele de mediu de
programare.
Deci cu ajutorul su:
- se editeaz un program;
- se compileaz i eventual link-editeaz automat;
- se lanseaz n execuie;
- se depaneaz un program;
- se poate regla execuia unui program (cu un profiler).
Mediile de programare disponibile n prezent sunt deosebit de performante i ofer utilizatorului
toat gama de servicii necesare (help, exemple gata-construite etc.), prin intermediul unor programe
puternic interactive. Ele transform munca laborioas a programatorului ntr-un succes aproape sigur.
Interfa de programare
Nici un program nu este construit de la zero. Spre exemplu, programele ce lucreaz sub MS-DOS
se bazeaz pe interfaa DOS, folosind rutinele elementare ale acesteia (scriere caracter la consol, citire
caracter de la tastatur etc). Interfaa de programare reprezint suportul pe care se construiete un
program. Desigur, cu ct acest suport este mai elaborat i programul n cauz va fi mai elaborat i va fi
mai uor de atins un nivel ridicat al complexitii operaiilor realizate. Un program realizat pentru a rula
sub Windows (deci bazat pe interfaa Windows) are la dispoziie faciliti de multitasking, nu mai trebuie
s gestioneze diversele driver-e (de ecran, imprimant, tastatur etc), toate acestea fiind deja rezolvate de
Windows.
Biblioteci de programare
Dup cum ai constatat din prezentarea anterioar operaia de link-editare nseamn conectarea
unui fiier-obiect la rutinele corespunztoare. Aceste rutine pot exista ntr-un fiier pe disc i link-editarea
se realizeaz static, obinndu-se un fiier-executabil.
Exist, ns, i biblioteci ce se ncarc n memorie i sunt gestionate de un program (de ex.
Windows). in momentul lansrii n execuie a unei aplicaii, aceasta se afl pe disc ne-link-editat. Ea va fi
ncrcat n memorie i link-editat dinamic cu modulele existente n memorie. Astfel, aplicaia va fi
rulat fr ca s fie produs fiierul-executabil n forma sa complet.

Overlay-uri (acoperiri)
n momentul n care un program este prea mare pentru a ncape n memoria calculatorului se
recurge la fragmentarea sa. Se pstreaz din program o parte principal (numit rdcin) care se va afla
n memorie i de asemenea se rezerv n memorie spaiul necesar pentru ncrcarea pe rnd, a celorlalte
pri ale programului n funcie de necesiti.
Desigur aceast tehnic de overlay presupune ca segmentul principal de program s conin, n
plus fa de modulele propriu-zise, i module ce vor gestiona ncrcarea de pe disc a acoperirii
(overlay-ului) necesar la un moment dat.
Un mediu de programare inteligent nu trebuie dect s fie informat c se dorete lucrul cu
overlay-uri i va genera automat instruciunile necesare acestei tehnici.
Memorie virtual
Deoarece memoria intern pune de multe ori probleme realizatorilor de programe, a fost introdus
un concept ce ajut imens programatorii, i anume: memoria virtual. Aceast memorie este privit de
program ca memorie intern, dar ea se poate afla fizic n orice tip de memorie (expandat, extins, pe
disc).
Pentru implementarea memoriei virtuale exist concepute module (rutine) speciale ce
funcioneaz asemntor tehnicii de overlay.
Spre exemplu un program necesit 20 Mb de memorie intern dar sistemul dispune de 1 Mb
memorie RAM i 40 Mb memorie pe disc. Atunci se poate declara o memorie virtual de 20 Mb / l Mb
RAM+19 Mb pe disc. Cnd programul va face un apel la memoria virtual ce se afl mapat pe disc,
gestionarul de memorie virtual va ncrca acea informaie n memoria intern i va permite programului
s lucreze cu ea (modalitate de lucru facilitat de modul de adresare virtual a procesorului 80386).

U2.1. Scopul i obiectivele unitii
n aceast tem vei nva urmtoarele concepte fundamentale:
Limbajele de programare;
Limbajele de nivel sczut de nivel nalt;
Limbajele procedurale/neprocedurale;
Limbaje orientat;
Limbaje concurente.

U2.2. Noiuni introductive
Un limbaj de programare este un sistem de convenii adoptate pentru realizarea unei comunicri -
ntre programator i calculator. Limbajele folosite pentru programarea unui calculator sunt extrem de
asemntoare limbajelor naturale. Ele sunt compuse din:
- cuvinte (rezervate);
- punctuaie;
- propoziii i fraze;
- reguli sintactice etc.
Aa cum pentru nsuirea unei limbi strine trebuie nvate cuvintele acesteia i regulile cu care
pot fi manevrate tot aa pentru nsuirea unui limbaj de programare trebuie studiate cuvintele i semnele
care l compun mpreun ca reguli de manevrare a lor.
Dup metoda cu care este conceput ansamblu comunicrii, limbajele pot fi clasificate n mai
multe moduri.
n continuare vom enumera cele mai importante clase de limbaje, descriere ce acoper totalitatea
limbajelor existente.

U2.3. Limbajele de nivel sczut - de nivel nalt
Nivelul unui limbaj este apreciat prin poziia pe care o ocup pe scara constituit de limbajul recunoscut
de microprocesor (limbaj main) i limbajul natural al programatorului (limba romn, limba englez .



Un limbaj de nivel sczut este foarte apropiat de main, el manipuleaz cu elemente de nivel hardware,
fizic, cum ar fi: registru-micro-procesor, locaie de memorie, port de intrare/ieire etc.
Un limbaj de nivel nalt sau foarte nalt manipuleaz cu concepte apropiate de limbajul natural,
concepte de nivel logic, cum ar fi: colecie de date, nume de operaie (sort = sortare, writeln = scrie linie,
open = deschidere fiier etc), variabile, constante (asemntoare ca neles cu cele din matematic) etc..
Cu ajutorul unui limbaj de nivel nalt programatorul se face mai uor neles de ctre calculator.
Uneori o singur linie de program scris cu un astfel de limbaj poate echivala cu sute de linii de program
scrise n limbaj main. Deci, din punct de vedere al reducerii timpului de realizare a unui program i al
siguranei n funcionare (absena erorilor de programare) este de preferat un limbaj de nivel ct mai
ridicat (nalt sau foarte nalt). n schimb, pe msur ce limbajul are un nivel mai ridicat execuia
programului conceput cu ajutorul su va fi mai lent, dect a unui program ce realizeaz aceleai operaii
dar este scris n limbaj de asamblare. Motivele acestei diminuri de vitez sunt multe; amintim cteva
dintre ele:
- fiind apropiat de main, limbajul de asamblare exploateaz la maxim posibilitile acesteia;
- limbajul de nivel nalt este un cadru general, deci automat posed cod (instruciuni) ce decide
asupra specificitii operaiei cerute i dup identificarea ei pune n execuie codul propriu-zis care
realizeaz operaia;
- limbajul de nivel nalt poate conine cod ineficient sau inutil pentru o anumit operaie deoarece
acest cod trebuie s funcioneze i pentru alte operaii din aceeai clas.
n prezent acest dezavantaj al limbajelor de nivel nalt nu mai este considerat esenial. El este
compensat de sporirea resurselor hard.
Modalitatea modern de abordare a problemelor poate fi sintetizat astfel:
De ce s programez luni de zile sau ani de zile n plus, cnd pot cumpra un calculator mai
rapid?!
Ideal ar fi ca cele dou tipuri de limbaje s fie folosite combinat. Programul se realizeaz cu un
limbaj de nivel nalt, apoi se lanseaz un profiler i se detecteaz instruciunile n care se consum cel mai
mult timp sau timp inutil. n aceste puncte se rescriu instruciunile respective folosind limbajul de
asamblare. Aadar randament sporit de un mai bun raport efort/performane.
n unele cazuri necesitatea folosirii limbajului de asamblare este de nenlturat. Aceste situaii
apar n cazul unor operaii nestandard, ce nu sunt puse la dispoziie de limbaje de nivel nalt (de ex:
manipularea unui modem, a unui cititor de cod de bare etc.) Pentru aceste cazuri limbajul de asamblare
este singura soluie, deoarece este singurul care poate exploata toate posibilitile sistemului.
O alt diferen esenial ntre cele dou tipuri de limbaje o reprezint posibilitatea, adic
posibilitatea transferrii programelor pe un alt tip de main dect cea pe care au fost construite. Din acest
punct de vedere limbajul de asamblare este neportabil deoarece el este specific microprocesorului.
Programele realizate pe un tip de main trebuie rescrise integral pentru noul tip de main, folosind un
nou set de instruciuni - care de obicei difer foarte mult. De asemenea programul scris n limbaj de
asamblare este legat direct de interfaa de programare pe baza creia a fost construit. Schimbarea acesteia
va impune rescrierea programului. Deci, un program scris pentru un IBM-PC dotat cu sistem de operare
MS-DOS nu va putea fi utilizat pe un IBM-PC dotat cu sistem de operare UNIX.
Lucrurile stau altfel cu programele concepute cu ajutorul unui limbaj de nivel nalt, deoarece
acestea sunt detaate de main. Intre un astfel de program i calculator se interpune compilatorul (sau
interpretorul) care rezolv corect transformarea fiierului-surs n fiier-executabil.
n prezent limbajul main este extrem de rar folosit de programatori, el este rezervat
constructorilor de calculatoare.


U2.4. Limbaje procedurale / neprocedurale
Cele dou tipuri de limbaje, procedurale i neprocedurale, se difereniaz prin nivelul de
organizare (structurare) a unui program, limbajele neprocedurale sunt concepute pentru a gndi un

program la nivel de instruciune, pe cnd cele procedurale, oblig programatorul s conceap
programe la nivel de bloc.
Desigur, ntr-un limbaj procedural (numit i limbaj structurat) programele sunt scrise instruciune
cu instruciune, dar ele sunt organizate logic n blocuri (grupuri de instruciuni) ce realizeaz o aciune
bine determinat. n figura urmtoare sunt prezentate - vdit exagerat - modurile n care se desfoar
atenia programatorului pentru a realiza (sau depana) un program.
Avantajul esenial al programrii structurate l constituie conceptul de bloc de program. Un astfel
de bloc reprezint un set de instruciuni ce realizeaz o operaie bine determinat. n general un bloc are
un punct de intrare i un punct de ieire - nu mai multe.
Deci un program structurat este mult mai lizibil dect unul nestructurat.
n al doilea rnd programarea structurat permite lucrul la un nivel logic mai nalt. Odat definite
blocurile ce realizeaz operaii elementare (intrri, ieiri, prelucrri), programatorul va gndi programul n
aceti termeni, nu la nivel de instruciune, deci la un nivel de nelegere superior.
n al treilea rnd, i nu cel din urm, programarea structurat disciplineaz gndirea unui
programator. Aceast modalitate de lucru oblig programatorul s-i organizeze aplicaiile coerent i
limpede, pe cnd un limbaj nestructurat favorizeaz improvizaiile de moment i deseori labile.
n concluzie, un limbaj procedural ofer posibilitatea utilizrii unui nivel ridicat de concepere a
unui program i duce la realizarea de programe coerente i protejate la erori. Prin contrast, limbajele
neprocedurale nu favorizeaz programatorul n a se desprinde de nivelul instruciune i duc deseori la
programe greu de controlat -mai ales n cazul programelor de dimensiuni mari.
Limbajele neprocedurale (BASIC, dBASE) sunt nc preferate de unii utilizatori datorit timpului
foarte scurt ct decurge nvarea i utilizarea lor: cteva zile fa de cteva sptmni n cazul limbajelor
procedurale - desigur ne referim la elementele principale ale limbajelor n cauz i la realizarea unei
aplicaii simple. ns, aceast grab este de cele mai multe ori nejustificat ducnd inevitabil la
dificulti artificiale datorate alegerii din start a unui drum greit.
Tendina actual este de a transforma limbajele neprocedurale n limbaje procedurale (versiunea-
Turbo Basic implementeaz un Basic structurat, iar dBASE IV permite definirea de proceduri).
Modalitatea de lucru neprocedural a unui limbaj de tip algoritmic rmne pentru uzul amatorilor.

U2.5. Limbaje orientate
Clasificarea operat n seciunea de fa se refer la domeniul de aplicabilitate al unui limbaj. Din
acest punct de vedere limbajele pot fi orientate pe o anumit problem sau concepute pentru soluionarea
oricrui tip de problem - limbaje de uz general sau altfel spus, neorientate pe o problem.
Limbajele orientate prezint un grad nalt de specificitate. Limbajele neorientate reprezint un
cadru general ce permite introducerea de ctre utilizator a conceptelor i prelucrrilor dorite. Se poate crea
i ntreine o baz de date cu ajutorul unui limbaj neorientat, dar n loc de a efectua, s zicem o sortare
printr-o simpl instruciune va fi nevoie de zeci (chiar sute) de instruciuni care s realizeze acelai lucru.
Deci, diferena esenial dintre cele dou tipuri de limbaje o constituie nivelul conceptual definit.
Cele specializate posed deja integral suportul necesar i permit programatorului s se concentreze la
ansamblul problemei, pe cnd cele nespecializate las n sarcina programatorului manevrarea nivelelor
inferioare ale problemei.
Deci, trebuie analizat cu grij limbajul ce va fi abordat deoarece facilitile sale pot duce la
diminuarea calitii programelor obinute.
Cele mai importante domenii pentru care exist disponibile limbaje specializate sunt urmtoarele:
1. gestiune baze de date;
2. calcul tabelar;
3. inteligen artificial;
4. calcul matematic.
U2.6. Limbaje concurente
O alt posibil clasificare a limbajelor se poate face dup fluxul de execuie a programelor
realizate.


Un limbaj concurent permite definirea de procese (prelucrri) paralele, execuia sa fiind
ramificat la un anumit moment de timp. Prin contrast limbajele neconcurente (cazul majoritii
limbajelor) au o desfurare liniar, fiind activ un singur proces la un moment dat.
Procesele concurente presupun n mod obligatoriu un sistem multi-tasking ce poate gestiona mai
multe sarcini la un moment dat. Din acest motiv pentru IBM-PC exist puine implementri de limbaje
concurente.
Totui, e bine de tiut c specialitii n domeniu prevd acestor limbaje un viitor strlucit.

U3.1. Scopul i obiectivele unitii
n aceast tem vei nva urmtoarele concepte fundamentale:
Principalele clase de limbaje de programe;
Basic;
Fortran;
Pascal;
Limbajul C;
ADA.

U3.2. Abordri conceptuale
Cu aceste noi elemente la dispoziie putem aborda prezentarea limbajului de programare, n
cunotin de cauz este de menionat faptul c optarea pentru un limbaj sau altul nu depinde numai de
caracteristicile sale conceptuale, ci n mare msur poate fi influenat de performanele mediului de
programare disponibil. O implementare performant a unui limbaj, dublat de unelte puternice (editor,
compilator, link-editor, depanator, profiler) poate fi un element hotrtor n alegerea dumneavoastr.
Acest aspect nu va fi neglijat n prezentarea care urmeaz.
Prezentarea va cuprinde principalele clase de limbaje de programe, descrise mai nti din
perspectiva caracteristicilor definitorii, iar apoi detaliate difereniat pentru fiecare din limbajele ce o
compun o astfel de clas.
Limbaje de nivel sczut - aceast categorie de limbaje are un reprezentant autoritar i anume:
limbajul de asamblare.
Diferenierile care se pot face pentru limbajele de nivel sczut sunt urmtoarele:
a) dup tipul de main;
b) dup mediul de programare oferit.
a) Limbajul de asamblare este strns legat de tipul de hardware disponibil, iar un IBM-PC poate fi
realizat cu diverse procesoare, din familia Intel 80x86 (8086, 80286, 80386, 80486, 80586, 80686, etc).
Aadar exist tot attea limbaje de asamblare - cte unul pentru fiecare procesor n parte.
Regulile respectate de versiunile limbajului de asamblare sunt, evident, uor de intuit:
- o nou versiune o include complet pe cea anterioar;
- versiunea nou ofer funcii suplimentare i le realizeaz pe cele vechi mai rapid.
b) Aspectul unui limbaj (nu coninutul su) poate fi schimbat radical de mediul de programare
oferit.
Pentru limbajul de asamblare exist mai multe implementri disponibile, ncepnd cu pachete ce
opereaz n mod linie (editare, compilare, link-editare realizate cu cte un utilitar specializat) i
culminnd cu medii integrate n care toate operaiile se pot declana de la un acelai pupitru de comand
(utilitar interactiv pe baz de meniuri).
Nu sunt de luat n considerare dect aceste medii integrate (denumite generic medii Turbo), dintre
care se detaeaz Turbo Asamblorul firmei Borland TASM. El se livreaz la un pre ridicol de sczut fa
de totalitatea serviciilor oferite (interactivitate, vitez mare de lucru, implementare evoluat a limbajului -
directive de control al compilrii, macroinstruciuni deja definite sau definibile de utilizator etc).
Cu toate aceste caliti produsul este foarte rar ntrebuinat datorit dezavantajelor constructive
ale unui limbaj de nivel sczut cum este cel pe care l implementeaz. Dac inem seama i de faptul c


limbajele de nivel nalt performante (PASCAL,C) accept instruciuni n limbaj de asamblare, ne putem
explica de ce sunt foarte rar ntlnite situaiile n care se apeleaz la TASM.

U3.3. Limbaje de nivel nalt neorientate
3.3.1. Basic
Creat n anul 1964 la Darmooth College (S.U.A) limbajul BASIC a cunoscut succesul maxim n
anii 80.
Denumirea sa provine de la iniialele cuvintelor Beginners Allpurpose Symbolic Instruction
Code (Cod de instruciuni simbolice, de uz general, destinat nceptorilor) i spune deja multe despre
acest limbaj.
Iat caracteristicile sale fundamentale:
- simplu de nvat; instruciunile sale sunt cuvinte din limba englez sau prescurtri ale acestora;
- neorientat pe un anumit tip de problem; permite construirea de aplicaii, teoretic n orice
domeniu;
- este un limbaj nestructurat, ceea ce i permite s fie uor nvat; din acest motiv aplicaiile
rezultate se citesc i modific foarte greu, fiind favorizat proiectarea anarhic, de moment.
Speculnd faptul c limbajul a cunoscut o larg rspndire, au fost implementate noi versiuni de
BASIC, diferite de cel standard, care introduc elemente de structurare n limbaj, ncercnd (nu cu mare
succes) s menin limbajul n atenia programatorilor.
Aadar mediile de programare, cu diversele implementri de BASIC sunt urmtoarele:
- GW-BASIC Versiune nestructurat a limbajului. Mediu de programare primitiv i neperformant
n principal din cauza faptului c sunt interpretoare i nu compilatoare. Poate fi folosit de amatori pentru a
simula senzaia de programare.
- Ouick Basic Versiune structurat de Basic produs de Microsoft. Datorit faptului c este
compilator, mbuntete cu mult performanele aplicaiilor. De asemenea un plus calitativ este dat de
interactivitatea sporit a acestui mediu.
- Turbo Basic Versiune puternic structurat de BASIC produs de firma Borland. Compilatorul
este performant i limbajul implementat nu mai are prea multe legturi cu Basic-ul standard fiind mai
degrab o specie de PASCAL. Mediul de programare este tipic turbo deci interactiv, performant, dublat
de toate accesoriile necesare (editor, compilator, link-editor, depanator).
- Basic for Windows (Visual Basic) Versiune structurat de Basic. Avantajul esenial al acestei
implementri l reprezint faptul c aplicaiile create sunt aplicaii ce ruleaz sub Windows, deci suport
disciplinarea funcionrii multi-tasking. ntre aceast versiune i GW-BASIC singura asemnare o
reprezint numele.
n concluzie, constatm c BASIC-ul a fost popular datorit simplitii sale i din cauza faptului
c n perioada succesului su cerinele pentru o aplicaie erau foarte reduse. Pe msur ce aceste standarde
au crescut, BASIC-ul s-a dovedit depit i ineficient, iar atunci cnd a ncercat s menin ritmul a
ncetat s mai fie BASIC ...

3.3.2. Fortran
Limbajul Fortran este n mod cert decanul de vrst al limbajelor de larg folosin. A aprut n
anul 1956 i i datoreaz numele prescurtrii cuvintelor: FORmula TRANslation (Traducere de formule).
Dup cum arat numele su, iniial reprezenta un limbaj orientat pe calcule tiinifice avnd
definite concepte precum: matrice, funcii trigonometrice, numere reale n dubl precizie. Versiunile
ulterioare de Fortran (Fortran IV i Fortran 77) care au cunoscut o mare popularitate au extins
posibilitile limbajului (manipulri de fiiere, conversii de date, programare pseudo-structurat)
transformndu-l ntr-un limbaj eficient, de uz general.
n prezent exist pentru IBM-PC dou implementri mai importante ale limbajului:
- Microsoft Fortran Compilator ce definete un limbaj cu performane acceptabile, chiar foarte
bune n cazul calculelor tiinifice. Dezavantaj principal: metoda arhaic de punere la punct a programelor
(utilitare n mod linie) i absena uneltelor de depanare i control al performanelor.;

- Fortran for Windows. Versiune complet structurat de Fortran. Avantajul principal (i foarte
important) este c se pot crea rapid aplicaii acceptabile ce ruleaz sub Windows, n comparaie cu
PASCAL for Windows, unde efortul de programare este mult mai mare.
Limbajul Fortran a constituit muli ani la rnd principala unealt a programatorilor, de unde i o
oarecare nostalgie a acestora. Dei nu poate fi considerat depit din punct de vedere conceptual (este
un limbaj algoritmic - structurat) este neindicat folosirea lui datorit absenei unor medii de programare
performante i pentru c tendina actual i este defavorabil.
Singura sa utilizare justificat o poate constitui versiunea Windows a compilatorului.

3.3.3. Pascal
Conceptualizat n anul 1970 de ctre Niklaus Wirth, limbajul PASCAL poart numele
matematicianului i filozofului Blaise Pascal, n semn de recunoatere a meritelor sale n teoretizarea
mainilor de calcul moderne.
Creat dup acumularea de cunotine temeinice n tiina limbajelor formale, din confruntarea cu
problemele concrete ale programrii, limbajul PASCAL a constituit la vremea respectiv un limbaj
modern, meninndu-se ca atare i n prezent, datorit faptului c posed o solid baz conceptual.
Limbajul PASCAL a introdus n versiunea sa iniial noiunea de programare structurat i
ulterior noiunile de date (structuri) dinamice, date (structuri) definite de utilizator.
n prezent standardul implementrilor PASCAL cuprinde urmtoarele elemente:
- programare structurat de tip algoritmic, deci:
- blocuri de instruciuni executate liniar;
- blocuri de decizie ce permit executarea alternativ a unui set sau altul de instruciuni in funcie
de rezultatul unui test;
- blocuri de ciclare pentru executarea repetat (cu numr de pai cunoscut anterior sau pn la
ndeplinirea unei condiii) a unui set de instruciuni;
- posibilitatea definirii unei instruciuni compuse (format dintr-un set de instruciuni simple) ce
este tratat ca o singur instruciune elementar n analiza sintactic;
- definirea de noi funcii sau proceduri;
- tipuri de date definibile de ctre utilizator (structuri de date);
- structuri de date dinamice (alocate de program n memorie n momentul execuiei, nu n etapa
de compilare);
- adresri indirecte ale datelor (variabile pointer ce conin nu valoarea unei variabile, ci adresa de
memorie la care se afl aceasta);
- recursivitate (posibilitatea unei proceduri de a se apela pe ea nsi, asigurnd astfel transcrierea
extrem de simpl a algoritmilor ce presupun pai de recursivitate
- iruri convergente, cutri in arbori etc;
- rutine complete de intrare/ieire (deschidere, citire, scriere, modificare, adugare n fiiere ce
pot conine text, sau date de orice tip);
- funcii de conversie a datelor din ASCII n format intern i invers;
- set complet de funcii matematice (radical, sin, cos, exponenial, logaritm etc);
- funcii elementare de grafic 2D;
- posibilitatea inserrii direct n surs a instruciunilor n limbaj de asamblare;
- posibilitatea definirii de overlay-uri pentru program.
Deci, un limbaj puternic, care n ciuda complexitii sale nu este dificil de nvat i stpnit
datorit claritii ireproabile care l fundamenteaz conceptual.
Versiunile standard ale implementrilor PASCAL sunt cele oferite de Microsoft i Borland, cu
avantaj pentru cele din urm (Turbo Pascal 5.0, Turbo Pascal 5.5) datorit mediului de lucru performant.
Combinaia PASCAL + Turbo a reprezentat un succes imens n rndul programatorilor avnd ca singur
rival cealalt combinaie: C + Turbo.
Versiunile recente ale PASCAL-ului constituie o mic revoluie n programare.
Turbo Pascal 6.0 introduce (altfel dect versiunea 5.5) noiunea de obiect. Pentru Pascal 6.0,
obiect nseamn o colecie de date i metode (procedee de prelucrare, manevrare a datelor) ce se comport
unitar. Exist mai multe tipuri de obiecte, organizate ntr-o ierarhie bine definit. Definirea unui obiect
nou n acest arbore permite motenirea comportamentului printelui i eventual adugarea unor noi
comportamente.
Concret, gndii-v la un meniu pe ecran. Acest meniu este un obiect descendent din obiectul
predefinit de tip view. El este un grup de obiecte i conine rubrici, butoane de tip radio, butoane de
aciune etc, taste obiecte descendente din view. Fiecare obiect se comport aa cum a fost definit (implicit
ca printele su, ori ntr-un mod propriu dac a fost redefinit sau extins comportamentul printelui.
Obiectele funcioneaz cooperant pentru definirea unui meniu, a liniei de stare a unei csue de dialog etc.
Avnd la ndemn acest instrumentar se pot crea aplicaii ireproabile din punct de vedere al
nivelului de prezentare i al interactivitii cu utilizatorul.
Acest modul orientat pe obiect implementat n Turbo Pascal 6.0 poart numele de Turbo Vision.
Cu Vision se poate crea o aplicaie ce se prezint ca n figura urmtoare:
Aplicaia e complet conceput pe baz de meniuri, posed suport de mouse, help senzitiv la
context, linie de stare senzitiv la context, scurtturi pentru operaiile considerate mai importante .a.m.d.
Toate acestea cu numai 300 de linii de program (deci 5 pagini).
De acord, aceste 300 de linii presupun numai partea de prezentare a aplicaiei fr nici un fel de
prelucrare efectiv. Operaiile concrete vor fi realizate n PASCAL-standard, Turbo Vision oferind funcii
numai pentru definirea aspectului pe ecran al aplicaiei.
Modulul Turbo Vision nu este dificil de neles la nivel teoretic, dar presupune ceva studiu din
partea programatorului, neputnd fi utilizat din mers, fr parcurgerea documentaiei.
Dezavantajul principal pentru Turbo Vision l constituie faptul c nu pot fi create aplicaii grafice,
ci numai aplicaii ce funcioneaz n mod caracter.

3.3.4. Pascal for Windows
Aceast implementare de PASCAL, asigur crearea de programe ce vor rula ca aplicaii
Windows.
Programarea este mai laborioas (fa de Fortran for Windows), deoarece poate fi gestionat
totalitatea serviciilor Windows (nu numai o gam restrns a acestora).

3.3.5. Limbajul C
Acest limbaj de programare, cu cel mai scurt nume posibil, a fost creat n 1971 de ctre Dennis
Ritchie i Brian Kernigham pentru dezvoltarea sistemului de operare UNIX. Istoria sa merit menionat
deoarece este relevant pentru caracterizarea limbajului.
Aadar se punea problema conceperii unui sistem de operare universal, care s poat funciona,
teoretic, pe orice tip de main -sistemul UNIX. Pentru aceasta era nevoie de un limbaj care s exploateze
toate posibilitile unei maini, dar care nu putea fi limbajul de asamblare, deoarece el este specific
mainii - o nou implementare presupunea rescrierea integral a sistemului. Din aceast dilem s-a putut
iei construind un limbaj de nivel nalt (iniial limbajul B, ulterior C) care introducea i concepte de nivel
sczut, hardware (registru, adres, locaie de memorie absolut etc).
Mai bine de 90% din sursele primului sistem de operare UNIX (implementat pe o main PDP-7)
au fost scrise utiliznd limbajul C, iar pentru restul modulelor s-a apelat la limbajul de asamblare.
sistemul astfel obinut a rost distribuit cu programele n format surs i cu descrierea noului limbaj folosit,
cu intenia vdit de a-l transforma ntr-un sistem de operare universal.
Succesul nu a sosit imediat, dar era asigurat de noua metod de lucru. Programatorii au fost
incitai s dezvolte acest sistem, extinzndu-l cu noi module i s l implanteze pe alte maini prin
rescrierea acelei minime pri sub 10% n limbaj de asamblare... C devenea un limbaj de referin.
Dup acest scurt preambul iat care sunt principalele caracteristici ale limbajului:
- limbaj structurat de nivel nalt;
- posed concepte de nivel sczut, ceea ce permite exploatarea portabil a caracteristicilor intime
unei maini.
Spre exemplu, o variabil foarte des utilizat, poate fi declarat register (registru) i atunci ea
va fi memorat ntr-un registru al microprocesorului, nu ntr-o locaie din memoria intern, mrind
(uneori considerabil) viteza de execuie;
- rutine de conversie a datelor foarte evoluate (conversii implicite, intrri, ieiri, conversii n
memorie);
- tipuri de date definibile de ctre utilizator;
- gestionarea elaborat a datelor de tip dinamic;
- definirea de noi funcii;
- adresri indirecte ale variabilelor (pointer-i);
- recursivitate;
- set complet de funcii matematice etc;
- funcii pentru realizarea de grafic elementar 2D;
- funcii de apel servicii DOS;
- posibilitatea definirii de overlay-uri pentru un program;
- i nu n ultimul rnd: concizie deosebit a limbajului (set de operatori i instruciuni foarte
concise).
Aadar un limbaj care suplimenteaz PASCAL-ul i poate pretinde pe drept cuvnt supremaia n
rndul limbajelor structurate de uz general.
Pentru versiunile standard ale implementrilor limbajului C exist medii de programare de tip
turbo ce aparin dup cum ne-am obinuit, firmelor: Microsoft -produsul Ouick C - i firmei Borland -
produsele Turbo C.

U4.1. Scopul i obiectivele unitii
n aceast tem vei nva urmtoarele concepte fundamentale:
Limbaje orientate pe gestiunea bazelor de date;
Caracteristicile definitorii ale S.G.B.D.-uri clasice;
Tipuri de SGBD: DBASE, PARADOX, FOX.
U4.2. Limbaje orientate de gestiunea bazelor de date
Datorit implicrii tot mai accentuate a calculatoarelor n multe domenii de activitate, sfera
problemelor rezolvate cu ajutorul calculatorului s-a extins foarte mult. A aprut astfel a specializare a
programelor (pachetelor de programe), orientate spre rezolvarea diverselor tipuri de probleme:
matematice, tehnice, economice, de proiectare etc. Sistemele de Gestiune a Bazelor de Date (pe scurt
S.G.B.D. - prescurtare foarte des ntlnit n literatura de specialitate) sunt sisteme informatice (soft)
specializate n stocarea i prelucrarea unui volum mare de date, volumul de prelucrri implicat fiind
relativ mic (spre deosebire de programele orientate spre rezolvarea problemelor matematice, de exemplu,
care necesit un volum mare de prelucrri asupra unui volum relativ mic de date). Termenul de baz de
date se va refer la datele de prelucrat, la modul de organizare a acestora pe suportul fizic de memorare,
iar termenul de gestiune va semnifica totalitatea operaiilor ce se vor aplica asupra datelor din bazele de
date.
Baza de date reprezint structura logic n care este memorat o cantitate de informaii pe un
suport fizic de memorare pentru a putea avea acces ct mai rapid la toate informaiile depozitate ntr-o
baz de date, aceasta are o anumit organizare, asemntoare unui tabel, folosindu-se urmtoarea
terminologie:
- cmp - coloan n tabel
- nregistrare - linie n tabel
- structura bazei de date - antetul tabelului
Pentru a determina n mod univoc structura bazei de date (antetul tabelului) trebuie specificate
cmpurile care compun tabelul , mpreun cu caracteristicile acestora. Fiecrui cmp i sunt caracteristice:
- numele - identific cmpul printre celelalte elemente

- tipul - stabilete prelucrrile ce se pot aplica datelor memorate n cmpul respectiv
- lungimea - numrul de octei ocupai de cmp
- zecimale - pentru cmpurile numerice stabilete poziia punctului zecimal n cadrul cmpului
respectiv
Un S.G.B.D. trebuie s asigure urmtoarele funciuni elementare relativ la bazele de date:
- definirea, crearea bazei de date;
- introducerea datelor n bazele de date (adugare);
- modificarea unor date deja existente n bazele de date;
- tergerea datelor din bazele de date;
- consultarea bazelor de date (interogarea, extragerea informaiilor). Alturi de acestea, S.G.B.D-
urile mai pot fumiza i alte servicii, cum ar fi:
- suport pentru limbaj de programare;
- interfa ct mai atractiv i performant, pentru comunicarea cu utilizatorul;
- diferite tehnici avansate de memorare, organizare, accesare a datelor din bazele de date;
- utilitare ncorporate: sistem de gestiune a fiierelor, liste i tabele etc;
- help pentru ajutarea utilizatorului n lucrul cu bazele de date etc.
Necesitile actuale n practica utilizrii calculatoarelor se ndreapt cu precdere spre gestionarea
bazelor de date de mari dimensiuni. O explicaie posibil a acestei orientri e dat de faptul c o baz de
date reprezint informaie, iar cel care deine informaii complete i rapide ntr-o anumit problem este
indiscutabil cu un pas naintea celorlali. Concurena din. domeniul economic poate fi numit pe bun
dreptate o btlie informaional.
Desigur, nu este nevoie s detaliem pentru cititor importana sistemelor de gestiune a bazelor de
date (S.G.B.D.). O experien minim n domeniul informatic este suficient pentru a constata c la tot
pasul apar necesiti de utilizare a unui S.G.B.D.
Pentru a putea studia diversele opiuni posibile vom prezenta mai nti termenii care definesc un
S.G.B.D., deci cadrul teoretic ce va constitui baza consideraiilor ulterioare.

U4.3. Caracteristici definitorii S.G.B.D.-uri clasice
Un sistem de gestionare a bazelor de date de tip clasic opereaz cu urmtorii termeni
fundamentali:
- cmp = o locaie n care se poate memora o informaie bine determinat;
- nregistrare = mai multe cmpuri alctuiesc mpreun o nregistrare;
- baza de date = colecie de nregistrri.
Dup cum se observ, datele sunt gestionate prin intermediul unei structuri, organizat ierarhic,
deci la un nivel de organizare logic.
Pentru a exploata o baz de date se definete mai nti structura ei (cmpurile ce alctuiesc o
nregistrare). Aceast structur reprezint sertarele goale n care vor fi depuse date. Se opereaz cu dou
tipuri fundamentale de cmpuri:
- cmpuri numerice (informaie numeric);
- cmpuri alfanumerice (orice caracter tipribil).
Dup operaia iniial de definire a bazei de date urmeaz exploatarea sa efectiv. Se pot
diferenia dou tipuri importante de operaii:
- ntreinere baz de date, ce presupune urmtoarele:
- introducere nregistrare n baza de date (inserare);
- regsire a unei nregistrri deja introduse;
- modificare a unei nregistrri existente;
- tergere complet din baza de date a unei nregistrri;
- adugare nregistrare la sfritul bazei de date;
- prelucrare elementar a bazei de date, ce presupune n principal sortarea (indexarea)
nregistrrilor dintr-o baz de date;
- generarea de rapoarte pe baza datelor disponibile ntr-o baz de date.

Datorit importanei deosebite a operaiei de sortare, vom detalia acest subiect.
Este evident pentru oricine c o carte de telefon n care numele persoanelor nu sunt ordonate
alfabetic este, din punct de vedere practic, ca i inexistent. Datele exist n forma complet, din punct de
vedere cantitativ, ns esenial este metode calitativ de organizare a lor.
Operaia elementar de sortare a unei baze de date presupune ordonarea nregistrrilor acesteia,
dup o ordine prestabilit (de ex.: ordinea alfabetic pentru valorile alfanumerice sau ordinea
cresctoare/descresctoare pentru valorile numerice).
Ordonarea bazei de date se poate face:
- fizic; nregistrrile din baza de date schimb ntre ele poziia ocupat astfel nct s fie dispuse
n ordinea corect.
- logic nregistrrile nu i schimb ordinea n baza de date, dar sunt privite altfel prin intermediul
unui index ce specific ordinea lor logic..
Desigur, indexarea este o operaie mult mai rapid pentru bazele de date mari, dar presupune o
scurt ntrziere n regsirea informaiilor fa de metoda sortrii lor fizice.
Pentru un S.G.B.D. de tip clasic toate cerinele descrise pn n acest punct sunt minimale i cu
greu se mai poate opta pentru un mediu restrns la aceste operaii.
Facilitile suplimentare puse la dispoziie sunt n general urmtoarele:
- manipulri grupe de nregistrri (copieri dintr-o baz de date ntr-o alta, tergeri etc);
- import/export date; bazele de date gestionate intern de ctre S.G.B.D. pot fi puse la dispoziie i
n formate ce sunt recunoscute de alte programe.
Import = ncrcare date dintr-un format diferi de cel intern al S.G.B.D.-ului.
Export = furnizare date convertite de la formatul intern la un alt format extern S.G.B.D.-ului n
cauz.
Formatul extern recunoscut de majoritatea S.G.B.D.-urilor clasice este formatul ASCII.
- posibiliti avansate de regsire a nregistrrilor;
n mod clasic, regsirea unei nregistrri se face dup numrul ei n baza de date sau dup
valoarea unui cmp. Aceste metode presupun un lucru greu acceptabil: trebuie tiut dinainte ceea ce
trebuie aflat.
Caracteristicile principale ale unui mediu de tip S.G.B.D. sunt calitatea serviciilor de exploatare
oferite i gradul de elaborare al limbajului de programare definit.
Pentru prima cerin ntlnim aceleai criterii de evaluare ca n cazul oricrei alte aplicaii:
- interactibilitatea cu utilizatorul;
- vitez de lucru;
- protecii la erori (accidente).
Cea de-a doua component (mediul de programare) reprezint implementarea unui limbaj orientat
pe gestiunea bazelor de date. Pentru caracterizarea sa vom ine seama de criteriile uzuale:
- interactivitate mediu de programare;
- compilator / interpretor (viteza de lucru a aplicaiilor obinute);
- calitatea conceptual a serviciilor i funciilor oferite de limbaj;
- protecia la erori a programelor obinute, sigurana n funcionare;
- uneltele suplimentare de lucru (depanator, profiler).
Optarea pentru un anumit produs trebuie fcut dup analizarea cu atenie a acestor caracteristici.

U4.4. Tipuri de SGBD: DBASE, PARADOX, FOX
Pentru a lansa n execuie produsul FoxPro se lanseaz FOX.EXE. Dup executarea acestei
comenzi va aprea pe ecran o fereastr numit COMMAND i un meniu bar alctuit din: SYSTEM,
FILE, EDIT, DATABASE, etc.
Activarea meniului se face prin apsarea tastei F10.
Funciile care se pot aplica unei baze de date se mpart n dou mari categorii, care asigur
funcionarea tuturor funciunilor unui SGBD:

- Funcia de descriere a datelor: - S.G.B.D. trebuie s permit descrierea structurii datelor, a
legturilor dintre entiti, a condiiilor de validare i acces. Pentru aceasta S.G.B.D.-urile dispun de un
limbaj specializat: LIMBAJUL DE DESCRIERE A BAZEI DE DATE (LDD).
- Funcia de manipulare: - permite crearea, actualizarea datelor, cutarea rapid, sortarea. Pentru
acestea se folosete LIMBAJUL DE MODIFICARE A BAZEI DE DATE (LMD).
Limbajul de descriere a bazei de date (LDD).
Setul de caractere: - este format din literele mari si mici ale alfabetului, cifrele sistemului zecimal
si caracterele: ., #, @, &,etc.
Identificatorii:- sunt folosii pentru desemnarea variabilelor, fiierelor, programelor, numelor de
cmp. n funcie de utilizare, acetia pot avea maxim 10 caractere, dintre care prima este liter.
Cuvinte cheie: desemneaz comenzile, funciile standard ale limbajului neputnd fi folosite n alt
context i pot fi prescurtate la primele patru caractere.
Tipuri de date:
- tipul numeric - este specificat prin litera N sau F.
- tipul ir - mulime ordonat de caractere ASCII, fiind specificate prin litera C.
- tipul dat calendaristic - este specificat prin litera D.
- tipul logic - mulimea format din dou valori T sau F (litera L- logical).
- tipul memo - folosit numai n baze de date i este asemntor cu tipul ir, dar are o lungime
variabil (litera M)
Constante - sunt date ale cror valori constituite chiar din caracterele utilizate n scrierea lor:
- numerice
- caracter
- logic
- dat calendaristic
Variabile - zone de memorie identificate printr-un nume-utilizator ce primesc la un moment dat o
valoare i un tip.
Operatorii limbajului:
- aritmetici: +, -, /, *, **
- relaionali: <, >, <=, >=
- logici: .not., .or., .and.
Expresiile: numerice; relaionale; logice; ir; dat calendaristic.
Limbajul de manipulare al bazei de date (LMD) este alctuit din comenzi i clase de comenzi
(funcii) realizate de SGBD.

U5.1. Scopul i obiectivele unitii
n aceast tem vei nva urmtoarele concepte fundamentale:
Rezolvarea problemelor economice cu ajutorul programelor pe calculator;
Informatica de gestiune;
Gestiunea;
Datele ce sunt prelucrate pe un sistem de calcul;

U5.2. Programare
Rezolvarea problemelor, n general, i a problemelor economice n particular, cu ajutorul
programelor pe calculator necesit cunoaterea i nsuirea noiunilor fundamentale referitoare la
programare. Problemele economice prezint o serie de particulariti legate de caracterul proceselor i
fenomenelor economice din care fac parte: existena unor modele (inclusiv bazate pe relaii matematice),
volumul mare de date stocate n baze de date i n depozite de date, operaii relativ puine i de
complexitate redus (n comparaie, de exemplu, cu calculele tehnico-inginereti), prelucrri i
reprezentri statistice etc. Toate aceste particulariti sunt luate n considerare la rezolvarea problemelor
economice, n special a celor de gestiune. Informatica de gestiune reprezint n esen informatica
aplicat n domeniul prelucrrii automate a datelor asupra evidenei i controlului activitilor i bunurilor


unei organizaii economice.
Gestiunea unei organizaii economice const n totalitatea activitilor desfurate pentru evidena
resurselor acesteia (umane, materiale, financiare i informaionale), ncredinate, spre administrare,
factorilor de decizie, pentru realizarea scopurilor specifice domeniului su de activitate.
n prezent, dar mai cu seam n viitor, nu exist i nu va exista nici un loc de munc fr
calculator conectat n reea, n special n domeniile contabilitate i financiar-bancar. Viitorul economist
trebuie s cunoasc principiile i elementele de baz ale programrii i s ctige deprinderi adecvate, cel
puin din urmtoarele dou motive:
economistul este un creator, i nu un simplu operator pe calculator; complexitatea i
diversitatea proceselor i fenomenelor economice presupun o permanent deschidere spre schimbarea i
perfecionarea aplicaiilor informatice economice ce pot fi realizate nemijlocit de ctre economist;
economistul poart un dialog permanent cu specialistul informatician n ceea ce privete
perfecionarea sistemelor i instrumentelor informatice complexe dedicate rezolvrii problemelor
economice.
Este inutil s se insiste mai mult, la capitolul motivaie, asupra importanei programrii i bazelor
de date pentru viitorul economist cu specializarea contabilitate i informatic de gestiune, n care
sintagma informatic de gestiune reprezint a doua jumtate a ntregului. Acest fapt i confer viitorului
economist dreptul de a profesa i n categoria profesionitilor n informatic, dar, n acelai timp,
genereaz i obligaia de a-i nsui n mod corespunztor fundamentele programrii i ale bazelor de
date.

U5.3. Noiuni de baz specifice procesului de prelucrare automat a datelor
Orice sistem de calcul (adic acel sistem tehnic care asigur execuia procesului de prelucrare
automat a datelor) are n compunere, n esen, partea de hardware i partea de software. Bill Gates,
patronul Microsoft, spunea n anul 2002 c, din totalul costurilor unui sistem de calcul, partea de
hardware reprezint 5%, n timp ce partea de software reprezint 95%. Problema costurilor unui sistem de
calcul devine din ce n ce mai important n condiiile cerute de societatea informaional societatea
cunoaterii i n conformitate cu prevederile legale referitoare la respectarea legii drepturilor de autor n
domeniul software.
Partea de software a unui sistem de calcul cuprinde, la rndul ei, software-ul de baz (sistemul de
operare sau sistemul de programe de baz) i software-ul de aplicaie (sau sistemul de programe
aplicative). n continuare sunt prezentate noiunile de baz specifice procesului de prelucrare automat a
datelor.
Sistem informatic conine unul sau mai multe sisteme de calcul (hard i soft), crora li se adaug
restul bazei tehnico-materiale, baza tiinifico-metodologic, baza informaional, resursele umane i
cadrul organizatoric. Baza tehnico-material conine echipamentele de culegere, verificare i transmitere
date, echipamentele de teleprelucrare, suporturile de stocare a datelor i calculatorul propriu-zis.
Baza tiinifico-metodologic cuprinde modelele matematice ale proceselor i fenomenelor
economice i metodologii de realizare a sistemelor informatice. Baza informaional se refer la date,
fluxuri i circuite informaionale, cataloage i dicionare de date etc.
Un sistem informatic are funcia de prelucrare automat a datelor pentru obinerea informaiilor
necesare procesului de conducere sau de informare.
Din cele artate mai sus, rezult c procesul de prelucrare automat a datelor presupune existena
simultan a urmtoarelor elemente: sistemul de echipamente (hardware), sistemul de programe de baz,
sistemul de programe aplicative, datele de intrare ce sunt supuse proceselor de prelucrare automat i
datele de ieire sau rezultatele prelucrrilor. n esen, acest proces de prelucrare automat a datelor este
format din trei etape: introducerea (citirea) datelor de intrare, prelucrarea datelor (efectuarea calculelor)
i extragerea (scrierea) rezultatelor. Este de reinut c datele de intrare sunt introduse printr-o operaie de
citire - read, iar datele ce reprezint rezultate sunt obinute printr-o operaie de scriere write sau de
tiprire- print a rezultatelor.
Sistemul de operare este realizat cu preponderen n limbajul de programare C, este livrat cu

licen, de regul, de compania productoare a prii hardware a calculatorului i este specific unui
anumit tip de platform de calcul (Windows, Unix, OS/2 etc). Programele aplicative sunt realizate prin
utilizarea limbajelor de programare acceptate de ctre sistemul de calcul i de sistemul de operare al
acestuia.
Datele ce sunt prelucrate pe un sistem de calcul sunt organizate ntr-o form avantajoas pentru
aplicaia informatic i sunt reprezentate ntr-o structur accesibil calculatorului. Datele sunt organizate
n colecii de date n funcie de condiiile specifice impuse de sistemul informaional existent i de
dorinele utilizatorilor finali din procesul de decizie.
Procesul de prelucrare automat a datelor are loc ntr-o succesiune controlat de operator, adic,
n accepiunea clasic, de acel utilizator final specializat n operarea pe sistemul de calcul. Etapele
procesului de prelucrare a datelor pe calculator sunt materializate n urmtoarele operaii:
pregtirea datelor iniiale, de regul manual, n vederea introducerii lor n procesul de
prelucrare automat (citire), ce presupune verificarea, sortarea i codificarea acestor date n funcie de
documentele primare existente;
verificarea datelor presupune confirmarea concordanei ntre valorile prezente n documentele
primare i valorile care trebuie s existe n conformitate cu aplicaia informatic concret sau problema
economic cu urmeaz a fi rezolvat;
sortarea datelor semnific acel tip de prelucrare prin care datele sunt dispuse ntr-o anumit
ordine, n conformitate cu un anumit sistem sau cu anumite precizri ale utilizatorului;
codificarea datelor nseamn operaia de atribuire de semne numerice, alfabetice sau
alfanumerice unor date cu scopul de a optimiza numrul de semne cu care se scriu i se prelucreaz, de
exemplu, elementele specifice sistemului informaional financiar-contabil;
noiunea de document primar (de eviden primar) este cea definit n contabilitate, ca prim
etap a funciei contabile, adic acel document n care se consemneaz pentru prima dat o operaie
economico-financiar (facturi, chitane, cecuri etc). Fiecare eveniment ce prezint un efect economic se
nscrie ntr-un document primar n momentul i n locaia n care s-a produs;
introducerea datelor iniiale n calculator, adic n memoria intern sau memoria extern a
sistemului de calcul; introducerea datelor iniiale poate fi fcut direct de la tastatur (n regim
conversaional) sau de pe un suport tehnic accesibil calculatorului;
prelucrarea propriu-zis a datelor, ceea ce nseamn execuia automat de ctre calculator a
tuturor operaiilor prestabilite prin program (validri de date, sortri, interclasri, comparri i testri);
validarea de date este tipul de prelucrare ce const n verificarea datelor de intrare dac sunt
corecte n raport cu un set de reguli prestabilite (dac sunt reale, coerente, corelate, corect testate, corect
transferate dintr-un mediu ntr-altul);
interclasarea datelor reprezint tipul de prelucrare prin care se obine un ir (vector) de date ce
conine toate elementele unor vectori iniiali ordonai;
compararea datelor este tipul de prelucrare prin care se verific existena unor relaii de ordine
ntre dou date;
relaia de ordine a fost definit la cursul de matematic i este o relaie binar pe o
mulime de date ce stabilete ordinea de parcurgere a elementelor mulimii;
testarea datelor este tipul de prelucrare prin care se verific un ansamblu de date ce sunt
pregtite pentru buna funcionare a unui program;
prezentarea rezultatelor prelucrrii, adic afiarea pe ecranul monitorului sau imprimarea pe
hrtie; cnd rezultatele sunt folosite n prelucrri ulterioare, ele sunt stocate pe supori magnetici.
Etapele i operaiile prezentate mai sus se ncadreaz n triada de aur specific oricrui sistem
de calcul: stocare prelucrare prezentare date.

U8.1. Scopul i obiectivele unitii
n aceast tem vei nva urmtoarele concepte fundamentale:
Visual Basic (VB);

mediu integrat de dezvoltare, IDE (Integrated Development Environment);
OLE (Object Linking and Embedding);
COM (Component Object Model);
ActiveX tehnologie soft Microsoft ce reunete componente OLE i COM;
DDE (Dynamic Data Exchange);
ODBC (Open DataBase Connectivity);
Crystal Report sau Data Report;
Microsoft J et Database Engine.

U8.2. Caractersticile generale ale mediului integrat de dezvoltare Visual Basic
Visual Basic (VB) reprezint un mediu integrat de dezvoltare, IDE (Integrated Development
Environment), n mod interactiv, pentru aplicaii informatice sub sistemul de operare Microsoft Windows.
n general, un mediu de programare este un sistem de programare care asist utilizatorul n proiectarea i
codificarea algoritmilor i a datelor, respectiv n editarea i depanarea programelor.
Cnd acest mediu de programare asist utilizatorul (programatorul) n toate etapele de realizare a
unui program, el se numete mediu de dezvoltare. Cnd toate componentele de asistare a utilizatorului
(programatorului) sunt integrate n cadrul aceluiai mediu de dezvoltare, el se numete mediu integrat de
dezvoltare.
Termenul visual din denumirea IDE Visual Basic semnific faptul c aplicaiile informatice
dezvoltate n VB dispun de interfee grafice ce sunt proiectate vizual de ctre utilizator. Pentru aceasta,
utilizatorul are la dispoziie un set de elemente vizuale standard ce pot fi folosite la proiectarea unei
interfee grafice, denumite elemente de control, sau, pe scurt, controale (Controls). Aceste controale sunt
dispuse n ferestrele aplicaiei, ferestre denumite formulare (Forms), concomitent cu stabilirea
proprietilor acestora (n fereastra Properties) la dorina utilizatorului i n conformitate cu necesitile
aplicaiei
Termenul Basic din compunerea IDE Visual Basic arat tipul limbajului de programare utilizat
pentru realizarea programelor (secvenelor de cod) corespunztoare evenimentelor generate de acionarea
controalelor dispuse n formularul specific aplicaiei. Limbajul de programare Basic (acronim provenit
din denumirea n limba englez Beginners All-purpose Symbolic Instruction Code), definit la nceputul
anilor 60 ai secolului XX, a cunoscut numeroase versiuni i dezvoltri ulterioare.
n anul 1991, firma Microsoft a realizat produsul Visual Basic, care, ulterior, a cunoscut mai
multe versiuni, n concordan cu dezvoltarea sistemului de operare Windows. Versiunea Visual Basic 6.0
face parte din pachetul Microsoft Visual Studio 6.0, iar versiunea Visual Basic.NET este parte component
a pachetului Microsoft Visual Studio.NET.
Visual Basic prezint caracteristici specifice programrii structurate (programrii bazate pe
obiecte), programrii dirijate de evenimente, orientrii spre prelucrarea bazelor de date (manipulare i
interogare).
Aplicaiile informatice realizate cu VB pot interaciona cu alte aplicaii Windows prin intermediul
unor interfee specializate: OLE (Object Linking and Embedding) legarea i ncapsularea obiectelor, ce
asigur afiarea datelor din alte aplicaii i modificarea acestor date din interiorul aplicaiei care le-a
generat; COM (Component Object Model) model de legare i comunicare ntre obiecte distribuite
Windows; ActiveX tehnologie soft Microsoft ce reunete componente OLE i COM; DDE (Dynamic
Data Exchange) schimb dinamic de date (conversaie) ntre aplicaii Windows; ODBC (Open DataBase
Connectivity) conectivitatea bazelor de date deschise, adic posibilitatea conectrii aplicaiilor client la
multiple servere de fiiere sau de baze de date; Crystal Report sau Data Report proiectarea vizual a
rapoartelor unei aplicaii VB; Microsoft J et Database Engine motorul sistemului de gestiune a bazelor
de date Microsoft Access ce asigur acelai limbaj de manipulare a datelor ntre VB i Access.
Visual Basic face parte din clasa de medii de dezvoltare rapid a aplicaiilor, RAD (Rapid
Application Development), alturi de Microsoft Visual C++, Power Builder, Borland Delphi .a. ce
prezint urmtoarele caracteristici: realizare rapid a aplicaiilor informatice, necesiti acceptabile de
resurse informatice la execuie, separarea proiectrii prelucrrilor de proiectarea interfeei, integreaz

proiectarea interfeei, scrierea codului, testarea i depanarea.
n cadrul pachetului de birotic Microsoft Office, a fost inclus ca limbaj de dezvoltare un subset al
Visual Basic, denumit Visual Basic for Application VBA.

U8.3. Componentele de baz ale mediului integrat de dezvoltare Visual Basic
Lansarea n execuie a VB 6.0 din mediul Windows se execut astfel:
a) Se apas butonul Start de pe bara de task-uri;
b) Se parcurge succesiunea Programs (All Programs n sistemul de operare Windows XP) -
Microsoft Visual Studio 6.0 - Microsoft Visual Basic 6.0;
c) La apariia ferestrei de creare a unui nou proiect - New Project, se apas butonul Open.
Dup aceste aciuni, apar simultan fereastra principal a mediului integrat de dezvoltare VB (1),
cutia cu instrumente Toolbox (2), fereastra de proiectare a formularului Form Design (3), fereastra de
editare a codului Code Editor (4), fereastra Project Explorer (5), fereastra de stabilire a proprietilor
Properties (6), fereastra Form Layout (7), fereastra Immediate (8), fereastra Locals (9), fereastra Watch
(10), utilitarul Object Browser (11).
Ferestrele care nu apar la pornirea VB i sunt necesare pentru lucru pot fi activate prin urmtoarea
succesiune de comenzi: bara cu meniuri View poziionare pe denumirea ferestrei click. Fereastra
principal a mediului integrat de dezvoltare VB are patru componente: bara de meniuri (1), bara cu
instrumente (2) i dou zone care afieaz poziia (3) i dimensiunea (4) obiectului ce a fost selectat
(obiectul curent).
Butoanele de pe bara cu instrumente (Toolbar) dubleaz cele mai utilizate comenzi din bara de
meniuri.
Meniurile contextuale cuprind comenzi rapide pentru aciunile efectuate n mod frecvent. Pentru
deschiderea unui meniu contextual se poziioneaz vrful mouse-ului pe obiectul care trebuie folosit, se
apas butonul din dreapta mouse-ului, se selecteaz comanda dorit concomitent cu click executat cu
butonul din stnga mouse-ului.
Cutia cu instrumente, Toolbox asigur instrumentele predefinite folosite n timpul proiectrii
formularului pentru a introduce controale pe acesta. Utilizatorul poate crea propriile controale, imagini
sau grafic prin selecia opiunii AddTab din meniul contextual.
Fereastra de proiectare a formularului, Form Design este fereastra pentru realizarea interfeei
dintre utilizator i secvenele de program.
Fereastra de editare a codului, Code Editor este folosit ca editor de texte pentru a introduce
codul aplicaiei informatice. Fiecare formular sau modul de cod din cadrul aplicaiei informatice dispune
de propria fereastr de editare a codului.
Fereastra Project Explorer servete numai la proiectarea aplicaiei pentru afiarea coleciei de
fiiere ce conin formularele i modulele din cadrul proiectului aflat n lucru (curent). Unele fiiere sunt
ncrcate n mod automat de ctre sistem, iar alte fiiere sunt realizate de ctre utilizator (programator).
Fiierele care se gsesc n fereastr (proiect) se pot grupa pe categorii cu ajutorul butonului
ToggleFolders. Butonul View Object servete pentru vizualizarea obiectului selectat (current), iar butonul
View Code este folosit pentru vizualizarea codului.
Fereastra de stabilire a proprietilor, Properties asigur afiarea valorilor proprietilor pentru
formularul sau controlul selectat. O proprietate reprezint o caracteristic a unui obiect (titlu, dimensiuni,
poziie, culoare etc.).
Fereastra Form Layout este folosit pentru vizualizarea aspectului formularului.
Fereastra Immediate este o fereastr suplimentar utilizat n procesul de depanare a aplicaiilor
informatice rulate din interiorul mediului IDE. Mediul VB 6.0 permite funcionarea n trei moduri de
lucru:
proiectare (design mode),
rulare normal (run mode) i
execuie cu ntrerupere (break mode).
Execuia cu ntrerupere (pas cu pas) se utilizeaz la depanarea aplicaiei pe baza punctelor de

ntrerupere (breakpoints) stabilite n prealabil.
Fereastra Immediate permite introducerea de secvene de cod care se execut imediat sau afiarea
valorilor unor expresii.
Fereastra Locals este destinat, la depanarea programelor VB, pentru afiarea valorilor unor
expresii din program.
Fereastra Watch de asemenea, o fereastr suplimentar utilizat n procesul de depanare a
programelor VB, pentru gestiunea variabilelor i expresiilor watch,adic a valorilor unor variabile i
expresii din program existente n momentul aciunii (curente). Utilizarea ferestrei Watch este posibil prin
intermediul meniului contextual.
Utilitarul Object Browser realizeaz afiarea obiectelor disponibile n IDE ce pot fi utilizate de
proiect.
Utilitarul servete, de asemenea, pentru a examina obiecte din VB i din alte aplicaii, pentru a
constata ce metode i proprieti sunt disponibile n cazul acestor obiecte i pentru a prelua coduri de
program n propria aplicaie informatic.
Editorul de meniu (Menu Editor) permite proiectarea meniurilor asociate formularelor. Pentru
afiarea ferestrei corespunztoare se apas butonul cu acelai nume de pe bara cu instrumente sau prin
opiunea Menu Editor din meniul Tools.

U9.1. Scopul i obiectivele unitii

n aceast tem vei nva urmtoarele concepte fundamentale:
proiectarea aplicaiilor n limbajul VB;
crearea interfeei;
precizarea proprietilor;
scrierea codului;
elementele limbajului VB.

U9.2. Proiectarea aplicaiilor n limbajul Visual Basic

Pentru a proiecta o aplicaie informatic n limbajul Visual Basic, este necesar parcurgerea
urmtoarelor trei etape:
1. Crearea interfeei.
2. Precizarea proprietilor.
3. Scrierea codului.
Crearea interfeei se efectueaz cu ajutorul formularelor (Forms). Acestea servesc pentru a
genera ferestre i casete de dialog, n calitate de containere pentru elemente care se gsesc n partea
ascuns a aplicaiei. Precizarea proprietilor se realizeaz prin intermediul ferestrei Properties, dup
selecia prealabil a obiectului. Scrierea codului se execut folosind fereastra de editare a codului,
CodeEditor. Crearea aplicaiilor n VB se face n modul de proiectare Design Mode, iar execuia acestora
se efectueaz n modul de rulare normal, Run Mode. nainte de prezentarea n detaliu a celor trei etape
de proiectare a unei aplicaii n VB, se trateaz fiierul proiect.
Termenul de proiect n VB este similar cu aplicaia informatic, astfel c el cuprinde o list a
fiierelor care intr n compunerea aplicaiei. Fiierul proiect este un fiier text cu extensia .VBP. Mediul
de dezvoltare VB 6.0 asigur posibilitatea lucrului cu mai multe proiecte concomitent, proiecte ce sunt
reunite ntr-un grup deproiecte (fiierul grup de proiecte are extensia .VBG). n lista de fiiere a unui
proiect pot fi incluse urmtoarele tipuri de fiiere:
fiier pentru formular (.FRM);
fiier pentru formular care cuprinde controale cu proprieti care prezint ca valori date binare
(.FRX);
fiier pentru clas de module (.CLS);


fiier pentru modul standard (.BAS);
fiier pentru control utilizator (.VBX DDL-uri pentru controale pe 16 bii i .OCX - DDL-uri
pentru controale pe 32 de bii).
Din punctul de vedere al utilizatorului, proiectul are n compunere module existente n mediul
integrat de dezvoltare (IDE) Visual Basic, n format binar, i module realizate de utilizator (formular,
cod, clas). Modulul reprezint un termen generic care desemneaz entitatea de structurare a unui
program. Modulele sunt reutilizabile, ceea ce nseamn c un modul folosit ntr-un program, poate fi
utilizat ulterior i n alte programe.
Modulul definete reguli de vizibilitate adic elementele declarate n interiorul lui pot fi sau nu
pot fi vizibile n exteriorul acestui modul. Orice proiect trebuie s includ cel puin un modul (modul de
formular sau modul de cod).
Atunci cnd au fost definite toate componentele unui proiect, acesta poate fi transformat direct
ntr-un fiier executabil (.EXE), astfel:
1) din meniul File se selecteaz opiunea Make EXE ;
2) se introduce numele fiierului executabil n caseta File Name i se apas butonul OK
Crearea, deschiderea i salvarea unui proiect se efectueaz prin intermediul comenzilor
disponibile n meniul File, astfel:
New Project (1) servete pentru crearea unui proiect nou, adugnd un nou formular i,
eventual, module, referine i obiecte utilizator cuprinse n fiierul Auto32ld.VBP;
Open Project (2) deschide un proiect existent, cu formularele, modulele i obiectele utilizator
listate n fiierul proiect;
Save Project As(5) asigur prima salvare a proiectului n lucru sau schimbarea numelui unui
proiect existent pentru conservarea stadiului la care s-a ajuns i continuarea lucrului cu un alt nume de
proiect;
Save Project actualizeaz, prin salvare pe disc, fiierul proiect al aplicaiei existente mpreun
cu toate formularele, clasele de module i modulele standard.
Aa cum se deduce din descrierea opiunilor de salvare a proiectului de mai sus, realizarea
aplicaiei este terminat atunci cnd se selecteaz comanda Save Project As(5) din meniul File sau cnd
se selecteaz butonul Save Project din linia de butoane. Mediul Visual Basic solicit salvarea, pe rnd, a
formularului i apoi a proiectului prin introducerea numelui, dar i a unitii logice de memorie, precum i
a cii unde se dorete a avea loc salvarea. n mod implicit, mediul Visual Basic asigur salvarea n locaia
C:\Program Files\Microsoft Visual Studio\VB98 (Save In). Pentru salvarea unui proiect, se recomand
particularizarea numelui proiectului i folosirea unei uniti logice de memorare i a unei ci personalizate
a utilizatorului pentru fiecare proiect, ca, de exemplu:

Homes(D:)\Student\Facultatea\Grupa\Nume_prenume_student\Numeproiect

Cnd se lucreaz cu mai multe proiecte, la un anume moment un singur proiect este activ. ntre
aceste proiecte cu care se lucreaz simultan, se pot partaja fiiere. Un fiier, cum este, de exemplu, un
formular, poate aparine mai multor proiecte. Crearea unor formulare, module i controale noi se
efectueaz cu comenzile din meniul Project.

9.2.2. Crearea interfeei aplicaiei
Crearea interfeei unei aplicaii se realizeaz cu ajutorul unui obiect denumit formular (Form). n
multe lucrri destinate VB, echivalentul romnesc pentru Form este form. n lucrarea de fa s-a preferat
denumirea de formular, dei cea de form este mai apropiat de termenul n limba englez (crearea
formularului nseamn de fapt turnarea controalelor ntr-o form adecvat interfeei aplicaiei).
Motivul preferinei pentru formular este asigurarea lizibilitii apariiei denumirii acestui obiect
n explicaiile din cuprinsul lucrrii, dei, n dicionarele limbii romne, formularul, n general, este definit
ca un imprimat cu mai multe spaii albe ce se completeaz n vederea ntocmirii unui tabel.
Formularul este un container de controale care faciliteaz dialogul dintre utilizator i aplicaie.
Controalele nu pot funciona n afara formularului. Ele sunt obiecte care elibereaz programul de sarcinile
legate de intrrile i ieirile generate de aciunile utilizatorului, concentrnd eforturile pe operaiile de
prelucrare a datelor. Avantajul controalelor din VB este c ele se aseamn foarte mult cu controalele
standard ce apar n sistemul de operare Windows (meniuri, butoane, casete). Controalele uureaz munca
de programare n sensul c sunt eliminate instruciunile care s ghideze utilizatorul asupra aciunilor pe
care acesta trebuie s le ntreprind. La proiectarea interfeei aplicaiei (Design Mode), fereastra de
proiectare a formularului servete pentru dispunerea controalelor necesare proiectului.
La rularea programului (Run Mode), formularul ndeplinete rolul de fereastr principal a
proiectului sau de fereastr de dialog.
La pornirea mediului VB, fereastra de proiectare a formularului cu numele implicit (default)
Form1 este dispus n centrul ecranului. n interiorul acestei ferestre se gsesc linii punctate cu rolul de a
asigura orientarea utilizatorului, iar la marginea ferestrei sunt dispuse mnerele de redimensionare a
formularului. Este bine ca, nc de la crearea formularului, s se opteze pentru o dimensiune potrivit a
formularului n raport cu numrul de controale introduse i de dimensiunile acestora; nu este estetic i nici
practic s rmn zone mari nefolosite pe suprafaa formularului.
Un formular include descrierea grafic a acestuia, controalele sale, proprietile, constantele,
variabilele i procedurile externe, subrutinele de tratare a evenimentelor, procedurile generale. Fiecrui
formular i corespunde un modul de formular (Form Module).
Clasa de module (Class Module) este asemntoare formularului, dar nu dispune de interfa
utilizator vizibil. Clasa de module poate fi folosit pentru crearea obiectelor utilizator, cuprinznd
secvene de cod pentru metodele i proprietile obiectelor definite. Obiectele care aparin aceleai clase
nu sunt nzestrate cu evenimente proprii.
Mediul VB asigur interfa pentru un singur document (SDI) sau interfaa multidocument
(MDI). n cazul SDI, toate ferestrele mediului VB pot fi deplasate pe ecran, iar n cazul MDI, toate
ferestrele mediului integrat de dezvoltare VB (numite fii) sunt incluse ntr-o fereastr unic (numit
printe) ce poate fi redimensionat. Pentru a obine comutarea ntre modurile de lucru SDI i MDI se
realizeaz urmtoarea succesiune de aciuni:
se selecteaz Options (opiuni) din meniul Tools; efectul este apariia casetei de dialog Options;
se selecteaz Advanced;
se valideaz sau se invalideaz caseta SDI Developement Environement.
n figura de mai jos sunt prezentate controalele implicite incluse n caseta cu instrumente
(Toolbox). Controalele standard sunt butoanele de comand (nr.14, Command Button), casetele cu text
(nr.13, TextBox), etichetele (nr.2, Label), casetele de validare (nr.4, Check Box), butoanele de opiuni
(nr.15, Option Button), casetele cu list (nr.16, ListBox), casetele cu imagine (nr.12, PictureBox), barele
de defilare (nr.6 i nr.17, ScrollBar) orizontale i verticale, casetele combinate (ComboBox).

Se face meniunea c aceast caset cu instrumente (Toolbox) este configurabil. Adugarea sau
scoaterea de controale din caseta cu instrumente (Toolbox) se obine din meniul Project, opiunea
Components.
Modul de adugare a unui control la cutia cu instrumente (Toolbox)

Introducerea unui control din cutia cu instrumente (Toolbox) pe suprafaa formularului se obine
prin parcurgerea etapelor urmtoare:
se deplaseaz cursorul mouse-ului n cutia cu instrumente (Toolbox), pe pictograma care
reprezint controlul ce urmeaz a fi introdus n formular i se acioneaz butonul din stnga al mouse-lui;
se mut cursorul mouse-ului pe suprafaa formularului, n poziia n care va fi colul stng al
controlului;
se efectueaz succesiunea de operaii de tipul Drug and Drop pn se dimensioneaz dup
dorin controlul selectat;
se elibereaz butonul stng al mouse-ului.
O alt modalitate de introducere a controlului selectat pe suprafaa formularului este reprezentat
de dublu-click-ul mouse-ului pe pictograma (icon-ul) controlului din cutia cu instrumente (Toolbox). Se
genereaz astfel un control cu dimensiunile implicite, dispus n centrul formularului.
Dispunerea controalelor pe suprafaa formularului se face dup o anumit logic legat de
succesiunea operaiilor importante de introducere date, prelucrare i afiare rezultate. Fiecare control este
caracterizat de un ansamblu de proprieti ce se refer la descrierea comportamentului sau aspectului unui
control. Limea sau nlimea unui control se msoar n twip (un twip reprezentnd cel mai mic punct
adresabil de pe ecran, cu dimensiunea de 1/1440 inch). Aa cum se va arta n paragraful urmtor,
fereastra Properties permite modificarea ntre limite prestabilite a valorilor diferitelor proprieti ale
controalelor.
Focalizarea reprezint operaiunea de punere n eviden a unui control la un moment dat; mai
precis, acel control devine activ prin focalizare. Acel control activ se mai numete i focar (focus). Acest
lucru se pune n eviden printr-o linie punctat n jurul controlului sau printr-un titlu ngroat. Mutarea
focarului de la un control la altul se efectueaz prin intermediul tastelor Tab sau Shift+Tab. Apsarea
tastei Enter va determina aciunea controlului focar sau focalizat.
Ordinea de parcurgere a controalelor n formular reprezint ordinea n care controalele sunt puse
n eviden prin focalizare, o dat cu apsarea succesiv a tastei Tab. n momentul activrii formularului,
este stabilit primul control care este focalizat. Proprietile comune tuturor controalelor din formular care
stabilesc ordinea de parcurgere a controalelor sunt TabIndex (poziia) i TabStop (oprirea).
Ordinea de parcurgere a controalelor este circular i n ambele sensuri nainte (Tab) i
napoi (Shift+Tab).
Un control poate include o tast fierbinte (Hot Key) ce este evideniat printr-o liter subliniat.
Prin aciunea Alt+litera subliniat, se provoac aciunea controlului respectiv. Litera subliniat se
introduce cu ajutorul proprietii Caption prin precedare de un ampersand (&).
Redimensionarea unui control introdus deja pe suprafaa formularului se obine astfel:
1) se selecteaz controlul de redimensionat prin click executat cu mouse-ul n interiorul suprafeei
acestui control. Pe marginile controlului apar mnerele de redimensionare;
2) se fixeaz cursorul mouse-ului n dreptul unui mner de redimensionare i se mic innd
apsat butonul stng al mouse-ului, pn se obine dimensiunea dorit. Mnerele situate n colurile
suprafeei controlului redimensioneaz controalele att pe vertical, ct i pe orizontal, iar mnerele
dispunse pe laturi redimensioneaz controlul numai ntr-o singur direcie;
3) se elibereaz butonul stng al mouse-ului.
Mutarea unui control pe suprafaa formularului se realizeaz cu mouse-ul prin tehnica Drug and
Drop.
Dup finalizarea proiectrii formularului, blocarea tuturor controalelor pe suprafaa formularului
se obine din meniul Format cu opiunea Lock Controls sau cu butonul Lock Controls Toggle de pe bara
cu instrumente Form Editor.
Formularele sau controalele VB au asociate, n cadrul proiectului, proceduri eveniment vide care
sunt personalizate n momentul execuiei aplicaiei.
Pentru exemplificarea etapei de creare a interfeei aplicaiei, n continuare se propune s se
introduc controalele pentru un formular care s constituie interfaa pentru urmtoarea aplicaie
informatic:
S se realizeze un program n limbajul Visual Basic care s calculeze valoarea total a unei facturi
de materiale. Deocamdat, factura conine un singur material la o rulare a programului. Datele de intrare
sunt: numr factur (Nrf), data facturii (Df), codul materialului (Codmat), denumirea materialului
(Denmat), cantitate (Cant) i preul unitar al materialului (Pu). TVA este de 19%. Datele de intrare vor fi
introduse cu ajutorul casetelor text (Text Box) cu etichete pentru fiecare dintre ele.
Rezultatele rulrii programului se vor afia n casete text separate pentru valoare material fr
TVA (Vmftva), valoare material cu TVA (Vmctva), valoare factur fr TVA (Vfftva) i valoare factur
cu TVA (Vfctva).
Se vor prevedea butoane de comand (Command Button) pentru calculul i afiarea unui material
(fr TVA i cu TVA) butonul CALCULEAZA i pentru calculul valorii facturii (fr TVA i cu TVA)
butonul AFISEAZA.
Pentru afiarea denumirilor pentru datele de intrare (Nrf, Df, Codmat, Denmat, Cant i Pu), a
datelor intermediare (Vmftva i Vmctva) i a datelor de ieire sau rezultatelor (Vfftva i
Vfctva), se folosesc controale de tip etichet (Label). Aceste controale de tip etichet se gsesc n caseta
cu intrumente (Toolbox) cu simbolul grafic. Controalele se introduc n formular prin tehnica Drug and
Drop i se dimensioneaz cu ajutorul mnerelor de dimensionare (Label1 Label10). n mod similar se
procedeaz cu casetele text (Text Box) cu simbolul grafic casete care servesc, n cazul formulat n enunul
aplicaiei informatice (un singur material pe factur), pentru introducerea datelor de intrare i afiarea
datelor intermediare i de ieire (Text1Text2), precum i cu butoanele de comand (Command Button)
ce se vor folosi pentru declanarea procedurilor de calcul (Command1), de afiare a valorii facturii
(Command2) i de ieire din program (Command3).
9.2.3. Precizarea proprietilor
Precizarea proprietilor n etapa de proiectare (Design Mode) a formularului sau a altui obiect
vizual se realizeaz cu ajutorul ferestrei Properties.
Fereastra Properties este format din caseta cu obiecte, Objects (afieaz numele i tipul
obiectului selectat, adic obiectul curent) i caseta Settings setri (afieaz alfabetic sau pe categorii
lista proprietilor stnga i lista cu valorile sau setrile proprietilor dreapta).

Activarea ferestrei Properties se poate obine prin succesiunea de comenzi meniu principal
View Properties Window sau cu ajutorul tastei funcionale F4.
Precizarea proprietilor se obine prin parcurgerea urmtoarele etape:
1) dac nu este afiat, se activeaz fereastra Properties; se selecteaz obiectul cruia urmeaz s
i se precizeze proprietile; n acest moment, se afieaz automat proprietile cu valorile implicite pentru
obiectul selectat;
2) din lista alfabetic sau lista pe categorii a proprietilor se selecteaz denumirea proprietii la
care se vor modifica valorile sau setrile existente;
3) n coloana valorilor sau setrilor din dreapta se tasteaz sau se selecteaz valorile dorite pentru
proprietate.
Pentru a asocia o pictogram unui formular se atribuie o valoare proprietii icon pentru acel
formular.
Pentru exemplificarea etapei de precizare a proprietilor,se continu aplicaia cu factura
materiale din paragraful 9.2.2, precizndu-se proprietile de baz Name i Caption pentru formular i
controalele introduse de tipul Label, TextBox (numai Name) i Command Button prin selectarea succesiv
a acestora.
Personalizarea numelui pentru formular se obine prin introducerea n fereastra Properties a
numelui (Name) frmMat i a etichetei (Caption) FACTURA MATERIALE.
Personalizarea numelui pentru controalele de tip etichet (Label) se obine prin introducerea n
fereastra Properties a numelui (Name) lblNrf i a etichetei (Caption) Numar factura, respectiv:
lblDf (Name), Data factura (Caption);
lblCodmat (Name), Cod material (Caption);
lblDenmat (Name), Denumire material (Caption);
lblCant (Name), Cantitate (Caption);
lblPu (Name), Pret unitar (Caption);
lblVmftva (Name), Valoare material fara TVA (Caption);
lblVmctva (Name), Valoare material cu TVA (Caption);
lblVfftva (Name), Valoare factura fara TVA (Caption);
lblVfctva (Name), Valoare factura cu TVA (Caption).
Personalizarea numelui pentru controalele de tip caseta cu text (TextBoxl) se obine prin
introducerea n fereastra Properties a:
txtNrf (Name) pentru Numar factura;
txtDf (Name) pentru Data factura;
txtCodmat (Name) pentru Cod material;
txtDenmat (Name) pentru Denumire material;
txtCant (Name) pentru Cantitate;
txtPu (Name) pentru Pret unitar;
txtVmftva (Name) pentru Valoare material fara TVA;
txtVmctva (Name) pentru Valoare material cu TVA;
txtVfftva (Name) pentru Valoare factura fara TVA;
txtVfctva (Name) pentru Valoare factura cu TV.
Personalizarea numelui pentru controalele de tip butoane de comand (Command Button) se
obine prin introducerea n fereastra Properties a:
cmdCalcul (Name), CALCULEAZA (Caption);
cmdAfisare (Name), AFISARE VALOARE FACTURA (Caption);
cmdExit (Name), IESIRE (Caption).
Aspectul formularului obinut prin precizarea proprietilor formularului i controalelor incluse
este prezentat n figura de mai jos.

9.2.4. Scrierea codului
Dup proiectarea formularului i precizarea proprietilor, urmeaz scrierea codului care const n
asocierea unor secvene de cod pentru toate controalele din formular, adic moduri de aciune la diverse
evenimente. Codul conine constante, declaraii de variabile i instruciuni scrise n limbajul de
programare Visual Basic, n conformitate cu algoritmul de calcul.
Legarea efectiv de control sau fereastr a secvenelor de cod se obine de ctre utilizator
(programator) n mod conversaional.
Pentru scrierea codului se deschide fereastra de editare a codului (Code Editor), prin dublu-click
executat cu butonul stng al mouse-ului poziionat pe obiectul selectat.
Fereastra de editare a codului (Code Editor) este format din fereastra principal ce reprezint
zona pentru scrierea codului i dou casete de tip list din care se selecteaz controlul pentru care se scrie
codul (Object) i, respectiv, din care se alege evenimentul la care se reacioneaz prin codul scris pentru
procedur n fereastra principal (Procedure).
Codul din proiectele realizate n VB se divide n blocuri de dimensiuni mai mici numite
proceduri. Codul care corespunde unui eveniment se numete procedur eveniment.
Procedura-eveniment asociat unui control are numele alctuit din numele controlului (stabilit n
proprietatea Name), o liniu de subliniere (_) i numele evenimentului.
Atunci cnd se deschide fereastra de cod i se selecteaz evenimentul pentru care se scrie codul,
se genereaz automat prima i ultima linie a procedurii (Private Sub Form_Load () i End Sub) ce
constituie un ablon de lucru.
Pentru crearea unei proceduri-eveniment se execut urmtoarea succesiune de aciuni: caseta
Object se specific numele obiectului din formularul curent (adic cel care este focalizat) pentru care
se scrie codul caseta cu list Procedure selecie nume eveniment asociat obiectului selectat (de
exemplu, procedura Click implicit pentru controlul buton de comand, Command Button) ablon
pentru procedura-eveniment ntre declaraiile Private Sub i End Sub, se introduce de la tastatur codul
n conformitate cu algoritmul de calcul.
Se poate opta pentru afiarea tuturor procedurilor n aceeai fereastr de cod sau pentru afiarea
unei singure proceduri la un moment dat.
Pentru afiarea tuturor procedurilor n cadrul aceleiai fereastre de cod, se execut clic pe butonul
de vizualizare a ntregului modul, Full Module View, n colul din stnga-jos al ferestrei de editare a
codului, Code Editor sau se execut urmtoarea succesiune de aciuni: meniul Tools caseta de
dialog Options seciunea Editor (1) grupul de setri pentru fereastr, Window Settings (2), bif n
caseta de validare din stnga lui Default to Full Module View (3). n acelai grup de setri pentru
fereastr, caseta de validare din stnga lui Procedure Separator (4) servete la adugarea sau eliminarea
unei linii de separaie ntre proceduri.

Pentru afiarea unei singure proceduri la un moment dat, se execut click pe butonul de
vizualizare a procedurii, Procedure View, n colul din stnga-jos al ferestrei de editare a codului, Code
Editor sau se execut urmtoarea succesiune de aciuni: meniul Tools caseta de dialog Options
seciunea Editor (1) n grupul de setri pentru fereastr, Window Settings (2), se terge bifa din
caseta de validare din stnga lui Default to Full Module View (3).
Pentru exemplificarea etapei de scriere a codului unei aplicaii informatice n Visual Basic, se
continu aplicaia cu factura de materiale din paragrafele 9.2.2 i 9.2.3. Codul aferent se introduce n
fereastra de editare a codului (Code Editor).

9.2.5. Execuia aplicaiei informatice n Visual Basic
Dup parcurgerea etapelor de creare a interfeei (proiectarea formularului), de precizare a
proprietilor i de scriere a codului, toate fiierele aplicaiei sunt salvate i se trece de la modul de
proiectare (Design Mode) la modul de rulare (execuie) a proiectului (Run Mode).
Pentru a lansa n execuie aplicaia, se alege opiunea Start din meniul Run sau se acioneaz tasta
funcional F5 sau se execut cu butonul stng al mouse-ului click pe butonul Start de pe bara cu
instrumente.
Terminarea rulrii proiectului se efectueaz cu opiunea End din meniul Run sau prin apsarea
butonului de nchidere (Close) a ferestrei aplicaiei (colul din dreapta sus al ferestrei) sau prin apsarea
butonului End de la bara cu instrumente.
Dup terminarea execuiei aplicaiei, mediul VB revine n modul de proiectare (Design Mode).
Prin rularea proiectului, se obine fiierul executabil. Aa cum s-a artat n paragraful 9.2.1,
fiierul executabil se poate obine direct din meniul File cu opiunea Make EXE.
Relund aplicaia cu factura de materiale din paragrafele 9.2.2, 9.2.3 i 9.2.4, aceast aplicaie se
ruleaz cu seturile de date de intrare (se consider materiale consumabile pentru tehnica de calcul).

U9.3. Elementele limbajului de programare Visual Basic

9.3.1. Unele reguli de scriere
O proprietate esenial a unui obiect n Visual Basic este numele (Name).
Numele este folosit pentru a referi un obiect particular n cadrul codului. Numele obiectului
trebuie s fie sugestiv i s arate, n cazul controalelor, grupul de controale cruia i aparine. Ca urmare,
s-a adoptat convenia conform creia un nume trebuie s fie format dintr-un prefix din trei litere (dat de
notaia ungar) i numele propriu-zis cu semnificaie pentru utilizarea obiectului. Prefixul numelui indic,
n mod unic, grupul de controale din care face parte.
Numele obiectelor pot avea maxim 40 de caractere, trebuie s nceap cu o liter i pot conine
numai litere, numere i underscore ( _ ). n cadrul mai larg al ntregului limbaj Visual Basic, cu setul de
caractere ASCII extins ce formeaz alfabetul acestui limbaj, se construiesc literalii i identificatorii.
Literalii sunt compui din iruri de caractere. Literalii pot fi de tipul literali iruri de caractere i sunt
scrii ntre ghilimele, i de tipul literali numerici zecimali (n baza 10), octali (n baza 8), hexazecimali
(n baza 16).
Identificatorii pot fi predefinii (cuvinte rezervate i cuvinte-cheie ce desemneaz instruciuni,
funcii, operatori, metode) sau pot fi definii de utilizator (ce desemneaz obiecte, variabile, tipuri de date,
constante, etichete, proceduri).
Instruciunile specifice limbajului Visual Basic se obin prin combinarea literalilor,
identificatorilor i cuvintelor rezervate. Pentru lizibilitatea codului, fiecare instruciune se scrie pe o linie
separat. Dac o instruciune nu ncape pe o linie, se poate continua pe linia urmtoare prin caracterul
underscore (_). Se pot folosi 20 astfel de linii de continuare a unei instruciuni. Numele sunt folosite la
setarea proprietilor la momentul execuiei i n stabilirea numelor procedurilor pentru evenimentele

obiectelor. Setarea proprietilor la momentul execuiei se obine prin scrierea unui cod. Formatul acestui
cod se scrie prin notarea cu punct i este: Nume obiect. proprietate = noua valoare (Object Name.
Property = New value).
n Visual Basic, numele obiectelor sunt utilizate n setarea unui cadru de lucru (framework)
corespunztor procedurilor eveniment, pentru scrierea codului. Formatul fiecrei subrutine (n Visual
Basic nu exist program principal; toate procedurile obiectelor sunt subrutine) este: Private Sub Object
Name_Event (Optional Arguments) End Sub.
Formularului i se ataeaz un obiect. Visual Basic construiete automat un cadru de lucru
(framework) pentru fiecare dintre procedurile eveniment. Utilizatorul care construiete aplicaia trebuie s
scrie codul procedurilor eveniment la care corespunde aplicaia.




9.3.2. Tipuri de date
Tipurile de date reprezint natura datelor n cadrul unui limbaj de programare. n limbajul Visual
Basic, tipurile de date sunt predefinite (standard) sau definite de utilizator.
Tipurile de date definte de utilizator se obin prin combinarea mai multor tipuri de date
existente n structuri de date.
Declararea tipurilor de date definite de utilizator se efectueaz n seciunea Declaration (din
modulul standard) cu TypeEnd Type care are sintaxa general:
[Private/Public] Type nume_tip_data_utilizator
Nume_1 As tip_data_1
Nume_2 As tip_data_2

Nume_n As tip_data_n
End Type
Tipurile de date definite de utilizator se declar la nivelul modulelor standard, de clas sau
formular (numai Private). Aceste tipuri de date nu pot fi declarate la nivelul unei proceduri.
De exemplu, tipul de date definite de utilizator Client are urmtoarea structur:
Type Client
Nume_client As String *20
Prenume_client As String *20
Adresa_client As Adresa
CNP_client As String *13
End Type
unde tipul de date definit de utilizator Adresa are structura:
Type Adresa
Localitate As String *20
Strada As String *20
Numar As Integer
Judet As String *20
End Type


9.3.3. Variabile i constante
Variabilele care se folosesc ntr-un program desemneaz locaii de memorie n care se stocheaz
valori ce se modific pe timpul execuiei programului. O variabil n limbajul Visual Basic are un nume
(identificator) format astfel:
maxim 40 de caractere;
numele include: litere, numere, underscore ():
primul caracter trebuie s fie o liter;
nu se pot folosi ca nume de variabile, cuvintele rezervate, care fac parte din setul de cuvinte
cheie al limbajului.
Corespunztor variabilei care se dorete a fi creat i utilizat, utilizatorul poate s stabileasc
tipul de dat asociat prin folosirea unui sufix de natura tip de dat care va putea fi stocat sau prelucrat prin
intermediul respectivei variabile.
Exist trei moduri de declarare a unei variabile:
Prin lips (din oficiu). Dac variabila nu este definit n nici un mod, ea este presupus Variant,
adic un tip de dat Visual Basic care poate conine: valori numerice, iruri de caractere sau dat
calendaristic.
Implicit. Declararea implicit este dat prin folosirea sufixului corespunztor. De exemplu, o
variabil de tip String (ir de caractere) poate fi declarat implicit astfel:
Material$ = Cherestea
iar o variabil de tip Integer se poate declara implicit astfel:
Cantitatea% = 273
Explicit. Acest mod de declarare a unei variabile prezint mai multe avantaje: asigur
efectuarea unui calcul corect prin intermediul instruciunilor care utilizeaz variabilele respective i
permite identificarea, gestionarea corect a apariiei literelor mari sau a literelor mici n numele
variabilelor. Datorit acestor avantaje, se prefer lucrul cu tipurile de variabile explicite.
Pentru a putea lucra cu variabile declarate explicit trebuie s fie cunoscut domeniul de valabilitate
i anume:
1) domeniul procedurilor;
2) domeniul procedurilor n care variabilele se declar static;
3) domeniul formularelor i modulelor;
4) domeniul nivelului global.
De exemplu, pentru domeniul procedurilor, variabilele sunt declarate folosind cuvntul cheie
Dim:
Dim Denumire_material As String
Dim Cantitate As Integer
Dim Pret_unitar As Single.
Variabilele declarate la nivelul procedurilor i vor pstra valorile numai pe timpul rulrii
procedurilor respective. Din acest motiv se mai numesc i variabile locale.
Pentru ca variabilele s-i pstreze valorile i dup terminarea procedurii, se folosete domeniul
procedurilor n care variabilele se declar static, cuvntul-cheie Dim fiind nlocuit cu Static.
De exemplu:
Static Denumire_material As String.
Static Cantitate As Integer.
Static Pret_unitar As Single.
Pentru domeniul domeniul formularelor i modulelor, variabilele i menin valorile la nivelul
formularului (modulului), relativ la toate procedurile prin declararea variabilelor cu Dim, dar n partea de
declaraii a obiectului general, n fereastra de cod a formularului.
Pentru domeniul domeniul nivelului global, o variabil este disponibil tuturor procedurilor
prezentate n aplicaie, prin declararea n partea de declaraii a obiectului general din fereastra de cod a
unui modul cu ajutorul cuvntului cheie Global. De exemplu:
Global Nr_factura As Long
Global Data_factura As Date.
n cazul mai multor variabile cu acelai nume, variabilele locale au valabilitate numai n cadrul
procedurilor. La prsirea acestor proceduri se folosesc variabilele cu acelai nume, dar definite la nivel
superior.
Procedura de introducere a acestor variabile globale este urmtoarea:
se execut dublu-click oriunde n fereastra formularului pentru a deschide fereastra de editare a
codului (sau se selecteaz opiunea View Code din fereastra Project);
se declar variabilele din formular astfel:
Option Explicit (foreaz declararea variabilelor)
Global Nr_factura As Long
Global Data_factura As Date.

9.3.4. Constante simbolice utilizate n Visual Basic
n cele mai multe situaii, funciile i obiectele limbajului Visual Basic necesit argumente pentru
efectuarea operaiilor specifice, argumente care reprezint constante numerice. Acestea sunt greu de
interpretat din punct de vedere al utilizatorului. Pentru a le face inteligibile, limbajul Visual Basic asigur
nume celor mai utilizate valori i acestea se numesc constante simbolice.
De exemplu, pentru setarea fondului formularului frmMat pe culoarea albastr se poate scrie:
frmMat. Back Color = 0XFF0000 sau, folosind constanta simbolic pentru albastru:
frmMat. Back Color = VBBlue
Utilizatorul i poate defini propriile constante ca de exemplu: const TVA = 0.24.
Constantele de utilizator se scriu cu litere mari, pentru a le distinge de variabile. Domeniul de
valabilitate al unei constante este similar cu cel al variabilelor.

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