Sunteți pe pagina 1din 144

- CONTROALE si proprietatile asociate

- VARIABILE, CONSTANTE, SIRURI


- Programarea EVENIMENTELOR
- COMPILAREA unui program VB
CONTROALE si PROPRIETATI

 Controalele sunt obiecte care pot fi plasate in Forme


si alte containere cum ar fi casete imagine, sau
rame.
 Controalele pot lua forma unor imagini, desene,
butoane de comanda, etichete, rame si casete text.
 Forma (formatul, fereastra) in care sunt puse
controalele este considerata tot un obiect control.
 Indiferent de aspectul graphic al controalelor ele
deservesc functii.
 Controalele VB au evenimente, proprietati si metode
asociate cu ele.
 Proprietatile controalelor sunt considerate atributele
acestora.
CONVENTII PENTRU DENUMIRI

 Controalele trebuie denumite in baza


standardelor recomandate.
 Ca regula de baza, trebuie sa dam un
prefix de trei litere numelui controlului.
 Deci numele controlului se compune din
prefix (3 litere care exprima tipul
controlului) si partea care defineste
scopul controlului.
Exemple de nume de controale
Nume control Tipul controlului
frmMain Forma folosita ca interfata prinncipala
cmdExit Buton de comanda care inchide aplicatia
lblNumeAngajat Eticheta de control care descrie numele
angajatului
txtTelNumber Control caseta text utilizat la introducerea
numarului de telefon
imgMasina Control imagine care contine poza unei
masini
fraOptiuneCuloare Control rama care contine optiunile de
culoare
optRosu Control buton radio pentru optiunea rosu
Forma (FORM)

 Numita si fereastra sau caseta de


dialog, actioneaza ca interfata in
functionarea programului.
 frmDenumire, este nume recomandat
pentru acest tip de control.
Forma (FORM)
PROPRIETATI PRINCIPALE ALE FORMELOR
Proprietate Descriere
Name Numele controlului, identifica controlul in interiorul codului
BackColor Schimba culoarea fondului formei
BorderStile Schimba stilul marginilor (in timpul proiectarii)
Caption Text care apare pe control in proiect si rulare
ControlBox Determina daca controlul menuiu este vizibil sau nu (true sau false)
Enabled Permite forma si poate fi False sau True
Font Da tipul literei pentru text
ForeColor Schimba culoarea literei
Height Stabileste inaltimea formei (masurata in twips*)
Icon Stabileste icona din bara de titlu si cand este micsorata
Picture Atribuie o imagine pentru background
StartUpPosition Determina pozitia formei in momentul cand apare prima data
Visible Face fereastra vizibila sau nu in timpul rularii
Width Stabileste latimea formei (masurata in twips)
WindowState Determina starea ferestrei (normal, min, max)

* Twips = 1/20 dintr-un punct tipografic


Buton de comanda
 Este controlul cel mai utilizat in indiferent ce
interfata grafica.
 Are de cele mai multe ori forma 3D, cu
proprietati intrinseci specifice.
 Butonul de comanda este folosit pentru a porni
sau activa proceduri in cadrul unui eveniment.
 Procedurile sunt blocuri de cod care realizeaza
anumite cerinte.
 In VB procedurile sunt impartite in subproceduri
si functii.
 Diferenta dintre cele doua este ca
subprocedurile nu returneaza valori iar functiile
da.
Buton de comanda (imagine VB)
Pricipalele proprietati ale
butoanelor de comanda
Proprietate Descriere
Name Numele controlului, identifica controlul in interiorul
codului
Caption Textul care apare pe control in timpul proiectarii si
al rularii
Enabled Activeaza butonul de comanda, poate fi true sau
false
Font Stabileste tipul literei pentru text
Picture Atribuie o imagine fetei butonului
Style Se foloseste in conjunctie cu proprietstile imaginii
pentru a atribui imagine in loc de Caption
butonului
Visible Face butonul de comanda vizibil sau nu in timpul
rularii
Buton de comanda (scurtaturi)
 Pentru crearea scurtaturilor se va
adauga inaintea literei desemnata drept
scurtatura simbolul & .
 Scurtaturile vor functiona apasand
butonul Alt+litera subliniata din control.
 Caption &Exit => Exit
Etichete
 Controalele etichete sunt cel mai des
folosite ca text descriptiv pentru alte
controale care nu au proprietatea
Caption proprii.
 Exemplul cel mai bun este controlul
caseta text care nu are proprietate
autodescriptiva vizibila in timpul rularii.
 Uzual se va folosi in stanga sau
deasupra casetei text.
Etichete (imagine VB)
Principalele proprietati ale
etichetelor

Proprietati Descriere
Name Numele controlului, folosit la identificarea lui in cod.
Alignment Aliniaza textul etichetei in proprietatea Caption.
BackColor Stabileste culoarea fondului.
BackStyle Stabileste transparenta controlului.
BorderStyle Schimba marginea de la nimic la ingropata (3D).
Caption Textul care apare in control in design si rulare.
Enabled Permite eticheta, poate fi TRUE sau FALSE.
Font Stabileste tipul si marimea literei.
ForeColor Stabileste culoarea literelor.
Visible Face eticheta vizibila sau nu in timpul rularii.
Caseta text
 Este controlul cel mai folosit pentru a
primii intrari sau pentru a afisa iesiri.
 Este util la intrari de tip text sau numere
sau in combinatie.
 Acest control nu are proprietatea
Caption.
 Pentru a explicita intrarea se foloseste o
eticheta.
Caseta text (imagine VB)
Proprietati principale ale casetei text
Proprietati Descriere
Name Numele controlului, folosit la identificarea lui in cod.
Alignment Aliniaza textul in control.
Appearance Selecteaza 1-3D (implicit) sau 0-plat
BackColor Stabileste culoarea fondului.
BorderStyle Schimba marginea de la nimic la ingropata (3D).
Enabled Permite controlul pentru intrare text, poate fi TRUE sau
FALSE.
Font Stabileste tipul si marimea literei.
ForeColor Stabileste culoarea literelor.
Locked Permite sau nu editatrea textului.
Multiline Permite linii multiple (mai multe retururi de car).
PasswordChar Utilizat la introducerea parolelor (*).
ScrollBars Permite defilarea textului vertical, orizontal sau ambele.
Text Textul introdus sau afisat in caseta text.
Control imagine si
Caseta imagine
 Se utilizeaza atat Control imagine cat si
Caseta imagine pentru a afisa imagini de
tip .bmp, .gif, .jpg, .ico.
 Aceste controale sunt mari consumatoare
de memorie.
 Control imagine are avantajul ca utilizeaza
mai putina memorie si se reimprospateaza
mai repede decat Caseta imagine.
 Caseta imagine se comporta ca o fereastra
care poate contine si alte controale.
Control imagine si
Caseta imagine
Proprietati principale
Control imagine

Proprietati Descriere
Name Numele controlului, folosit la identificarea lui in cod.
Appearance Selecteaza 1-3D (implicit) sau 0-plat
BorderStyle Schimba marginea de la nimic la ingropata (3D).
Enabled Permite imaginea sau nu, poate fi TRUE sau FALSE.
Picture Atribuie imaginea controlului.
Stretch Intinde imaginea la dimensiunea controlului (unic pentru control
imagine).
Visible Face imaginea vizibila sau nu in timpul rularii.
Proprietati principale
Caseta imagine
Proprietati Descriere
Name Numele controlului, folosit la identificarea lui in cod.
Appearance Selecteaza 1-3D (implicit) sau 0-plat
Autosize Dimensioneaza automat controlul la dimensiunea
imaginii
BackColor Schimba culoarea fondului.
BorderStyle Schimba marginea de la plat la ingropat (3D).
Enabled Permite imaginea sau nu, poate fi TRUE sau FALSE.
Font Stabileste tipul si marimea literei.
ForeColor Schimba culoarea textului din caseta imagine
Picture Atribuie imaginea controlului.
Visible Face imaginea vizibila sau nu in timpul rularii.
Rama
 Ca si forma sau caseta imagine
controlul rama este folosit ca si
container pentru alte controale.
 Se foloseste pentru a izola zone din
forma curenta.
 Au rol important cand se folosesc
butoane optiune sau butoane de selectie
pentru a fi observate mai usor.
Rama (imagine VB)
Proprietati principale Rama

Proprietati Descriere
Name Numele controlului, folosit la identificarea lui in cod.
Appearance Selecteaza 3D sau plat.
BackColor Stabileste culoarea fondului.
BorderStyle Schimba marginea de la nimic la ingropata (3D).
Caption Textul care apare in control in design si rulare.
Enabled Permite rama, poate fi TRUE sau FALSE.
Font Stabileste tipul si marimea literei.
ForeColor Stabileste culoarea literelor.
Visible Face rama vizibila sau nu in timpul rularii.
Casete de selectie
 Se foloseste atunci cand utilizatorul
trebuie sa aleaga mai multe optiuni.
 Vor fi plsate intr-un container (ex. Rama)
pentru a fi grupate dupa scop.
 Ca si la butoanele de comanda se pot
atribui imagini pentru cele doua stari.
 Casetele de selectie sunt controlate
deseori de matrice de selectie.
Casete de selectie (imagine VB)
Proprietati principale
Casete de selectie
Proprietati Descriere
Name Numele controlului pentru identificare in cod.
Alignment Aliniaza textul in proprietatea Caption
BackColor Culoarea fondului controlului
Caption Titlul controlului.
DisabledPicture Schimba imaginea controlului cand nu este valid.
DownPicture Schimba imaginea cand controlul este selectat.
Enabled Permite controlul sa fie activ, este True sau False.
Font Stabileste tipul si marime literei.
Picture Imaginea implicita a controlului in conjunctie cu stilul.
Style Schimba cantrolul din 0-standard in 1-grafic.
Value Folosit sa identifice daca controlul este selectat,
neselectat sau inactiv
Visible Face controlul vizibil sau nu in timpul rularii.
Butoane optiune
 Butoanele optiune sunt cunoscute si sub
denumirea de butoane radio.
 Ca si la butoanele radio se poate
selecta doar un buton odata.
 Casetele de selectie pot fi selectate
simultan mai multe, imposibil pentru
butoanele optiune insa.
 Vor fi plasate intr-un container pentru a
putea fi mai usor identificate.
Butoane optiune (imagine VB)
Proprietati principale
Butoane de optiune
Proprietati Descriere
Name Numele controlului pentru identificare in cod.
Alignment Aliniaza textul in proprietatea Caption
BackColor Culoarea fondului controlului
Caption Titlul controlului.
DisabledPicture Schimba imaginea controlului cand nu este valid.
DownPicture Schimba imaginea cand controlul este selectat.
Enabled Permite controlul sa fie activ, este True sau False.
Font Stabileste tipul si marime literei.
Picture Imaginea implicita a controlului in conjunctie cu stilul.
Style Schimba cantrolul din 0-standard in 1-grafic.
Value Folosit sa identifice daca controlul este selectat,
neselectat sau inactiv
Visible Face controlul vizibil sau nu in timpul rularii.
Variabile
 Variabilele pot stoca date in memorie in
timpul executiei programului
 Sunt adrese de locatii de memorie care
actioneaza ca niste sabloane care
definesc diferite tipuri de date.
 Exista multe tipuri de variabile pe care
limbajele de programare le pot trata
diferit.
 VB este cel mai prietenos in tratarea
variabilelor.
Variabile
Tip variabila Descriere Marime
Boolean True sau False 2 bytes
Byte 0 la 255 1 byte
Date Tip data 25 dec 2009 8 bytes
Double Numar -1.79769313486232E308 la -- 8 bytes
1.940656458441247E-324 pt nr negative
4.940656458441247E-324 la
1.79769313486232E308 pt nr pozitive
Integer Numar -32768 la 32767 2 bytes
Long Numar -2.147.483.648 la 2.147.483.647 4 bytes
Single Numar -3.402823E38 la -1.401298E-45 si 4 bytes
1.401298E-45 la 3.402823E38 pt pozitive
String Sir (caractere alfanumerice 10 bytes +
lungimea
sirului
Variabile sintaxa
 [declaration type] variableName As variableType

 Exemplu pentru o variabila de tip


intreg:

 Dim myInteger As Integer


Declararea variabilelor si scop
 Variabilete sunt stocate temporar in
memoria calculatorului.
 Se pot pierde cand ies din ‘scop’.
 Scopul variabilelor difera fie prin locul
din program, fie prin tipul declaratiei lor.
 Variabilele declarate intr-o procedura
(forma, buton etc.) cu cuvantul cheie
Dim, au scop la nivel de procedura,
adica sunt variabile locale.
Declararea variabilelor si scop
 Declacarea variabilelor intr-o procedura
cu cuvantul cheie Static, isi mentin
valoarea pe parcursul intregului program
 Exemplu:
Static myString As String
Dim myDate As Date
 Variabilele declarate cu Dim la nivelul
formei, dar in afara oricarei proceduri
(General), sunt acesibile tuturor
procedurilor si functiilor din forma.
Declararea variabilelor si scop
 Declararea variabilelor cu Dim sau
Private intr-un modul standard de cod
sunt valabile in acel modul.
 Declararea variabilelor in module
standard cu cuvantul cheie Public, le
face variabile Globale, disponibile in
toate modulele si procedurile.
Optiunea Explicit
 VB permite atentionarea situatiei cand o
variabila nu a fost declarata explicit.
 Se va utiliza aceasta optiune de
siguranta intotdeauna.
 Aceasta declaratie se face in prima linie
de cod a formei cu sintaxa Option
Explicit.
 Pentru un proiect VB este nevoie de o
singura declaratie Option Explicit.
Optiunea explicit (imagine VB)
Conventii de nume
 Reguli de baza in VB
 Toate numele incep cu o litera.
 Nu se foloseste spatiu sau punct in denumire.
 Numele de variabile pot avea pana la 255
caractere.
 Controalele si module au nume de maxim 40
caractere.
 Nu se folosesc cuvinte cheie VB pentru nume.
Conventii de nume
• Conventiile pentru abrevieri este conditie
de a fi acceptat ca programator.
• Se vor respecta neconditionat.

Nume Variabila Tip Variabila Scop


liJurnalAngajati Integer Local (nivel procedura)
fiNumarDeCastiguri Integer Nivel Forma
giNumarAngajati Integer Global
lsNume String Local
fsNumarDeCont String Nivel Forma
lbDacaACastigat Boolean Local
gdRaza Double Global
Constante
 Difera de variabile pentru ca pastreaza
aceeasi valoare pe tot parcursul si nu
pot fi schimbate.
 Vor fi denumite specific si vor fi scrise cu
litere mari.
 Pot fi publce sau private, numere sau
siruri.
 Public Const NUME_VERSIUNE as
String = “Versiunea 0.1”
Operatori aritmetici
Operatie aritmetica Notatie VB
Adunare a+b
Scadere a-b
Inmultire a*b
Impartire a/b
Ridicare la putere a^b

Relatiile matematice sunt evaluate normal, paranteze, ridicare la


putere, inmultire /impartire, adunare/scadere.
Socotitoare
Socotitoare cod
 Option Explicit

 Private Sub cmdAdunare_Click()

 Dim lsOperand1 As Single


 Dim lsOperand2 As Single
 Dim lsRezultat As Single

 lsOperand1 = Val(txtOperand1.Text)
 lsOperand2 = Val(txtOperand2.Text)
 lsRezultat = lsOperand1 + lsOperand2

 lblRezultat.Caption = lsRezultat

 End Sub
Constante SIR, Functii si
Concatenari
 Sirurile de caractere se stocheaza in :
variabile
constante
baze de date
 Deci pot fi temporare sau permanente.
 Invatarea manipularii lor poate fi cheia
succesului programatorilor.
 Pot fi sortate, trunchiate, filtrate,
concatenate etc.
Constante SIR, Functii si
Concatenari

Functii Exemplu
Left Left(“Visual Basic”, 4) rezulta “Visu”
Right Right(“Vi sual Basic”, 3) rezulta “sic”
Mid Mid(“24/11/09”, 4,2 rezulta “11”
UCase Ucase(“gheorghe”) rezulta “GHEORGHE”
Trim Trim(“ Petre I Ion “) rezulta “PetreIIon”
Len Len(“Noiembrie”) rezulta 9
InStr InStr(“Visual Basic”,”Bas”) rezulta 8

Obs. Sirurile alfanumerice se delimiteaza in cod cu “ (ghilimele duble)


PRG. Analiza nume prenume
PRG. Analiza nume prenume
 Option Explicit

 Private Sub cmdInfoNume_Click()

 Dim lsPrenume As String


 Dim lsNume As String
 Dim lsNumeComplet As String
 Dim liSpatiu As Integer
 Dim liLungimeNumeComplet As Integer

 lsNumeComplet = txtNume.Text
 liLungimeNumeComplet = Len(txtNume.Text)
 liSpatiu = InStr(lsNumeComplet, " ")
 lsPrenume = Left(lsNumeComplet, liSpatiu - 1)
 lsNume = Right(lsNumeComplet, liLungimeNumeComplet - liSpatiu)

 picInfoNume.Print "Prenumele este " & UCase(lsPrenume)


 picInfoNume.Print "Numele este " & UCase(lsNume)
 picInfoNume.Print "Sunt " & liLungimeNumeComplet - 1 & _
 " caractere in numele tau"
 End Sub
Programarea evenimentelor
 Programarea condusa de evenimente
este conceptul actual de lucru.
 Da control utilizatorului asupra asupra
desfasurarii programului prin
evenimente programabile.
 In VB fiecare obiect sau control are
evenimente asociate ce pot fi
programate
Programarea evenimentelor
 Este responsabilitatea programatorului sa
scrie codul pentru fiecare eveniment pe care
un obiect sau control il poate avea.
Exemplu functionare evenimente
Ex. Control de zbor
Option Explicit

Private Sub cmdEnd_Click()


End
End Sub

Private Sub Form1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = ""

End Sub

Private Sub imgCanada_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = " Zbori peste Canada "
End Sub

Private Sub imgFranta_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = "Zbori peste Franta "
End Sub

Private Sub imgGermania_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = " Zbori peste Germania "
End Sub

Private Sub imgUsa_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = " Zbori peste USA "

End Sub

Private Sub ingSpania_DragOver(Source As Control, X As Single, Y As Single, State As Integer)


lblLoc.Caption = " Zbori peste Spania "

End Sub
Compilare si rulare prg. VB
Compilare si rulare prg. VB
Variabile Booleene
 Algebra Booleana este o ramura a
matematicii fondata de George Boole in
secolul 19.
 Opereaza cu valorile true si false.
 Operatorii logici pentru variabilele
Booleene sunt:
AND, OR, NOT.
 Fiecare din acesti operatori are ca
rezultate valorile True sau False
Variabile Booleene (operatori)
Tabelul de adevar pentru operatorul AND

a b a AND b
True True True
True False False
False True False
False False False

Exemplu: Pot face cumparaturi la mall daca am bani si mijloc de


transport.
Actiunea devine adevarata daca ambele “intrari “ sunt adevarate.
Variabile Booleene (operatori)
Tabelul de adevar pentru operatorul OR

a b a OR b
True True True
True False True
False True True
False False False

Exemplu: Nevasta ar fi mai fericita daca as gatii sau daca as spala


vase.
Actiunea devine adevarata daca ambele sau numai una din
“intrari “ sunt adevarate. Daca ambele intrari sunt false atunci si
rezultatul e fals.
Variabile Booleene (operatori)
Operatorul NOT are o singura intrare si din acest motiv exista
doua posibilitati pentru datele de iesire.

Tabelul de adevar pentru operatorul NOT

Intrare a Iesire NOT a


True False
False True
Conditii If Then Else
 Variabilele Booleene True sau False sunt
evaluate cu cuvintele cheie If Then Else.
 Sintaxa:
If ( conditie1 = conditie2 ) Then
‘ Fa ceva
End If
 Utilizarea parantezelor nu este obligatorie,
se obisnuieste folosirea lor pentru
evidentierea conditiilor compuse.
 Fa ceva se realizeaza cand conditia1 este
egala cu conditia2; altfel ‘Fa ceva nu se va
intampla.
Conditii If Then Else
 Sintaxa exemplu:
If ( conditie1 = conditie2 ) Then
‘Fa ceva
Else
‘Fa altceva
End If
 Conditie similara cu precedenta, cu
deosebirea ca daca cele doua conditii
nu sunt egale, atunci programul va face
‘altceva’ .
Conditii If Then Else
 Conditii imbricate, compuse si stil.
If (conditie1 = conditie2) Then
If (conditieX >= conditieY) AND _
(timp1 = timp2) Then
‘Dute acolo
Else
‘Dute dincolo
End If
Else
‘Fa asta
End If
Conditii compuse
 Conditiile compuse utiliseaza operatori
Booleeni pentru evaluare:

If (conditie1=conditie2) And (conditieA = conditieB) Then


‘Fa asta
End If
If (conditie1=conditie2) Or (conditieA = conditieB) Then
‘Fa asta
End If
Conditii compuse
 Evaluare:
If ((conditie1=conditie2) And (conditieA = conditieB)) Or _
(conditie1 = conditieX) Then
‘Fa asta
End If
conditie1=5, conditie2=10, conditieX=5, conditieY=10
If ((5=10) And (5=10)) Or (5=5) Then
‘Fa asta
End If
(False And false) Or True
False Or True
True
Conditii Select Case
 Select case este o alternativa la
conditiile If Then Else.
 Este folosita cand se evalueaza o
variabila sau expresie cu posibile
multiple valori.
 Orice constructie Select Case poate fi
inlocuita cu declaratiile If Then Else.
Conditii Select Case
 Sintaxa generala pentru Select Case:
Select Case expresie sau variabila
Case rang, constanta sau variabila
‘Declaratie
Case rang, constanta sau variabila
‘Declaratie
Case rang, constanta sau variabila
‘Declaratie
Case Else
‘Declaratie
EndSelect
Conditii Select Case
 Exemplu analiza interval temperaturi:
Select Case TempCurenta
Case = 15
‘Declaratie
Case 16 to 25
‘Declaratie
Case 26 to 35
‘Declaratie
Case Else
‘Declaratie
EndSelect
Controlul Timer
 Este un control disponibil in VB.
 Este vizibil doar in mod proiect, iar pozitia sau
marimea nu are relevanta.
 Doua proprietati sunt importante:
- Enabled
- Interval
 Enabled are valorile True sau False si porneste sau
opreste timerul.
 Interval este numarul de milisecunde intre
evenimentele timerul (1000 milisecunde egal teoretic
1sec).
 Consuma resurse CPU.
 Serveste la automatizarea evenimentelor, functiilor,
procedurilor.
Controlul Timer
Controlul Timer

Exemplu ceas digital:

Option Explicit

Private Sub Timer1_Timer()


lblDisplay.Caption = Time
End Sub

Prop. Enabled=true, Interval=1000


ITERATII (cicluri)
 Iteratiile sau ciclurile reprezinta
mijloacele fundamentale de realizare a
repetiilor.
 Exista situatii obligatorii de folosire a
iteratiilor.
- numararea
- citirea dintr-un fisier pana ajungem
la EOF
- cauatrea in baze de date
ITERATII
 Situatii de iteratii optionale:
- meniu de ATM
- sistemul de pilot automat
- instalarea unui sistem de operare
sau program
- reconstruirea unei imagini tomograf
- lansarea unei rachete ghidata
termic
Cicluri FOR
 Este o algere uzuala atunci cand
cunoastem numarul de iteratii (adica de
cate ori trebuie repetat ciclul).
 Limbajele de programare au de obicei
sintaxa proprie pentru pentru ciclurile
FOR.
 VB pune la dispozitie o forma intuitiva
de sintaxa.
Cicluri FOR
 Exemple:
For numeVariabila = numar To numar _
Step numar ‘optional
‘Declaratie
Next numeVariabila

 For linumarator =1 to 5
‘fa ceva
Next linumarator
Cicluri FOR
 Step (pas) diferit de 1

For liNumarator = 1 100 Step 10


Print liNumarator
Next liNumarator
Cicluri FOR
Cilcluri FOR
 Option Explicit

 Private Sub cmdend_Click()


 End
 End Sub

 Private Sub cmdNumara_Click()


 Dim liNumara As Integer
 PicTipar.Cls
 If Opt1.Value = True Then
 For liNumara = 1 To 20
 PicTipar.Print liNumara
 Next liNumara
 ElseIf Opt2.Value = True Then
 For liNumara = 1 To 40 Step 2
 PicTipar.Print liNumara
 Next liNumara
 ElseIf Opt5.Value = True Then
 For liNumara = 1 To 100 Step 5
 PicTipar.Print liNumara
 Next liNumara
 ElseIf Opt10.Value = True Then
 For liNumara = 1 To 200 Step 10
 PicTipar.Print liNumara
 Next liNumara
 End If
 End Sub

 Private Sub Form_Load()


 Opt1.Value = True
 End Sub
Cicluri DO
 Cicluri la fel de utile pentru
implementarea iteratiilor.
 Utile cand nu cunoastem de cate ori
dorim repetarea unui proces.
 Orice ciclu FOR poate fi transformat in
ciclu DO si invers.
 Sintaxa arata cu totul altfel.
Sintaxa cicluri DO
 Sunt patru moduri de a realiza cicluri DO.
 Se pot utiliza cuvitele cheie While sau
Until.
 Desi folosesc functii comune, rezultatele
pot fi diferite.

Do Until (conditie)...Loop
Do While (conditie)...Loop
Do...Loop Until (conditie)
Do...Loop While (conditie)
Do While
 Do While repeta procesele atat timp cat
conditia este adevarata.
 Ambele versiuni ale ciclului DO folosesc
conditiile ca semnal de repetere a
ciclului sau de oprire.
 Referirea la conditie nu insemna implicit
IF, pot fi mai ales expresii si variabile
Booleene.
Do While
 Sintaxa de baza:

Do While conditie
‘declaratii
Loop

 Se poate vedea ca intai este evaluata


conditia.
 Daca este falsa conditia intr-un ciclu DO
WHILE, atunci declaratiile din interiorul
ciclului nu vor fi executate niciodata.
Do While
 Exemple:

Do While Fisier1.eof <>true


‘ citeste din fisier
Loop

Do While liNumarare < 20


picTipar.Print liNumarare
liNumarare = liNumarare + 1 ‘Pas
Loop
Do While
 Exemple:
liNumarare = 1
Do While liNumarare < 20
picTipar.Print liNumarare
Loop
 Atentie! Acest ciclu nu se incheie nicio
data deoarece liNumarare nu ajunge la
valoarea 20.
 Cand se creeaza cilcluri trebuie sa fim
siguri ca generam un ciclu infinit.
Do While
 Exemple:
Conditia poate fi pusa si la sfarsitul ciclului!
liNumarare=25
Do While liNumarare < 20
picTipar.Print liNumarare
Loop
 Sau:
liNumarare=25
Do
picTipar.Print liNumarare
Loop While liNumarare < 20
Loop Until
 La fel de folosit ca si Loop While.
 Deasemenea foloseste conditia ca
declansator al ciclului.
 Spre deosebire de DO WHILE LOOP,
structura LOOP UNTIL evalueaza
conditia dupa ce un ciclu este executat.
 Asta garanteaza ca macar o data
declaratiile din ciclul vor fi executate.
Loop Until
 Sintaxa:

Do
‘declaratii
Loop Until Conditie

 Structurile Loop Until sunt utile cand


stim cu siguranta ca ciclul trebuie
executat cel putin o data.
Loop Until
 Exemple:

Do
‘display menu
‘proceseaza selectia menu
Loop Until menu_selection = ‘q’

 Cu aceasta structura se garanteaza


afisarea meniului cel putin o data.
Loop Until
 Exemple:

Do Until menu_selection = ‘q’


‘display menu
‘procesare selectie meniu
Loop

 Similar cu Do While, conditia pentru


Until poate fi plasata si la inceput.
Numere ALEATOARE
 Obtinerea de numere aleatoare
este utile in lumea matematicii, a
computerelor si a jocurilor
electronice.

 VBpune la dispozitie un
generator de numere aleatoare.
Functia RND
 Functia RND intoarce numere aleatoare
intre 0 si 1, fara sa includa si 1.
 Numerele obtinute sunt numere reale is
este nev oie de trensformarea lor in intregi
in anumite situatii.
 Exemplu aruncare cu un zar:

liNumarAleator = Int(6*Rnd) + 1

 Trebuie adunata o unitate daca dorim sa


obtinem si valoarea 6.
Functia RND
 De observat ca de cate ori este pornita
functia Rnd vom avea aceeasi volore la
inceput.
 Numerele devin aleatoare pe masura ce
executam mai mult acesta functie.
 Pentru evitarea acestei situatii VB pune
la dispozitie impreuna cu Rnd, functia
Randomize.
Functia RANDOMIZE
 Functia Randomize foloseste functia
ceasului intern pentru generarea
numerelor aleatoare.
 Daca programul include functia
Randomize, functia Rnd va genera
numere mult mai variate la fiecare prima
executie.
 Functia Randomize nu necesita
parametri, este suficient sa o lansam
odata la incarcarea Formei.
Functia RANDOMIZE
 EXEMPLU:

Private Sub Form_Load


Randomize
End Sub
Numere ALEATOARE
ZARURI
Option Explicit

Private Sub cmdEnd_Click()


End
End Sub

Private Sub cmdZar_Click()


Dim liZar As Integer

picZar.Cls
picZar2.Cls

liZar = Int(6 * Rnd) + 1


picZar.Print liZar

liZar = Int(6 * Rnd) + 1


picZar2.Print liZar

End Sub

Private Sub Form_Load()


'Randomize
End Sub
Functii si Proceduri
 OOP (Object-oriented programming)
nu poate fi abordata fara a stapanii
conceptele Functii si Proceduri.
 Functiile si Procedurile reprezinta
radacina programarii orientate catre
obiecte.
 VB include majoritatea conceptelor OOP
dar nu are o implementare completa ca
C++ sau Java
Functii si Proceduri
 VB pune la dispozitie o serie de facilitati
pentru a realiza programe modulare si
reutilizabile.
 Vor fi abordate doua, subprocedurile si
functiile, care sunt cunoscute sub
denumirea de PROCEDURI.
 Procedurile permit rezolvarea
problemelor complexe de programare
prin unitati de program concise.
Functii si Proceduri
 Deosebirea intre Functii si Subproceduri
este minima:
- ca si subprocedurile, functiile sunt
apelate prin numele lor
- functiile ca si variabilele vor fi declarate
ca tip, acesta referindu-se la tipul
rezultatului
- rezultatul este atribuit numelui functiei,
care poate fi atribuit apoi unei variabile sau
folosit intr-o expresie complexa
Functii si Proceduri
 Pe scurt:
- subprocedurile sunt functii vide
- functiile folosesc un parametru de
intrare si returneaza o valoare la iesire
- subprocedurile nu returneaza valori,
sunt vide la iesire
 Se vor folosi functii cand dorim sa
obtinem un rezultat pe care sa-l putem
folosi in contrinuare si subproceduri
cand nu e nevoie de rezultat la iesire.
Subproceduri
 Sunt doua metode de a realiza
subproceduri:
- daca se cunoaste sintaxa se poate scrie
direct codul
- daca nu, se va utiliza optiunea de meniu
Add subprocedure, si se urmeaza indicatiile
propuse
 Este de preferat sa se utilizeze metoda Add
subprocedure pentru ca indrumarile primite
permit realizare corecta si precisa.
Subproceduri (meniu)
Subproceduri (meniu)

- Procedurile (functii sau subproceduri)


declarate ca Private vor putea fi apelate doar
in Forma respectiva.
- Declarate ca Public vor putea fi apelate de
oriunde in aplicatie.
Subproceduri (meniu)
Subproceduri
 Reutilizare :
- ori de cate ori observati ca suntei
obligati sa repetati secvente de cod,
treceti la modularizarea si reutilizarea
subprocedurilor
- reutilizarea procedurilor creste
productivitatea si corectitudinea
programelor, ajutand la trecerea spre
OOP
Subproceduri sintaxa si ex.
 Sintaxa de baza:
Public Sub Procedure_Name()
‘ ceva cod
End Sub
 Apelarea procedurilor:
Private Sub Form_Load()
Call Procedure_Name
Procedure_Name
End Sub
 Ambele moduri de apelare au acelasi
efect.
Subproceduri sintaxa si ex.
 Subprocedurile pot avea parametri:
Public Sub Add_Two_Numbers(x As Integer, y As _
Integer)
Dim liResult As Integer
liResult = x + y
End Sub
 Apelarea procedurii de mai sus:
Private Sub Form_Load()
Call Add_Two_Numbers(5, 3)
Add_Two_Numbers 5, 3
End Sub
 Atentie la parametri !
Subproceduri sintaxa si ex.
 Se utilizeaza paranteze pentru parametri
doar cand apelam cu sintaxa Call.
 Cand se apeleaza direct nu se folosesc
paranteze pentru parametri.
 Pentru iesirea dintr-o Subprocedura in
conditiile estimate se foloseste sintaxa:
Exit Sub
 Scrierea codului in Subproceduri este la
fel ca cel utilizat in evenimete.
Functii
 In VB exista multe fuctii predefinite
(matematice, siruri etc.).
 Reutilizarea si modularizarea impune
realizarea de Functii definite de utilizator.
 Apelarea se face prin Nume_Functie urmat
de zero sau mai multi parametri.
 Realzarea de Functii definite de utilizator
se face prin meniu Add procedure.
 Ca si functiile predefinite din VB, cele
create returneaza o singura valoare.
Functii sintaxa si ex.
 Sintaxa de baza:
Public Function Function_Name(variable1 as
DataType, variable2 as DataType, ...) As DataType
‘Your code goes here
End Function
 Exemplu
Public Function Add(operand1 as Integer, _
operand2 as Integer) As Integer
Add = operand1 + operand2
End Function
Functii sintaxa si ex.
 Utilizare :
Private Sub Command1_Click()
Dim result as Integer
result = Add(5, 15)
End Sub
 In acest caz variabila result primeste
valoarea intoarsa de functia Add, adica
20.
 Atentie la definirea tipului parametrilor si
functiei!
Interactiunea cu utilizatorul
 Programatorii pot interactiona putin cu
utilizatorii, fortandui sa raspunda la
chestiuni pe care programatorii sau
utilizatorii trebuie sa le cunoasca imediat.
 Cei care utilizeaza Win inteleg ca este
vorba de mesaje de eroare, casute de
dialog, csute de intrare.
 Se poate interactiona cu utilizatorii prin
VB Messaje Boxes si Input Boxes.
Message box
 Message box este util cand dorim sa
alertam in legatura cu un eveniment
care se produce in program.
 Exemplu in cazul unei erori, la sfarsitul
unui joc etc.
 Sistemul de op MS pune la dispozitie o
serie de mesaje, exemplu referinta la o
unitate de disc in care nu este disc.
Message box
 Acest exemplu arata o casuta de
mesaje cu doua optiuni.
Message box
 Sintaxa de baza pentru message box
este:
MsgBox “Message”, Buttons, “Title Bar Caption”
 Exemplu:
MsgBox “My Message Box”, , “Chapter 5”

Daca nu sespecifica niciun


buton, atunci VB pune implicit
butonul OK.
Message box
 In locul sirurilor de caractere pot fi folosite variabile
de tip Sir (string)

 Button/Icon Constant Name Value


vbOKOnly 0 (Default)
vbOKCancel 1
vbAbortRetryIgnore 2
vbYesNoCancel 3
vbYesNo 4
vbRetryCancel 5
vbCritical 16
vbQuestion 32
vbExclamation 48
vbInformation 64
Input box
 In momentul in care dorim ca operatorul
sa raspunda explicit se poate folosi Input
box
 Sintaxa de baza este
InputBox(Prompt, [Title], [Default], [XPos], [YPos], _
[HelpFile], [Context])
 Exempu:
InputBox “What is your name?”, “My Input Box _
Example”, “Your name goes here”
Input box
 Exemplu:

Parameter Name Purpose Example


Prompt A question “What is your name?”
Title The caption of the input box “My Input Box Example”
Default Default text property “Your name goes here”
Input box
 Toate informatiile obtinute din Input box
sunt stocate in variabile string. Daca se
lucreaza cu numere este nevoie sa se
faca conversia necesara.
Controale suplimentare
Click dreapta bara de controale (add commponents)
Multimedia player
Multimedia player
 Device Type Description
AVIVideo Audio/Visual Interlaced video
(.avi file type)
CDAudio CD audio player
DAT Digital audio tape player
DigitalVideo Digital video
Sequencer MIDI devices
(.mid or .rmi file types)
VCR Video cassette recorder
WaveAudio A Wave device (.wav file
type)
Controale avansate List box
 List box este controlul care pune la
dispozitia utilizatorului o insiruire de
articole selectabile.
 Este un control care se aseamana cu
Text box, are multe proprietati similare.
 Ceea ce le deosebeste este posibilitatea
de a adauga articole selectabile (oricate)
ce pot fi indexate.
List Box
List Box - proprietati si metode
AddItem Adauga articole
Clear Sterge toate articolele
Columns Determina coloanele vizibile din lista
List(n) Retine articolul din lista, unde n este indexul
ListCount Numarul total de articole din lista
ListIndex Indexul articolului selectat
Multiselect Permite selectarea multipla a articolelor
RemoveItem n Sterge articolul cu index n
Sorted Afiseaza lista ordonata alfabetic
List Box - index
 Este important de retinut ca indexul listei
incepe cu 0 si nu cu 1.
 La apelare, stergere, adaugare etc. se
va tine seama de aceasta situatie.
 Daca nu se ia in considerare acest
offset 1, toate rezultatele vor fi gresite.
 Pentru proprietatea ListIndex, pt. primul
articol are val 0, pt. Al cincilea are val 4.
List Box - exemple
List Box - exemple
List Box - exemple
Option Explicit

Private Sub cmdPopuleazaLista_Click()


LstJudete.Clear
LstJudete.AddItem "Alba"
LstJudete.AddItem "Arad"
LstJudete.AddItem "Bacau"
LstJudete.AddItem "Bihor"
LstJudete.AddItem "Bistrita Nasaud“
End Sub

Private Sub LstJudete_Click()


MsgBox ("Ati ales judetul " & LstJudete.List(LstJudete.ListIndex)) & _
" cu INDEX " & LstJudete.ListIndex , , "Msg ListBox"
End Sub
Combo Box
 Combo Box este un control mai
sofisticat decat List Box, desi multe
proprietati si metode sunt identice.
 Are o aparitie grafica diferita de List Box
 Proprietatea care o face atat de diferita
ca imagine este STILUL.
 In functie de modul in care este setata
aceasta proprietate Combo Box arata si
actioneaza.
Combo Box
 Combo Box poate permite utilizatorului
sa adauge articole in fruntea listei.
 Putem sa ne gandim la Combo Box ca
la un Text Box aflat in varful unei liste.
 Proprietatea Style are 3 stari:

0 Drop-down combo
1 Simple combo
2 Drop-down list
Combo Box
 Doar Drop-down combo style permite
adaugarea de articole in varful listei.
 Drop-down combo poate avea doua
scopuri importante:

- cautarea in lista pe masura ce


introducem text
- adaugarea de articole noi
Combo Box - exemple
Combo Box - exemple
Combo Box - exemple
Combo Box - exemple
Option Explicit

Private Sub cmbJudete_Click()


MsgBox "Ati ales judetul " & cmbJudete.List(cmbJudete.ListIndex)
End Sub

Private Sub cmdPopuleaza_Click()


cmbJudete.Clear
cmbJudete.AddItem "Alba"
cmbJudete.AddItem "Arad"
cmbJudete.AddItem "Bacau"
cmbJudete.AddItem "Botosani"
cmbJudete.AddItem "Brasov"
cmbJudete.AddItem "Braila"
cmbJudete.AddItem "Cluj"

End Sub
Drive, Diretory si File List Box
 Aceste controale particularizate permit
afisarea continutului unitatilor,
directoarelor si informatii dspre fisiere.
 Lucrul cu aceste controale este
asemanator cu controalele clasice List
Box si Combo Box.
 VB realizeaza in cadrul acestor
controale operatiile de baza, ele nu mai
trebuie proiectate.
Drive, Diretory si File List Box
Drive, Diretory si File List Box
Drive, Diretory si File List Box
Option Explicit

Private Sub Drive1_Change()


Dir1.Path = Drive1.Drive
End Sub

Private Sub Dir1_Change()


File1.Path = Dir1.Path
End Sub

Private Sub File1_Click()


picDisplay.Picture = LoadPicture(Dir1.Path & "/" & _
File1.FileName)

End Sub
Construire Meniuri
 VB pune la dispozitie facilitatea de a
creea Meniuri ierarhizate de tip Drop-
down.
 Se vor proiecta astfel de meniuri cu
editorul de meniuri din VB (Tools).
Construire Meniuri
Construire Meniuri
PopUp Menu
PopUp Menu
 PopUp Menu se poate activa cu click
dreapta in suprafata delimitata.
 Se construieste meniul prin Editorul de
meniuri.
 Se atribuie evenimentulul
Form_MouseUP Meniul dorit. (vezi
exemplu)
PopUp Menu
 Cod :
Private Sub Form_MouseUp(Button As _
Integer, Shift As Integer, X As Single, _ Y
As Single)

If Button = 2 Then
PopupMenu fisiere
End If

End Sub

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