Sunteți pe pagina 1din 6

Cap.

7 Limbajul "VISUAL BASIC"


Limbajul BASIC a fost elaborat de un colectiv de la Universtatea din Datrmouth, SUA sub conducerea profesorului John Kemeny n jurul anului 1960 i a servit la familiarizarea multor generaii de studeni cu programarea. Dup succesul comercial al sistemului de operare Windows, Microsoft elaboreaz n 1991 primele versiuni de VISUAL-BASIC, drept un limbaj de nivel nalt asemntor cu BASIC- ce ruleaz sub Windows i utilizeaz facilitile oferite de noul sistem de operare. n zece ani s-a ajuns deja la versiunea a 8-a limbajului, ce include facilitti de administrare a bazelor de date, posibilitatea de a utiliza i de a comunica cu alte aplicaii dezvoltate sub Windows prin intermediul interfeelor DDE, OLE, AxtiveX, ODBC i multe alte facilti. O diferen important fa de limbajele procedurale cunoscute din epoca DOS (FORTRAN, BASIC, PASCAL, etc) este urmtoarea: VISUAL BASIC este un limbaj de programare comandat de evenimente. Caracterul "Visual" al limbajului se refer la faptul, c interfaa cu utilizatorul se programeaz separat, incluznd pe un ablon toate "elementele de control" (obiectele) aplicaiei. Acestre obiecte pot fi: butoane de comand, etichete, ferestre de texte, ferestre de liste, "butoane radio", bare de defilare, casete "combo", etc. Aici se incadreaz i ablonul sau fereastra aplicaiei, denumit drept "form"(form). Fiecare obiect are un set de proprietti ce determin culoarea, forma, textul afiat pe el, dimensiunea, poziia, etc. Metodele reprezint instruciuni (proceduri) asociate obiectelor, iar Evenimentele reprezint aciunile ce se pot "ntmpla" n decursul execuiei cu aceste obiecte (click-mouse, apsare de taste, micarea mouse-ului, etc). Dup apariia conceptului orientare pe obiecte au fost nglobate n Limbaj multe caracteristici ale limbajelor de acest tip. Obiect = Ansamblu de .. Def_7.1

Lansarea n execuie a mediului de programare Visual Basic 6.0.


1. Se selecteaz iconul Microsoft Visual Basic 2. Se alege iconul Standard.exe din fereastra afiat 3. Din meniul File se alege opiunea "New Project", moment n care apare fereastra de start a mediului de programare Visual Basic. Aici gsim: - ablonul (Forma) proiectului curent , - Bara de meniuri (Menu Bar) ce conine meniurile necesare la crearea i rularea aplicaiilor Visual Basic - Bara de instrumente (Tool Bar) conine icoane ("Short-cut"-uri) pentru comenzile frecvent utilizate - Fereastra cu instrumente (Controale) (ToolBox) ,etc. Elementele barei de instrumente seamn cu cele vzute la alte programe sub Windows, ele conin opiuni de citire, salvare fiiere, de copiere, etc. dar conin i elemente noi, ce sunt prezentate n referatul de laborator.

Fereastra de controale (Tool Box) conine icoanele celor mai importante controale, ca: Pointer Picture Box Image Box Label Command Button Text Box List Box 'Permite mutarea i dimensionarea controalelor existente; 'Permite afiarea imaginilor; 'Afieaz imagini; 'Etichet, pentru afiarea textelor fixe din program ; '"Buton de comand", la "apsarea lor sunt lansate aciuni descrise n subprogramele ataate. ; 'Fereastr pt. afiarea / introducerea datelor de tip ir ; 'Fereastr de afiare a unor liste de unde se poate alege un singur element ; 'Permite alegerea unei opiuni din mai multe posibiliti ( numite i "Butoane Radio"); 'Cadru, ce permite gruparea controalelor (util mai ales n cazul "Butoanelor Radio") ; 'Marcheaz caracterul Adevrat- Fals al unei condiii.; 'Echivalentul unui ansamblu de "Text-Box" i "List-Box" ; 'Afieaz "Bare de derulare" pentru reglarea unor parametri ntre limite fixate; ' Lanseaz evenimente la momente pre-definite (Invizibil n timpul rulrii) ; ' Permite trasarea de figuri geometrice (dreptunghi, linii, elipse, etc. doar pentru accentuarea unor elemente ale ablonului - formei (Frame) .Nu au rol n program.; ' Fereastr "List-Box" cu perifericele accesibile ; ' Fereastr cu "Folder"-ele accesibile pe perifericul ales ' Fereastr cu lista fiierelor din Folderul ales 'Controale utilizate n programarea S.G. a Bazelor de date.

- Option Button Frame

- Check Box - Combo Box - Horizontal, Vertical - Timer - Shape, Line

Drive List Box Directory File List Box Data, DBList, Dbcombo

- Foaia de lucru (forma = fereastra aplicaiei) este ablonul pe care se poziioneaz i se configureaz comenzile utilizate de program. - Fereastra Project (Proiect) conine numele tuturor fiierelor necesare rulrii aplicaiei, i anume, la proiectele simple : Fiiere cu formele aplicaiei ( *.FRM) , iar la proiecte mai complicate pot exista i fiiere ce conin rutinele de calcul de tip *.BAS, i -mai rar - fiiere de descriere a "claselor" -.CLS, a unor controale : *.CTL , etc. - Fereastra Form Layout permite s definim poziia -n timpul rulrii- a ferestrei de aplicaie, pe ecran. - Fereastra Properties (Proprieti) afieaz proprietile formei sau a controalelor existente pe form, cum ar fi: dimensiunea, poziia, culoarea, caracterele textului, etc. [ El poate afia aceste proprieti sortate alfabetic sau sortate pe categorii. Vezi cele prezentate la curs ]

Pe lng proprieti ce determin culoarea "fond"-ului, poziia i dimensiunile controlului, se afieaz eventualul text scris pe control (denumit n program ca i "Caption"), culoarea i forma caracterelor, precumi propriet ca "Vizibilitate", caracterul "accesibil-neaccesibil", numrul de ordine al controlului (dac sunt mai multe), etc.

Caseta derulant permite parcurgerea intregii liste de proprieti, afind n stnga proprietatea, iar n dreapta valoarea actual a proprietii. n fereastra din "subsol" se dau explicaii "sumare" n legtur cu proprietatea aleas. Proprietile controalelor se pot stabili n faza de proiectare", setnd valorile alese (cum ar fi mrimea, poziia) interactiv cu ajutorul mouse-ului, respectiv completnd cu parametri alei cmpurile tabelului de proprieti, pe de alt parte proprietile se pot modifica i n timpul rulrii programului prin isntruciuni de atribuire ca: Command1.Caption = Start ; Label1.Backcolor= vbGreen Text1.Forecolor = vbRed Command2.Visible = False Textul de pe butonul de comand va fi : Start Culoarea de fond a etichetei devine verde Culoarea caracterelor din fereastra de text este roie Butonul de comand Command2 devine invizibil

[ Dup cum se vede n aceste instruciuni se specific obiectul, urmat de un punct i proprietatea care se modific, iar dup semnul egal este valoarea ce se atribuie acestei proprieti ]

Includerea unui element de comand, pe Sablon (Form) poate fi fcut n dou feluri:

a) Se poziioneaz cursorul "mouse"-ului pe element i se face "Click". Se mut apoi cursorul pe ablon, unde se execut operaiunea "Drag and drop", adic cu tasta apsat se mic mouse-ul pn ce elementul ales ajunge la dimensiunile dorite i n poziia dorit. b) Se poziioneaz cursorul "mouse"-ului pe elementul ales i se face "Dublu-Click". Elementul respectiv apare pe ablon(Form) dup care se poate repoziiona i se pot modifica dimensiunile lui

Pe lng un ansamblu de instruciuni, Visual Basic ofer o serie de Metode, ce sunt de fapt nite aciuni (instruciuni), ce se efectueaz asupra obiectelor. Formatul general al unei metode este: <Obiect>.metod [parametii]

Cele mai importante metode sunt: AddItem (adaug elemente la o list (List simpl sau combo), el va avea forma: <Obiect>.AddItem <element> [index], de ex: List1.AddItem = Pisica AdaugPisica la List1 RemoveItem (elimin un element dintr-o list), are forma: <Obiect>.RemoveItem <element>[index], de ex: List1.RemoveItem = Pisica[Scoatel Pisica din List1] Hide (ascunde un ablon dat, n cazul programelor multi-ablon): Formdoi.Hide face invizibil ablonul Formdoi (afieaz Formdoi.Show SetFocus un ablon dat ce pn acum a fost invizibil, n cazul programelor multi-ablon): face vizibil ablonul Formdoi (ce a fost invizibil)

Show

(mut cursorul n obiectul ales), are forma: <Obiect>.SetFocus, de ex: mut cursorul n fereastra de text Textdoi

Textdoi.Setfocus

Evenimente
Fiecare element de pe ablon (butoanele de comand, ferestrele cu liste, etc) reacioneaz la evenimente ce pot fi : Evenimente externe, de ex: - apsarea tastei mouse-ului (Click, Dublu Click) - micarea mouse-ului pe suprafaa ablonului - redimensionarea controalelor, etc. i Evenimente interne de ex.: - Incrcarea ablonului pe ecran - Terminarea timpului de ateptare a timer-ului, etc. Ce se va intmpla n momentul n care are loc un eveniment depinde de subprogramul ataat evenimentului.Cea mai simpl structur a subrutinei este:

Sub <obiect>_eveniment(parametri) [ instruciuni ] End sub


Astfel o subrutin ce este ataat click-ului pe butonului de comand ce termin aplicaia, are forma:

Sub Commandend_Click() End End sub


Subrutina ce afiseaz textul Hello n eticheta titlu, la incrcarea sablonului pe ecran , are forma:

Sub Form_Load() LabelTitlu.Caption = Hello End sub


n momentul n care lucrm cu fereastra de program, n ferestrele combo de la partea superioar putem afia lista obiectelor (Sablonul, butoanele, etichetele, etc) i a evenimentelor ce pot avea loc [Click, Dublu Click, Keypress (apsarea unei taste), MouseMove(Se mic Mouse-ul), etc. vezi_f_C i referatul de laborator. ] Notai-v c n VB 6.0 un obiect are.

Limbajul de programare Pe lng subrutinele activate de evenimente, VISUAL-BASIC conine i subrutine ce se apeleaz din cod, n mod asemntor cu limbajul BASIC clasic. VISUAL-BASIC n acest sens este 90% identic cu cele invate i utilzate de limbajul QUICK-BASIC. Astfel VISUAL-BASIC (n continuarea VB) folosete cuvintele rezervate din QB, cu acelai neles. Instruciuni ca FOR, NEXT, GOTO, PRINT, etc. au aceeai aciune n VB ca i n QB. Se pot defini i n VB constante, se pot defini tabele n modul nvat la QB (instruciunile DIM i REDIM). Exist toate tipurile de variabile nvate n QB (ntreg, Long_intreg, real, real dubl precizie, text, etc.), pe lng cteva tipuri de variabile noi, ca Byte, Boolean, Date, Variant, Object , etc. i n VB se pot defini tipuri de date definite de utilizator prin instruciunile: Type [elemente] End Type n VB exist toate structurile de programare structurat cum ar fi IF_THEN_ELSE , SELECT CASE-END SELECT, FOR-NEXT, WHILE_WEND, DO_LOOP, etc.) Operatorii (semnele pentru operaii matematice) sunt identice cu cele din QB ca i operatorii relaionali (<,>,<>,=<,+>) i logici (NOT, AND, OR) Funciile matematice definite n QB (SIN, TAN, ATN, LOG, EXP, etc.) se regsesc n VB ca i funciile de manipulare a irurilor (LEN, CHR$, STR$, Left$, Right$, etc.) Pentru definirea i manevrarea Fiierelor se vor folosi aceleai instruciuni pe care utilizatorii QB-ului l-au cunoscut anterior (OPEN, CLOSE, EOF, INPUT#, PRINT#, PUT, GET, etc.) Apar ca noutti funciile ce convertesc datele ntre diferite tipuri de date, cele ce recunosc tipul de date, i funcii ce gestioneaz data i ora.

II Programarea n Visual Basic, exemple


1.Pornii programul, alegnd opiunea New Program. 1.1.Aducei pe suprafaa "ablonului"("Form"-ei) o etichet i un buton de comand. 1.2. Atribuii o subrutin "evenimentului Click", adic specificai ce are de fcut programul n momentul n care se face un "click" pe butonul de comand -dup ce programul a fost pornit-. [ Pentru fiecare obiect pot exista mai multe "evenimente", "Click" , "Double Click","MouseDown", "MouseUp", "MouseMove", i multe altele. ] 2.Dup ce proiect-ul este gata, el poate fi lansat n execuie. Pentru acesta putem apela la: - opiunea "Start" din meniul "Run", la butonul <F5>, saufcnd "Click" pe iconul de "start" [Triunghi isoscel cu vrful spre dreapta, de culoare albastr) de pe "Toolbar".] Un program n execuie poate fi oprit definitiv, prin - "Click" pe un buton de terminare ,"Click" pe "butonul de inchidere [ de forma unui "x" ] sau "Click" pe iconul de stop [de forma unui ptrat, de culoare albastr.]

Diferitele faciliti oferite de obiectele din Toolbox se prezint la curs i vor fi demonstrate la lucrrile de laborator, n continuare le vom prezenta doar pe scurt:
- Obiectul "Timer" permite lansarea la anumite momente predefinite a unor evenimente, facilitate ce permite i realizarea unor animaii. - Barele de derulare permit fixarea valorilor ntre dou limite, respectiv deplasarea rapid n fiiere lungi, n mod rapid. - VB permite crearea n mod interactiv a meniurilor - chiar sofisticate. - Obiectele "Drive List Box", "Directory Box", "File List Box", permit localizarea rapid a fiierelor pe suporturile externe (ele sunt utilizate de toate programele ce ruleaz sub Windows: Word, Excel, etc). Proiectele mai complicate implic utilzarea unor "coduri" complexe, cu subrutine apelate prin cod (memorate n module de tip *.bas), i utilizarea a mai multor abloane (proiecte "Multi form"). Visual Basic 6.0 ofer nc multe faciliti, insuirea acestora ntr-adevr, impune un efort prelungit. Acest efort este ins rspltit de limbaj prin multitudinea de aplicaii ce se pot elabora i care ruleaz fr probleme sub sistemul de operare Windows. Corectarea unor lipsuri din VB 6.0 i succesul limbajelor orientate pe obiecte (C++, Java, etc.) a dus la elaborarea versiunilor ulterioare de VB cu numele generic de VB.NET ce utilizeaz pachetul Microsoft Framework oferit de firma Microsoft impreun cu S.O. MS Vista, Windows 7. Versiunile VB 8.0 , VB 9.0, VB 10, etc. ce apeleaz la VB.NET introduc faciliti noi i pun la dispoziia programatorilor de VB instrumentele necesare pentru elaborarea unor programe VB orientate pe obiecte.

Evaluare