Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Notiuni de baza - Visual Basic
Pentru a intelege procesul de dezvoltare a unei aplicatii Visual Basic trebuie sa intelegeti cateva dintre conceptele cheie pe baza carora a fost conceput Visual Basic. Deoarece Visual Basic este un limbaj de dezvoltare Windows, este necesara mai intai o familiarizare cu mediul Windows, iar daca sunteti incepator in programarea Windows, trebuie sa cunoasteti si unele diferente fundamentale dintre programarea pentru Windows si pentru alte medii.
Modul de lucru Windows: ferestre, evenimente si mesaje
Pentru o discutie completa despre functionarea interna a Windows-ului ar fi necesara o carte intreaga. O versiune simplificata a functionarii Windows-ului implica trei concepte cheie: ferestre, evenimente si mesaje.
Ganditi-va la o fereastra ca la o simpla zona dreptunghiulara cu propriile sale margini. Probabil ca dumneavoastra deja cunoasteti cateva tipuri de ferestre: fereastra Explorer din Windows 95 (98, 2000), cum ar fi fereastra de document din interiorul unui program de editare texte sau caseta de dialog care apare pentru a va reaminti de o intalnire. Acestea sunt cele mai cunoscute exemple, insa in realitate exista mult mai multe tipuri de ferestre. Un buton de comanda este tot o fereastra. Pictogramele, casetele de text, butoanele de optiuni si barele de meniu sunt si ele tot ferestre
Sistemul de operare Microsoft Windows gestioneaza toata acesta multitudine de ferestre asociind fiecareia un numar de identificare unic (numit si calea de acces a ferestrei sau hWnd). Sistemul monitorizeaza continuu fiecare dintre aceste ferestre pentru a determina activitatea sau evenimentele care se produc. Evenimentul se poate produce fie datorita actiunii utilizatorului, cum ar fi executarea unui clic sau apasarea unei taste, fie ca urmare a actiunilor altor ferestre.
De fiecare data cand se produce un eveniment, acesta determina transmiterea unui mesaj catre sistemul de operare. Sistemul proceseaza aceste mesaje si le retransmite fie aceleasi ferestre, fie altor ferestre. Fiecare fereastra, pe baza propriilor instructiuni, poate apoi reactiona in mod corespunzator la mesajul particular primit (spre exemplu, redesenarea insasi atunci cand ea a fost activata de catre o alta fereastra).
Dupa cum va puteti imagina, discutarea tuturor combinatiilor posibile de ferestre, evenimente si mesaje este foarte dificila. Din fericire, Visual Basic va scuteste de a va ocupa de tratarea la nivel inferior a tuturor mesajelor. Multe dintre aceste mesaje sunt tratate in mod automat de catre Visual Basic; altele sunt "expuse" ca proceduri eveniment pentru a fi folosite atunci cand este necesar. In acest mod puteti crea rapid aplicatii puternice, fara a avea grija de detaliile nenecesare.
Modelul "dirijare prin evenimente"
In aplicatiile traditionale sau "procedurale", ele insasi controlau ce portiune de cod se va excuta si in ce succuesiune. Executia incepea cu prima linie de cod si urmarea o cale predeterminata din aplicatie, apeland procedurile cand era necesar.
Intr-o aplicatie dirijata prin evenimente, executia codului nu urmeaza o cale prestabilita - aceasta executa diferite sectiuni ale codului ca raspuns la evenimente. Evenimentele pot fi declansate de actiunile utilizatorului, de mesajele din sistem sau din alte aplicatii sau chiar din aplicatia insasi. Succesiunea acestor evenimente determina secventa in care se executa codul, astfel incat parcurgerea codului aplicatiei difera de fiecare data cand programul este rulat.
Deoarece nu puteti prevedea secventa evenimentelor, codul dumneavoastra trebuie sa faca anumite presupuneri despre "starea lumii" atunci cand acesta se executa. Cand faceti supozitiile (spre exemplu, ca un camp de intrare trebuie sa contina o valoare inainte de rularea unei proceduri pentru prelucrarea acelei valori), trebuie sa structurati aplicatia in asa fel incat sa fiti siguri ca presupunerea va fi intotdeauna corecta (spre exemplu, facand inaccesibil butonul de comanda care lanseaza procedura de prelucrare atata timp cat campul de introducere nu contine o valoare).
Codul dumneavoastra poate declansa pe timpul executiei evenimente. Spre exemplu, modificarea prin program a textului dintr-o caseta de text declanseaza evenimentul Change a casetei de text. Aceasta va determina executia codului continut in procedura evenimentului Change, daca exista. Daca veti presupune ca acest eveniment va fi declansat numai prin interactiunea utilizatorului, e posibil sa obtineti rezultate neasteptate. Din acest motiv este foarte important sa intelegeti modelul dirijat prin evenimente si sa-l aveti in minte atunci cand proiectati aplicatia dumneavoastra.
Dezvoltarea interactiva
Procesul traditional de dezvoltare a unei aplicatii poate fi impartit in trei etape: scrierea, compilarea si testarea codului. Spre deosebire de limbajele traditionale, Visual Basic foloseste un mod interactiv pentru dezvoltare, eliminand distinctia dintre cele trei etape.
In majoritatea limbajelor de programare, daca faceti o greseala in scrierea codului, eroarea este depistata doar la compilarea aplicatiei. Apoi, trebuie sa gasiti si sa corectati eroarea si sa compilati din nou programul, repetand acest proces de fiecare data cand se gaseste o alta eroare. In schimb, Visual Basic interpreteaza codul pe masura ce-l introduceti, detectand si marcand imediat cele mai frecvente erori sintactice si ortografice. Este ca si cum ati avea un expert care va supravegheaza pe timpul tastarii codului.
Pe langa detectarea imediata a erorilor, Visual Basic compileaza partial codul pe masura ce-l introduceti. Atunci cand sunteti gata pentru rularea si testarea aplicatiei, mai este necesar doar un timp foarte scurt pentru terminarea compilarii. Daca compilatorul gaseste o eroare, aceasta este marcata in codul dumneavoastra, iar dupa eliminarea eroarii se poate continua compilarea fara a fi necesar s-o luati de la inceput.
Datorita naturii interactive a mediului Visual Basic, este indicat sa rulati frecvent aplicatia, in timp ce o dezvoltati. Astfel puteti testa efectele codului pe masura ce-l adaugati, in loc s-o faceti la terminarea aplicatiei.
Mediul de lucru Visual Basic este adeseori referit ca mediu integrat de dezvoltare (Integrated Development Environment sau IDE), deoarece acesta integreaza foarte multe functii diferite (cum ar fi: proiectarea, editarea, compilarea si depanarea) in interiorul unui mediu comun. In majoritatea instrumentelor de dezvoltare traditionale, fiecare dintre aceste functii opereaza ca programe separate, avand propria lor interfata.
Lansarea in executie a mediului Visual Basic se face la fel ca pentru orice alta aplicatie Windows. La deschiderea unei sesiuni Visual Basic (la lansarea in executie a mediului), se afiseaza interfata mediului integrat de dezvoltare, asa cum se poate vedea in figura 1.
Mediul integrat de dezvoltare Visual Basic contine urmatoarele elemente principale:
Bara de meniu (Menu Bar) Afiseaza comenzile, grupate pe categorii, care pot fi folosite pentru a lucra in Visual Basic. In afara meniurilor standard File, Edit, View, Window si Help (existente in majoritatea aplicatiilor Windows), sunt si meniuri care asigura accesul la functiile specifice programarii in Visual Basic, cum ar fi Project, Format sau Debug.
Meniuri contextuale (Context Menu) Contin comenzi rapide pentru actiunile cele mai frecvent folosite. Pentru a deschide un meniu contextual se executa clic-dreapta pe obiectul dorit. Lista optiunilor meniului contextual depinde de componenta pe care s-a executat clic-dreapta. Spre exemplu, meniul contextual afisat cand executati clic-dreapta pe caseta instrumentelor Visual Basic (Toolbox) va permite sa afisati caseta de dialog Components, sa ascundeti caseta instrumentelor, sa "ancorati" sau nu caseta instrumentelor sau sa adaugati o eticheta particularizata la caseta.
Barele cu instrumente (Toolbar) Asigura accesul rapid la cele mai utilizate comenzi din mediul de programare. Cu un singur clic pe un buton din aceste bare se lanseaza in executie operatia asociata acestuia. In mod prestabilit, bara instrumentelor Standard este afisata la deschiderea sesiunii Visual Basic. Barele suplimentare, de editare, proiectare formular si depanare pot fi afisate sau ascunse folosind comanda Toolbars din meniul View.
Caseta instrumentelor Visual Basic (Toolbox) Asigura un set de instrumente cu ajutorul carora pe timpul proiectarii se plaseaza controale pe formular. Pe langa eticheta prestabilita (General) a casetei instrumentelor, puteti crea propriile etichete personalizate (selectand optiunea Add Tab din meniul contextual si adaugand instrumentele dorite pe eticheta rezultata).
Fereastra Project Explorer Listeaza formularele si modulele din proiectul curent. Un proiect este o colectie de fisiere, de diferite tipuri (extensii) folosite la construirea unei aplicatii.
Fereastra Properties Listeaza valorile proprietatilor pentru formularul sau controlul selectat. O proprietate este o caracteristica a unui obiect, cum ar fi marimea, titlul sau culoarea (in general, o caracteristica a aspectului obiectului).
Exploratorul obiectelor (Object Browser) Listeaza obiectele disponibile pentru a fi folosite in proiectul curent si asigura o metoda rapida de navigare prin cod. El poate fi folosit pentru a explora obiectele din Visual Basic si din alte aplicatii, pentru a determina metodele si proprietatile disponibile ale acestor obiecte si pentru a "lipi" proceduri de cod in aplicatie.
Fereastra de proiectare a formularului (Form Designer) Serveste ca o fereastra pe care o particularizati pentru a realiza interfata aplicatiei. Prin adaugarea pe formular a unor controale, grafice si imagini puteti crea o interfata grafica cu aspectul pe care-l vreti. O interfata grafica poate fi construita din mai multe formulare, fiecare avand propria sa fereastra de proiectare.
Fereastra editorului de cod (Code ) Serveste ca editor de text pentru introducerea codului aplicatiei. Pentru fiecare formular sau modul din aplicatie se creaza o fereastra separata de editare a codului.
Fereastra machetei formularului (Form Layout) Permite pozitionarea in ecran a formularelor aplicatiei, folosind o mica reprezentare grafica a acestuia (vezi figura 2).
Ferestrele Immediate, Locals si Watch Sunt ferestre suplimentare care pot fi utilizate pentru depanarea aplicatiei. Ele sunt disponibile numai cand rulati aplicatia in mediul integrat de dezvoltare Visual Basic.
Figura 2 Fereastra Form Layout
Interfata mediului Visual Basic are doua stiluri de lucru: interfata pentru un singur document (SDI) si interfata de documente multiple (MDI). In stilul SDI (Single Interface Document) toate ferestrele mediului pot fi mutate oriunde in ecran; cat timp Visual Basic este in aplicatia curenta ele raman deasupra oricarei alte aplicatii. In stilul MDI (Multiple Interface Document), toate ferestrele mediului sunt incluse intr-o singura fereastra parinte. Pentru a trece dintr-un stil in altul se executa urmatoarele operatii:
Se selecteaza comanda Options din meniul Tools.
In caseta de dialog Options, se selectaza eticheta Advanced a casetei de dialog.
Se activeaza/inactiveaza caseta de validare SDI Development Environment. Mediul Visual Basic se va deschide in modul selectat la urmatoarea lansare in executie a sa.
O aplicatie Visual Basic poate fi inpartita in doua componente principale: o componenta vizuala si o componenta de cod. Componenta de cod reprezinta insasi instructiunile aplicatiei (programului). In mod normal, aceasta componenta nu este vazuta niciodata de utilizator pe ecran. Componenta vizuala sau interfata grafica a utilizatorului este realizata prin folosirea formularelor si controalelor. Aceste obiecte va permit sa controlati introducerea si afisarea informatiilor, precum si deciziile utilizatorilor.
In principiu, pentru a crea o aplicatie in Visual Basic trebuie sa parcurgeti trei etape principale:
Crearea interfetei grafice a utilizatorului;
Stabilirea proprietatilor obiectelor;
Scrierea codului.
Pentru a ilustra modul de creare a unei aplicatii, vom parcurge aceste etape realizand o aplicatie simpla ce consta dintr-un formular avand o caseta de text si un buton de comanda. Cand se va executa clic pe butonul de comanda, in caseta de text se va afisa mesajul 'Bine ati venit in Visual Basic!'.
Elementele de baza ale interfetei unei aplicatii sunt formularele. Ele sunt utilizate atat pentru a adauga aplicatiei ferestre si casete de dialog, cat si drept containere pentru alte obiecte din interfata care nu sunt vizibile. Spre exemplu, un formular poate servi drept container pentru graficele care vor fi atasate altor formulare.
Primul pas in construirea unei aplicatii Visual Basic il constituie crearea formularelor pe care se va baza interfata aplicatiei. Apoi, pe formularele create se vor plasa celelalte obiecte ale interfatei aplicatiei. Pentru aceasta prima aplicatie vom utiliza din caseta instrumentelor Visual Basic doua controale:
|
Caseta de text (TextBox) |
|
Butonul de comanda (CommandButton) |
Pentru a plasa un control utilizand instrumentele Visual Basic se procedeaza astfel:
In caseta instrumentelor Visual Basic se executa clic pe butonul controlului dorit. Spre exemplu, pentru o caseta de text se va executa clic pe butonul TextBox.
Se muta indicatorul mouse-ului (indicatorul are forma unei cruci subtiri) pe formular (vezi figura 3) si se plaseaza in locul de unde vreti sa incepeti trasarea controlului.
Se trage indicatorul mouse-ului (tragere inseamna tinerea apasata a butonului din stanga pe timpul deplasarii mouse-ului). Cand controlul a ajuns la dimensiunea dorita se elibereaza butonul mouse-ului. Controlul apare pe formular.
O alta metoda, mai simpla, de a adauga un control pe formular este executarea unui dublu-clic pe butonul dorit din caseta instrumentelor Visual Basic. In centrul formularului se creaza un control avand o dimensiune prestabilita, care apoi poate fi mutat in pozitia dorita.
Figura 3 Desenarea unei casete de text folosind caseta instrumentelor
Cand un control este selectat, pe mijlocul laturilor si la colturile acestuia apar mici dreptunghiuri, numite repere de dimensionare (in engleza, size handler), care pot fi folosite la redimensionarea controlului respectiv utilizand mouse-ul astfel:
Se selecteaza controlul executand un clic pe el. In jurul controlului apar reperele de dimensionare.
Se plaseaza indicatorul mouse-ului pe unul din reperele de dimensionare si se trage de acesta. Reperele de dimensionare din colturi pot fi trase in ambele directii (pe orizontala si/sau verticala), in timp ce cele de pe mijlocul laturilor pot fi trase doar intr-o singura directie (pe orizontala sau pe verticala).
Cand controlul a ajuns la dimensiunea dorita, se elibereaza butonul mouse-ului.
Pentru a redimensiona un control folosind tastatura, se selecteaza controlul si apoi se foloseste combinatia de taste SHIFT + tasta sageata.
Pentru a muta un control se executa una din urmatoarele operatii:
Folosind mouse-ul se trage controlul in noua pozitie;
In fereastra Properties se modifica valorile proprietatilor Top si Left.
Se foloseste combinatia de taste CTRL + tasta sageata pentru a deplasa controlul cu o unitate a retelei la fiecare actionare a tastei sageata. Daca reteaua este ascunsa, deplasarea se va realiza cu cate un pixel la fiecare apasare a tastei sageata.
Pentru a termina interfata aplicatiei noastre, pe formular se va plasa si un buton de comanda, asa cum se vede in figura 4.
Figura 4 Interfata aplicatiei in faza de proiectare
Urmatoarea etapa in realizarea unei aplicatii consta in stabilirea proprietatilor obiectelor interfatei. Pe timpul proiectarii, proprietatile unui obiect se stabilesc folosind fereastra Properties (vezi figura 5). Pentru a afisa fereastra Properties, se executa una din urmatoarele operatii:
Se deschide meniul View si se selecteaza comanda Properties.
Se apasa tasta functionala F4.
Se executa clic pe butonul Properties Window din bara instrumentelor Standard.
Se selecteaza comanda Properties din meniul contextual.
Fereastra Properties contine urmatoarele elemente:
Caseta obiectelor - Afiseaza numele obiectului pentru care se pot stabili proprietatile. Pentru a afisa lista tuturor obiectelor formularului se executa clic pe butonul din dreapta casetei combinate.
Etichetele sortarii - Permite alegerea modului de sortare a listei de proprietati: alfabetic (eticheta Alphabetic) sau pe categorii de proprietati (eticheta Categorized)..
Lista proprietatilor - Coloana din stanga afiseaza proprietatile obiectului selectat, iar coloana din dreapta asigura vizualizarea sau stabilirea valoriilor proprietatilor.
Pentru a stabili valoarea unei proprietati folosind fereastra Properties se executa urmatoarele operatii:
Se afiseaza fereastra Properties a controlului dorit.
In lista proprietatilor se selecteaza numele proprietatii dorite (se executa clic pe numele proprietatii).
In coloana din dreapta se tasteaza sau se selecteaza noua valoare a proprietatii. Unele proprietati au o lista prestabilita de valori. Pentru a afisa lista de valori prestabilite ale unei proprietati, se executa clic pe butonul cu sageata jos din dreapta casetei Settings.
Pentru aplicatia pe care vrem s-o realizam trebuie sa modificam proprietatile obiectelor interfetei astfel:
Obiect |
Proprietate |
Valoare |
Formular (Form) |
Caption |
Salutare! |
Caseta de text (TextBox) |
Text |
Nimic (Empty) |
Butonul de comanda (CommandButton) |
Caption |
OK |
Fereastra Code este locul in care se scrie codul Visual Basic al aplicatiei. Codul consta din instructiunile limbajului, constante si declaratii.
Pentru a deschide fereastra fereastra Code se executa una din urmatoarele operatii:
Se executa dublu-clic pe formular sau pe controlul pentru care se va scrie codul.
Se deschide meniul View si se selecteaza comanda Code.
Se selecteaza comanda View Code din meniul contextual.
In fereastra Project Explorer, se selecteaza numele unui formular sau modul si apoi se executa clic pe butonul View Code din bara instrumentelor ferestrei Project Explorer.
In figura 6 este prezentata fereastra Code (editorul codului) care apare cand se executa dublu-clic pe controlul ButtonCommand. Fereastra Code are urmatoarele elemente:
Lista derulanta Object - Afiseaza numele obiectului selectat. Pentru a vizualiza lista tuturor obiectelor asociate formularului, se executa clic pe butonul cu sageata din dreapta listei derulante.
Lista derulanta Procedure - Listeaza procedurile evenimentelor asociate unui obiect. Caseta listei derulante afiseaza numele procedurii selectate - in acest caz, Click. Pentru a afisa lista procedurilor obiectului se executa clic pe butonul cu sageata din dreapta listei derulante.
Intr-o aplicatie Visual Basic codul este impartit in mici blocuri, numite proceduri. O procedura eveniment, cum ar fi cea pe care o vom crea aici, contine codul care se va executa la producerea evenimentului (spre exemplu, la executarea unui clic pe un buton de comanda). Numele procedurii eveniment este format din numele real al controlului (specificat in proprietatea Name), liniuta de subliniere si numele evenimentului. Spre exemplu, daca vreti ca un buton de comanda numit Command1 sa apeleze o procedura eveniment atunci cand se executa clic pe el, se foloseste procedura evenimentului Click, iar numele procedurii va fi Command1_Click.
Pentru a crea o procedura eveniment, cand este afisata fereastra editorului de cod, se procedeaza astfel:
In lista derulanta Object se selecteaza numele obiectului dorit
In lista derulanta Procedure se selecteaza numele unui eveniment pentru controlul ales. Aici (vezi figura 6), procedura Click este deja selectata, deoarece ea este procedura prestabilita pentru un buton de comanda, iar fereastra editorului a fost deschisa executand dublu-clic pe control. Remarcati faptul ca sablonul pentru procedura eveniment este deja afisat in fereastra Code.
Intre instructiunile Sub si End Sub introduceti urmatoarea linie de cod:
Text1.Text = 'Bine ati venit in Visual Basic!'
care pe timpul executiei va schimba valoarea proprietatii Text a controlului Text1.
Dupa cum se poate vedea din aceasta linie de cod, pentru a adresa o proprietate a unui obiect se foloseste sintaxa:
<obiect> <proprietate>
Procedura evenimentului va arata astfel::
Private Sub Command1_Click ()
Text1.Text = 'Bine ati venit in Visual Basic!'
End Sub
Pentru a rula aplicatia, fie se selecteaza comanda Start din meniul Run, fie se executa clic pe butonul Start, fie se apasa tasta functionala F5. Daca dupa lansarea in executie a acestei aplicatii, se executa clic pe butonul de comanda OK din formular, in caseta de text se va afisa 'Bine ati venit in Visual Basic!" (vezi figura 7).
Figura 7. Rezultatul rularii aplicatiei realizate.
Copyright © 2024 - Toate drepturile rezervate