Upload
bondocgiulia
View
19
Download
1
Embed Size (px)
DESCRIPTION
structura lexicala a unui program vb
Citation preview
Conf. dr. Cozgarea Adrian
Structura lexical a unui program VB.NET
Elemente de programare VB.NET:
1. comentarii;
2. cuvinte cheie;
3. identificatori (denumiri);
4. literali (valori);
5. separatori;
6. variabile;
7. constante;
8. operatori i expresii;
9. instruciuni i funcii (intrinseci) VB.NET;
10. proceduri i funcii definite de utilizator.
Conf. dr. Cozgarea Adrian
Comentarii
Exemple:
' acesta este un comentariu pe o linie
X= 1000 ' comentariu la sfarsitul unei linii de cod
Cuvintele cheieExemple: And, Byte, Call, ... When, While
IdentificatoriExemple: a123 _a _2 _ss_e2_
Not: identificatorii AbC i aBc sunt identici (VB este case insensitive ) !!!
LiteraliExemple: X=1000
Y=22.29
Sir="abcd Not: AbCaBc !!!
Ziua=#01/01/2007#
Separatori: ().,_:
Conf. dr. Cozgarea Adrian
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. Denumire
b. Tip de date
2. 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 [As ][= ] [, ]
Conf. dr. Cozgarea Adrian
Exemple:'tip VALOARE:
Dim nr As Integer 'declarare si iniializare implicit (cu 0)
Dim nrIntreg As Integer=100 'declarare i iniializare explicit
Dim x,y as Single 2 variabile de tip Single, iniializate implicit (0)
Dim nr1 As Byte=1, nr2 As Integer, _ 'declaraii
ziua As Date multiple
'tip REFERIN:
Dim sir1 As String 'declarare FARA iniializare (sir1=Nothing)!
sir1 = abc 'iniializare explicit
Dim sir2 As String=abcdef 'declarare si iniializare explicit
Variabile
Conf. dr. Cozgarea Adrian
Constante
Intruciunea CONST:
Const [As ]= [, ]
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=140
total=5/3 ' total=2 (1.66 este convertit la ntreg!)
total=7\2 ' total=3
total=5^2 ' total=25
total=10 Mod 3 ' total=1
Conf. dr. Cozgarea Adrian
Operatori de atribuire
= += -= *= /= \= ^=
Exemple:
Dim x As integer
x=5
x+=10 ' echivalent cu x=x+10
x-=5 ' echivalent cu x=x-5
x*=2 ' echivalent cu x=x*2
Conf. dr. Cozgarea Adrian
Operatori de comparare
< >= = Is IsNot Like
Exemple:
MsgBox 2>1 ' Afiseaza "True"
MsgBox ("abcd" Like "ab?d") ' Afiseaza "True"
MsgBox ("abcfgh" Like "a*") ' Afiseaza "True
MsgBox ("aBc" = AbC") ' Afiseaza False
Conf. dr. Cozgarea Adrian
Operatori de concatenare
+ &
Exemple:
MsgBox ("abc" + "d") Afiseaza "abcd"
MsgBox ("12" + 3) Afiseaza 15 !
MsgBox ("abc" + 3) Eroare !
MsgBox ("abc" & 3) Afiseaza "abc3"
Conf. dr. Cozgarea Adrian
Operatori logici
1. And
2. Or
3. Not
4. Xor
5. AndAlso
6. OrElse
Exemple:
MsgBox (True And False) ' Afiseaza False
MsgBox (True Or False) ' Afiseaza "True"
MsgBox ((2>1) And (4=1)) ' Afiseaza "False"
MsgBox ((2>1) Or (4=1)) ' Afiseaza "True"
Msgbox (True And False OR False) ' 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. Operatorii unari +, 3. *, /
4. \
5. Mod
6. +, 7. &
II. Operatorii de comparare =, , =, Is, IsNot, Like, TypeOf...Is
III. Operatorii logici:1. Not
2. And, AndAlso
3. Or, OrElse
4. Xor
Exemple
x=5+2*3 x=11 (5+6)
x=(5+2)*3 x=21
Conf. dr. Cozgarea Adrian
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 Doublereturn (x1+x2)/2
End Function
Sub Sub AfisMedia(x1 As Single, x2 As Single)MsgBox((x1+x2)/2)
End Sub
Property
Namespace Namespace Vanzari
...
End Namespace
Conf. dr. Cozgarea Adrian
Instruciuni executabile
Instruciune Exemplu
Call Call AfiseazaMedia(4,5)
End End
Imports Imports System.Math
Rem Rem Un comentariu
Return [] Return util intr-o procedura (nu returneaza o valoare)Return 5+2 pentru o functie care returneaza un intreg
Stop Stop
Cele mai importante: instruciunile pt. structurile de control:
alternative : If...End If | Select Case...End Select repetitive : For Next | While End While etc.
Altele:
Conf. dr. Cozgarea Adrian
Funcii VB pentru conversii
Funcie Exemplu
Asc(), AscW() MsgBox(Asc("s"))
MsgBox(AscW(""))
Chr(), ChrW() MsgBox (Chr(115)) 'afiseaza s
MsgBox (ChrW(351)) 'afiseaza
CBool(), CByte(),
CChar(), CDate(),
CDbl(),
CDec(),
CInt(),
CLng(),
CSng(),
Dim i As Integer=CInt("12")
Dim s1 As String=CStr(123)
Dim s2 As String=CStr(Now)
Dim d As Date = CDate(11/14/2007")
Format() MsgBox(Format(4.9,"#0.00")) afiseaza 4.90
Str() Dim s As String= Str(123)
Val() Dim i As Integer= Val("123")
Ctype (,) Dim i As Integer=CType("123",Integer)
Dim d as Date=CType(11/14/2007,Date) depend. de setarea calc.
Altele:
Conf. dr. Cozgarea Adrian
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)