|
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
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
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
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
(nr octeti)
Domeniul de valori
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
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 IntegerVa.Marca=12
Npas 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
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
Fork=1 to 34
Sheets("Pontaj").Cells(3,K)=""
Next
b) Pentru toate randurile din foaia de calcul pontaj rand 3
While Sheets("Pontaj").Cells(Rand1)<>""
For k=1 to 34
Sheets("Pontaj").Cells(Rand,K)=""
Next
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
1. While.Wend
While<conditie>
<instructiuni>
Wend
2. For.Next
For <ic> = <val.initiala> to <val.finala> [step<pas>]
<instructiuni>
Next
exemplu:
DIMsuma 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>
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..
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
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
1
Valoarea
Semnificatie
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
4
Yes,No
Vb Yes No
5
Retry,Cancel
Vb Retry Cancel
2
16
Critical
Vb Critical
32
Vb Question
48
Vb Exclamation
64
i
Vb Information
3
0
Primul buton
Vb Default Button 1
256
Al doilea buton
Vb Default Button 2
512
Al treilea buton
Vb Default Button 3
4
0
Caseta modala aplicatie
Vb Aplication Modal
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
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
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
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"
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:
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 codului
Car=Chr(65)
Car - "A"
Asc()
returneaza codul corespunzator caracterului
Cod=Asc("A")
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
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 = Truethen
MsgBox "B1 selectat"
Else
If B2.Value = Truethen
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
While Sheets ("Angajati").Cells(
ListBox1.AddItem Sheets("Angajati").Cells(
Wend
Clear
ListBox1.Clear
While Sheets ("Lichidare").Cells(
ListBox1.AddItem Sheets("Lichidare").Cells(
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 controale image prin setarea proprietarea Picture a controlului sau cu ajutorul functiei LoadPicture in timpul executiei programului
C:PozePoza.jpg Image1.Picture=LoadPicture("C:PozePoza.jpg")
Salarii Load UserForm1,UserForm1.Show
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:PozePoza" & 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