NET
_________________________________________________________________________________________________________________
UNITATEA DE NVARE 3
ELEMENTELE LIMBAJULUI VB.NET
___________________________________________________________________________
Cuprins
Obiectivele unitii de nvare 3
3.1. Introducere n VB.NET
Evoluia limbajului BASIC
Caracteristicile limbajului VB.NET
Platforma .NET Framework
Structura unei aplicaii n VB NET
ntrebri
3.2. Tipuri de date
Definirea conceptului de tip de dat
Categorii de tipuri de date
Copierea i compararea datelor
ntrebri
3.3. Structurile lexicale ale limbajului VB.NET
Categorii de uniti lexicale
Comentariile
Cuvintele cheie
Identificatorii
Literalii
Separatorii
Variabilele
Constantele
Operatori
Instruciunile
ntrebri
3.4. Instruciuni n VB.NET
Instruciunile declarative
Instruciunile de control
Alte instruciuni executabile
ntrebri
3.5. Subprograme in VB.NET
Funciile de sistem (intrinseci)
Subprogramele definite de utilizator
ntrebri
1
Confereniar universitar dr. Veronica POPESCU
VB.NET:
este un limbaj complet pentru programarea orientat pe obiecte, avnd
implementate toate paradigmele programrii orientate obiect;
este un limbaj puternic tipizat la activarea directivei Option explicit on (care
foreaz definirea explicit a variabilelor nainte de utilizare). Dac se activeaz i
Option strict on (nu vor fi permise conversiile implicite cu pierdere de mrime sau
precizie) ;
trateaz structurat excepiile prin structura: Try Catch Finally;
ofer suport pentru prelucrrile multi-fir (multi-threading);
ofer suport pentru dezvoltarea WEB.
John Connell, Microsoft Visual Basic .NET, Editura Teora 2003, pg. 4
3
Confereniar universitar dr. Veronica POPESCU
John Connell, Microsoft Visual Basic .NET, Editura Teora 2003, pg. 7
4
Confereniar universitar dr. Veronica POPESCU
Aplicaii Windows:
Servicii WEB:
5
Confereniar universitar dr. Veronica POPESCU
Astfel, de exemplu:
.Windows Application (aplicaie Windows) este folosit pentru a crea o aplicaie
executabil n format Windows, de obicei cu extensia .exe i reprezint standardul de aplicaii
care lucreaz sub sistemul de operare Microsoft Windows;
.Class Lirary (biblioteca de clase) este folosit pentru a crea un fiier bibliotec cu extensia
.dll;
.Console Application (aplicaie n mod consol) folosit pentru a crea o aplicaie
executabil care poate rula n mod consol (din linia de comand);
.Windows Control Library (librrie de controale Windows) folosit pentru a crea controale
Windows definite de utilizator;
.ASP.NET Web Application (aplicaie Web ASP.NET) folosit pentru a crea o aplicaie
Web de tip ASP.NET;
. ASP.NET Web Service (serviciu Web ASP.NET) folosit pentru a crea un serviciu Web.
c) Folosirea instrumentului Solution Explorer
Solution Explorer (instrumentul de navigare prin soluii) este un instrument Visual Studio,
care permite gestionarea i navigarea printre proiectele i resursele unei soluii. Activarea lui
Solution Explorer se face selectnd din meniul ferestrei design View, Solution Explorer.
Pentru a vizualiza toate fiierele soluiei se poate activa opiunea Show All Files (afieaz
toate fiierele).
Solution Explorer permite: adugarea unui proiect nou unei soluii existente (opiunea Add
(adugare) din meniul contextual); adugarea unui proiect preexistent la o soluie (opiunile:
Add (adugare) din meniul contextual, Existing Project (proiecte preexistente)); configurarea
proprietilor paginii unei soluii (n caseta Property Pages (pagini cu proprieti)), inclusiv
6
Confereniar universitar dr. Veronica POPESCU
Un tip de date este un plan (un model) pentru alocarea unei zone de memorie. Acest plan
determin domeniul de valori pe care memoria le poate stoca, modul de stocare i operaiile
pe care le putem realiza n memorie.
VB.NET utilizeaz dou categorii de tipuri de date: tipul valoare i tipul referin.
nelegerea diferenelor dintre tipurile de date valoare i referin este important din mai
multe motive:
Tipurile primitive din VB.NET sunt identificate prin intermediul cuvintelor cheie care sunt n
realitate alias-uri pentru tipuri de structuri predefinite din spaiul de nume System (exemplu tipul Byte este alias-ul pentru System.Byte).
Tipurile de date de tip valoare acceptate de VB Net sunt:
Tip
Mrimea
locaiei
Valoarea
implicit
Domeniu
Byte
1 octet
Boolean
4 octei
False
Char
2 octei
Chr(0)
0, 65.535
Short
2 octei
-32.768 , 32.767
Integer (ntreg)
4 octei
2.147.483.648, 2.147.483.647
8 octei
9.223.372.036.854.775.808,
-9.223.372.036.854.775.807
4 octei
0.0
-3.402823E38, -1.401298E-45
8 octei
0.0
-1.79769313486231D308,
4.940654584124D-324
8 octei
Structure
n funcie
platform
Ushort
2 octei
de
0, 65.535
b) tipul referin
conine o referire ctre o alt adres de memorie la care se afl datele propriu-zise;
un tip referin conine o adres valid ctre un obiect sau o adres vid (Nothing); cu
o referin vid este ilegal s se fac altceva dect s i se atribuie o valoare adecvat;
8
Confereniar universitar dr. Veronica POPESCU
Tip
Mrimea locaiei
Domeniu
Object
4 octei
Variaz
String
Cum n cazul datelor de tip valoare zona de memorie conine chiar valoarea, atunci cele dou
zone de memorie vor conine aceeai valoare. n codul prezentat mai jos valorile vor fi egale,
chiar dac ocup zone de memorie diferite:
Dim v1 As Integer = 20
Dim v2 As Integer = 20
Copierea (atribuirea) datelor de tip valoare nseamn c valoarea (coninutul) unei zone de
memorie va fi copiat (atribuit) altei zone de memorie:
v1 = v2
( v2 rmne nemodificat).
n faza iniial, dei obiectele o1 i o2 sunt de acelai tip, variabilele de tip referin vor
memora adrese diferite de memorie. Chiar dac la adresele respective vor fi obiecte identice,
n urma comparaiei se va obine rezultatul False.
Copierea (atribuirea) datelor de tip referin nseamn c valoarea (coninutul) unei zone de
memorie va fi copiat (atribuit) altei zone de memorie. Cum n cazul datelor de tip referin
zona de memorie conine adresa unde se afl un obiect, atunci cele dou zone de memorie vor
puncta (vor adresa) aceeai zon de memorie, deci acelai obiect. n codul prezentat mai jos:
o1 = o2
9
Confereniar universitar dr. Veronica POPESCU
10
Confereniar universitar dr. Veronica POPESCU
Figura 3.2(1)
Iniial:
Ulterior: O1= O2
11
Confereniar universitar dr. Veronica POPESCU
ntrebri
1. Definii conceptul de tip de dat.
2. Ce stabilete tipul de dat pentru zona de memorie?
3. Prin ce se caracterizeaz datele de tip valoare?
4. Prin ce se caracterizeaz datele de tip referin?
5. Cnd dou variabile de tip referin sunt egale?
3.3. Structurile lexicale ale limbajului VB.NET
Un program VB.NET din punct de vedere lexical se compune dintr-un set de elemente de
programare (uniti lexicale), grupate n urmtoarele categorii:
comentarii;
cuvinte cheie (cuvinte rezervate);
identificatori (denumiri date de utilizator sau generate automat de sistem);
literali (valori);
separatori;
variabile;
constante;
operatori;
expresii;
instruciuni;
funcii i proceduri intrinseci (existente n sistem);
proceduri i funcii definite de utilizator.
Comentariile
Comentariile sunt note explicative n program care sunt ignorate de compilator. Ele se
definesc cu ajutorul:
apostrofului ();
sau
a comenzii Rem.
12
Confereniar universitar dr. Veronica POPESCU
n sensul c tot ce urmeaz dup apostrof este comentariu, iar linia care ncepe cu Rem este
comentariu.
Exemple:
Dim v1 As Integer = 20 'Definire variabila tip valoare cu initializare
Rem dei ocup zone de memorie diferite v1 i v2 au valori egale
Cuvintele cheie
Cuvintele cheie sau cuvintele rezervate sunt cuvinte cu rol bine determinat n cadrul
metalimbajului.
Exemple de cuvinte rezervate: As, ByVal, Class, Dim, Integer, Private, Public.
Identificatorii
Sunt nume atribuite de utilizator diferitelor elemente de limbaj (variabile, constante, clase,
proprieti, metode, etc.) sau sunt generate automat de sistem.
Identificatorii:
trebuie s fie diferii de cuvintele cheie;
trebuie s nceap cu o liter sau ( _ underscore);
pot conine litere, cifre sau _;
dac ncep cu _ trebuie s mai conin cel puin o cifr sau liter;
nu pot depi 1023 caractere.
Dei limbajul nu face deosebire ntre literele mari i mici cea mai utilizat convenie n VB
NET este:
fiecare cuvnt din denumirea unei clase sau metode ncepe cu liter mare
(ContCurent, CitesteNume);
denumirea unei variabile sau proprieti ncepe cu liter mic, iar urmtoarele
cuvinte ncep cu majuscule (dataCurenta, numeAngajat);
identificatorii pentru constante se scriu cu litere mari, desprite prin _
(COTA_TVA).
Literalii
13
Confereniar universitar dr. Veronica POPESCU
Exemple:
Dim
Dim
Dim
Dim
Separatorii
Separatorii sunt caractere speciale utilizate pentru delimitarea unitilor lexicale. Acetia
sunt:
parantezele rotunde () - utilizate la: definirea procedurilor, funciilor, tablourilor
sau la modificarea precedenei operatorilor;
punctul (.) - separ denumirea unui obiect de denumirea unui membru (calific o
proprietate sau o metod);
Variabilele
Variabila reprezint o zon din memoria intern n care este stocat o valoare de un anumit
tip, care poate fi modificat n timp.
O variabil este definit:
printr-un calificativ de acces;
printr-un nume (identificator);
printr-un tip de dat;
printr-o valoare.
Lucrul cu variabilele presupune:
Declararea variabilei
Constantele
Constantele descriu zone din memoria intern n care sunt stocate valori de un anumit tip care
nu pot fi modificate.
O constant este definit astfel:
Operatori
Operatorul este un element ce execut o operaie asupra uneia sau mai multor valori (numite
operanzi). Operatorii limbajului VB.NET sunt grupai n urmtoarele categorii:
operatori aritmetici:
Operator
Descriere
Ridicare la putere
Operatorii
unari: +,*,/
nmulire/mprire
15
Confereniar universitar dr. Veronica POPESCU
Operator
Descriere
Mod
Restul mpririi
+,-
Adunare/Scdere
operatori de atribuire:
Operator
Sintaxa
Descriere
operand1= operand2
+=
operand1+= operand2
-=
operand1-= operand2
*=
operand1*= operand2
/=
operand1/= operand2
\=
operand1\= operand2
^=
operand1^= operand2
operatori de comparare:
Operator
Descriere
Egal
<>
Diferit
<
Mai mic
<=
>
Mai mare
>=
Is
isNot
Opusul lui Is
Like
operatori de concatenare:
Operator
Descriere
Concateneaz doi operanzi doar dac ambii sunt de tip ir; ncearc s
adune dac este posibil n caz contrar
&
16
Confereniar universitar dr. Veronica POPESCU
operatori logici:
Operator
Sintaxa
Not
Not operandLogic
a) operandLogic1 And
operandLogic2
And,
AndAlso
Xor
(sau
exclusiv)
sau
b) operandLogic1
AndAlso operandLogic2
a) operandLogic1 Or
operandLogic2
Or, OrElse
Descriere
sau
b) operandLogic1 OrElse
operandLogic2
operandLogic1 Xor
operandLogic2
ali operatori:
Operator
Sintaxa
Descriere
AddressOf
AddressOf
numeProcedur
GetType
GetType (tipDate)
TypeOf
Instruciunile
Instruciunile sunt uniti lexicale ale limbajului care descriu ce trebuie s fac programul
(prelucrrile pe care le face). Sunt propoziii construite cu ajutorul cuvintelor cheie i/sau al
expresiilor.
Acestea pot fi:
Instruciuni declarative
Instruciunile declarative sunt cele prin care sunt definite variabilele,
constantele, procedurile, clasele, etc.
Instruciuni executabile
17
Confereniar universitar dr. Veronica POPESCU
Expresiile
Expresia este o construcie format din cel puin un operand i un operator. Operanzii unei
expresii pot fi variabile, constante, literali, proprieti sau metode ale unui obiect, funcii
intrinseci VB.NET sau definite de utilizator, alte expresii.
ntrebri
Instruciunile declarative
Sunt instruciunile prin care se definesc variabile, constante, proceduri, clase, etc.
Cele mai importante instruciuni declarative n VB.NET sunt:
Instruciune
Nivel
Descriere
Exemple
Class Student
Class
Fiier/
Clas
Definete o clas
utilizator
End Class
Const
Dim
Oricare
Oricare
Dim a, b As Integer
18
Confereniar universitar dr. Veronica POPESCU
Instruciune
Nivel
Descriere
Exemple
Enum MsgBoxRezult
Ok=1
Cancel=2
Enum
Fiier/
Clas
Declar o enumerare,
o list de constante
ntregi, fiecare
identificat printr-un
nume
Abort=3
Retry=4
Ignore=5
Yes=6
No=7
End Enum
Function ArieCerc (r As Single) As
Single
Function
Clas
Definete o funcie
utilizator sau metod
Property
Set
Clas
Get
Declar proceduri
specifice pentru
scrierea/citirea
proprietilor
(atributelor) unei clase
Return m_Nume
End Get
Set(ByVal numeNou As String)
m_Nume = numeNou
End Set
End Property
End Class
Interface
Namespace
Fiier/
Clas
Fiier
Definete o interfa
(clas abstract pur,
ce conine numai
semnturile
operaiilor)
Definete un spaiu de
nume propriu
aplicaiei
19
Confereniar universitar dr. Veronica POPESCU
Interface FormeGeometrice
End Interface
Namespace Operaii
End Namespace
Instruciune
Sub
Nivel
Clas
Descriere
Definete o procedur
utilizator sau o
metod
Exemple
Sub AfiseazaArieDreptunghi (p1 As
Single, p2 As Single)
MsgBox(p1*p2)
End Sub
Instruciunile de control
20
Confereniar universitar dr. Veronica POPESCU
Exemplu n VB.Net
Dim nota1 As Integer
Dim nota2 As Integer
nota1 = InputBox("Tastati nota1")
nota2 = InputBox("Tastati nota2")
MsgBox("nota1= " & nota1 & Chr(13) & Chr(10) & " nota2= " & nota2)
MsgBox("media notelor= " & (nota1 + nota2) / 2)
b) alternativ
dac condiie atunci
secvena 1
altfel
secvena 2
sfrit (comand)
Grafic
Pseudocod
implementarea n VB.NET
If expresieLogica = TRUE Then
secvena 1
else
secvena 2
End If
exemplu
Dim notaLaProgramare As Integer
Dim nrPromovati As Integer
Dim nrNePromovati As Integer
notaLaProgramare = InputBox("Tastati nota la programare")
If notaLaProgramare > 4 Then
nrPromovati = nrPromovati + 1
Else
nrNePromovati = nrNePromovati + 1
End If
MsgBox(Promovati: & nrPromovati & Nepromovati: & nrNePromovati)
21
Confereniar universitar dr. Veronica POPESCU
secvena
sfrit comand
Grafic
Pseudocod
implementarea n VB.NET
While conditieLogica
Secvena care se repet
End While
exemplu
Dim raspuns As String = "da"
Dim numarIntreg As Integer
Dim sumaNumerelor As Integer
sumaNumerelor = 0
While raspuns = "da"
numarIntreg = InputBox("Tastati un numar intreg: ")
sumaNumerelor += numarIntreg
raspuns = LCase(InputBox("Mai sunt date? (da/nu)"))
End While
MsgBox("Suma calculata= " & sumaNumerelor)
stnga
22
Confereniar universitar dr. Veronica POPESCU
Schem a lo gica
P seudocod
Daca conditie atu nci
NU
DA
A ltfel
Conditie
Set_Instructiuni
Sfrsit daca
Set_Instructiuni
dreapta
S ch em a lo g ic a
P se u d o c o d
D a c a c o n d itie
NU
DA
a tu n c i
S e t_ In s tru c tiu n i
C o n d itie
S f rs it d a c a
S e t_ In s tru c tiu n i
23
Confereniar universitar dr. Veronica POPESCU
permite execuia selectiv a unui singur bloc de instruciuni ales dintre mai multe
blocuri n funcie de o condiie (opiune) stabilit. O instruciune Select Case are
aceleai posibiliti cu instruciunea If ... Then ... Else, dar ea face codul mai lizibil
atunci cnd exist mai multe opiuni.
24
Confereniar universitar dr. Veronica POPESCU
Pseudocod
Schema logica
expresie
Set_Instructiuni_1
...
Set_Instructiuni_n
Set_Instructiuni_1
valoare_2:
...
valoare_n:
Set_Instructiuni_2
Set_Instructiuni_n
Altfel
l
tfe
al
valoare_n
_1
are
o
l
va
valoare_1:
Set_Instructiuni_n+1
Sfrsit alege
Set_Instructiuni_n+1
Fiecare list de expresii este o list avnd una sau mai multe valori. Dac ntr-o singur list
se afl mai multe valori, ele trebuie separate prin virgule. Fiecare bloc de instruciuni conine
zero sau mai multe instruciuni. Dac mai multe clauze Case sunt echivalente cu expresia de
testat, doar blocul de instruciuni asociat primei clauze Case echivalente, va fi executat.
Visual Basic execut instruciunile din clauza Case Else (care este opional) doar dac nici
una din valorile din lista de expresii nu este egal cu expresia de testat.
Observaie:
n lista de expresii se pot defini: enumerri separate prin virgul; domenii nchise cu ajutorul
cuvntului rezervat To (exemplu de la 20 la 41 impune 20 To 41 (sau Between 20 And
41); intervale (domenii) deschise definite prin cuvntul rezervat Is i a operatorilor de
comparaie > (mai mare) sau < (mai mic) i ali operatori de comparaie (=, <>, >=,<=); etc.
Exemplu:
Dim tipCont As String = Ucase(InputBox(Tasatati tip cont))
Select Case tipCont
Case A
MsgBox(Cont de activ)
Case P
MsgBox(Cont de pasiv)
Case B
MsgBox(Cont de bifunctional)
Case Else
MsgBox(Tip cont eronat)
End Select
26
Confereniar universitar dr. Veronica POPESCU
27
Confereniar universitar dr. Veronica POPESCU
Schema logica
Pseudocod
Pentru contor = val_initiala
contor = val_initiala
contor <=
val_finala
DA
Set_Instructiuni
NU
contor=contor+pas
Sintax:
28
Confereniar universitar dr. Veronica POPESCU
2. Testeaz dac valoarea din contor este mai mare dect sfrit (pentru valoarea
pasului pozitiv) sau dac valoarea din contor este mai mic dect sfrit (pentru
valoarea pasului negativ). Dac da, se iese din bucl.
3. Execut instruciunile.
4. Modific contorul cu 1 sau cu valoarea pasului, dac exist.
5. Se reia pasul 2.
Comanda Exit For poate fi plasat oriunde n cazul instruciunii ForNext i ori de
cte ori se consider necesar, constituind o alternativ de ieire din ciclu (de terminare a
ciclului) fr a parcurge toate prelucrrile i fr a atepta ndeplinirea condiiei de sfrit
ciclu. Comanda apare de regul dup evaluarea (testarea) unei condiii i n funcie de
rezultat se poate decide (printr-o comand IfThen) continuarea execuiei cu prima
instruciune dup Next, dac avem o bucl simpl sau ntoarcerea la bucla de nivel imediat
superior, dac bucla este imbricat.
Exemplu:
S se realizeze funcia care returneaz media elementelor unui vector.
Function medie(vector() As Double) As Double
Dim i As Integer
Dim dTotal As Double
Dim iNrElem As Integer
iNrElem = 0
dTotal = 0
For i = LBound(vector) To UBound(vector)
dTotal = dTotal + vector(i)
iNrElem = iNrElem + 1
Next i
medie = dTotal / iNrElem
End Function
d) Instruciunea For Each ... Next
O bucl For Each ... Next seamn cu bucla For ... Next, ns ea repet o serie de instruciuni
pentru fiecare element dintr-o colecie de obiecte sau din cadrul unei matrice, n loc s repete
29
Confereniar universitar dr. Veronica POPESCU
instruciunile de un numr dat de ori. Acest lucru este util mai ales cnd nu se tie exact cte
elemente are o colecie.
Sintaxa unei bucle For Each ... Next este:
Option Strict
Rem
Return
Stop
Descriere
Apeleaz o procedur uneori i
funcie la care nu ne
intereseaz rezultatul returnat
Termin execuia programului
Import elementele unui spaiu
de nume n fiierul surs
Activeaz On sau dezactiveaz
Off obligativitatea declarrii
explicite a variabilelor, naintea
utilizrii lor
Activeaz On sau dezactiveaz
Off conversiile implicite
efectuate cu restrngerea
domeniului
Definete un comentariu
Determin ieirea dintr-o
procedur sau funcie cu
ntoarcerea rezultatului n cazul
funciilor
Suspend temporar execuia
programului (Reluarea se face
cu F5 - Run)
30
Confereniar universitar dr. Veronica POPESCU
Exemple
Call AfiseazaArieDreptunghi(4.1,2.3)
End
Import System.Math
Option Explicit On
Option Explicit Off
Option Strict On
Option Strict Off
Rem Urmeaza initializarea
Return
Return PI*r^2
Stop
ntrebri
1. Ce sunt instruciunile declarative?
2. Ce sunt instruciunile de control?
3. Care sunt structurile fundamentale de control specifice programrii structurate i cum sunt
implementate n VB.NET?
4. Ce alte structuri de control au mai fost implementate n VB.Net n afara celor
fundamentale?
Funciile de sistem sunt uniti lexicale definite de creatorul limbajului care execut anumite
prelucrri. n VB numele unei funcii trebuie urmate de paranteze rotunde (), ntre care se
introduc parametrii actuali dac este cazul.
subprogramelor (proceduri sau funcii). Deoarece funciile ntorc prin numele su o valoare
pot fi utilizate i ca operanzi ntr-o expresie.
n VB.NET pentru funciile de sistem au fost definite metode care respect toate cerinele
programrii .NET. Existena funciilor este legat doar de compatibilitatea cu versiunile
anterioare ale lui VB.
Principalele categorii de funcii intrinseci (de sistem) n VB sunt:
a) Funcii pentru conversii de tipuri
- permit conversia valorilor dintr-un tip de date n altul
- principalele funcii din aceast categorie sunt:
Funcie
Asc(c)
Descriere
Returneaz codul ASCII sau
UNICODE al caracterului c; rezultatul
AscW(c)
31
Confereniar universitar dr. Veronica POPESCU
Exemple
Funcie
Descriere
Exemple
CBool(e)
CByte(e)
CChar(e)
CDate(e)
Cdble(e)
CDec(e)
Character,etc.
CInt(e)
CLng(e)
CSng(e)
CStr(e)
Chr (i)
ChrW(i)
CType(e,t)
Format(e,f)
Dim i As integer
i= CType(34,Integer)
MsgBox(Format(3.7,#0.00))
32
Confereniar universitar dr. Veronica POPESCU
Funcie
Descriere
Instr(s1,s2)
Exemple
Len(s)
Mid(s,p,l)
UCase(s)
Trim(s)
Descriere
Day(d)
DateAdd(i,nr,d)
DateDiff(i,d1,d2)
33
Confereniar universitar dr. Veronica POPESCU
Exemple
Funcie
Descriere
Month(d)
Exemple
calendaristic d
Now()
Year(d)
d) Funcii de informare
- testeaz apartenena unei variabile la un anumit tip de dat
Funcie
Descriere
IsArray(e)
Exemple
IsDate(e)
IsNothing(e)
IsNumeric(e)
TypeName(e)
f) Funcii matematice
g) Funcii financiare
34
Confereniar universitar dr. Veronica POPESCU
la apel se execut prelucrrile cuprinse ntre Sub i End Sub sau ntre Sub i prima
instruciune Return/Exit ntlnit dup care prelucrarea va continua cu instruciunea
urmtoare celei care a apelat-o
prelucrrile se fac asupra (cu valorile) parametrilor actuali (reali) transmii la apel
Apelul unei proceduri
Instruciuni
[Return expresie]
End Function
-
la apel se execut prelucrrile cuprinse ntre Function i End Function sau ntre
Function i prima instruciune Return/Exit ntlnit, dup care prelucrarea va continua
cu instruciunea urmtoare celei care a apelat-o sau imediat dup locul apelului n
cazul utilizrii n cadrul unei expresii
prelucrrile se fac asupra (cu valorile) parametrilor actuali (reali) transmii la apel
deoarece numele Funciei ntoarce un rezultat atunci: fie numele funciei va apare cel
puin o dat n partea stng a unei expresii de atribuire, fie se va utiliza Return
expresie (expresia este cea care calculeaz i ntoarce rezultatul)
Apelul unei funcii
[Call] numeFunctie([List parametrii actuali])
cnd se valorific rezultatul returnat de funcie prin variabila rezultat sau n cadrul
unei expresii
definire
Private Calcule(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)
Dim suma1 As Integer
36
Confereniar universitar dr. Veronica POPESCU
definire
Private Function CalculArieDreptunghi(ByVal lungime As Integer, ByVal
latime As Integer) As Integer
CalculArieDreptunghi= lungime * latime
End Function
sau
Private Function CalculArieDreptunghi(ByVal lungime As Integer, ByVal
latime As Integer) As Integer
Return lungime * latime
End Function
-
apel funcie
Dim a As Integer=10
Dim b As Integer=5
Dim inaltime As Integer = 6
Dim arie As integer
Dim volum As Integer
MsgBox(Aria dreptunghiului este: & CalculArieDreptunghi(a, b))
arie= CalculArieDreptunghi(a, b)
volum = arie * inaltime
37
Confereniar universitar dr. Veronica POPESCU
ntrebri
1. Ce categorii principale de funcii intrinseci sunt implementate n VB.NET.
2. Ce sunt subprogramele i cum se transmit parametrii?
3. Cum se definete i cum se apeleaz o funcie definit de utilizator?
38
Confereniar universitar dr. Veronica POPESCU
39
Confereniar universitar dr. Veronica POPESCU