Sunteți pe pagina 1din 15

Programarea calculatoarelor

Cap3.Programarea in limbajul Visual Basic

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

Un obiect este definit de un set de proprietati cum ar fi:


- dimensiune
- culoare
- pozitie pe ecran
- comportament(ex:daca un buton de optiune este activ sau nu)
O metoda este o procedura(succesiune de instructiuni)asociata unei anumite actiuni a unui obiect.
Spre exemplu:In Visual Basic exista o metoda Move asociata majoritatii obiectelor si permite mutarea
obiectelor.Proprietatile descrie obiectele ,metodele definesc actiunile obiectului.Pe de alta parte
proprietatile reprezinta datele,metodele reprezinta cod,instructiuni.
Astfel,in gramatica programarii orientate spre obiecte,obiectele sunt substantive,proprietatile sunt
adjective si metodele sunt verbe.

Utilizarea notatiei cu punct pentru referirea


proprietatilor si a metodelor

Referirea unei proprietati se face in felul urmator: obiect.proprietate=valoare.


ex: daca vrem sa modificam latimea formei userform1 folosim
userform1.width=150.
Referirea metodelor se face asemanator cu referirea proprietatilor insa metodele pot necesita
precizarea unor informatii suplimentare,
ex: daca vrem sa mutam butonul,in coltul de sus al formei
buton1.move_0,0

2
Programarea calculatoarelor

Stabilirea proprietatilor si executarea metodelor

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

Orice obiect are proprietatile:Name(numele utilizat in scrierea codului) si Caption(numele dat


obiectului pentru a putea fi vazut de utilizator)
Visual Basic da nume implicite obiectelor.Este indicat ca utilizatorul sa foloseasca pentru numele
obiectelor numele utilizat prin conventia:prefix format din trei litere mici si in continuare un sir de
caractere care identifica obiectul

Obiect Prefix Exemple


Forma frm Frm1
Buton de comanda Cmd,btn Cmd1,btnOK
Casete de text Txt txtCaseta1
Bare de derulare Hsb,vsb
Meniu Mnu
Caseta de validare Chk
Caseta de lista Lst
Cadru Fra
Imagine Img
Buton de optiuni Opt

Variabile

3
Programarea calculatoarelor

O variabila este o zona temporara de memorie,caruia i se da un nume si care poate memora un


anumit tip de data care poate fi modificata pe parcursul executiei programului.In V.B. numele unei
variabile poate avea 256 de caractere,trebuie sa inceapa cu un caracter α numeric (litera sau cifra)si nu
poate fi un cuvant rezervat al limbajului cum ar fi sub,function,move.Tipuri de variabile in V.B.

Tip Sufix Dimensiune Domeniul de valori


(nr octeti)
Byte - 1 0 - 255
Boolean - 2 True, False
Integer % 2 -32768, +32768
Long Integer & 4 -2147423.648, +2147423.647
Simple(simpla precizie) ! 4 -3.4E38, +3.4E38
Double(dubla precizie) # 8 -1.8E308, +1.8E308
Currency @ 8 -922E14, +922E14
Date - 8 ian,1,100…dec,31,9999
Object - 4 adresa unui obiect
String $ 1/character 65500 octeti
Variant(nedefinit) - Variabila in functie de tip
User Defined - Variabila in functie de tip

Declaratii implicite si explixite de variabile

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

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

2) variabile statice in interiorul 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

Tipuri de date definite de utilizator

In afara de tipurile de date predefinite(Byte,Bolean,Integer..)Utilizatorul poate sa-si defineasca


propriile sale tipuri de date care pot contine unul sau mai multe tipuri de date predefinite.Aceste tipuri de
date pot fi declarate doar in sectiunea GENERAL/Declaration.Folosind cuvintele cheie Type and End
Type se face declararea
Type angajat DIM Va as angajat
Marca as Integer Va.Marca=12
Np as String Va.Np=”Ionescu Ion”
Data as Date Va.Datan=#december_20_1983#
End Type
Aceste tipuri de variabile se utilizeaza in programul de baze de date

Structuri de ramificare si ciclare

- instructiuni pentru luare de decizii cu ajutorul acestor instructiuni se dirijeaza executia


programului in functie de indeplinire a anumitor conditii
- instructiuni de ramificare permit executia selectiva a anumitor secvente de instructiuni,in
functie de indeplinirea unor conditii
- instructiuni de ciclare permit executia repetata a unor secvente de instructiuni
Ramificarea
Instructiunea if
If <conditie> then
<instr.1>
Else
<instr.2>
Endif
Instructiunea select
-selectia unei alternative din mai multe posibile
Ciclare

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

Operatii de intrare /iesire realizate cu functiile InputBox()si MsgBox().Limbajul V.B. dispune de


aceste doua functii pentru realizarea de operatii simple de intrare/iesire,prin utilizarea unor casete de
dialog predefinite in cadrul unui program utilizatorul trebuie sa poata introduce date si sa poata afisa sau
extrage rezultate.
Functia InputBox()afiseaza o caseta de dialog si asteapta ca utilizatorul sa introduca text,apoi
returneaza continutul casetei de text.Valoarea returnata este fie de tip variant,fie de tip string,in functie
de varianta utilizata.
Valret = InputBox(prompt,title,default,xpos,ypos,helpfile,context) - returneaza variant
ValRet$=InputBox$(prompt,title,dedefault,xpos,ypos,helpfile,context) – returneaza string
prompt – este singurul argument obligatoriu,care va fi completat cu un mesaj de tip sir,prin care se invita
utilizatorul sa introduca text in caseta de text predefinita

7
Programarea calculatoarelor

DIM Luna as integer


DIM Anul as integer
Luna = InputBox(“Introduceti luna”)
Anul = ImputBox(“Introduceti anul”)
Sheets(“Istoric”).Cells(Randi,1)=Luna
Sheets(“Istoric”).Cells(Randi,2)=Anul

title – este un sir de caractere ce va fi afisat in bara de titlu a casetei de dialog


default – se poate completa pentru acest argument un sir de caracter care sa fie considerat raspunsul
implicit
xpos,ypos – sunt expresii numerice care specifica distanta pe orizontala,verticala a coltului din stanga de
sus,al casetei de dialog,fata de coltul din stanga sus al formei.Daca acestea sunt omise
caseta de dialog va fi centrata pe orizontala la o treime din inaltimea formei.

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””

Functia MsgBox si procedura MsgBox

Afiseaza un mesaj intr-o caseta de dialog si asteapta ca utilizatorul sa selcteze un buton.Functia


MsgBox returneaza o valoare intreaga care indica nr butonului selectat.Procedura MsgBox nu returneaza
nici o valoare (este utilizata doar pentru a afisa un mesaj).
Functia Valret%=MsgBox(msg,type,title,helpfile,contact)

Procedura MsgBox – msg,title,type,helpfile,contact


msg – expresie de tip si afisata ca mesaj in caseta de dialog
type – expresie numerica care precizeaza nr si tipul butoanelor si a altor elemente ce vor fi afisate in
caseta de dialog

1. nr si tipul butoanelor casetei de dialog


2. tipul pictogramei
3. butonul prestabilit
4. modalitatea casetei de dialog

8
Programarea calculatoarelor

Valoarea Semnificatie Constanta simbolica recomandata

0 Ok Vb OK Only

1 Ok,Cancel Vb OK Cancel

2 Abort,Retry,Ignore Vb Abort Retry Ignore

3 Yes,No,Cancel Vb Yes No Cancel


1
4 Yes,No Vb Yes No

5 Retry,Cancel Vb Retry Cancel

16 Critical Vb Critical

32 ? Vb Question
2
48 ! Vb Exclamation

64 i Vb Information

0 Primul buton Vb Default Button 1

3 256 Al doilea buton Vb Default Button 2

512 Al treilea buton Vb Default Button 3

0 Caseta modala aplicatie Vb Aplication Modal


4
4096 Caseta modala a sistemului Vb Sistem Modal

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:

Valoarea Semnificatie Constanta simbolica recomandata

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

O constanta poate fi privita ca o variabila a carei valoare nu se schimba niciodata,ramanand


aceeasi pe parcursul intregii vieti a programului.Utilizarea constantei duce la cresterea calitatii
programelor.Ca si in cazul unei variabile domeniul unei constante este determinat de locul unde este
declarata.
Constanta se declara cu cuvantul cheie constanta.Este indicat ca numele constantei sa fie scris cu
litere mari pentru a putea fi usor reparabile ex: Constanta PI=3,14
Pb.: Suma nr impare pana la o caloare n neprecizata si afisam la sfarsit rezultatul
DIM nr as Integer,suma as Integer
Suma=0
Nr=InputBox(“Introduceti nr”)
For k=1 to nr STEP 2
Suma = suma+k
Next
MsgBox “Suma nr impare pana la ”& Nr & “este” & suma

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

Procedurile sunt de doua feluri:generale si eveniment.O procedura generala comunica aplicatiei


cum se efectueaza o anumita actiune.Pentru a efectua actiunea,procedura trebuie apelata explicit in
cadrul aplicatiei.O procedura generala poate fi plasata in oricare din cele trei tipuri de module.
O procedura eveniment ramane inactiva pana cand este apelata pentru a raspunde unor evenimente
provocate de utilizator(click cu mouse-ul)sau declansate de sistem(evenimente de ceas,evenimente de
incarcare in memorie)
Proceduri subrutine
O procedura subrutina sau o procedura este o secventa de instructiuni careia i se atribuie un nume
si ale carei instructiuni sunt executate ca un tot .O procedura subrutina efectueaza o anumita actiunie
insa nu returneaza nici o valoare.
O procedura subrutina incepe cu instructiunea sub si se termina cu endsub,spre exemplu procedura
asociata evenimentului click al unui buton.Limbajul V.B. are o serie de proceduri incorporate ca de
exemplu:

Procedura Descrierea Exemplu de utilizare


MsgBox afiseaza mesaj Msgbox “Hello”
Print tipareste Print Procent &”%”
FileCopy copiaza un fisier FileCopy “Fis1.doc”,”Fis2.doc”
Name redenumeste un fisier Name “Fis1” as ”Fis2”
Kill sterge un fisier Kill “Fis1.doc”
Beep emite un sunet Beep
Date stabileste data sistemului Date#december 18,2002#

Utilizatorul poate defini propriile proceduri pentru a efectua diverse actiuni:


Sub StergereFisiere ()
Kill ”*Time”
Beep
MsgBox “S-au sters toate fisierele temporare”
End Sub
Desi parametrul apare in numele procedurii,la apelul procedurii se va specifica doar numele
procedurii fara paranteze
Sub Produs(nr1 as Integer,nr2 as Integer)
iVarGlobal=nr1*nr2
End Sub
DIM n1 as Integer,n2 as Integer
n1=InputBox(“Introduceti nr1: ”)
n2=InputBox(“Introcuceti nr2: ”)
Produs n1,n2
Proceduri functii
O procedura functie sau simplu o functie este o secventa de instructiuni care efectueaza o anumita
operatie intr-un program si returneaza o valoare.O functie incepe cu instructiunea Function
Function
:
End Function
In V.B. exista o serie de functii predefinite printre care:

11
Programarea calculatoarelor

Functia Descrierea Valoarea returnata


Len() returneaza lungimea unui sir Lung=Len(“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

Functie pentru criptarea unui sir de caractere:


Function Criptare (sirt as String)as String
Dim lung as Integer
Dim sirc as String,car as String,cript as String
lung=len(sirt)
For x=1 to lung
car=mid(sirt,x,1)
cript=chr(asc(car)+1)
sirc=sirc & cript
Next
Criptare=sirc
End Function
criptare sir
Dim rezultat as String
sirt=InputBox(“Introduceti sirul:”)
Rezultat=Criptare(sirt)
MsgBox rezultat
Function Decriptare(sirintrare as String)as String
Dim lung as Integer
Dim siriesire as String,carintrare as String
Dim cariesire as String
lung=len(sirintrare)
For x=1 to lung
carintrare=mid(sirintrare,x,1)
carisire=chr(asc(carintrare)-1)
siriesire=siriesire & cariesire
Next
Decriptare=siriesire
End Function

12
Programarea calculatoarelor

Function Cript_Decript (sirintrare as String,operatie as Integer)as String


Dim lung as Integer
Dim siriesire as String,carintrare as String,cariesire as String
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

Obiecte in Visual Basic

1. Butonul de comanda(Command Button)


Este utilizat pentru a incepe,a intrerupe sau a incheia un anumit proces.Pentru a afisa un anumit
text pe buton se foloseste proprietatea Caption
2. Etichete(Label)
Este un control grafic folosit pentru a afisa text.Pentru ca eticheta sa afiseze corect linii multiple se
vor stabili proprietatiile AutoSize si WordWrap pe valoarea True
3. Casete de text(Text Box)
Este creat pentru a afisa informatii introduse de utilizator la executia programului sau stabilite prin
program.Accesul la textul afisat se obtine prin stabilirea sau citirea proprietatii text.
TextBox1.text=Sheets(“Angajati”).Cells(3,1)
Pentru a afisa mai multe linii de text intr-o caseta de text se selecteaza proprietatea Multiline pe
True.Pentru o caseta de text se pot defini bare de derulare folosind proprietatea ScroolBars:Horizontal,
Vertical,Both,None
4. Butonul de optiune(Option Button)
Afiseaza o optiune care poate fi activata sau dezactivata.In functie de valoarea proprietatii Value
True – activat,False – dezactivat.De regula aceste obiecte se utilizeaza in grupuri care sunt desenate intr-
un cadru(frame).In acest sens vrem sa definim o lista de optiuni care se excluda reciproc.
Pentru a construi un grup de optiuni intr-un cadru,intai se deseneaza cadrul si apoi in cadru se
deseneaza butoanele de optiune.Singurele butoane in care se depoziteaza sunt formele si cadrele.Prin
intermediul proprietatii Caption fiecarui buton ii se poate atasa un text scris in dreapta butonului.

If B1.Value = True then

13
Programarea calculatoarelor

MsgBox ”B1 selectat”


Else
If B2.Value = True then
MsgBox “B2 selectat”
Else
MsgBox “B3 selectat”
Endif
Endif
5. Casete de validare(Check Box)
Afiseaza o caseta care poate fi activata sau dezactivata.Se pot grupa mai multe casete de validare
intr-un frame,insa spre deosebire de butonul de optiune pot fi active mai multe butoane de validare.Cu
proprietatea Caption se poate afisa text ca la butoanele de optiune
6. Cadre(Frame)
Ofera posibilitatea de a grupa obiecte inrudite.Intai se deseneaza cadrul si apoi controalele in
cadrul respectiv.
7. Caseta cu lista (List Box)
Afiseaza o lista de articole din care utilizatorul poate selecta cu mouse-ul mai multe
butoane.Proprietatea ListCount returneaza nr de articole din lista,iar proprietate ListIndex determina
articolul curent selectat astfel
0 – primul articol din lista
listcount-1 – ultimul articol
-1 - nu a fost selectat
Pentru a selecta mai multe articole la un moment dat se foloseste MultiSelect
0 – nu sunt admise selectii
1 – selectie simpla
2 – selectii multiple
Proprietatea selected(x) True
8. Casete combinate(Combo Box)
Este un Text Box si un List Box combinat.Pentru a adauga articole intr-o lista se foloseste metoda
AddItem
Rand = 3
While Sheets (“Angajati”).Cells(Rand,1)<>””
ListBox1.AddItem Sheets(“Angajati”).Cells(Rand,2)
Rand=Rand+1
Wend
Clear
ListBox1.Clear

Rand = 3
While Sheets (“Lichidare”).Cells(Rand,1)<>””
ListBox1.AddItem Sheets(“Lichidare”).Cells(Rand,2)
Rand=Rand+1
Wend

9.Controale cu imagini

14
Programarea calculatoarelor

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
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

Realizarea programului executabil


Programul executabil pentru o aplicatie Windows este un fisier executabil,va avea extensia .exe
care poate fi reluat(executat) in afara mediului de dezvoltare Visual Basic.Acest fisier de executabil
impreuna cu fisierele auxiliare necesare programului va fi livrat viitorilor utilizatori ai aplicatiei si va
putea fi instalat si executat sub sistemul de operare Windows.
Crearea programului executabilului poate fi realizat pentru un proiect sub Visual Basic si nu sub
Visual Basic Excel.O alta modalitate a mediului Visual Basic este crearea de baze de date Acces

15