Sunteți pe pagina 1din 12

Limbajul Visual Basic .

NET (dot Net)

Caracteristici
• ofera utilizatorilor accesul la informatii, fisiere sau alte programe, oriunde, oricand sip e orice platforma
sau dispozitiv.
o utilizatorul beneficiaza de progresele hardware, de tehnologia comunicatiilor si de Internet;
o VB .NET poate rula pe orice platforma. In loc de a optimiza programele in functie de echipamentul
hardware si sistemul de operare specific, se vor utilize compilatoare separate in functie de fiecare
platforma noua.
• VB .NET situeaza internetul in centrul atentiei.
o Microsoft si alte companii vor sista, in viitor, distributia de programe pe CD. Ei vor livra
functionalitatea pe care utilizatorii o obtin astazi de pe urma programelor instalate pe desktop-urile lor,
prin intermediul unor servicii Web, furnizate pe Internet (pe baza de licenta pentru servicii Web).
• Este un limbaj complet orientat pe obiecte.
o Clasele de obiecte un mai pot fi ignorate in VB .NET;
o Termenul “Visual” semnifica faptul ca aplicatia se executa printr-o interfata grafica cu utilizatorul;
o Este un limbaj interactiv realizand interpretarea fiecarei instructiuni pe masura ce este introdusa de la
tastatura, evidentiind imediat erorile de sintaxa.
Specific pentru limbajul VB .NET :
o codul sursa este compilat rezultand Microsoft Intermediate Language (MSIL);
o in pasul doi codul MSIL este executat prin intermediul compilatorului Just In Time (JIT)
pentru a-l face specific unei platforme (este oferit unul sau mai multe compilatoare JIT
pentru fiecare arhitectura de computer).
• permite crearea si exploatarea datelor introduce direct de la tastatura, organizate in fisiere si baze de
date;
• este un mediu interactiv de dezvoltare, deoarece integreaza functiile de proiectare, editare de text,
interpetare, depanare.

Din punct de vedere al modului de realizare a funcţiilor de prelucrare automată a datelor,


literatura de specialitate împarte limbajele de programare în limbaje procedurale şi limbaje
neprocedurale.
Limbajele de programare procedurale (PASCAL, COBOL, BASIC, C++ s.a.) îşi organizează
programul unei aplicaţii în instrucţiuni elementare, structurând (eventual) aplicaţia pe proceduri liniare
iterative sau neiterative.
Limbjele de programare neprocedurale sunt specializate în manevrarea bazelor de date (SQL
Server, FoxPro, ACCESS s.a.). În principiu, aceste limbaje de programare lucrează cu date
înmatriculate în “tabele” organizate de către utilizator.
Din punct de vedere al conceptelor de orientare a programării, sistemele de programare au
cunoscut două modele de dezvoltare: modelul orientat procedural şi modelul orientat pe obiecte.
Modelul orientat procedural se bazează pe dezvoltarea programului în funcţie de algoritmii
particulari diverselor proceduri de rezolvare a aplicaţiei.
Modelul orientat pe obiecte dezvoltă o aplicaţie pe baza unor obiecte programabile. Fiecare
obiect poate constitui o procedură în cadrul general al aplicaţiei.
OBIECTUL PREFIX
Formular Frm
Bară derulantă orizontală Osb
Bară derulantă verticală Vsb
Buton de comandă Cmd
Buton de opţiune Opt
Casetă cu listă Lst
Caseta cu listă combinată Cbo
Caseta de imagine Img
1
Casetă text Txt
etc.
Obiectul este o entitate dinamică, care devine unitate de observare/prelucrare. Caracterul său dinamic
se manifestă prin faptul că un obiect se creează, se utilizează şi se distruge. Ca entitate, obiectul poate
fi construit din oricare unitate programabilă, de la cea mai simplă la cea mai complexă. O asemenea
unitate programabilă are caracteristici asemănătoare cu alte unităţi, are atribute particulare şi este
destinată să-şi conjuge acţiunile în cadrul unui complex de execuţii.
Obiectul se caracterizează prin identiate, metode de comportament şi stare.
Clasa reprezintă o categorie de obiecte cu proprietăţi şi metode specifice, cu caracteristici comune.
Reprezintă complexul de obiecte care au aceleaşi caracteristici şi acelaşi comportament. Clasa este un
element structural şi există conceptual, chiar dacă, la un moment dat, nu conţine obiecte. Clasele sunt
entităţi statice, dar cu caracteristici şi cu proprietăţi bine determinate. Ca noţiune abstractă, clasa este
un concept de metode şi atribute moştenite de obiectele care îi aparţin. Ceea ce deosebeşte un obiect de
un altul aparţinând aceleiaşi clase este complexul de valori (de realizări) intime ale acelui obiect, diferit
de celelelalte.
Clasa poate fi accesată prin interfaţa sa. Interfaţa clasei este caracterizată prin numele şi tipurile
atributelor, precum şi prin numele şi descrierea metodelor.

Proprietăţile unui obiect reprezintă atributele acestuia, cum ar fi dimensiunile (laţime, înalţime),
poziţia pe formular, culoarea, etc.
Text
Caption
Multiline

Metode Prin intermediul desfăşuratorului de obiecte (OBJECT BROWSER), sistemul VB evidenţiază


metodele posibile pentru un anumit obiect.
Count
ADD
Remove

Evenimente Oricare obiect programabil poate fi accesat printr-un eveniment. Pe de altă parte,
asemenea obiecte pot declanşa, la rândul lor, diverse acţiuni programate.
EVENIMENT În ce constă
Load Afişează conţinutul unui formular pe ecran
Unload Degajează ecranul de un formular
Activate Activează un formular (acesta devine fereastră activă)
Deactivate Dezactivează un formular (acesta devine inactiv)
Click Se acţionează o singură dată pe butonul mouse-ului, declanşând
procedura programată pentru controlul respectiv
DblClick Se acţionează rapid de două ori pe butonul mouse-ului,
declanşând procedura programată pentru controlul respectiv
DragDrop Se apasă continuu butonul mouse-ului asupra unui control, se
mişcă mouse-ul şi apoi se eliberează butonul
DragOver Se apasă continuu butonul mouse-ului asupra unui control şi se
deplasează mouse-ul
MouseMove Se mişcă mouse-ul traversând peste un control
MouseDown Se acţionează un buton al mouse-ului asupra unui control
MouseUp Se eliberează un buton al mouse-ului de peste un control
KeyPress Acţionarea unei taste cifrice sau letrice şi eliberarea ei, sau
acţionarea concomitentă a unei asemenea taste împreună cu
tasta ENTER sau CTRL
2
EVENIMENT În ce constă
KeyDown Se acţionează (lung) o tastă asupra unui control
KeyUp Se eliberează o tastă asupra unui control
GotFocus Evidenţiază un obiect atunci când se execută clic pe suprafaţa
lui
LostFocus Un control este dezafectat, fie prin acţiunea operatorului (clic
pe alt control), fie atunci când se utilizează în program metoda
SETFOCUS
Change Este evenimentul implicit pentru casetele de text. Se referă la
schimbările pe care utilizatorul le poate aduce valorilor afişate.
Mutând pointerul de înregistrare, acest eveniment afectează
proprietatea valorii din caseta de text.
Scroll Permite “tragerea” cursorului de derulare în diverse ferestre
care conţin o imagine mai mare decât dimensiunile proiectate
ale ferestrei căreia i-au fost ataşate bare de derulare

Mediul interactiv de dezvoltare

Contine toate instructiunile necesare construirii aplicatiilor VB.


Bara de meniuri
Cuprinde meniurile standard Windows (File, Edit, …) precum si meniuri cu comenzi specifice programarii
(Project, Debug, …).
Bara cu instrumente (ToolBar)
Permite accesul la comenzile cele mai des folosite (New Project, Open File, Save Form, Cut, Copy, Paste, ..).
Fereastra Form Design (Form1.vb [Design])
Este un formular pe care programatorul proiecteaza controale. Un proiect poate avea unul sau mai multe
formulare.
Fereastra Solution Explorer
Cuprinde detaliile administrarii proiectului (formulare, module, fisiere).
Fereastra cu proprietati (Properties)
Afiseaza valorile proprietatilor pentru formularul sau controlul curent.
Caseta cu instrumente (ToolBox)
Contine pictograme folosite in proiectarea aplicatiilor pentru a desena controale pe formular, in scopul
construirii interfetei cu utilizatorul.
Fereastra pentru editarea codului (programul)
Meniuri contextuale
Contine comenile rapide pentru actiuni utilizate frecvent. Meniul contextual se obtine executand clic dreapta pe
obiectul respectiv.

3
Etapele de realizare a unui proiect

1. crearea interfetei programului cu utilizatorul


Visual Basic .NET creeaza interfata cu utilizatorul prin furnizarea dintr-o caseta cu instrumente a unui set
de controale care se pozitioneaza pe formular.
Principalele controale:
• eticheta (Label)
• butonul de comanda (Button)
• caseta de text (TextBox)
• caseta de validare (CheckBox)
• buton de optiuni (RadioButton)
• container de obiecte (GroupBox)
• caseta lista (ListBox)
• caseta combinata (ComboBox)
• bara de derulare orizontala (HScrollBar)
• bara de derulare verticala (VScrollBar)

2. Initializarea controalelor
Posibilitati:
a. initializarea controalelor, in faza de proiectare, in caseta cu proprietati a fiecarui control – se face
manual, prin clic pe obiectul respectiv si modificarea in lista de proprietati a valorilor dorite, astfel:

4
Exemplu: se construieste o aplicatie pentru calculul valorii; avem un formular, cu trei casete text simple,
trei etichete (label-uri) si un buton de comanda..

OBIECT PROPRIETATE VALOARE


Label1 Text cantitate
Label2 Text pret
Label3 Text valoare
TextBox1 Text cantitate
TextBox2 Text pret
TextBox3 Text valoare
TextAlign Right
Button1 Text start

b. intr-o procedura LOAD a formularului – se da dublu click pe formular si, in fereastra de cod, se scrie
urmatoarea secventa de program:
Private Sub Form1_Load(...) Handles MyBase.Load
Label1.Text=”cantitate”
Label2.Text=”pret”
Label3.Text=”valoare”
TextBox1.Text=” ”
TextBox2.Text=” ”
TextBox3.Text=” ”
TextBox3.TextAlign=HorizontalAlignment.Right
Button1.Text=”Start”
End Sub
- deci, la declansarea evenimentului LOAD a formularului se deruleaza aceasta “initializare” a controalelor.

c. intr-o procedura CLICK a unui buton de comanda – se insereaza in formular un buton de comanda, se
da dublu clic pe acesta si se scrie in fereastra de cod urmatoarea secventa de program:
Private Sub Button1_Click(...) Handles Button1.Click
Label1.Text=”cantitate”
Label2.Text=”pret”
Label3.Text=”valoare”
TextBox1.Text=” ”
TextBox2.Text=” ”
TextBox3.Text=” ”
TextBox3.TextAlign=HorizontalAlignment.Right
Button1.Text=”Start”
End Sub
- deci, la declansarea evenimentului CLICK a unui buton de comanda se deruleaza aceasta “initializare” a
controalelor.

3. executia programului
Se executa clic pe butonul START din bara cu pictograme sau se alege optiunea START din meniul
DEBUG. Ori de cate ori utilizatorul executa clic pe un buton de comanda, Visual Basic .NET se duce la
procedura Button1_Click si executa comenzile procedurii (se declanseaza evenimentul clic pentru a
interactiona cu programul).

4. crearea programului executabil


Versiunea actuala a programului contine multe informatii de depanare, fiind versiune de depanare a
programului. Pentru crearea programului executabil se executa clic pe sageata din dreapta cuvantului
Debug si se selecteaza Release. In meniul Build apare o optiune Build-nume proiect. Se executa clic pe
aceasta optiuen si VB .NET inlocuieste versiunea de depanare cu una executabila.

5
Elementele limbajului Visual Basic
1. Cuvintele
a. cuvintele rezervate – sunt cuvinte cu semnificatii prestabilite, desemnand o actiune a limbajului (exe:
DIM, InputBox, IF…END IF, MESSAGEBOX etc).
b. cuvinte utilizator – sunt cuvinte ale utilizatorului, altele decat cele rezervate, pentru a da nume in
program constantelor, variabilelor, procedurilor, functiilor si altor elemente de limbaj.
Reguli de formare:
• contine litere, cifre dar trebuie sa inceapa cu o litera;
• sa nu contina spatii;
• pot contine liniuta de subliniere (underscore).
Exemple: Nrdocument, Nr_document, Numar_document, Nd

2. Constantele
Constantele definesc locatii de memorie a caror valoare ramane neschimbata pe parcursul aplicatiei.
Constantele sunt de doua feluri:
a. Constante proprii limbajului
Desemneaza butoanele din casetele de dialog cu utilizatorul: vbOK, vbYesNo, vbOKCancel etc
b. Constante definite de programator
Constantele se definesc:
• la nivel local, cand sunt vazute numei de procedura respective;
• la nivel de modul, cand sunt vazute de toate procedurile modulului;
• la nivel global, se declara GLOBAL si sunt vazute de toata aplicatia.
Exemplu:
Private Sub Button1_Click(…)
Const Suma As Integer = 50000
Const Text As String = “Dobanda este de”
Dim Dobanda As Single
Doband=(Suma*6/100)*1/12
MessageBox.Show(Text & “ “ & Dobanda)
End Sub

3. Variabile
Variabila este numele unei locatii de memorie utilizata pentru a stoca data respective. Datele pe care o
variabila le poate stoca se pot modifica pe masura ce progarmul este executat.
Numele variabilelor trebuie sa respecte regulile:
• sa nu depaseasca 255 caractere;
• sa inceapa cu o liotera si pot fi formate din litere, cifre si liniuta de subliniere;
• sa nu contin spatii;
• nu se face diferenta intre literele mici si literele mari.

Tipuri de date
Fiecare variabila trebuie sa fie de un anumit tip. Tipurile de data determina domeniul de valori pe care
memoria le poate stoca si operatiile care se pot realize in memorie.
O variabila este de tip valoare sau de tip referinta.
• variabila este de tip valoare daca datele desemnate de aceasta variabila sunt continute in locatia de
memorie proprie acestei variabile.
• tipul referinta contine o referinta (un pointer) la o alta locatie de memorie care contine datele
efective.

Tipul / valoare
6
Tip Gama de valori
Number Byte Intre 0 – 255, fara semn
Short Intre -32.768 si +32.767
Integer Intre -2 si +2 miliarde
Long (intreg long) Intre -9 si +9 cvintilioane (19 intregi)
Single (v.m. simpla precizie) Cu 6 zecimale
Double (v.m. dubla precizie) Cu 14 zecimale
Decimal Tip de data in virgule mobile, dar cu o
acuratete mai mare decat tipul Double
Boolean True sau False
Char Un character alphanumeric
Date Intre 1 ian. 1 si 31 dec. 9999
Structure Date definite de utilizator
Tipul de referinta
Object Poate sa contina orice tip de data
String Intre 0 si 2 miliarde de caractere

Declararea variabilelor

Variabilele pot fi declarate implicit sau explicit


Declararea implicita (OPTION EXPLICIT OFF)
Determina alocarea zonei de memorie la prima executie a instructiunii in care se utilizeaza variabila.
OPTION EXPLICIT OFF
Public Class Form1
Private Sub Button1_Click(…) Handles Button1.Click
cant = 100
pret = 50
valoare=cant*prêt
MessageBox.Show(valoare)
End Sub
End Class
Declararea explicita (ONPTION EXPLICIT ON)
Acest mod de declarare este subinteles. Modul de declarare explicit forteaza declararea variabilelor.
OPTION EXPLICIT ON
Public Class Form1
Private Sub Button2_Click(…) Handles Button2.Click
Dim cant As Short = 100
Dim pret As Short = 50
Dim valoare As Short = cant*prêt
MessageBox.Show(valoare)
End Sub
End Class
Pentru a declara o variabila se folosesc declaratiile: Dim, Private, Public, Redim.

Aplicatii tip consola (Console Application)

Afiseaza rezultatul intr-o fereastra tip formular, fara sa fie necesara plasarea controalelor pe formular.
Obtinerea ferestrei de cod: File - New Project – Console Application - se da numele proiectului…
Apare fereastra de cod
Module Module1
Sub Main()

7
End Sub
End Module
Avantajele
- nu solicită resurse hardware considerabile;
- permite folosirea structurilor de control cunoscute (repetitive, alternative).
Dezavantajele
nu prezintă o interfaţă care să permită folosirea controalelor
Comenzi:
• InputBox(“mesaj”) – pentru itroducerea datelor, si atasarea acestora unor variabile dimensionate
anterior;
• Console.Write(“mesaj”) – afiseaza rezultatul pe un rand;
• Console.WriteLine(“mesaj”) – dupa afisarea rezultatului deplaseaza cursorul la inceputul liniei
urmatoare;
• Console.ReadLine() – afiseaza mesajul inserat in linia de comanda Console.Write() sau
Console.WriteLine().

Aplicatii tip Windows (Windows Application)

Avantajele folosirii programării tip windows:


- prezintă o interfaţă care să permită folosirea controalelor.
- permite folosirea structurilor de control cunoscute (repetitive, alternative).
Dezavantajele folosirii programării tip consolă:
- solicită resurse hardware considerabile;

Operatori Visual Basic


Operatori aritmetici
+, -, *, / adunare, scadere, inmultire, respectiv impartire
\ impartie cu obtinerea catului intreg
^ ridicare la putere
Mod (Module) impartire cu obtinerea restului impartirii

Operatori aritmetici utilizati de VB numai in versiunea VB .NET


+= aduna valoarea unei expresii cu valoarea unei variabile si atribuie rezultatul unei variabile
variabila += expresie
-= scade valoarea unei expresii din valoarea unei variabile si atribuie rezultatul variabilei
variabila -= expresie
&= concateneaza o expresie sir de caractere cu continutul unei variabile de tip sir si atribuie rezultatul
variabilei
variabila &= expresie
*= multiplica valoarea unei avriabile cu valoarea unei expresii si atribuie rezultatul variabilei
/= imparte valoarea unei variabile l avaloarea unei expresii in virgule mobile si atribuie rezultatul variabilei

Operatori de comparatie
=, >, <, >=, <=, <> egalitate, mai mare strict, mai mic strict, mai mare sau egal, mai mic sau egal, respectiv
diferit

Operatori de concatenare
+ utilizat pentru legarea datelor de tip sir de caractere in comenzile VB. Datele numerice trebuie
transformate in date de tip sir cu functiile Str(), Cstr()
& utilizat pentru concatenarea datelor. Forteaza variabilele sa devina de tipul adecvat

Operatori logici
AND returneaza True cand toate conditiile sunt satisfacute
OR returneaza True daca cel putin una din conditii este indeplinita
8
NOT schimba valoarea True in Flase si invers
XOR (sau exclusiv) presupune ca cele doua conditii pe care le leaga sa fie ambele True sau ambele Flase

Imbunatatirea performantelor la utilizarea operatorilor AND si OR


AndAlso se stie ca atunci cand se foloseste AND, daca prima jumatate a conditiei este falsa, atunci
intreaga conditie este falsa. AndAlso determina sa se evalueze a doua parte a conditiei numai daca prima parte
este evaluata ca adevarata
OrElse se stie ca atunci cand se foloseste OR, daca prima parte a conditiei este evaluata ca adevarat,
atunci intreaga conditie este adevarata. OrElse determina sa se evalueze a doua parte a unei conditii numai daca
prima parte este evaluata ca falsa.
Structuri fundamentale de control
• structuri secventiale (liniare)
• structuri alternative (de ramificare, conditionale)
• structuri repetitive (iterative sau de ciclare)
Structuri secventiale
In cadrul structurilor secventiale operatiile se executa una dupa alta, neconditionat.
Structuri alternative
Structurile de control alternative, numite si conditionale, evalueaza expresii in functie de rezultatul carora se
executa secvente diferite de program.

Structura alternativa cu doua ramuri (IF...THEN...ELSE)


Sintaxa generala:
IF conditie Then
Set-instructiuni-1
Else
Set-instructiuni-2
End IF

Daca este adevarata conditia se exeuta setul de instructiuni 1, iar daca este falsa se executa setul de
instructiuni 2. In ambele cazuri se trece dupa End IF.

Structura alternativa cu ramura vida (IF...Then)


Sintaxa generala:
IF conditie Then
Set-instructiuni
End IF
Daca este adevarata conditia se executa setul de isntructiuni, in caz contrar se trece dupa End IF
sau
IF conditie Then set-instructiuni
In acest caz instructiunea trebuie scrisa pe o singura linie.

Structura alternativa cu mai multe ramuri (imbricata)


Sintaxa generala:
IF conditie-1 Then
Set-instructiuni-1
ElseIF conditie-2 Then
Set-instructiuni-2
.................
ElseIF conditie-n Then
Set-instructiuni-n
Else
Set-instructiuni-(n+1)
End IF
Daca este adevarata conditia-1, se executa setul de instructiuni 1 s.a.m.d. Daca nu este indeplinita nici o
conditie se executa setul de instructiuni n+1.
9
sau
IF conditie-1 Then
Set-instructiuni-1
Else
IF conditie-2 Then
Set-instructiuni-2
Else
..................
IF conditie-n Then
Set-instructiuni-n
Else
Set-instructiuni-(n+1)
End IF
End IF
................
End IF
Observatie: primul IF este inchis de ultimul End IF.

Structura alternativa generalizata (Select case...End Select)


Se caracterizeaza prin existenta mai multor ramuri pe care exista secvente de instructiuni. Executia secventelor
de instructiuni pe una din ramuri este conditionata de rezultatul evaluarii expresiei (selectorului).
Sintaxa generala:
Select case selector
Case expresie-1
Set-instructiuni-1
Case expresie-2
Set-instructiuni-2
.................
case expresie-n
set-instructiuni-n
[Case Else
set-instructiuni-(n+1)]
End Select

Structuri repetitive
Structura repetitiva determina executia repetata a unei secvente de program in functie de indeplinirea unei
conditii.
Aceste structuri pot fi conditionate anterior sau posterior, sau pot fi contorizate sau necontorizate.
Structurile repetitive pot fi:
While...End While
Do...Loop
For..Next
For Each...Next

Comanda While...End While


Sintaxa generala:
While conditie
Set-instructiuni
End While
Este o structura repetitiva conditionata anterior. Secventa de instructiuni se executa atata timp cat conditia
este adevarata. Cand conditia nu este adevarata se trece la prima instructiune dupa End While. Este posibil ca
instructiunea sa nu se execute niciodata.

Comanda Do..Loop
Comanda Do..Loop conditionata anterior
10
Sintaxa generala:
Do While/Until conditie
Set-instructiuni-1
[Exit Do]
set-instructiuni-2
Loop
Daca se utilizeaza Do While...Loop, instructiunea se executa atata timp cat conditia este adevarata, iar daca se
utilizeaza Do Until...Loop, instructiunea se executa atata timp cat conditia este falsa.. Clauza Exit Do
determina iesirea din bucla.
Comanda Do..Loop conditionata posterior
Sintaxa generala:
Do
Set-instructiuni-1
[Exit Do]
set-instructiuni-2
Loop While/Until conditie
Daca se utilizeaza Do...Loop While, instructiunea se executa atata timp cat conditia este adevarata, iar daca se
utilizeaza Do...Loop Until, instructiunea se executa atata timp cat conditia este falsa.

Structura repetitiva cu contor conditionata anterior For...Next


Sintaxa generala:
For variabila_contor = valoare_initiala To valoare_finala [STEP pas]
Set-instructiuni-1
[Exit For]
set-instructiuni-2
Next [variabila_contor]
unde: variabila_contor este o variabila numerica pentru care se cunosc valoare_initiala, valoare_finala si pas
(valoarea care se adauga la variabila_contor)

Programarea orientata pe obiecte


Pentru programarea operatiilor complexe trebuie identificate obiectele (exe: produse, clienti, furnizori,
depozite, contracte, tranzactii).
In cadrul obiectelor trebuie identificate atributele si operatiile de efectuat asupra obiectelor (exe: calcul valoare,
tva)
Obiectele cu aceleasi atribute si cu un comportament comun sunt grupate in clase.
Concluzie: atributele si operatiile (metodele) se grupeaza intr-o clasa.
Clasa de obiecte
Clasa este un model care defineste atributele si metodele ce trebuie apelate pentru un anumit tip de obiect.
In interiorul definitiei unei clase programatorul defineste atributele (declaratiile de variabile) si functiile sau
subrutinele (metodele).
Clasa se declara Public astfel incat sa fie disponibila tuturor procedurilor din toate clasele sau modulele din
cadrul aplicatiilor.
Atributele (campurile) se declara Private pentru a fi disponibile doar clasei sau modulului.
Declarand atributele (variabilele membre ale clasei) Private in cadrul clasei, se utilizeaza incapsularea.
Incapsularea consta in capacitatea claselor de a contine la un loc atat date cat si metode, in care numai
metodele sunt vizibile din exterior. Prin incapsulare clasele ascund detaliile de impelmentare.
Dupa creare datele aferente unui obiect nu mai pot fi modificate ci numai citite prin intermediul metodelor de
tip Return, asigurandu-se astfel securitatea datelor impotriva modificarilor neautorizate.
Avand in vedere declararea Private a campurilor cum pot fi ele citite sau scrise? Accesul la variabile se
realizeaza prin inetrmediul proprietatilor.
Proprietatile controleaza accesul la campurile de date Private ale claselor, fapt ce permite validarea sau
editarea datelor atribuite acestor campuri (in cadrul proprietatilor se pot introduce restrictii).
Aceste proprietati sunt:
• Get care returneaza o valloare in exteriorul clasei
• Set se utilizeaza pentru a accepta o valoare din esteriorul clasei si nu o atribuie unei variabile Private
11
• ReadOnly care permite returnarea (citirea datelor) dar fara a fi modificate
• WriteOnly permite ca datele sa fie doar scrise
Observatie: Proprietatile pentru a fi accesate din exteriorul clasei trebuie sa fie declarate Public.
Organizarea programului folosind functii si subrutine
La programele mari si complexe se recomanda organizarea lor pe unitati mai mici cusarcini specifice.
Deosebirea dintre functie si subrutina consta in faptul ca functia dupa ce este procesata returneaza o valoare
(unrezultat) in timp ce subrutina nu afce acest lucru.
Subrutine
Sintaxa generala:
Sub nume_subrutina
Declaratii (set de instructiuni)
End Sub
Subrutina se apeleaza, in program, prin numele ei.
Exemplu:
Public Class Form1
Dim ore As Byte
Dim tarif As Single
Dim salbrut As Long

Private Sub Button1_Click(...) Handles Button1.Click


Do
Introducere_date()
Calcul()
Afisare()
Loop Until MsgBox(”Continuati?”, vbYesNo)=vbNo
End Sub

Sub introducere_date()
Ore = InputBox(„precizati numarul de ore lucrate”)
Tarif = InputBox(„precizati tariful orar”)
End Sub

Sub calcul()
Salbrut = ore * tarif
End Sub

Sub afisare()
TextBox1.text = Cstr(salbrut)
End Sub
Functii
Exemplu:
Public Class Form1
Dim ore As Byte
Dim tarif As Single
Dim salbrut As Long

Private Sub Button1_Click(...) Handles Button1.Click


Salbrut()
End Sub
Function salbrut()
Ore = InputBox(„precizati numarul de ore lucrate”)
Tarif = InputBox(„precizati tariful orar”)
Salbrut = ore * tarif
TextBox1.text = Cstr(salbrut)
End Sub
12