Sunteți pe pagina 1din 20

Structura lexical a unui program VB.

NET
Elemente de programare VB.NET:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Conf. dr. Cozgarea Adrian

comentarii;
cuvinte cheie;
identificatori (denumiri);
literali (valori);
separatori;
variabile;
constante;
operatori i expresii;
instruciuni i funcii (intrinseci) VB.NET;
proceduri i funcii definite de utilizator.

Comentarii
Exemple:
' acesta este un comentariu pe o linie
X= 1000 ' comentariu la sfarsitul unei linii de cod

Cuvintele cheie
Exemple: And, Byte, Call, ... When, While

Identificatori
Exemple:

a123

_a

_2

_ss_e2_

Not: identificatorii AbC i aBc sunt identici (VB este case insensitive ) !!!

Literali
Exemple:

X=1000
Y=22.29
Sir="abcd
Ziua=#01/01/2007#

Separatori: ().,_:
Conf. dr. Cozgarea Adrian

Not: AbC<>aBc !!!

Scrierea unei instruciuni pe mai multe rnduri:


Dim x As Integer, _
y As Double, _
d As Date

Scrierea mai multor instruciuni pe un singur rnd:


Dim x As Integer : x=10 : MsgBox (x)

Conf. dr. Cozgarea Adrian

Variabile
Etape:
1.

Declararea (definirea) variabilei :


a.
b.

2.

Denumire
Tip de date

Iniializarea variabilei :
Implicit/automat (numai pt. tipul valoare) cu valoarea implicit
Explicit (obligatorie pt. tipul referin)

Durata de via :
= durata execuiei structurii (ex: operaia) n care a fost definit var.
Instruciunea Dim:
Dim <numeVariabila> [As <tipData>][= <valoareInitiala>] [, ]

Conf. dr. Cozgarea Adrian

Variabile
Exemple:
'tip VALOARE:
Dim nr As Integer
Dim nrIntreg As Integer=100
Dim x,y as Single
Dim nr1 As Byte=1, nr2 As Integer, _
ziua As Date

'declarare si iniializare implicit (cu 0)


'declarare i iniializare explicit
2 variabile de tip Single, iniializate implicit (0)
'declaraii
multiple

'tip REFERIN:
Dim sir1 As String
sir1 = abc
Dim sir2 As String=abcdef

'declarare FARA iniializare (sir1=Nothing)!


'iniializare explicit
'declarare si iniializare explicit

Conf. dr. Cozgarea Adrian

Constante
Intruciunea CONST:

Const <numeConstant> [As <tipData>]=<valoare> [, ]


Exemple:
Const PLAFON_MIN=1000
Const DATA_CRT AS Date = #04/11/2007#, TVA As Decimal = 0.24

Conf. dr. Cozgarea Adrian

Operatori aritmetici
+

Mod

Exemple:
Dim total As integer
total=120+20
total=5/3
total=7\2
total=5^2
total=10 Mod 3

Conf. dr. Cozgarea Adrian

' total=140
' total=2 (1.66 este convertit la ntreg!)
' total=3
' total=25
' total=1

Operatori de atribuire
=

+=

-=

*=

/=

Exemple:
Dim x As integer

x=5
x+=10
x-=5
x*=2

Conf. dr. Cozgarea Adrian

' echivalent cu x=x+10


' echivalent cu x=x-5
' echivalent cu x=x*2

\=

^=

Operatori de comparare
<

<=

>

>=

<>

Is

IsNot

Like

Exemple:
MsgBox
MsgBox
MsgBox
MsgBox

Conf. dr. Cozgarea Adrian

2>1
("abcd" Like "ab?d")
("abcfgh" Like "a*")
("aBc" = AbC")

'
'
'
'

Afiseaza
Afiseaza
Afiseaza
Afiseaza

"True"
"True"
"True
False

Operatori de concatenare
+

&

Exemple:
MsgBox ("abc" + "d")

Afiseaza "abcd"

MsgBox ("12" + 3)
MsgBox ("abc" + 3)
MsgBox ("abc" & 3)

Afiseaza 15 !
Eroare !
Afiseaza "abc3"

Conf. dr. Cozgarea Adrian

Operatori logici
1. And
2. Or
3. Not
4.
5.
6.

Xor
AndAlso
OrElse

Exemple:
MsgBox (True And False)

' Afiseaza False

MsgBox (True Or False)


MsgBox ((2>1) And (4=1))
MsgBox ((2>1) Or (4=1))
Msgbox (True And False OR False)

' Afiseaza "True"


' Afiseaza "False"
' Afiseaza "True"
' Afiseaza False"

Conf. dr. Cozgarea Adrian

Ali operatori
AddressOf

GetType

TypeOf

Exemple:
Dim sir As String="abc", obj

MsgBox ( TypeOf sir Is String) ' Afiseaza "True"


MsgBox ( TypeOf obj Is Object) ' Afiseaza "True"

Conf. dr. Cozgarea Adrian

Precedena operatorilor
I.

Operatorii aritmetici i de concatenare:


1.
2.
3.
4.
5.
6.
7.

^
Operatorii unari +,
*, /
\
Mod
+,
&

II. Operatorii de comparare


=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is

III. Operatorii logici:


1.
2.
3.
4.

Not
And, AndAlso
Or, OrElse
Xor

Exemple

x=5+2*3
x=(5+2)*3
Conf. dr. Cozgarea Adrian

x=11 (5+6)
x=21

Instruciuni declarative
Instruciune

Exemplu

Class

Class Factura
...
End Class

Const

Const PLAFON_MIN As Single=0

Dim

Dim x1, x2 As Single, sir As String

Function

Function Media(x1 As Double,x2 As Double) As Double


return (x1+x2)/2
End Function

Sub

Sub AfisMedia(x1 As Single, x2 As Single)


MsgBox((x1+x2)/2)
End Sub

Property
Namespace

Conf. dr. Cozgarea Adrian

Namespace Vanzari
...
End Namespace

Instruciuni executabile
Cele mai importante: instruciunile pt. structurile de control:
alternative : If...End If | Select Case...End Select
repetitive : For Next | While End While etc.

Altele:
Instruciune

Exemplu

Call <procedura>

Call AfiseazaMedia(4,5)

End

End

Imports <spatiuNume>

Imports System.Math

Rem <expr.>

Rem Un comentariu

Return [<expr.>]

Return
util intr-o procedura (nu returneaza o valoare)
Return 5+2 pentru o functie care returneaza un intreg

Stop

Stop

Conf. dr. Cozgarea Adrian

Funcii VB pentru conversii


Ctype (<expr>,<tip>)

Dim i As Integer=CType("123",Integer)
Dim d as Date=CType(11/14/2007,Date) depend. de setarea calc.

Altele:
Funcie

Exemplu

Asc(), AscW()

MsgBox(Asc("s"))
MsgBox(AscW(""))

Chr(), ChrW()

MsgBox (Chr(115))
MsgBox (ChrW(351))

CBool(), CByte(),
CChar(), CDate(),
CDbl(),
CDec(),
CInt(),
CLng(),
CSng(),

Dim
Dim
Dim
Dim

Format()

MsgBox(Format(4.9,"#0.00"))

Str()

Dim s As String= Str(123)

Val()

Dim i As Integer= Val("123")

Conf. dr. Cozgarea Adrian

'afiseaza s
'afiseaza

i As Integer=CInt("12")
s1 As String=CStr(123)
s2 As String=CStr(Now)
d As Date = CDate(11/14/2007")

afiseaza 4.90

Funcii VB pentru iruri

InStr(), Mid (), Left (),Lcase (), Ucase (), Trim () etc.

nlocuite de metodele clasei String:


IndexOf (), Replace (), Substring (), ToLower (),
ToUpper (), Trim () etc.

Conf. dr. Cozgarea Adrian

Funcii VB pentru date calendaristice


DateAdd (), Day (), Month (), Year () etc.

nlocuite de metodele clasei Date:


AddDays (), AddMonths (), AddYears (), Month (), Year () etc.

Conf. dr. Cozgarea Adrian

Funcii VB pentru validri


Funcie
IsArray()
IsDate()
IsNothing()

IsNumeric()
IsReference()

Conf. dr. Cozgarea Adrian

Funcii pentru interaciunea cu utilizatorul


Funcie

Exemplu

InputBox()

Dim s As String = InputBox ("NumarFactura")

MsgBox()

1. MsgBox(Cont invalid !",MsgBoxStyle.Critical,Eroare)

2. Dim rasp As MsgBoxResult


rasp=MsgBox("Continuati?", MsgBoxStyle.YesNo)

Conf. dr. Cozgarea Adrian

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