22
Introducere în Visual Studio .Net 1 1. Introducere în Visual Studio .NET 1.1. Visual Basic Limbajul Visual Basic derivă din limbajul BASIC, sau, mai precis din versiunea Microsoft a limbajului BASIC – QuickBasic. Prima dată când a apărut, Visual Basic a revoluţionat programarea Windows. Prin tratarea multor aspecte ale procesării evenimentelor Windows, acesta a permis programatorilor să se concentreze asupra detaliilor specifice aplicaţiilor în loc să se risipească în probleme de rutină ce ţin de programarea Windows. În ceea ce priveşte stilul de programare, Visual Basic a urmărit o cale diferită faţă de alte limbaje, precum C++, anume aceea de a oferi un mediu de programare mai productiv şi, în general, o sintaxă mai intuitivă. În orice caz, sintaxa Visual Basic nu era prea recomandată celor care doreau să dezvolte aplicaţii orientate pe obiecte. Dezvoltatorii software puteau, totuşi, să construiască aplicaţii sigure, fiabile şi extensibile, însă aveau nevoie de ceva experienţă. Visual Studio .NET a reuşit să rezolve multe dintre deficienţele versiunilor anterioare. Astfel, Visual Basic conţine numeroase îmbunătăţiri, apropiindu-se ca stil de programare de C++, dar, în acelaşi timp, păstrând sintaxa specifică limbajului. A fost adăugat C#, un limbaj având o sintaxă orientată pe obiecte, bazată pe C++, care include de asemenea aspecte specifice câtorva limbaje de programare, în special Delphi şi Java (proiectul C# a fost condus de către Anders Hejlsberg, cel care anterior a condus proiectul Delphi), cu accent special pe simplificare. Visual Basic .NET conţine modificări menite să-l alinieze la CLR (Common Language Runtime) şi la celelalte limbaje de programare. Astfel, include o nouă modalitate de tratare a erorilor, sintaxe noi pentru declaraţii şi iniţializări de variabile, supraîncărcarea funcţiilor şi a subrutinelor şi un model mai puternic pentru crearea claselor care include moştenire reală (comparativ cu versiunile anterioare ale limbajului, care permiteau declaraţii de clase, însă nu şi mecanisme de moştenire). Visual Basic 2008 adaugă facilităţi noi care fac din Visual Basic un limbaj mai puternic ca oricând. Astfel, acesta include noi facilităţi de limbaj şi îmbunătăţiri specifice programării orientate pe obiecte. Visual Basic .NET poate fi văzut ca o evoluţie a clasicului Visual Basic, implementat însă pe Microsoft .NET Framework. Introducerea acestuia a generat unele controverse în rândul comunităţii de dezvoltatori prin faptul că Visual Basic a suferit modificări majore care rup compatibilitatea cu versiunile anterioare (compatibilitatea de sus în jos). Proiectele mai vechi, scrise Visual Basic, pot fi importate în .NET folosind un „wizard” dedicat acestui scop, excepţie făcând, printre altele, secvenţele de cod care accesează baze de date prin alte tehnologii decât Microsoft ADO (ActiveX Data Objects). 1.2. .NET Framework Microsoft a creat .NET Framework pentru a face mai uşoară dezvoltarea de aplicaţii pentru diversele versiuni ale sistemului de operare Windows.

01,02 VB2008 Introducere

Embed Size (px)

Citation preview

Page 1: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

1

1. Introducere în Visual Studio .NET

1.1. Visual Basic

Limbajul Visual Basic derivă din limbajul BASIC, sau, mai precis din versiunea Microsoft a limbajului BASIC – QuickBasic. Prima dată când a apărut, Visual Basic a revoluţionat programarea Windows. Prin tratarea multor aspecte ale procesării evenimentelor Windows, acesta a permis programatorilor să se concentreze asupra detaliilor specifice aplicaţiilor în loc să se risipească în probleme de rutină ce ţin de programarea Windows.

În ceea ce priveşte stilul de programare, Visual Basic a urmărit o cale diferită faţă de alte limbaje, precum C++, anume aceea de a oferi un mediu de programare mai productiv şi, în general, o sintaxă mai intuitivă. În orice caz, sintaxa Visual Basic nu era prea recomandată celor care doreau să dezvolte aplicaţii orientate pe obiecte. Dezvoltatorii software puteau, totuşi, să construiască aplicaţii sigure, fiabile şi extensibile, însă aveau nevoie de ceva experienţă.

Visual Studio .NET a reuşit să rezolve multe dintre deficienţele versiunilor anterioare. Astfel, Visual Basic conţine numeroase îmbunătăţiri, apropiindu-se ca stil de programare de C++, dar, în acelaşi timp, păstrând sintaxa specifică limbajului. A fost adăugat C#, un limbaj având o sintaxă orientată pe obiecte, bazată pe C++, care include de asemenea aspecte specifice câtorva limbaje de programare, în special Delphi şi Java (proiectul C# a fost condus de către Anders Hejlsberg, cel care anterior a condus proiectul Delphi), cu accent special pe simplificare. Visual Basic .NET conţine modificări menite să-l alinieze la CLR (Common Language Runtime) şi la celelalte limbaje de programare. Astfel, include o nouă modalitate de tratare a erorilor, sintaxe noi pentru declaraţii şi iniţializări de variabile, supraîncărcarea funcţiilor şi a subrutinelor şi un model mai puternic pentru crearea claselor care include moştenire reală (comparativ cu versiunile anterioare ale limbajului, care permiteau declaraţii de clase, însă nu şi mecanisme de moştenire).

Visual Basic 2008 adaugă facilităţi noi care fac din Visual Basic un limbaj mai puternic ca oricând. Astfel, acesta include noi facilităţi de limbaj şi îmbunătăţiri specifice programării orientate pe obiecte.

Visual Basic .NET poate fi văzut ca o evoluţie a clasicului Visual Basic, implementat însă pe Microsoft .NET Framework. Introducerea acestuia a generat unele controverse în rândul comunităţii de dezvoltatori prin faptul că Visual Basic a suferit modificări majore care rup compatibilitatea cu versiunile anterioare (compatibilitatea de sus în jos). Proiectele mai vechi, scrise Visual Basic, pot fi importate în .NET folosind un „wizard” dedicat acestui scop, excepţie făcând, printre altele, secvenţele de cod care accesează baze de date prin alte tehnologii decât Microsoft ADO (ActiveX Data Objects).

1.2. .NET Framework

Microsoft a creat .NET Framework pentru a face mai uşoară dezvoltarea de aplicaţii pentru diversele versiuni ale sistemului de operare Windows.

Page 2: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

2

Totuşi, dezvoltarea aplicaţiilor în .NET nu ar trebui să anterioare, ci dimpotrivă. .NET Framework şi trucul constă în descoperirea modului în care acestea conlucrează prin de dezvoltare integrată (IDE

O bună parte din dificultăţile pe care le întâmpină programatorii când migreFramework provin deruta provocată de confuzii vom expune în continuare principalii termenii utilizaţi în .NET.

.NET Framework (Cadrul de lucru exemplu, Visual Basic, C# etc.) şi sistemul de la Windows Vista şi Windows Server 2008,cele destinate dispozitivelor mobile)sistemului de operare Windows(calcule matematice, accesarea bazelor de date)toate nivelele din .NET Framework.

Microsoft .NET Framework rede clase (BCL), care oferă soluţii la probleme uzuale de programare(CLR) care gestionează execupre-codate care formează Base Class Library

gamă largă de aspecte de programare, clasificate pe domenii precum interfeţe utilizator, baze de date, conectivitate, criptografie, aplicaţii web, algoritmi numerici sau comunicaţii în reţea. Pentru scrierea aplicaţiicodul scris de ei înşişi.

Programele scrise pentru .NET Framework sunt gestionează programele în timpul rulării din punct de vedere aAceastă maşină virtuală este cunoscută sub denumirea de (CLR) şi face parte din .NET Frameworkvirtuală (CLR) programatorul nu are nevoie să ia în considerare calculatorul care va rula aplicaţia. garantate anumite proprietăţi şi comportamesecuritatea şi tratarea excepţiilor.

Common Language Runtime (CLR)

căreia se situează Windows API

curs

Totuşi, dezvoltarea aplicaţiilor în .NET nu ar trebui să fie mai greoaie decât în versiunile , ci dimpotrivă. .NET Framework şi Visual Basic 2008 pot fi unelte puternice, iar

trucul constă în descoperirea modului în care acestea conlucrează prin intermediul mediului de dezvoltare integrată (IDE - Integrated Development Environment) Visual Studio.

O bună parte din dificultăţile pe care le întâmpină programatorii când migrederuta provocată de terminologia specifică. Pentru eliminarea oricăror

expune în continuare principalii termenii utilizaţi în dezvoltarea aplicaţiilor

Cadrul de lucru .NET) este plasat între limbajul de programare (Visual Basic, C# etc.) şi sistemul de operare (de la Windows 98 şi Windows NT până

la Windows Vista şi Windows Server 2008, sau orice alte sub-versiuni ale acestora, cele destinate dispozitivelor mobile). .NET Framework oferă funcţionalit

Windows, furnizând însă şi biblioteci care extind aceste funcţionalităţi (calcule matematice, accesarea bazelor de date). Figura 1.1 ilustrează vizual relaţia între toate nivelele din .NET Framework.

Figura 1.1. Ierarhia .NET Framework.

Microsoft .NET Framework reprezintă o tehnologie software care include o uriaşă bibliotecăsoluţii la probleme uzuale de programare, şi o maşină virtuală

care gestionează execuţia programelor scrise special pentru cadrul de lucru. Soluţiile Base Class Library (BCL) (biblioteca de clase de bază) acoperă o

gamă largă de aspecte de programare, clasificate pe domenii precum interfeţe utilizator, onectivitate, criptografie, aplicaţii web, algoritmi numerici sau comunicaţii în

aplicaţiilor programatorii pot utiliza biblioteca de clase împreună cu

Programele scrise pentru .NET Framework sunt executate într-o maşină virtuală care în timpul rulării din punct de vedere al necesităţilor

Această maşină virtuală este cunoscută sub denumirea de Common Language Runtime

şi face parte din .NET Framework. Datorită faptului că programul va rula pe maşina programatorul nu are nevoie să ia în considerare tipul procesorului de pe

care va rula aplicaţia. Toate programele .NET rulează sub supervizarea CLR, fiind garantate anumite proprietăţi şi comportamente în ceea ce priveşte gestiunea memoriei, securitatea şi tratarea excepţiilor.

Common Language Runtime (CLR) .NET Framework utilizează o arhitectură pe nivele, la baza Windows API (Figura 1.1). .NET Framework oferă o vedere orientată pe

decât în versiunile pot fi unelte puternice, iar

intermediul mediului Integrated Development Environment) Visual Studio.

O bună parte din dificultăţile pe care le întâmpină programatorii când migrează la .NET ru eliminarea oricăror

dezvoltarea aplicaţiilor

între limbajul de programare (de şi Windows NT până

versiuni ale acestora, cum ar fi oferă funcţionalităţi specifice

biblioteci care extind aceste funcţionalităţi vizual relaţia între

include o uriaşă bibliotecă şi o maşină virtuală

programelor scrise special pentru cadrul de lucru. Soluţiile (biblioteca de clase de bază) acoperă o

gamă largă de aspecte de programare, clasificate pe domenii precum interfeţe utilizator, onectivitate, criptografie, aplicaţii web, algoritmi numerici sau comunicaţii în

programatorii pot utiliza biblioteca de clase împreună cu

o maşină virtuală care necesităţilor acestora.

Common Language Runtime

programul va rula pe maşina tipul procesorului de pe

Toate programele .NET rulează sub supervizarea CLR, fiind nte în ceea ce priveşte gestiunea memoriei,

utilizează o arhitectură pe nivele, la baza oferă o vedere orientată pe

Page 3: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

3

obiecte a funcţiilor sistemului de operare, fără însă a le înlocui, astfel că majoritatea apelurilor din .NET Framework sunt rezolvate în final ca apeluri într-unul din DLL-urile nucleului Windows. CLR reprezintă primul nivel care aparţine lui .NET Framework, fiind responsabil pentru serviciile de bază .NET, precum gestiunea memoriei, colectarea de gunoaie, tratarea structurată a excepţiilor şi multithreading. Ar trebui să imaginaţi CLR ca fiind supervizorul tuturor aplicaţiilor .NET: nu interacţionaţi niciodată direct cu CLR, însă toate aplicaţiile voastre sunt controlate de acesta.

CLR oferă suport pentru mai multe limbaje de programare, asigurând un mediu de execuţie robust şi sigur. De asemenea acesta simplifică procesul de distribuire şi de management al aplicaţiei (scăpaţi de „coşmarul DLL”).

CLR rulează o formă de cod octet numită Common Intermediate Language (CIL), cunoscută şi sub denumirea de Microsoft Intermediate Language (MSIL). Procesul de rulare a unui program scris într-unul din limbajele .NET este ilustrat în Figura 1.2.

Figura 1.2. Diagrama CLR

Intermediate Language (IL sau MSIL). Spre deosebire de limbajele de programare tradiţionale compilatoarele .NET nu produc cod nativ care să poată fi executat direct de către procesor. În schimb, acestea produc aşa-numitul cod IL, care reprezintă un soi de limbaj maşină pentru un procesor virtual care nu corespunde niciunui procesor fizic. Deşi codul IL este la un nivel mai jos decât majoritatea limbajelor de programare moderne, acesta este la un nivel mai înalt decât limbajul de asamblare pur. IL este un limbaj orientat pe stivă (stack-oriented) care nu adresează direct regiştrii procesorului şi nu are legătură cu conceptele specifice limbajelor de nivel înalt (stringuri, excepţii sau crearea obiectelor).

Limbajele .NET. Deşi limbajele Visual Basic şi Visual C# (spre exemplu) au sintaxă diferită şi cuvinte cheie diferite, ele sunt în linii mari echivalente, ambele permiţând utilizarea .NET Framework la capacitate maximă. În plus, toate limbajele .NET Framework sunt compilate la cod MSIL, care apoi este compilat în cod nativ. Din această cauză, nu pot fi sesizate diferenţe notabile între limbaje diferite. O excepţie de la această regulă este cazul unei aplicaţii C++ care utilizează pointeri şi cod nesigur (unsafe code). Aceasta poate rula semnificativ mai rapid decât o aplicaţie echivalentă scrisă în Visual Basic.

Compilatorul Just-in-Time (JIT Compiler). Deoarece nici un procesor nu poate executa cod IL, CLR trebuie să îl convertească în cod nativ în timpul rulării programului prin lansarea compilatorului JIT şi transmiterea către acesta a adresei funcţiei cu care porneşte aplicaţia

Page 4: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

4

(de obicei, într-o aplicaţie Visual Basic, procedura Sub Main). Atunci când procedura principală apelează alte metode, .NET utilizează compilatorul .NET pentru transformarea codului IL din aceste metode în cod nativ, apoi execută codul nativ. Această compilare „din zbor” este efectuată numai o singură dată pentru fiecare metodă pe durata de viaţă a aplicaţiei, deoarece codul nativ este păstrat în memorie şi reutilizat atunci când o metodă este apelată din nou.

Common Type Specifications (CTS). Acest set de specificaţii dictează modul în care un tip de dată expune câmpuri, metode, proprietăţi şi evenimente; de asemenea defineşte modul în care un tip de dată poate moşteni alt tip de dată şi poate supraîncărca membrii acestuia. Datorită faptului că toate limbajele .NET recunosc aceste specificaţii, acestea pot face schimb de date, pot utiliza sau moşteni tipuri definite într-un alt limbaj. Spre exemplu, puteţi scrie o clasă Visual Basic care să moştenească o altă clasă scrisă în C#, şi puteţi scrie o clasă C# care implementează o interfaţă definită Visual Basic.

Common Language Specifications (CLS). Acest set de specificaţii dictează minimul de caracteristici pe care un limbaj de programare trebuie să le aibă pentru a face parte din categoria limbajelor .NET. Spre exemplu, toate limbajele .NET trebuie să poată opera cu tipuri de date primitive precum stringuri sau întregi, şi trebuie să fie capabile să proceseze o excepţie care apare ca urmare a unei erori.

Cod gestionat şi cod negestionat (Managed and Unmanaged Code). Se spune că aplicaţiile .NET execută cod gestionat deoarece rulează sub controlul CLR şi sunt împiedecate a rula cod nesigur care poate afecta rularea sistemului sau poate compromite datele utilizatorilor. Spre exemplu, CLR trebuie să prevină accesarea fişierelor sistem sau a regiştrilor sistem în cazul în care aplicaţia a fost lansată dintr-o locaţie Internet care nu este de încredere. Prin contrast, aplicaţiile non-.NET, cum ar fi cele scrise în Visual Basic 6, execută cod negestionat, sau cod nativ. Dintre toate limbajele de programare de la Microsoft, numai C++ poate produce atât cod gestionat cât şi cod negestionat, însă chiar şi dezvoltatorii C++ ar trebui să recurgă la scrierea de cod gestionat numai dacă este strictă nevoie – spre exemplu, pentru efectuarea operaţiilor low-level – deoarece numai codul gestionat beneficiază de avantajele platformei .NET.

În lumea .NET, limbajele de programare devin doar o modalitate de a interacţiona cu cadrul de lucru şi, în consecinţă, cu sistemul de operare Windows. Toate programele au nevoie de un set de reguli stabilite pentru interpretarea fluxului de instrucţiuni din cadrul programelor. Visual Basic furnizează un set de reguli, iar cadrul de lucru (framework) furnizează obiectele şi evenimentele cu care se poate interacţiona.

În esenţă, orice lucru pe care Windows îl poate face este cuprins în cadrul .NET Framework. În mod specific,.NET Framework dă un nume programatic fiecărui obiect şi eveniment pe care Windows îl poate controla. Orice programator poate utiliza acel nume pentru a se referi în cod la orice are legătură cu sistemul de operare. De exemplu, doriţi să îi transmiteţi imprimatei să efectueze două copii ale documentului vostru? Încercaţi:

My.Computer.Printers.DefaultPrinter.PrinterSettings .Copies = 2

Aveţi nevoie să desenaţi pe ecran elemente grafice de culoare albastră? Încercaţi: System.Drawing.Brushes.Blue

Page 5: 01,02 VB2008 Introducere

Până acum, prezentând .NET Framework, am făcut referire numai la sistemele de operare din

familia Windows. Există însă un proiect open source, Mono (http://www.mono

şi-a propus implementarea .NET Framework pe sistemele de operare Linux, BSD şi OS X. Astfel,

Mono poate rula fişierele binare obţinute pe platforme Windows cu Vis

fi nevoie de recompilarea acestora. În

GNOME gratuit, proiectat special pentru programarea în C# şi alte limbaje .NET.

Figura 1.3. Scrierea unei aplicaţii C# folosind IDE

Introducere în Visual Studio .Net

Până acum, prezentând .NET Framework, am făcut referire numai la sistemele de operare din

familia Windows. Există însă un proiect open source, Mono (http://www.mono

a propus implementarea .NET Framework pe sistemele de operare Linux, BSD şi OS X. Astfel,

Mono poate rula fişierele binare obţinute pe platforme Windows cu Visual Studio .NET fără a mai

fi nevoie de recompilarea acestora. În Figura 1.3 este prezentat mediul MonoDevelop, un IDE

GNOME gratuit, proiectat special pentru programarea în C# şi alte limbaje .NET.

Scrierea unei aplicaţii C# folosind IDE-ul MonoDevelop.

Introducere în Visual Studio .Net

5

Până acum, prezentând .NET Framework, am făcut referire numai la sistemele de operare din

familia Windows. Există însă un proiect open source, Mono (http://www.mono-project.com), care

a propus implementarea .NET Framework pe sistemele de operare Linux, BSD şi OS X. Astfel,

ual Studio .NET fără a mai

este prezentat mediul MonoDevelop, un IDE

GNOME gratuit, proiectat special pentru programarea în C# şi alte limbaje .NET.

Page 6: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

6

2. Mediul de dezvoltare integrat

(IDE) Visual Basic 2008

Un proiect reprezintă un grup de fişiere care produc ieşire poate fi, printre altele, uproiecte sau un control grafic care să fie utilizat pe suprafa

O soluţie reprezintă un grup format dintrîmpreună. Spre exemplu, preanumită bază de date. De asemenea, dezvoltăm o aplicaţie client multe persoane pentru interogarea aplicaţiei server. Datorită strânsei legături dintre aceste două proiecte, este firesc ca ele să fie gestionate întrfi deschisă, veţi avea acces la toate fişierele din cadrul celor două proiecte.

Atât proiectele cât şi soluţiile pot include fişiere asociate, care pot fi utile pentaplicaţiilor, dar care nu vor face parte din produsul final compilat.fişierelor, acestea vor fi deschise cu aplicaţia potrivită. Spre exemplu, un fişier cu extensia .doc va fi deschis de către Visual Studio cu Micro

Pentru asocierea unuia din aceste fişiere cu proiectul sau cu soluţia, daţi click dreapta pe proiect în Solution Explorer şi selectaţi comanda „Add”dialog pentru selectarea fişierului dorit

Figura 1.4

Un scenariu frecvent utilizat este acela în care codul Visual Basic este plasat într

documentaţia în alt proiect din aceeaşi soluţie.

curs

Mediul de dezvoltare integrat

Visual Basic 2008

reprezintă un grup de fişiere care produc la ieşire un anumit rezultat, printre altele, un fişier executabil, un DLL care poate fi folosit în cadrul altor

proiecte sau un control grafic care să fie utilizat pe suprafaţa altor ferestre.

reprezintă un grup format dintr-unul sau mai multe proiecte care sunt gestionate . Spre exemplu, presupunem că dezvoltăm o aplicaţie server care oferă acces la o

De asemenea, dezvoltăm o aplicaţie client care va fi utilizată de mai multe persoane pentru interogarea aplicaţiei server. Datorită strânsei legături dintre aceste

iecte, este firesc ca ele să fie gestionate într-o singură soluţie. Atunci când soluţia va fi deschisă, veţi avea acces la toate fişierele din cadrul celor două proiecte.

Atât proiectele cât şi soluţiile pot include fişiere asociate, care pot fi utile pentaplicaţiilor, dar care nu vor face parte din produsul final compilat. La dublu click pe numele fişierelor, acestea vor fi deschise cu aplicaţia potrivită. Spre exemplu, un fişier cu extensia .doc va fi deschis de către Visual Studio cu Microsoft Word.

Pentru asocierea unuia din aceste fişiere cu proiectul sau cu soluţia, daţi click dreapta pe proiect în Solution Explorer şi selectaţi comanda „Add”-> „New Item” şi utilizaţi fereastra dialog pentru selectarea fişierului dorit (vezi Figura 1.4).

Figura 1.4. Adăugarea unui nou fişier în proiect

Un scenariu frecvent utilizat este acela în care codul Visual Basic este plasat într

documentaţia în alt proiect din aceeaşi soluţie.

Mediul de dezvoltare integrat

un anumit rezultat. Această executabil, un DLL care poate fi folosit în cadrul altor

unul sau mai multe proiecte care sunt gestionate supunem că dezvoltăm o aplicaţie server care oferă acces la o

care va fi utilizată de mai multe persoane pentru interogarea aplicaţiei server. Datorită strânsei legături dintre aceste

. Atunci când soluţia va

Atât proiectele cât şi soluţiile pot include fişiere asociate, care pot fi utile pentru dezvoltarea La dublu click pe numele

fişierelor, acestea vor fi deschise cu aplicaţia potrivită. Spre exemplu, un fişier cu extensia

Pentru asocierea unuia din aceste fişiere cu proiectul sau cu soluţia, daţi click dreapta pe şi utilizaţi fereastra

Un scenariu frecvent utilizat este acela în care codul Visual Basic este plasat într-un proiect, iar

Page 7: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

7

2.1. Scurtă prezentare a mediului de dezvoltare integrat

(IDE)

Figura 1.5 prezintă mediul de dezvoltare integrat (IDE) imediat după crearea unui proiect nou. Acesta este extrem de configurabil, astfel încât poate să arate complet diferit dacă rearanjaţi după bunul plac elementele de interfaţă.

Figura 1.5. Configuraţia iniţială a mediului de dezvoltare Visual Studio 2008.

Elementele cheie ale mediului de dezvoltare vizibile în Figura 1.5 sunt numerotate după cum urmează.

Meniuri – conţin comenzi standard Visual Studio. Acestea manipulează elementele soluţiei curente şi ale modulelor componente ale acesteia. Visual Studio activează sau dezactivează meniurile şi comenzile disponibile în funcţie de obiectele selectate curent. În Figura 1.5, este deschis „form designer” (marcat cu numărul 4) , astfel că mediul de dezvoltare afişează meniurile şi comenzile pentru editare de formulare (ferestre).

Toolbars – Barele de unelte conţin „unelte” care pot efectua acţiunile cel mai frecvent utilizate. Aceleaşi comenzi pot fi disponibile atât în meniuri cît şi în barele de unelte (pentru o apelare mai rapidă). Mediul de dezvoltare integrat defineşte câteva bare de unelte standard cum ar fi Formatting, Debug, şi Image Editor. Puteţi construi de asemenea propriile bare de unelte pentru accesarea rapidă a uneltelor favorite.

Toolbox – Căsuţa cu unelte conţine unelte potrivite cu obiectul curent selectat şi cu tipul de proiect la care lucraţi. În Figura 1.5, un Form Designer este selectat în cadrul unei aplicaţii Windows, astfel că Toolbox conţine uneltele potrivite pentru un Form Designer: controale Windows şi componente, plus unelte din alte tab-uri cuprinse în Toolbox: Crystal Reports, Data, Components etc. Pentru alte categorii de proiecte acestea pot să difere. Spre exemplu, un proiect Web ar afişa controale şi componente Web.

Form Designer – permite modificarea designului grafic al unei ferestre din cadrul proiectului. Dacă adăugaţi pe suprafaţa ferestrei un control din căsuţa cu unelte, puteţi utiliza fereastra

1

2

3

4

5

6

7

Page 8: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

8

de proprietăţi (marcată cu 6) pentru modificarea proprietăţilor controlului nou desenat. În Figura 1.5, nici un control nu este selectat, astfel că fereastra de proprietăţi va afişa proprietăţile ferestrei.

Solution Explorer — acesta vă permite să gestionaţi fişierele asociate cu soluţia curentă. Spre exemplu, în Figura 1.5, puteţi selecta Form1.vb din Project Explorer apoi să daţi click pe butonul View Code (al treilea de la dreapta în partea de sus a ferstrei Solution Explorer) pentru a deschide editorul de cod asociat ferestrei. Puteţi de asemenea să daţi click dreapta pe un obiect în Solution Explorer pentru a avea acces la comenzile potrivite acelui obiect.

Properties – fereastra de proprietăţi vă permite modificarea proprietăţilor unui obiect în timpul desenării interfeţei (design time). Atunci când selectaţi un obiect în Form Designer sau în Solution Explorer, fereastra de proprietăţi afişează proprietăţile acelui obiect. Pentru a modifica valoarea unei proprietăţi, daţi click pe proprietate şi introduceţi noua valoare.

Error List – lista de erori reprezintă fereastra care afişează erorile si avertismentele (warnings) din proiectul curent. Spre exemplu, dacă o variabilă este folosită fără a fi declarată, această listă va afişa la compilare această eroare. Dacă o variabilă este declarată, dar nu este folosită, lista va afişa la compilare un avertisment în acest sens.

2.1.1. Structura meniului

În continuare vor fi descrise meniurile cuprinse în IDE-ul Visual Studio .Net 2008, neîncercând însă o prezentare exhaustivă a comenzilor cuprinse în cadrul acestora. Ne vom axa în consecinţă asupra unor comenzi mai importante, considerând inutilă prezentarea comenzilor uzuale.

Meniul FILE

Meniul File conţine comenzi pentru creare, deschidere, salvare şi închidere a proiectelor şi a fişierelor asociate acestora (Figura 1.6).

Figura 1.6. Meniul File cuprinde comenzi asociate cu soluţia şi cu fişierele acesteia

New – submeniul New permite crearea unor proiecte noi, site-uri Web (ASP.NET sau Servicii Web), sau fişiere (text, bitmap, icon, pagină html, clasă etc.). Comanda „Project From Existing Code” creează un proiect nou şi permite alegerea fişierelor care să fie incluse în nou proiect.

Page 9: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

9

Open – submeniul Open conţine comenzi pentru deschiderea unei soluţii, a unui proiect, site Web sau fişier. Comanda Convert permite prin intermediul unui wizard conversia proiectelor scrise în versiuni mai vechi ale Visual Basic la Visual Basic 2008.

Save All – salvează toate fişierele modificate de la deschiderea acestora sau de la ultima operaţie de salvare.

Export Template – acest wizard permite crearea unui şablon de proiect sau alte elemente care pot fi utilizate mai târziu.

Page Setup şi Print – permit configurarea imprimantei, respectiv tipărirea documentului curent. Aceste comenzi sunt activate numai când are sens tipărirea documentului curent. De exemplu, sunt activate atunci când vizualizaţi un fişier text (fişier sursă sau XML), însă sunt dezactivate atunci când vizualizaţi un bitmap sau sunteţi în Form Designer.

Meniul EDIT

Meniul Edit (Figura 1.7) conţine comenzi care manipulează text sau alte tipuri obiecte. Printre acestea clasicele comenzi Undo, Redo, Copy, Cut şi Paste pe care le puteţi găsi în majoritatea aplicaţiilor Windows.

Figura 1.7. Meniul Edit conţine comenzi pentru manipularea textului şi a altor tipuri de obiecte

Cycle Clipboard Ring – Clipboard ring conţine ultimele elemente copiate în clipboard. Această comandă copiază în locaţia curentă elementul anterior din clipboard ring. Prin utilizarea repetată a acestei comenzi, puteţi parcurge elementele din clipboard ring până la găsirea celui pe care îl doriţi.

Go To – permite poziţionarea rapidă pe o anume linie în fişierul sursă curent.

Advanced – submeniul Advanced conţine comenzi pentru efectuarea unor formatări mai complexe ale documentului, cum ar fi convertirea textului la majuscule sau minuscule, word wrap, comentarea şi decomentarea codului.

Bookmarks – submeniul Bookmarks conţine comenzi pentru adăugarea şi ştergerea marcajelor, precum şi poziţionarea pe marcajele deja memorate.

Page 10: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

10

Outlining – submeniul Outlining permite expandarea sau colapsarea secţiunilor de cod, precum şi activarea sau dezactivarea acestei opţiuni.

IntelliSense – oferă acces la facilităţile IntelliSense. Spre exemplu, comanda List Members duce la afişarea listei cu proprietăţile, metodele şi evenimentele obiectului curent.

Meniul VIEW

Meniul View (Figura 1.8) conţine comenzi care permit ascunderea sau afişarea diverselor ferestre sau bare de unelte din cadrul mediului de dezvoltare integrat al Visual Studio.

Figura 1.8. Meniul View permite afişarea şi ascunderea ferestrelor şi a barelor cu unelte asociate IDE-ului

Visual Studio

Code – comanda Code deschide fişierul selectat într-un editor de cod. Spre exemplu, pentru editarea codului asociat unui formular, daţi click pe formular în Solution Explorer şi selectaţi View\Code.

Designer – comanda Designer deschide fişierul selectat într-un editor grafic, dacă există vreunul definit pentru acel tip de fişier. Spre exemplu, dacă fişierul este un formular, Visual Studio îl deschide într-un editor grafic de formulare. Dacă fişierul este un modul de clasă sau unul de cod, meniul View ascunde această comandă deoarece Visual Studio nu dispune de un editor grafic pentru acest tip de fişiere.

Open – deschide elementul selectat cu editorul implicit pentru acesta.

Open With – deschide elementul selectat cu un editor la alegere. Spre exemplu, puteţi deschide codul asociat unui formular cu un editor de text.

Tab Order – Dacă un formular conţine controale, comanda Tab Order afişează deasupra fiecărui control o cifră care indică ordinea în care vor fi selectate controalele la apăsarea

Page 11: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

11

tastei TAB (în timpul rulării). Pentru a defini această ordine trebuie să daţi click pe controale în ordinea dorită.

Meniul PROJECT

Meniul Project (Figura 1.9) conţine comenzi care vă permit adăugarea, respectiv ştergerea de elemente în/din proiectul curent. În funcţie de elementul selectat diferă şi comenzile disponibile în acest meniu.

Figura 1.9. Meniul Project vă permite adăugarea de fişiere şi referinţe în proiectul curent

Iată o descriere a comenzilor asociate cu meniul Project:

Add New Item – afişează dialogul din Figura 1.10. Dialogul permite selecţia dintr-o gamă largă de elemente printre care fişiere text, fişiere bitmap şi module de clasă.

Figura 1.10. Comanda de meniu Add New Item vă permite adăugarea unei largi game de elemente în cadrul

proiectului.

Show All Files – această comandă face ca Solution Explorer să afişeze lista cu fişierele care, în mod normal, sunt ascunse. Acestea includ fişiere de resurse asociate formularelor, clase

Page 12: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

12

parţiale ascunse cum ar fi secvenţe de cod generate automat, fişiere din directoarele OBJ şi BIN, care sunt create automat de Visual Studio atunci când compilează programul. În mod normal nu aveţi nevoie să interacţionaţi direct cu aceste fişiere, astfel că ele sunt ascunse. Selectaţi această comandă pentru afişarea lor, apoi selectaţi-o din nou pentru ascunderea lor.

Add Reference – permite în primă fază selectarea categoriei unui obiect extern, a unei clase, sau a unei biblioteci pe care doriţi să o găsiţi. Puteţi adăuga o referinţă la o componentă .NET, la o componentă COM (Component Object Model), cum ar fi o bibliotecă ActiveX sau un control creat în Visual Basic 6, sau la un alt proiect Visual Studio.

După ce aţi adăugat o referinţă la un proiect, puteţi să accesaţi prin cod obiectele publice ale referinţei. Spre exemplu, dacă fişierul MyMathLibrary.dll defineşte o clasă numită MathTools, iar acea clasă defineşte o funcţie publică Fibonacci, un proiect care are o referinţă la acest DLL poate utiliza următoarea secvenţă de cod:

Dim math_tools As New MyMathLibrary.MathTools MsgBox(”Fib(5) = ” & math_tools.Fibonacci(5))

Add Service Reference – afişează un dialog prin care puteţi să adăugaţi referinţe la servicii Windows Communication Foundation (WCF) şi ADO.NET Data.

Set as StartUp Project – setează unul dintre proiectele unei soluţii ca fiind proiectul care va rula implicit la rularea soluţiei curente.

[Nume proiect] Properties – această comandă afişează paginile cu proprietăţi ale aplicaţiei, vizibile în Figura 1.11.

Figura 1.11. Pagina de proprietăţi a proiectului

Pe tab-ul Compile există trei proprietăţi care merită o atenţie specială (vezi Figura 1.12). Prima dintre ele, Option Explicit determină din partea Visual Basic cerinţa ca toate variabilele să fie declarate înainte de a fi utilizate. Inactivarea acestei opţiuni poate conduce uneori la bug-uri subtile. Spre exemplu, următoarea secvenţă de cod intenţionează să afişeze

Page 13: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

13

o listă a numerelor pare între 0 şi 10. Din nefericire, o greşeală de tastare face ca funcţia Debug.WriteLine să tipărească valoarea variabilei j, nu a lui i. Deoarece j nu este iniţializat, codul produce la ieşire o listă de valori nule. Dacă setaţi Option Explicit la valoarea „On”, compilatorul va semnala faptul că variabila j nu este declarată, iar problema devine uşor de rezolvat.

For i = 1 To 10 If i Mod 2 = 0 Then Debug.WriteLine(j) Next i

Figura 1.12. Tab-ul Compile conţine proprietăţi importante pentru controlul generării codului

A doua opţiune de compilare este Option Strict. Atunci când această opţiune este inactivă, Visual Studio permite în cod conversii implicite de la un tip de dată la altul, chiar dacă tipurile de date nu sunt întotdeauna compatibile. Spre exemplu, Visual Basic va permite următoarei secvenţe de cod să încerce copierea stringului s în întregul i. Dacă textul din string se întâmplă să reprezinte o valoare numerică, precum în primul caz, va funcţiona. În cazul contrar, precum se vede în cel de al doilea caz, va apărea o eroare la rulare.

Dim i As Integer Dim s As String s = ”10” i = s ’This works. s = ”Hello” i = s ’This Fails.

Dacă activaţi opţiunea Option Strict, IDE-ul vă va avertiza cu privire la incompatibilitatea dintre cele două tipuri de date, astfel că veţi putea rezolva uşor problema în timp ce scrieţi codul. Veţi putea utiliza funcţii de conversie de date precum CInt, Int şi Integer.Parse pentru convertirea stringului la întreg, însă va trebui să efectuaţi explicit aceste acţiuni. Acest lucru va duce la diminuarea şansei de apariţie a erorilor de conversie.

Pentru evitarea confuziilor sau a unor sesiuni lungi şi obositoare de depanare, ar trebui să setaţi permanent opţiunile Option Explicit (On) şi Option Strict (On). Le puteţi activa pentru un anume proiect accesându-le din pagina de proprietăţi. Pentru a le activa implicit pentru

Page 14: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

14

toate proiectele nou create, deschideţi meniul Tools şi selectaţi Options. Deschideţi directorul Projects and Solutions, selectaţi pagina VB Defaults şi activaţi opţiunile.

Directiva de compilare Option Compare, poate lua valorile „Binary” sau „Text”. Dacă setaţi Option Compare la „Binary”, Visual Basic compară string-urile pe baza reprezentării lor binare. Dacă setaţi Option Compare la „Text”, Visual Basic compară sting-urile folosind o metodă case-insensitive care depinde de setările calculatorului. Compare Binary este mai rapidă, dar poate să nu producă întotdeauna rezultatele aşteptate.

Ultima directivă de compilare, Option Infer poate lua valorile „On” sau „Off”. Odată setată pe „On”, este activată opţiunea de deducere a tipului unei variabile locale, în cazul în care, pentru respectiva variabilă, tipul acesteia nu a fost precizat explicit.

IntelliSense când Option Infer şi Option Strict

sunt dezactivate

IntelliSense când Option Infer este activată

Option Infer On ' Variabila num este de tip Integer. Dim num = 5 ' Variabila dbl este de tip Double. Dim dbl = 4.113 ' Variabila str este de tip String. Dim str = "abc"

Dacă selectaţi o soluţie, apoi apelaţi comanda Properties din meniul Project, Visual Studio afişează paginile cu proprietăţi ale soluţiei (Figura 1.13).

Figura 1.13. Pagina de proprietăţi a soluţiei.

Page 15: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

15

Meniul BUILD

Meniul Build (Figura 1.14), conţine comenzi care permit compilarea proiectelor dintr-o soluţie.

Figura 1.14. Meniul Build permite compilarea ferestrelor.

Urmează o scurtă descriere a unor comenzilor asociate meniului Build:

Build Solution – Această comandă compilează numai acele fişiere şi componente care au fost modificate de la ultima compilare.

Rebuild Solution – această comandă şterge întâi fişierele temporare şi intermediare (similar comenzii "clean") ale soluţiei, apoi compilează de la zero toate fişierele şi componentele proiectelor din cadrul soluţiei curente.

Clean Solution – această comandă şterge fişierele temporare sau intermediare create la compilarea soluţiei, păstrând doar fişierele sursă şi rezultatele finale (fişierele EXE sau DLL).

Build [nume proiect] – Această comandă compilează proiectul curent, în cazul de faţă proiectul cu numele [nume proiect]. Visual Studio examinează fişierele proiectului pentru a vedea dacă au apărut modificări de la ultima compilare a proiectului. La orice modificare din cadrul fişierelor, Visual Studio recompilează aceste fişiere şi actualizează rezultatul.

Rebuild [nume proiect] – această comandă forţează recompilarea de la zero a proiectului curent.

Clean [nume proiect] – această comandă şterge fişierele temporare sau intermediare create la compilarea proiectului curent, păstrând doar fişierele sursă şi rezultatele finale (fişierele EXE sau DLL).

Publish [nume proiect] – această comandă porneşte un wizard care pune la dispoziţie aplicaţia în vederea redistribuirii locale, pentru partajare de fişiere, site FTP sau site Web.

Configuration Manager – comanda Configuration Manager afişează dialogul din Figura 1.15. Acest dialog poate fi folosit pentru a indica în ce mod se va compila un proiect (debug sau release), şi platformele destinaţie (de exemplu Itanium, x64, sau x86). Puteţi utiliza căsuţele de bifare Build (vizibile şi în figură) pentru a determina care proiect va fi compilat. Vă puteţi folosi de această opţiune pentru a evita compilarea anumitor proiecte din cadrul soluţiei curente. Dacă observaţi că anumite părţi din soluţie nu sunt compilate, verificaţi opţiunile din Configuration Manager.

Page 16: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

16

Figura 1.15. Configuration Manager

Configuraţiile Release utilizează mai multe optimizări decât configuraţiile Debug, astfel încât ele furnizează programe executabile mai mici şi mai rapide. Acestea nu includ suport pentru depanare, astfel că nu veţi putea depana un program compilat pentru release.

În căsuţa combo „Active solution configuration” selectaţi <New...> pentru crearea unei noi configuraţii. Atunci când selectaţi aceasta, Visual Studio va fişa un dialog în care puteţi da un nume configuraţiei şi puteţi selecta o configuraţie existentă de la care vor fi copiate valorile implicite.

Veţi putea astfel să indicaţi compilatorului că doriţi ca unele proiecte din cadrul soluţiei să fie compilate folosind configuraţia Debug, iar altele folosind configuraţia Release. Evident, cele compilate cu Release nu vor putea fi depanate ulterior. Acest mod de abordare a problemei poate fi util în cazul în care doriţi să predaţi anumite proiecte clienţilor (versiunile release), în timp ce versiunile debug ale proiectelor continuaţi să le dezvoltaţi.

Dacă debifaţi căsuţa „Build” asociată unui proiect, acel proiect va fi exclus din cadrul operaţiilor de construire. La construirea soluţiei acesta nu va fi compilat. Visual Studio afişează rezultatele compilării în fereastra Output şi contorizează numărul de proiecte necompilate. Următoarea linie arată un exemplu în care, la construirea unei soluţii care conţine două proiecte, un proiect a fost compilat iar celălalt nu.

======== Build: 1 succeeded or up-to-date, 0 failed , 1 skipped ========

Meniul DEBUG

Meniul Debug (Figura 1.16), conţine comenzi care vă ajută să depanaţi un program. Aceste comenzi vă ajută să rulaţi un program în mod depanare (debugger), să vă deplasaţi prin cod, să setaţi şi să eliminaţi breakpoint-uri şi, în general, să urmăriţi execuţia codului pentru a observa modul în care acesta rulează, în speranţa găsirii eventualelor erori.

Page 17: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

17

Figura 1.16. Meniul Debug conţine comenzi pentru depanarea unei aplicaţii.

Comenzile vizibile în meniu se modifică în funcţie mai multe condiţii, cum ar fi: tipul fişierului deschis, starea programului (dacă programul rulează sau nu), linia de cod care conţine cursorul, sau dacă linia de cod curentă conţine un breakpoint.

Iată o scurtă descriere a unor comenzilor asociate meniului Debug:

Windows — Acest submeniu pune la dispoziţie alte ferestre ce au legătură cu depanarea.

Continue — Comanda reia execuţia unui program. Programul va rula până la terminarea execuţiei acestuia, până la întâlnirea unui breakpoint, sau până la oprirea manuală a execuţiei lui.

Break All — Opreşte execuţia tuturor programelor rulate în mod depanare. Comanda aceasta poate fi utilă dacă mai multe programe rulează în strânsă legătură unul cu celălalt.

Stop Debugging — Opreşte execuţia programului şi termină sesiunea de depanare.

Detach All — Detaşează debugger-ul de orice proces de care acesta este ataşat. Acest lucru nu duce la oprirea acestor procese.

Terminate All — Opreşte orice proces la care este ataşat debugger-ul.

Restart — Opreşte procesul care rulează şi reporneşte proiectul setat ca implicit.

Attach to Process — Afişează un dialog care permite să ataşaţi debugger-ul la un proces care rulează.

Exceptions — Această comandă afişează un dialog care conţine o listă de erori posibile. Dacă bifaţi în dreptul unei erori căsuţa „Thrown”, debugger-ul se va opri oride câte ori eroare selectată va apărea. Dacă bifaţi „User-unhandled”, debugger-ul se va opri la apariţia acelei erori, iar programul nu va putea să o trateze nici măcar cu ajutorul codului de tratare a excepţiilor.

Step Into — Face ca debugger-ul să execute linia de cod curentă. Dacă această linie apelează o funcţie sau procedură, punctul de execuţie se mută în acea procedură.

Step Over — Face ca debugger-ul să execute linia de cod curentă. Dacă această linie apelează o funcţie sau procedură debugger-ul apelează acea rutină, dar nu va intra în interiorul codului acesteia decât dacă acea rutină conţine un breakpoint.

Page 18: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

18

Step Out — Această comandă face ca debugger-ul să ruleze până la părăsirea rutinei care se află în execuţie, apoi execuţia se va întrerupe la întâlnirea liniei de cod care a apelat acea rutină.

QuickWatch — Afişează un dialog care oferă informaţii legate de obiectul din secvenţa de cod selectată. Din această fereastră puteţi modifica valoarea unei variabile sau să o adăugaţi la fereastra Watch.

Ferestrele Command şi Immediate

Ferestrele Command şi Immediate permit executarea de comenzi când programul este oprit în mod depanare. Una dintre cele mai utile comenzi este Debug.Print. De exemplu, comanda Debug.Print x afişează valoarea variabilei x.

Puteţi utiliza un semn de întrebare ca abreviere a acestei comenzi: >? x 123

Simbolul „>” reprezintă prompterul ferestrei, iar 123, valoarea variabilei x.

Deşi, în aparenţă, există multe lucruri în comun între cele două ferestre, totuşi nu este chiar aşa. Fereastra Command poate apela comenzi ale IDE-ului Visual Studio, pe când fereastra Immediate poate executa instrucţiuni Visual Basic. Spre exemplu, din fereastra Command putem deschide fereastra QuickWatch pentru variabila nume.

>Debug.QuickWatch nume

În fereastra Immediate putem utiliza, de exemplu, următoarea linie de cod pentru deschiderea unui fişiei în mod citire:

Dim fs As FileStream = File.OpenRead( _ “C:\Program Files\Customer Orders\Summary” & _ datetime.Now().ToString(“yymmdd”) & “.dat”)

În cazul de faţă puteţi verifica în fereastra Immediate dacă fişierul dorit există, evitând astfel apariţia unei erori în program:

?System.IO.File.Exists(“C:\Program Files\Customer O rders\Summary” & _ DateTime.Now().ToString(“yymmdd”) & “.dat”)

Ambele ferestre, Command şi Immediate, includ suport pentru IntelliSense.

Meniul DATA

Meniul Data (Figura 1.17), conţine comenzi legate de lucrul date şi surse de date. Unele comenzi sunt vizibile numai dacă sunteţi în modul „form designer”, iar fereastra conţine obiecte pentru lucrul cu date.

Figura 1.17. Meniul Data conţine comenzi legate de lucrul cu baze de date.

Iată, în continuare, o descriere a comenzilor din acest meniu.

Page 19: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

19

Show Data Sources — Afişează fereastra Data Sources, unde puteţi opera cu sursele de date ale programului. Puteţi, de exemplu, prin operaţii de drag&drop să trageţi pe fereastră tabele sau câmpuri pentru crearea de controale legate la o bază de date.

Preview Data — Afişează un dialog care vă permite încărcarea de date într-un DataSet şi vizualizarea lor în mod design.

Add New Data Source — Această comandă afişează Data Source Configuration Wizard, care vă permite adăugarea unei surse de date la proiect.

Add Query — Comanda aceasta este diponibilă atunci când sunteţi în mod „form designer” şi şi aţi selectat un control legat la o bază de date. Comanda deschide un dialog în care puteţi scrie interogări. Aceasta va duce la plasarea unui ToolStrip care va conţine butoane cu comenzi de populare a controalelor prin executarea interogărilor.

Meniul FORMAT

Meniul Format (Figura 1.18), conţine comenzi pentru aranjarea controalelor pe un formular.

Figura 1.18. Meniul Format conţine comenzi pentru formatarea şi aranjarea controalelor pe un formular.

Meniul TOOLS

Meniul Tools (Figura 1.19), conţine diverse unelte care nu s-ar potrivi altor meniuri. Acesta conţine de asemenea unele dubluri ale comenzilor din alte meniuri şi comenzi care modifică IDE-ul Visual Studio.

Page 20: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

20

Figura 1.19. Meniul Tools conţine comenzi diverse şi comenzi care modifică IDE-ul.

Iată o listă a celor mai importante comenzi din meniul Tools:

Attach to Process — Afişează un dialog care vă permite să ataşaţi debugger-ul la un procesa care rulează.

Connect to Device — Această comandă vă permite conectarea la dispozitive fizice sau emulatoare (PocketPC, SmartPhone), pe care le puteţi la testarea programelor pe care le scrieţi pentru dispozitive care rulează pe platforme diferite de cea pe care scrieţi aplicaţia.

Connect to Database — Afişează dialogul Connection Properties,în care puteţi defini o conexiune la o bază de date. Conexiunea este adăugată la fereastra Server Explorer şi puteţi să o utilizaţi ulterior.

Code Snippets Manager — Afişează fereastra Code Snippets Manager, care vă permite adăugarea sau ştergerea fragmentelor de cod pe care le puteţi insera în programele pe care le scrieţi.

Dotfuscator Community Edition — Această comandă lansează şi afişează Dotfuscator Community Edition, o unealtă pe care o puteţi utiliza pentru a face codul intermediar (IL) generat de Visual Basic mai obscur şi greu de utilizat în operaţii de reverse engineer.

Error Lookup — Afişează un dialog în care puteţi afla, pe baza unui cod de eroare introdus de dumneavoastră, o descriere a erorii respective.

Spy++ — Această comandă lansează o unealtă numită Spy++, care vă permite să vedeţi mesajele trimise către aplicaţie.

External Tools — Afişează un dialog care vă permite să adăugaţi/ştergeţi comenzi în/din meniul Tools. Puteţi, de exemplu, să adăugaţi comenzi pentru lansarea oricărei aplicaţii pe care o consideraţi utilă.

Page 21: 01,02 VB2008 Introducere

Introducere în Visual Studio .Net

21

Meniul WINDOW

Meniul Windows conţine comenzi care oferă control asupra ferestrelor din Visual Studio. Comenzile active depind de tipul ferestrei care are focalizarea.

2.1.2. Editorul de cod Visual Studio

Editorul de text din IDE-ul Visual Studio este adesea referit ca editor de cod, deoarece este utilizat pentru editarea codului programelor Visual Studio. Puteţi să îl folosiţi de asemenea ca editor XML, HTML sau CSS.

Puteţi deschide mai multe instanţe ale editorului de cod asociat diferitor formulare sau module şi puteţi copia sau lipi secvenţe de cod dintr-una într-alta. În meniul Windows aveţi acces la toate documentele deschise în instanţe diferite ale editorului de cod.

Editorul de cod, pentru limbajul în care scrieţi cod, oferă caracteristici precum:

• Acces la proprietăţile, metodele şi evenimentele obiectelor în modul design.

• Completarea instrucţiunilor pe baza IntelliSense.

• Secţiuni de cod care pot fi expandate sau colapsate, după preferinţă, cu ajutorul directivei „#Region ... #End Region”.

• fereastră de definire a codului care afişează codul sursă pentru un obiect sau element.

• Opţiune de inserare a unor fragmente de cod predefinite (code snippets), care vă permite să adăugaţi blocuri de cod prefabricate.

• Opţiuni pentru definirea indent-urilor, tab-urilor şi a comportamentului la operaţii de tip drag&drop.

• Pagini de cod unicode.

• Emulări ale editoarelor Emacs şi Brief.

O facilitate a editorului de cod din pachetul Microsoft Visual Studio, foarte utilă programatorilor, este IntelliSense. Aceasta implementează autocompletarea codului scris de programator (automat – în diverse momente ale scrierii codului sursă, sau manual – prin combinaţia de taste CTRL+Spaţiu), servind de asemenea ca documentaţie pentru numele variabilelor, funcţiilor, metodelor sau evenimentelor unui obiect (Figura 1.20).

Figura1.20. IntelliSense în acţiune

Page 22: 01,02 VB2008 Introducere

Medii şi Tehnologii de Programare – curs

22

Elemente ale editorului de cod

Panoul de cod. Acesta reprezintă zona în care este afişat pentru editare codul sau textul. Acesta oferă facilităţi IntelliSense pentru limbajul în care scrieţi codul.

Marginea pentru indicatori. Aceasta reprezintă o coloană gri, situată în partea stângă a editorului de cod, pe care sunt afişaţi indicatori de tip breakpoint, bookmark sau shortcut. Dacă daţi click pe această margine veţi seta un breakpoint pe linia de cod corespunzătoare.

Marginea de selecţie. Aceasta reprezintă o coloană, situată între marginea pentru indicatori şi fereastra de editare, pe care puteţi da click pentru selectarea liniilor de cod. Modificările făcute în cod sunt reflectate pe această margine cu diferite culori (verde, galben, roşu).

Listele „Class Name” şi „Method Name”. Acestea reprezintă două liste derulante plasate în partea superioară a editorului de cod. Lista „Class Name”, situată în partea stângă, oferă acces la componentele clasei curente (de exemplu, pentru formulare – lista controalelor situate pe formular, iar pentru module Visual Basic – lista claselor, funcţiilor, procedurilor etc. declarate în interiorul acestuia). Lista „Method Name”, situată în partea dreaptă, oferă, în funcţie de elementul selectat în „Class Name”, acces la membrii acestuia (pentru clase – lista metodelor acesteia, pentru controale – lista evenimentelor acestora).