Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Programarea in limbajul Visual Basic

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

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

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>

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


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

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

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

Constanta simbolica recomandata

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

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:

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

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

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


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