Sunteți pe pagina 1din 12

1

CURS 2

Adăugarea controalelor la un proiect


Setul de controale disponibile din caseta cu instrumente poate fi personalizat
pentru fiecare proiect. Orice control, pentru a putea fi adăugat într-un formular din
proiect, trebuie să se afle întâi în caseta cu instrumente. Setul de bază de controale
standard apare întotdeauna în caseta cu instrumente.

Adăugarea controalelor ActiveX


Puteţi adăuga la proiect controale ActiveX şi obiecte inserabile, dacă le adăugaţi
întâi la caseta cu instrumente .

Pentru a adăuga un control la caseta cu instrumente a proiectului:


1. Alegeţi comanda Components din cadrul meniului Project. Va fi afişată caseta
de dialog Components. Elementele listate în cadrul acestei casete de dialog
includ toate controalele ActiveX înregistrate, obiectele inserabile şi proiectanţii
ActiveX.
2. Pentru a adăuga în caseta cu instrumente un control (extensie .ocx) sau un obiect
insertabil, bifaţi caseta de validare din stânga numelui de control.
3. Pentru a putea vedea controalele ale căror fişiere au extensia .ocx, selectaţi
secţiunea Controls. Pentru a vedea obiectele inserabile, precum Microsoft Excel
Chart, selectaţi secţiunea Insertable Objects.
4. Alegeţi OK pentru a închide caseta de dialog Components. Toate controalele
ActiveX pe care le-aţi selectat apar acum şi în caseta cu instrumente.

Pentru a elimina un control din proiect


1. Din cadrul meniului Project alegeţi comanda Components. Va fi afişată caseta
de dialog Components.
2. Invalidaţi caseta de validare de lângă fiecare control pe care vreţi să-1
eliminaţi. Pictogramele controalelor vor fi eliminate din caseta cu instrumente.

Nu puteţi elimina un control din caseta cu instrumente dacă o instanţă a acelui


control este folosită pe vreun formular din proiect.
2

Folosirea obiectelor din alte aplicaţii


Pot fi folosite şi obiecte din cadrul altor aplicaţii, cum ar fi cele incluse în
biblioteca de obiecte Microsoft Excel sau Word, fie drept controale în caseta cu
instrumente, fie drept obiecte programabile în cod. Pentru a face disponibile pentru codul
dumneavoastră obiectele altei aplicaţii, dar nu pe post de controale, trebuie să atribuiţi o
referinţă către biblioteca de obiecte a acelei aplicaţii.

Pentru a adăuga o referinţă la biblioteca de obiecte a altei aplicaţii


1. Alegeţi comanda References din cadrul meniului Project. Va fi afişată caseta de
dialog References.
2. Validaţi caseta de validare de lângă fiecare referinţă pe care doriţi să o adăugaţi
la proiect. Pentru a insera referinţe la aplicaţii care nu sunt afişate în caseta de
dialog References, alegeţi butonul Browse şi selectaţi aplicaţia.
3. Alegeţi OK pentru a adăuga la proiectul dumneavoastră referinţele selectate.
Dacă nu folosiţi obiecte din cadrul unei biblioteci la care se face trimitere, va
trebui să invalidaţi caseta de validare pentru acea referinţă pentru a reduce la minim
numărul de referinţe la obiecte pe care Visual Basic trebuie să le rezolve, ceea ce va
reduce timpul necesar compilării proiectului.
O dată ce aţi fixat referinţele la bibliotecile de obiecte pe care le doriţi, puteţi să
găsiţi un obiect şi metodele sale în cadrul lui Object Browser, alegând comanda Object
Browser din cadrul meniului View. Puteţi utiliza în cod orice obiect aflat în lista din
Object Browser.

Fixarea opţiunilor proiectului


Visual Basic permite personalizarea fiecărui proiect prin fixarea unui număr de
proprietăţi. Va fi folosită caseta de dialog Project Properties, accesibilă din cadrul
comenzii Project Properties din meniul Project. Valorile atribuite proprietăţilor sunt
salvate în fişierul proiect (.vbp).

¾ Startup Object - Primul formular pe care îl afişează Visual Basic la


momentul execuţiei sau Sub Main ().
¾ Project Name - Identifică proiectul în cadrul codului. Nu poate cuprinde
puncte (.), spaţii şi nu poate începe cu un caracter nealfabetic. Pentru o clasă publică,
3

numele proiectului împreună cu numele clasei nu pot depăşi 37 de caractere.


¾ Help file- Numele fişierului Help asociat proiectului.
¾ Project Help Context ID - Identificatorul de context pentru subiectul de
Help care trebuie apelat atunci când utilizatorul selectează butonul „?" în momentul în
care biblioteca de obiecte a aplicaţiei este selectată în Object Browser.
¾ Project Description - Un nume uşor de reţinut pentru proiect . Este afişat în
cadrul casetelor de dialog References şi Object Browser.
Mai sunt disponibile multe alte opţiuni, inclusiv cele pentru compilare,
componente şi fire multiple de execuţie.

FUNDAMENTE ALE PROGRAMĂRII


Structura unei aplicaţii în Visual Basic
O aplicaţie nu este altceva decât o serie de instrucţiuni care dirijează
calculatorul în realizarea uneia sau mai multor sarcini. Structura unei aplicaţii este
modul în cas instrucţiunile sunt organizate, adică unde sunt ele stocate, precum şi
ordinea în care sun executate.
Aplicaţiile simple, cum este clasicul exemplu „Hello, world", au o structură
simplă, organizarea nu este foarte importantă când este vorba de o singură linie de
cod. Dar, pe măsură ce aplicaţiile devin tot mai complexe, nevoia de organizare sau
structurare devine evidentă.
Pe lângă controlul execuţiei unei aplicaţii, structura este importantă pentru
programator, deoarece uşurează găsirea unei anumite instrucţiune în cadrul codului.
Deorece o aplicaţie în Visual Basic se bazează pe obiecte, structura codului
său se mulează destul de bine pe reprezentarea sa fizică de pe ecran.
Prin definiţie, obiectele cuprind date şi cod. Formularul pe care îl vedeţi pe
ecran este o reprezentare a proprietăţilor care definesc aspectul şi comportarea sa.
Pentru fiecare formular dintr-o aplicaţie, există un modul formular asociat (cu
extensia .frm) care conţine codul său.
4

Fiecare modul formular cuprinde proceduri eveniment - secţiuni de cod în care


inseraţi instrucţiunile care se vor executa ca răspuns la evenimentele specificate.
Formularele pot conţine controale. Pentru fiecare control dintr-un formular există o
serie corespunzătoare de proceduri în cadrul modulului formular. Pe lângă procedurile
eveniment, modulele formular conţin şi proceduri generale care sunt executate ca
răspuns la un apel al oricărei proceduri eveniment.
Codul care nu este legat de un anumit formular sau control poate fi inserat
într-un alt fel de modul, modulul standard (.BAS). O procedură care ar putea fi
utilizată ca răspuns la evenimente în cadrul mai multor obiecte diferite, ar trebui
inserată într-un modul standard, în loc să fie duplicat codul din procedurile eveniment
ale fiecărui obiect.
Un modul clasă (.CLS) este folosit la crearea unor obiecte care pot fi apelate
din procedurile proiectului dumneavoastră. în timp ce un modul standard conţine doar
cod, un modul clasă conţine şi cod şi date - el poate fi imaginat ca fiind un control fără
o reprezentare fizică.

Cum funcţionează o aplicaţie orientată pe


evenimente
Un eveniment este o acţiune recunoscută de un formular sau de un control.
Aplicaţiile orientate pe evenimente execută cod Basic ca răspuns la un eveniment.
Fiecare formular şi control din Visual Basic posedă un set predefinit de evenimente.
5

Dacă a survenit unul din aceste evenimente şi există cod în procedura eveniment
asociată, Visual Basic va apela acel cod.
Cu toate că obiectele Visual Basic recunosc automat un set predefinit de
evenimente, este treaba programatorului să decidă dacă şi cum vor răspunde ele la un
anumit eveniment. O porţiune de cod - o procedură eveniment - corespunde fiecărui
eveniment. Dacă doriţi ca un control să răspundă la un eveniment, trebuie să scrieţi
cod în procedura eveniment pentru acel eveniment.
Tipurile de evenimente recunoscute de un obiect diferă, dar multe dintre ele
sunt comune pentru cele mai multe controale. De pildă, cele mai multe obiecte
recunosc un eveniment Click - dacă un utilizator execută clic pe un formular, este
executat codul din procedura eveniment Click a formularului; dacă un utilizator
execută clic pe un buton de comandă, codul din procedura eveniment Click a
butonului este cel executat. Codul explicit pentru fiecare caz va fi probabil destul de
diferit.
O secvenţă tipică de evenimente într-o aplicaţie orientată pe evenimente poate
fi:

1. Aplicaţia porneşte şi un formular este încărcat în memorie şi afişat.


2. Formularul (sau un anumit control din formular) recepţionează un eveniment.
Evenimentul poate fi declanşat de:
- utilizator (de exemplu apăsarea unei taste);
- de sistem (de exemplu un eveniment de tip Timer);
- indirect, de cod (de exemplu un eveniment Load atunci când codul
încarcă un formular).
3. Dacă există cod în procedura eveniment corespunzătoare, el va fi executat.
4. Aplicaţia aşteaptă următorul eveniment.

Notă Multe evenimente survin în conjuncţie unele cu altele. De pildă, o dată cu


apariţia evenimentului DblClick survin şi evenimentele MouseDown, MouseUp şi
Click.
6

Folosirea editorului de cod.


Editorul de cod din Visual Basic este o fereastră unde se scrie cea mai mare
parte din cod. El este în speţă un editor de texte foarte specializat, care include o serie
de facilităţi care fac mai uşoară scrierea codului în Visual Basic.
Deoarece codul Visual Basic cu care lucraţi se află în module, pentru fiecare
modul pe care îl selectaţi din exploratorul de proiecte, se va deschide o fereastră
separată, de tip editor de cod. Codul din cadrul fiecărui modul se subîmparte în
secţiuni distincte pentru fiecare obiect conţinut în modul. Comutarea între secţiuni se
face cu ajutorul unei casete cu listă de obiecte. într-un modul formular, lista cuprinde
o secţiune generală, o secţiune pentru formularul însuşi şi o secţiune pentru fiecare
control conţinut în formular. Pentru un modul clasă, lista cuprinde o secţiune generală
şi o secţiune a claselor; pentru un modul standard este prezentă doar o secţiune
generală.

Pentru fereastra editorului de cod sunt disponibile două tipuri de vizualizare a


codului. Puteţi alege vizualizarea unei singure proceduri la un moment dat sau a
tuturor procedurilor din cadrul modulului, separate între ele de linii. Pentru a comuta
între cele două tipuri de vizualizări, trebuie folosite butoanele de selectare vizualizări
din colţul din stânga-jos al ferestrei editor de cod.
7

Completarea automată a codului.


Visual Basic face scrierea codului mult mai uşoară cu ajutorul unor facilităţi
care completează automat declaraţii, proprietăţi şi argumente. Pe măsură ce
introduceţi codul, editorul afişează o listă de opţiuni adecvate, prototipuri de declaraţii
sau funcţii sau valori. Locul de unde se pot activa sau dezactiva aceste opţiuni de
editare, ca şi pentru alte tipuri de opţiuni, se află în secţiunea Editor a casetei de
dialog Options, accesibilă prin comanda Options a meniului Tools.
Atunci când introduceţi numele unui control în codul dumneavoastră,
facilitatea Auto List Members oferă o listă derulantă a proprietăţilor disponibile
pentru acel control. Introduceţi de la tastatură primele câteva litere ale numelui
proprietăţii şi numele va fi selectat din listă; tasta TAB va termina de scris numele în
locul dumneavoastră. Această opţiune este de asemenea folositoare atunci când nu
sunteţi sigur care proprietăţi sunt disponibile pentru un anumit control. Chiar dacă vă
hotărîţi să dezactivaţi facilitatea Auto List Members, puteţi în continuare să aveţi
acces la ea cu ajutorul combinaţiei de taste CTRL + J.

Facilitatea Auto Quick Info afişează sintaxa declaraţiilor şi funcţiilor. La


introducerea numelui unei declaraţii sau funcţii Visual Basic valide, sintaxa este
afişată imediat dedesubtul liniei curente, primul argument fiind scris îngroşat. După
introducerea valorii primului argument, cel de-al doilea argument va fi scris îngroşat.
Auto Quick Info mai poate fi apelat cu ajutorul combinaţiei de taste CTRL + I.
8

Fundamente despre scrierea codului


Această secţiune oferă informaţii despre mecanismele scrierii codului, între
care spargerea sau combinarea liniilor de cod, adăugarea comentariilor la cod,
folosirea numerelor şi convenţiilor de nume în Visual Basic.

Afişarea unei declaraţii pe mai multe rânduri


O declaraţie lungă poate fi afişată pe mai multe rânduri în cadrul ferestrei de
cod folosind caracterul de continuare a liniei (un spaţiu urmat de o liniuţă de
subliniere). Acest caracter face codul mai uşor de citit şi pe ecran şi la imprimantă.
Următoarea secvenţă de cod este întinsă pe trei rânduri cu ajutorul caracterului de
continuare a liniei ( _):

Data1.RecordSource = _
"SELECT * FROM Titles, Publishers" _
& "WHERE Publishers.Publd = Titles.Publd" _
& "AND Publishers.State = 'CA'"
Un caracter de continuare a liniei nu poate fi urmat pe acelaşi rând de un
comentariu. Există, de asemenea, unele limitări în ceea ce priveşte locul unde poate fi
folosit caracterul de continuare a liniei.

Plasarea mai multor instrucţiuni pe acelaşi rând


De obicei, pe un rând se află o singură instrucţiune Visual Basic, iar terminator
de instrucţiune nu există. Cu toate acestea, pot fi plasate pe acelaşi rând două sau mai
multe instrucţiuni, prin folosirea caracterului două-puncte (:) pentru a le separa:

Textl.Text = "Hello" : Red = 255 : textl.BackColor =


_ Red
Pentru a se citi uşor, este totuşi mai bine ca pe un rând să existe o singură
instrucţiune.
9

Adăugarea comentariilor la cod


Adeseori apare în cod necesitatea plasării unui comentariu. Simbolul de
comentariu este '. Prin acest simbol, Visual Basic ştie că nu trebuie să ia în seamă
cuvintele care-l urmează. Asemenea cuvinte sunt comentarii inserate în cod în ajutorul
celui care dezvoltă programul şi al celorlalţi programatori care s-ar putea să
examineze codul mai târziu. De exemplu:

1
Acesta este un comentariu care incepe de la marginea din dreapta a ecranului.
Textl.Text = "Hi!" ' Inseraţi saluturi prieteneşti 1 in casetele cu text.

Comentariile pot succede unei instrucţiuni aflate pe acelaşi rând sau pot ocupa
tot rândul. Ambele variante sunt ilustrate în exemplul precedent. De reţinut că un
comentariu nu poate sta după un caracter de continuare a liniei, pe acelaşi rând.
Puteţi adăuga sau elimina simbolurile de comentariu pentru un bloc de cod,
selectând două sau mai multe linii de cod şi alegând butoanele Comment Block sau
Uncomment Block din cadrul barei cu instrumente Edit.

Comunicarea simplă cu utilizatorul

1. Tipărirea simplă a informaţiei.


Există multiple metode de prezentare a informaţiei către utilizator, dintre care
cele mai simple şi utilizate sunt:

1.1 Tipărirea direct pe formă.


Sintaxa acestei instrucţiuni este foarte simplă:
Print "AAAAA"
Notă: Dacă formularul pe care s-a tipărit este minimizat şi apoi restaurat,
informaţia tipărită dispare (nu este persistentă). Acelaşi fenomen se intâmplă dacă
porţiunea pe care s-a tipărit este acoperită de către o altă fereastră. Pentru evitarea
acestui fenomen, trebuie ca proprietatea Autoredraw a formularului să fie setată la
valoarea TRUE.
10

1.2 Tipărirea în fereastra Immediate


Instrucţiunea Debug.Print tipăreşte în fereastra Immediate, care este folosită
pentru testarea codului.
Debug.Print "AAAA"
Notă: Fereastra Immediate este făcută vizibilă alegând meniul: View ->
Immediate Window

1.3 Schimbarea informaţiei prezentate de eticheta unui control


Această metodă este cea mai utilizată şi mai sigură metodă de a prezenta
informaţie către utilizator. In principiu, poate fi utilizată pentru orice control ce are
proprietatea Caption. Deoarece, în general, este necesar ca utilizatorul doar să
citească această informaţie, în acest scop se foloseşte controlul Label:
Label1.Caption = "AAAAA"

1.4 Folosirea funcţiei MsgBox


Funcţia MsgBox deschide o casetă de dialog în care utilizatorului i se
prezintă o informaţie şi de la care se aşteaptă un răspuns în funcţie de care ea va
returna o anumită valoare pe baza căreia se va lua o anumită decizie de către program.
In acest sens, funcţia este bidirecţională furnizând informaţie către utilizator, dar şi de
la acesta către program.

Sintaxa ei este:

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

Cei mai importani parametri ai acestei funcţii sunt:


promt - este informaţia prezentată către utilizator;
buttons - setează numărul si tipul de butoane pe care le va avea fereastra,
precum şi pictograma ce se va afişa.
11

title - titlul ferestrei; daca informaţia este omisă, titlul său este titlul
proiectului.

Notă: Pentru funcţia MsgBox trebuie furnizate trei informaţii sau argumente:
textul mesajului, o constantă (valoare numerică) pentru a determina stilul casetei de
dialog şi un titlu. Stilurile sunt disponibile într-o paletă largă de combinaţii de butoane
şi pictograme pentru a crea mai uşor casete de dialog.
Deoarece majoritatea casetelor de dialog impun intervenţia utilizatorului, ele
sunt de obicei afişate sub forma casetelor de dialog modale. O casetă de dialog
modală trebuie închisă (ascunsă sau descărcată din memorie) înainte de a putea
continua aplicaţia. De pildă, o casetă de dialog este modală dacă este necesar să
executaţi clic pe butoanele OK sau Cancel înainte de a trece la alt formular sau casetă
de dialog.
Casetele de dialog non-modale permit trecerea focusului de la caseta de
dialog la un alt formular fără să fie nevoie de închiderea casetei de dialog. Lucrul
poate fi continuat oriunde în cadrul aplicaţiei, în timp ce caseta de dialog este afişată.
Casetele de dialog non-modale sunt rare; afişarea unei casete de dialog se face pentru
că este nevoie de un răspuns înainte de a continua aplicaţia. In cadrul meniului Edit,
caseta de dialog Find din Visual Basic sau din Word sunt un exemplu de casete de
dialog non-modale. Casetele de dialog non-modale pot fi folosite pentru a afişa
comenzi sau informaţii frecvent folosite.

Observaţie: Visual Basic este capabil şi de metode mult mai sofisticate de


prezentare a informaţiei către utilizator, dintre care amintim:
¾ Scrierea într-un fisier pe disc;
¾ Scrierea într-o bază de date (Access, SQL Server, Oracle etc.)
¾ Scrierea într-un program extern (Word, Excel, Power Point)

2. Preluarea simplă a informaţiei de la utilizator.


2.1 Preluarea conţinutului unei casete de text.
Este cea mai simplă şi utilizată metodă de preluare a informaţiei. Această
informaţie este stocată în proprietatea Text a unui control de tip TextBox.
Debug.Print Text1.Text
12

2.2 Solicitarea introducerii de date cu funcţia InputBox


Funcţia InputBox solicită introducerea de date de la utilizator. Ea afişează o
casetă de dialog modală care cere utilizatorului introducerea de date. Sintaxa ei este:

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Cei mai importanţi parametri ai acestei funcţii sunt:


promt - este promtul afişat utilizatorului;
title - titlul ferestrei; daca informaţia este omisă, titlul său este titlul
proiectului.
default - valoarea implicită pe care o returneaza funcţia în caz că utilizatorul
nu a introdus nici o valoare în caseta de text corespunzătoare;

Notă: Funcţia întoarce valoarea pe care utilizatorul o introduce în caseta de


text. Un exemplu de folosire a acestei funcţii poate fi:
Debug.Print InputBox("GF", "HJGF", "AAAAAAA")

Observaţie: Visual Basic este capabil şi de metode mult mai sofisticate de


preluare a informaţiei de la utilizator, dintre care amintim:
¾ Citirea dintr-un fisier de pe disc;
¾ Citirea într-o bază de date (Access, SQL Server, Oracle etc.)
¾ Preluarea de date dintr-un program extern (Word, Excel, Power Point)

S-ar putea să vă placă și