Programarea calculatoarelor
Cap3.Programarea Cap3.Programarea in limbajul Visual Basic Pentru realizarea unei aplicatii pot fi avute in vedere doua tehnologii de d e programare (programarea procedurala si programarea orientata spre obiecte si dirijata de evenimente) 1.Programarea procedurala In programarea procedurala a aplicatiei este constituita c onstituita 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: produc productiv tivita itatea tea scazut scazutaa in realiz realizare areaa progra programel melor or efort efort mare mare pentru pentru realiz realizare areaa progra programel melor or si mai ales ales a interf interfetel etelor or 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 ap oi 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 cree creeaza aza o form formaa caru caruia ia i se da un nume nume 2. se deseneaza deseneaza si se denumesc denumesc obiectele obiectele ce urmeaza urmeaza a fi afisate afisate in forma forma respectivea respectivea 3. se ataseaza ataseaza fiecarui fiecarui obiect codul(instr codul(instructiun uctiunile)c ile)cee va fi executat executat ca raspuns raspuns la evenimente 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 c od corespunzator si aceste obiecte raspund la evenimente declansate fie ca urmare u rmare 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 ob iect. 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 n umai 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 Buton de comanda Casete de text Bare de derulare Meniu Caseta de validare Caseta de lista Cadru Imagine Buton de optiuni
frm Cmd,btn Txt Hsb,vsb Mnu Chk Lst Fra Img Opt
Frm1 Cmd1,btnOK txtCaseta1
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
Byte Boolean Integer Long Integer Simple(simpla precizie) Double(dubla precizie) Currency Date Object String Variant(nedefinit) User Defined
% & ! # @ $ -
Dimensiune (nr octeti) 1 2 2 4 4 8 8 8 4 1/character Variabila Variabila
Domeniul de valori
0 - 255 True, False -32768, +32768 -2147423.648, +2147423.647 -3.4E38, +3.4E38 -1.8E308, +1.8E308 -922E14, +922E14 ian,1,100…dec,31,9999 adresa unui obiect 65500 octeti in functie de tip 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 va riabile 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
then Else Endif Instructiunea select -selectia unei alternative din mai multe posibile Ciclare 5
Programarea calculatoarelor Instructiunea while While Wend -se executa secventa de instructiuni atata timp cat este adevarata Instructiunea for For = to [step] 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 then Else 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.
2.
While…Wend While Wend For…Next For = to [step] 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 Loop sau: If then Exit Do Else Loop until
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. 2. 3. 4.
nr si tipul butoanelor casetei de dialog tipul pictogramei butonul prestabilit 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
4
Yes,No
Vb Yes No
5
Retry,Cancel
Vb Retry Cancel
16
Critical
Vb Critical
32
?
Vb Question
48
!
Vb Exclamation
64
i
Vb Information
0
Primul buton
Vb Default Button 1
256
Al doilea buton
Vb Default Button 2
512
Al treilea buton
Vb Default Button 3
0
Caseta modala aplicatie
Vb Aplication Modal
4096
Caseta modala a sistemului
Vb Sistem Modal
1
2
3
4
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 ca nd 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 MsgBox Print FileCopy Name Kill Beep Date
Descrierea afiseaza mesaj tipareste copiaza un fisier redenumeste un fisier sterge un fisier emite un sunet stabileste data sistemului
Exemplu de utilizare Msgbox “Hello” Print Procent &”%” FileCopy “Fis1.doc”,”Fis2.doc” Name “Fis1” as ”Fis2” Kill “Fis1.doc” Beep 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 Len()
Mid() Chr() Asc() UCase() LCase() Instr()
Descrierea returneaza lungimea unui sir
Valoarea returnata Lung=Len(“Programarea calculatoarelor”) Lung = 27 subsir din sir ss=Mid(“ABCDE”,12) ss – “AB” returneaza caracterul corespunzator Car=Chr(65) codului Car – “A” returneaza codul corespunzator Cod=Asc(“A”) caracterului Cod – 65 conversia in litere mari Nume=UCase(“Ionescu”) Nume – IONESCU conversia in litere mici Nume=LCase(“IONESCU”) Nume – ionescu 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 c a 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 execu tia 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 intrun 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