Escolar Documentos
Profissional Documentos
Cultura Documentos
Pentru realizarea unei aplicatii pot fi avute in vedere doua tehnologii de programare (programarea
procedurala si programarea orientata spre obiecte si dirijata de evenimente)
1.Programarea procedurala
In programarea procedurala a aplicatiei este constituita din unul sau mai multe programe care se
vor executa intr-o anumita ordine ,fiecre program fiind constituit dintr-o secventa de instructiuni scrise
intr-un limbaj de programare.Acesta era modul clasic de realizare a aplicatiilor si sistemelor informatice
si are o serie de dezavantaje printre care:
- productivitatea scazuta in realizarea programelor
- efort mare pentru realizarea programelor si mai ales a interfetelor
2.Programarea orientata spre obiecte si dirijata de evenimente
Aparitia tehnologiei oprientate spre obiecte ,a mediilor visuale de programre si a sistemului de
operare Windows a condus la aparitia si dezvoltarea unei noi tehnologii de programare a aplicatiilor
Windows si anume programrea orientata pe obiecte si dirijata de evenimente.
O aplicatie Windows afiseaza unul sau mai multe ecrane care contin obiecte cu care va interactiona
utilizatorul pentru a controla evolutia programului.Intr-un mediu de programare Visual,obiectele
principale sunt:formele si controalele desenate in forme.O forma este o fereastra .Aceste obiecte pot fi
create prin selectie si depunere folosind barele de instrumente ale mediului respectiv.
Spre exemplu bara cu instrumente Visual Basic permite crearea unei varietati de obiecte printre
care butoane de comanda,case cu lista,casete de validare,butoane radio.Fiecare din aceste obiecte are un
comportament predefinit.Spre exemplu:cand se executa click cu mouse-ul pe un buton de comanda ,
acesta trece in pozitia apasat si apoi revine in pozitia normala,pentru a schimba comportamentul
obiectului acestuia trebuie sa i se ataseze cod de program(instructiuni) corespunzator,cod ce se va
executa atunci cand are loc un anumit eveniment
Evenimentele se produc ca urmare a unei actiuni a utilizatorului(exemplul click corespunde
apasarii butonului stang al mouse-ului pe obiectul respectiv)sau in urma executiei codului programului
sau pot fi declansate de catre sistem.Majoritatea obiectelor vor raspunde unui anumit numar de
eveniment generate de catre utilizator printre care:click-uri,apasari de taste,trageri si eliberari ale unor
obiecte
Limbajul Visual Basic pun la dispozitie utilizatorului un mediu de dezvoltare care permite crearea
de propunere orientate spre obiecte si conduse sau dirijate spre evenimente.Pentru lucrul cu obiecte
conduse de evenimente se parcurg urmatoarele etape:
1. se creeaza o forma caruia i se da un nume
2. se deseneaza si se denumesc obiectele ce urmeaza a fi afisate in forma respectivea
3. se ataseaza fiecarui obiect codul(instructiunile)ce va fi executat ca raspuns la evenimente
generate de utilizator sau de sistem va rezulta o interfata grafica cu care interactioneaza
utilizatorul pentru a controla evolutia programului.
Rezumand se poate spune ca in programarea orientata spre obiecte si dirijata de evenimente,
obiectele au un comportament predefinit,care poate fi modificat de utilizator prin atasare de cod
corespunzator si aceste obiecte raspund la evenimente declansate fie ca urmare a actiunii utilizatorului
asupra obiectelor fie ca urmare a executiei codului atasat,fie declansate de sistem
1
Programarea calculatoarelor
Pentru a lansa editorul Visual Basic din Excel: Tools Macro Visual Basic Editor
Prima operatiune care se efectueaza pentru a lucra cu Visual Basic de sub Excel este crearea unei forme
(obiectul cel mai cuprinzator in Visual Basic – o fereastra)Sunt doua etape : proiectarea aplicatiei
(design)si executia aplicatiei.
Crearea formei
Insert UserForm
Height,width,backcolor
Stergera formei
File Remove UserForm
Desenarea obiectelor
Dupa crearea formei se pot desena obiecte (controale)in acea forma utilizand bara de instrumente
prin selectarea obiectului,apoi pe suprafata formei
View Toolbox Controls
De fiecare data in partea stanga a ecranului se afla lista cu proprietatiile pe care l-am selectat
View Code Subroutine …….EndSub
Depa ce am construit si am atasat cod Visual Basic fiecarui obiect in parte,aplicatia poate fi executata
Run SubUserForm
Proprietati si metode
2
Programarea calculatoarelor
Proprietatile unui obiect pot fi setate in faza de proiectare atunci cand se deseneaza sau se modifica
formele utilizand fisa proprietatilor.Proprietatile pot fi modificate si prin program in momentul executiei
formei.Spre deosebire de proprietati,metodele pot fi executate numai in momentul exercitiului
formei(eventual folosind facilitatea Debugger a editorului Visual Basic)
Denumirea obiectelor
Variabile
3
Programarea calculatoarelor
Declaratia implicta se face utilizand sufixul varsta%=21 sau NP$=”Ionescu Ion”.Daca ultimul
caracter din numele variabilei nu este mentionat atunci se considera automat ca tipul variabilei este
variat.
Declaratia explicita a unei variabile se face utilizand instructiunea DIM la inceputul procedurii in
care este folosita variabila respectiva DIM varsta as Integer sau DIM np as String
Domeniul unei variabile este zona programului in care variabila este vizibila.Intrucat o variabila
poate fi decalarata la 4nivele diferite,exista corespunzator 4 niveluri diferite de domenii de vizibilitate
1) nivel procedura
Primul nivel la care poate fi declarata o variabila fie implicit,fie cu instructiunea DIM.Exista doua
tipuri de proceduri in V.B.(Sub si Function).Vor fi variabile locale ale procedurii respective,fiind
variabile (accesibile)numai in procedurile care nu au fost declarate.Aceste variabile au cea mai redusa
vizibilitate si cel mai restrans domeniu.Cand executia procedurii se termina,toate variabilele locale sunt
eliminate din memorie
! Deci variabilele locale ale unei proceduri sunt reinitializate la fiecare apel al procedurii
4
Programarea calculatoarelor
O variabila poate fi facuta permanenta daca in locul instructiunei DIM se foloseste instructiunea
static.O valoare statica ii conserva valoarea intre apelurile succesive ale procedurii in care a fost
declarata (deci nu va fi reinitializata la fiecare apel)insa este vizibila numai in cadrul procedurii in care
a fost declarata
3) nivel forma
O variabila declarata la nivelul unei forme,va fi accesibila la nivelul tuturor procedurilor acelor
forme
4) nivel modul standard
Modulele de cod sunt modulele utilizate pentru a pastra procedurile si functiile generale
neinfluentate de evenimente precum si variabilele si constantele globale.Aceste module se creaza prin
selectarea optiunii MODULE,din meniul insert,al programului V.B.Declararea unei variabile la nivelul
unui astfel de modul se face prin plasarea a acestuia in zona de declaratii a obiectivului numit
GENERAL,zona accesibila prin intermediul ferestrei de cod Public rand as Integer
Cel mai inalt nivel de vizibilitate este nivelul global.Orice variabila declarata la acest nivel este
vizibila din orice procedura a aplicatiei(proiectului).Declararea unei variabile globale se face utilizand
cuvantul Public
5
Programarea calculatoarelor
Instructiunea while
While <conditie>
<instructiuni>
Wend
-se executa secventa de instructiuni atata timp cat este adevarata
Instructiunea for
For <ic> = <val.initiala> to <val.finala> [step<pas>]
<instructiuni>
Next
Exemplu:
a) Pentru a sterge toate coloanele din foaia de calcul pontaj randul 3
For k=1 to 34
Sheets(“Pontaj”).Cells(3,K)=””
Next
b) Pentru toate randurile din foaia de calcul pontaj rand 3
Rand=3
While Sheets(“Pontaj”).Cells(Rand1)<>””
For k=1 to 34
Sheets(“Pontaj”).Cells(Rand,K)=””
Next
Rand=Rand+1
Wend
Instructiuni de ramificare
1. If…Endif
If <conditie> then
<instr.1>
Else
<instr.2>
Endif
2. Select Case
Select Case Varsta
Case 5
Grupa = ”de cinci ani”
Case 13 to 19
Grupa = “Adolescent”
Case 20 to 35,50,60 to 65
Grupa = “Adult”
Case Is > 65
Grupa = “Varstnic”
Case Else
Grupa = “Ceilalti”
End Select
Instructiuni de ciclare
6
Programarea calculatoarelor
1. While…Wend
While <conditie>
<instructiuni>
Wend
2. For…Next
For <ic> = <val.initiala> to <val.finala> [step<pas>]
<instructiuni>
Next
exemplu:
DIM suma as Integer
Sumai=0
For ic=1 to 1000 step 2
Sumai=Sumai+ic
Next
Msgbox “Suma = ”&Sumai
3. Do…Loop
Do until <conditie>
<instructiuni>
Loop
sau:
If <conditie> then
Exit Do
Else
<instructiuni>
Loop until <conditie>
Repeta un bloc de instructiuni atata timp cat conditia este adevarata sau pana in momentul cand o
conditie devine adevarata.Instructiunea Exit…Do poate fi intalnita doar in structuri de tip Do..Loop,ca o
conditie de a parasi ciclul inainte
Operatii de intrare/iesire
7
Programarea calculatoarelor
Daca sunt omise title sau default,daca vrem sa folosim xpos,ypos,trebuie folosite virgule pentru
cele omise.Pentru ambele functii:InputBox si MsgBox,argumentele helpfile si context sunt utilizate
pentru a pune la dispozitie asistenta soft dependenta de context,caz in care utilizatorul poate apasa tasta
F1 pentru a vedea articolul Help,creat pentru respectiva caseta de dialog.
Daca se selecteaza butonul OK sau daca se apasa Enter atunci functia InputBox returneaza
continutul casetei de text.Daca nu se introduce text sau se selecteaza Cancel atunci functia returneaza un
sir de lungimea 0,adica””
8
Programarea calculatoarelor
0 Ok Vb OK Only
1 Ok,Cancel Vb OK Cancel
16 Critical Vb Critical
32 ? Vb Question
2
48 ! Vb Exclamation
64 i Vb Information
Pentru a detine valoarea argumentului type se va insuma cate un nr din fiecare grupa.Daca
argumentul type este omis se considera implicit valoarea”0”.Modalitatea implicata a unei casete de
dialog este caseta modala aplicatiei.In modalitatea aplicatiei utilizatorul trebuie sa raspunda casetei de
dialog inainte de a putea sa lucreze in aplicatia curenta.
In modalitatea sistem toate aplicatiile sunt suspendate pana cand utilizatorul raspunde casetei de
dialog.Atat pentru functia MsgBox cat si pentru procedura MsgBox,argumentul msg este obligatoriu,
celelalte fiind optionale.Valoarea returnata de functia MsgBox indica butonul care a fost selectat
conform urmatorului tabel:
9
Programarea calculatoarelor
1 Ok Vb Ok
2 Cancel Vb Cancel
3 Abort Vb Abort
4 Retry Vb Retry
5 Ignore Vb Ignore
6 Yes Vb Yes
7 No Vb No
Este indicat a se utiliza constante simbolice in locul numerelor deoarece in acest fel creste daritatea
programului
Constante
Module si proceduri
Module
In Visual Basic 4.0 exista trei tipuri de module:module ale formei,module de cod si module clasa.
Fiecare tip de modul contine proceduri care pot fi partajate pe diverse nivele ale domeniului de
vizibilitate in cadrul aplicatiei.Toate exemplele realizate pana in prezent,exceptand variabilele globale ,
sunt stocate in module asociate unor forme.
O clasa este sablon in baza caruia pot fi create obiecte,clasa defineste proprietatile obiectelor ce
apartin clasei si metodelor utilizate pentru controlul comportamentului obiectului.Modulele clasa contin
o definitie formala a unei clase.Un modul de cod contine cod public,declaratii,proceduri subrutina si
functii care pot fi partajate intre toate modulele unui proiect.Modulul de cod este numit si modulul
standard pentru a fi diferentiat de modulul formei si modulele clasa.
Proceduri
10
Programarea calculatoarelor
11
Programarea calculatoarelor
Lung = 27
Mid() subsir din sir ss=Mid(“ABCDE”,12)
ss – “AB”
Chr() returneaza caracterul corespunzator Car=Chr(65)
codului Car – “A”
Asc() returneaza codul corespunzator Cod=Asc(“A”)
caracterului Cod – 65
UCase() conversia in litere mari Nume=UCase(“Ionescu”)
Nume – IONESCU
LCase() conversia in litere mici Nume=LCase(“IONESCU”)
Nume – ionescu
Instr() pozitia unui subsir in sir Poz=Instr(“ABCDE”,”BCD”)
Poz - 2
12
Programarea calculatoarelor
lung=len(sirintrare)
For x=1 to lung
carintrare=mid(sirintrare,x,1)
carisire=chr(asc(carintrare)+operatie)
siriesire=siriesire & cariesire
Next
Cript_Decript=siriesire
End Function
Dim V1 as String,V2 as String
V1=InputBox(“Introduceti sirul de criptat”)
V2=Cript_Decript(V1,1)
MsgBox “Rezultatul criptarii este ” & V2
V1=””
V1=Cript_Decript(V2,-1)
MsgBox “Rezultatul decriptarii este ” & V1
13
Programarea calculatoarelor
Rand = 3
While Sheets (“Lichidare”).Cells(Rand,1)<>””
ListBox1.AddItem Sheets(“Lichidare”).Cells(Rand,2)
Rand=Rand+1
Wend
9.Controale cu imagini
Permit afisarea de imagini pe suprafata unei forme .In acest sens pot fi utilizate doua tipuri de
controale PictureBox si Image.Controalele Image pot fi create din bara de isntrumente ToolBox .
Prezinta avantajul ca imaginele plasate in ele pot fi redimensionate.Fiserele imagine pot fi depuse in
14
Programarea calculatoarelor
controale image prin setarea proprietarea Picture a controlului sau cu ajutorul functiei LoadPicture in
timpul executiei programului
C:\Poze\Poza.jpg Image1.Picture=LoadPicture(“C:\Poze\Poza.jpg”)
Salarii Load UserForm1,UserForm1.Show
Rand = 3
For x =0 to ListBox1.ListCount-1
If ListBox1.Selected(x)=True then
TestBox1.Text=Sheets(“Lichidare”).Cells(x+3,1)
TestBox2.Text=Sheets(“Lichidare”).Cells(x+3,2)
TestBox3.Text=Sheets(“Angajati”).Cells(x+3,5)
TestBox4.Text=Sheets(“Lichidare”).Cells(x+3,4)
Image1.Picture=LoadPicture(“C:\Poze\Poza” & x+1 “.jpg”)
EndIf
Next
15