01 vb2005 ide

Upload: lala-blak

Post on 09-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 01 VB2005 IDE

    1/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Introducere n Visual Studio .NET

    Visual Basic

    Limbajul Visual Basic deriv din limbajul BASIC, sau, mai precis din versiunea Microsoft alimbajului BASIC QuickBasic. Prima dat cnd a aprut, Visual Basic a revoluionatprogramareaWindows.PrintratareamultoraspectealeprocesriievenimentelorWindows,acestaapermisprogramatorilors seconcentrezeasupradetaliilor specificeaplicaiilornlocs serisipeascnproblemederutin ce indeprogramareaWindows.

    nceea ceprivete stiluldeprogramare,VisualBasicaurmritocalediferit fa dealtelimbaje,precumC++,anumeaceeadeaoferiunmediudeprogramaremaiproductiv i,ngeneral,osintax mai intuitiv.noricecaz,sintaxaVisualBasicnueraprearecomandatcelorcaredoreaus dezvolteaplicaiiorientatepeobiecte.Dezvoltatoriisoftwareputeau,totui, s construiasc aplicaii sigure, fiabile i extensibile, ns aveau nevoie de cevaexperien.

    VisualStudio.NETareuits rezolvemultedintredeficieneleversiuniloranterioare.Astfel,Visual Basic conine numeroasembuntiri, apropiinduse ca stil de programare de C++,dar,nacelaitimp,pstrndsintaxaspecific limbajului.AfostadugatC#,unlimbajavndosintax orientat peobiecte,bazat peC++,care includedeasemeneaaspectespecificectorvalimbajedeprogramare,nspecialDelphi iJava(proiectulC#afostcondusdectreAnders Hejlsberg, cel care anterior a condus proiectul Delphi), cu accent special pesimplificare. Visual Basic .NET conine modificri menite sl alinieze la CLR (CommonLanguageRuntime) i lacelelalte limbajedeprogramare.Astfel, includeonou modalitatedetratareaerorilor,sintaxenoipentrudeclaraii i iniializtidevariabile,suprancrcarea

    funciilor i a subrutinelor i un model mai puternic pentru crearea claselor care includemotenirereal (comparativcuversiunileanterioarealelimbajului,carepermiteaudeclaraiideclase,ns nu imecanismedemotenire).

    Visual Basic 2005 adaug faciliti noi care fac din Visual Basic un limbaj mai puternic caoricnd. Astfel, acesta include noi faciliti de limbaj imbuntiri specifice programriiorientatepeobiecte.

    VisualBasic .NETpoate fivzutcaoevoluieaclasiculuiVisualBasic, implementatns peMicrosoft .NET Framework. Introducerea acestuia a generat unele controversen rndulcomunitii de dezvoltatoriprin faptul c Visual Basic a suferitmodificri majore care rupcompatibilitatea cu versiunile anterioare (compatibilitatea de susnjos). Proiectele mai

    vechi,scriseVisualBasic,potfiimportaten.NETfolosindunwizarddedicatacestuiscop,excepie fcnd, printre altele, secvenele de cod care acceseaz baze de date prin altetehnologiidectMicrosoftADO(ActiveXDataObjects).

    .NET Framework

    Microsoftacreat.NETFrameworkpentruafacemaiuoar dezvoltareadeaplicaiipentrudiverseleversiunialesistemuluideoperareWindows.

    Totui, dezvoltarea aplicaiilorn .NET nu ar trebui s fie mai greoaie dectn versiunileanterioare,cidimpotriv. .NET Framework iVisualBasic2005pot fiunelte puternice, iar

    1/26

  • 8/8/2019 01 VB2005 IDE

    2/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    truculconstndescoperireamoduluincareacesteaconlucreaz prinintermediulmediuluidedezvoltareintegrat (IDE IntegratedDevelopmentEnvironment)VisualStudio.

    O bun parte din dificultile pe care lentmpin programatorii cnd migreaz la .NETFramework provin deruta provocat de terminologia specific. Pentru eliminarea oricrorconfuzii vom expunen continuare principalii termenii utilizain dezvoltarea aplicaiilor.NET.

    .NETFramework(Cadrulde lucru.NET)esteplasatntre limbajuldeprogramare(ex.VisualBasic,C#etc.) isistemuldeoperare (de laWindows98 iWindowsNTpn laWindowsVista i Windows Server 2008, sau orice alte subversiuni ale acestora, cum ar fi celedestinatedispozitivelormobile)..NETFrameworkofer funcionalitispecificesistemuluideoperare Windows, furniznd ns i biblioteci care extind aceste funcionaliti (calculematematice, accesarea bazelor de date). Figura 1.1 ilustreaz vizual relaia ntre toateniveleledin.NETFramework.

    Figura1.1.Ierarhia.NETFramework.

    Microsoft.NETFrameworkreprezint otehnologiesoftwarecareincludeouria bibliotecde clase (BCL), care ofer soluii la probleme uzuale de programare, i o main virtual(CLR)caregestioneaz execuiaprogramelorscrisespecialpentrucadrulde lucru.Soluiileprecodatecare formeaz BaseClassLibrary (BCL) (bibliotecadeclasedebaz)acoper ogam larg de aspecte de programare, clasificate pe domenii precum interfee utilizator,bazededate,conectivitate,criptografie,aplicaiiweb,algoritminumericisaucomunicaiin

    reea.Pentru scriereaaplicaiilorprogramatoriipotutilizabibliotecadeclasempreun cucodulscrisdeeinii.

    Programele scrise pentru .NET Framework sunt executate ntro main virtual caregestioneaz programele n timpul rulrii din punct de vedere al necesitilor acestora.Aceast main virtual este cunoscut sub denumirea de Common Language Runtime(CLR) i face parte din .NET Framework. Datorit faptului c programul va rula pe mainavirtual (CLR) programatorul nu are nevoie s ian considerare tipul procesorului de pecalculatorulcarevarulaaplicaia.Toateprogramele.NETruleaz subsupervizareaCLR,fiindgarantate anumite proprieti i comportamenten ceea ce privete gestiunea memoriei,securitatea itratareaexcepiilor.

    CommonLanguageRuntime(CLR).NETFrameworkutilizeaz oarhitectur penivele,labazacreiasesitueaz WindowsAPI (Figura1.1). .NET Frameworkofer ovedereorientat pe

    2/26

  • 8/8/2019 01 VB2005 IDE

    3/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    obiecte a funciilor sistemului de operare, fr ns a le nlocui, astfel c majoritateaapelurilor din .NET Framework sunt rezolvate n final ca apeluri ntrunul din DLLurilenucleului Windows. CLR reprezint primul nivel care aparine lui .NET Framework, fiindresponsabil pentru serviciile de baz .NET, precum gestiunea memoriei, colectarea degunoaie, tratarea structurat a excepiilor i multithreading. Ar trebui s imaginai CLR ca

    fiind supervizorul tuturor aplicaiilor .NET: nu interacionai niciodat direct cu CLR,nstoateaplicaiilevoastresuntcontrolatedeacesta.

    CLRofer suportpentrumaimultelimbajedeprogramare,asigurndunmediudeexecuierobust isigur.Deasemeneaacestasimplific procesuldedistribuire idemanagementalaplicaiei(scpaidecomarulDLL).

    CLRruleaz oform decodoctetnumit CommonIntermediateLanguage(CIL),cunoscuti sub denumirea deMicrosoft Intermediate Language (MSIL). Procesul de rulare a unuiprogramscrisntrunuldinlimbajele.NETesteilustratnFigura1.2.

    Figura1.2.DiagramaCLR

    Intermediate Language (IL sau MSIL). Spre deosebire de limbajele de programaretradiionale compilatoarele .NET nu produc cod nativ care s poat fi executat direct dectre procesor.n schimb, acestea produc aanumitul cod IL, care reprezint un soi delimbaj main pentru un procesor virtual care nu corespunde niciunui procesor fizic. DeicodulILestelaunnivelmaijosdectmajoritatealimbajelordeprogramaremoderne,acesta

    estelaunnivelmainaltdectlimbajuldeasamblarepur.ILesteunlimbajorientatpestiv(stackoriented) care nu adreseaz direct regitrii procesorului i nu are legtur cuconceptelespecificelimbajelordenivelnalt(stringuri,excepiisaucreareaobiectelor).

    ILDASM.VisualStudio2005estelivratmpreun cuunutilitarnumitILDASM,sauILDisassembler(poate fi gsitn directorul C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin). Precumsugereaz inumele,acestutilitarpermitevizualizareacoduluiILprinsimplatragerecumouseulafiierului.exesau.dlldinWindowsExplorernfereastraprincipal aILDASM.ActivndopiuneaShowSourceLines dinmeniulViewputemobservacodulsurs original careaprodus fiierulanalizat.(SevaputeavedeacodulactualVisualBasicdoardac fiierulexecutabilestensoitdeunfiier.pdbcuinformaiisimbolice).

    Limbajele.NET.DeilimbajeleVisualBasicandVisualC#(spreexemplu)ausintax diferit icuvinte cheie diferite, ele suntn linii mari echivalente, ambele permind utilizarea .NET

    3/26

    http://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Languagehttp://en.wikipedia.org/wiki/Common_Intermediate_Language
  • 8/8/2019 01 VB2005 IDE

    4/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Frameworklacapacitatemaxim.nplus,toatelimbajele.NETFrameworksuntcompilatelacod MSIL , care apoi este compilatn cod nativ. Din aceast cauz, nu pot fi sesizatediferene notabilentre limbaje diferite. O excepie de la aceast regul este cazul uneiaplicaii C++ care utilizeaz pointeri i cod nesigur (unsafe code). Aceasta poate rulasemnificativmairapiddectoaplicaieechivalent scrisnVisualBasic.

    CompilatorulJustinTime (JITCompiler).DeoareceniciunprocesornupoateexecutacodIL, CLR trebuie s l converteasc n cod nativn timpul rulrii programului prin lansareacompilatorului JIT itransmitereactreacestaaadresei funcieicucareporneteaplicaia(deobicei,ntroaplicaieVisualBasic,proceduraSubMain).Atuncicndproceduraprincialapeleaz altemetode,.NETutilizeaz compilatorul.NETpentrutransformareacoduluiILdinaceste metoden cod nativ, apoi execut codul nativ. Aceast compilare din zbor esteefectuat numai o singur dat pentru fiecare metod pe durata de via a aplicaiei,deoarececodulnativestepstratnmemorie ireutilizatatuncicndometod esteapelatdinnou.

    CommonTypeSpecifications(CTS).Acestsetdespecificaiidicteaz modulncareuntipde

    dat expunecmpuri,metode,proprieti ievenimente;deasemeneadefinetemodulncareun tipdedat poatemotenialt tip dedat ipoate suprancrcamembriiacestuia.Datorit faptului c toate limbajele .NET recunosc aceste specificaii, acestea pot faceschimbdedate,potutilizasaumotenitipuridefinitentrunaltlimbaj.Spreexemplu,puteiscrieoclas VisualBasic2005cares moteneasc oalt clas scris nC#, iputeiscrieoclas C#careimplementeaz ointerfa definit VisualBasic.

    Common Language Specifications (CLS). Acest set de specificaii dicteaz minimul decaracteristici pe care un limbaj de programare trebuie s le aib pentru a face parte dincategoria limbajelor .NET. Spre exemplu, toate limbajele .NET trebuie s poat opera cutipuridedateprimitiveprecumstringurisauntregi, itrebuies fiecapabiles procesezeo

    excepiecareaparecaurmareauneierori.

    Codgestionat icodnegestionat(ManagedandUnmanagedCode).Sespunec aplicaiile.NET execut cod gestionatdeoarece ruleaz subcontrolul CLR i suntmpiedecate a rulacodnesigurcarepoateafectarulareasistemuluisaupoatecompromitedateleutilizatorilor.Spreexemplu,CLR trebuies previn accesarea fiierelorsistemsaua regitrilorsistemncazulncareaplicaiaafost lansat dintro locaie Internetcarenuestedencredere.Princontrast.Aplicaiilenon.NET,cumarficelescrisenVisualBasic6,execut codnegestionat,sau cod nativ. Dintre toate limbajele de programare de la Microsoft, numai C++ poateproduceattcodgestionatct icodnegestionat,ns chiar idezvoltatoriiC++artrebuisrecurg lascriereadecodgestionatnumaidac estestrict nevoiespreexemplu,pentruefectuareaoperaiilorlowleveldeoarecenumaicodulgestionatbeneficiaz deavantajele

    platformei.NET.

    nlumea.NET,limbajeledeprogramaredevindoaromodalitatedeainteracionacucadruldelucru i,nconsecin,cusistemuldeoperareWindows.Toateprogrameleaunevoiedeunsetderegulistabilitepentruinterpretareafluxuluideinstruciunidincadrulprogramelor.VisualBasicfurnizeaz unsetdereguli,iarcadruldelucru(framework)furnizeaz obiecteleievenimentelecucaresepoateinteraciona.

    nesen,oricelucrupecareWindowslpoatefaceestecuprinsncadrul.NETFramework.n mod specific,.NET Framework d un nume programatic fiecrui obiect i eveniment pe

    careWindowslpoatecontrola.Oriceprogramatorpoateutilizaacelnumepentruasereferi

    4/26

  • 8/8/2019 01 VB2005 IDE

    5/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    n cod la orice are legtur cu sistemul de operare. De exemplu, dorii s i transmiteiimprimateis efectuezedou copiialedocumentuluivostru?ncercai:My.Computer.Printers.DefaultPrinter.PrinterSettings.Copies = 2.

    Aveinevoies desenaipeecranelementegraficedeculoarealbastr?ncercai:System.Drawing.Brushes.Blue.

    Pn acum, prezentnd .NET Framework, am fcut referire numai la sistemele de operare dinfamiliaWindows.Existns unproiectopensource,Mono(http://www.monoproject.com),careiapropus implementarea .NETFrameworkpesistemeledeoperareLinux,BSD iOSX.Astfel,MonopoaterulafiierelebinareobinutepeplatformeWindowscuVisualStudio.NETfr amaifi nevoie de recompilarea acestora.n Figura 1.3 este prezentat mediul MonoDevelop, un IDEGNOMEgratuit,proiectatspecialpentruprogramareanC# ialtelimbaje.NET.

    Figura1.3.ScriereauneiaplicaiiC#folosindIDEulMonoDevelop.

    Mediul de dezvoltare integrat (IDE)Visual Basic 2005

    Unproiect reprezint un grup de fiiere care produc la ieire un anumit rezultat. Aceastieirepoatefi,printrealtele,unfiierexecutabil,unDLLcarepoatefifolositncadrulaltorproiectesauuncontrolgraficcares fieutilizatpesuprafaaaltorferestre.

    5/26

  • 8/8/2019 01 VB2005 IDE

    6/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Osoluiereprezint ungrupformatdintrunulsaumaimulteproiectecaresuntgestionatempreun.Spreexemplu,presupunemc dezvoltmoaplicaieservercareofer acces laoanumit baz dedate.Deasemenea,dezvoltmoaplicaieclientcarevafiutilizat demaimultepersoanepentru interogareaaplicaieiserver.Datorit strnsei legturidintreacestedou proiecte,estefiresccaeles fiegestionatentrosingur soluie.Atuncicndsoluiava

    fideschis,veiaveaacceslatoatefiiereledincadrulcelordou proiecte.

    Attproiectelect isoluiilepotincludefiiereasociate,carepotfiutilepentrudezvoltareaaplicaiilor,darcarenuvorfacepartedinprodusulfinalcompilat.Ladubluclickpenumelefiierelor,acesteavor fideschisecuaplicaiapotrivit.Spreexemplu,un fiiercuextensia.docvafideschisdectreVisualStudiocuMicrosoftWord.

    Pentru asocierea unuia din aceste fiiere cu proiectul sau cu soluia, dai click dreapta peproiectn Solution Explorer i selectai comanda Add> New Item i utilizai fereastradialogpentruselectareafiieruluidorit(veziFigura1.4).

    Figura1.4.Adugareaunuinoufiiernproiect

    Unscenariu frecventutilizatesteacelancare codulVisualBasicesteplasatntrunproiect, iardocumentaianaltproiectdinaceeaisoluie.

    Scurt prezentare a mediului de dezvoltare integrat (IDE)

    Figura 1.5 prezint mediul de dezvoltare integrat (IDE) imediat dup crearea unui proiectnou. Acesta este extrem de configurabil, astfelnct poate s arate complet diferit dacrearanjaidup bunulplacelementeledeinterfa.

    6/26

  • 8/8/2019 01 VB2005 IDE

    7/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    1

    2

    3

    5

    4

    6

    7

    Figura1.5.Configuraiainiial amediuluidedezvoltareVisualStudio2005.

    ElementelecheiealemediuluidedezvoltarevizibilenFigura1.5suntnumerotatedup cumurmeaz.

    1. MeniuriconincomenzistandardVisualStudio.Acesteamanipuleaz elementelesoluiei curente i ale modulelor componente ale acesteia. Visual Studio activeazsaudezactiveaz meniurile icomenziledisponibilenfunciedeobiecteleselectatecurent.nFigura1.5,estedeschisformdesigner(marcatcunumrul4),astfelcmediul de dezvoltare afieaz meniurile i comenzile pentru editare de formulare(ferestre).

    2. Toolbars Barele de unelte conin unelte care pot efectua aciunile cel maifrecventutilizate.Aceleaicomenzipotfidisponibileattnmeniurict inbarele

    de unelte (pentru o apelare mai rapid). Mediul de dezvoltare integrat definetectevabaredeuneltestandardcumarfiFormatting,Debug, iImageEditor.Puteiconstruideasemeneapropriilebaredeuneltepentruaccesarearapid a uneltelorfavorite.

    3. ToolboxCsuacuunelteconineuneltepotrivitecuobiectulcurentselectat icutipuldeproiectlacarelucrai.nFigura1.5,unFormDesigneresteselectatncadruluneiaplicaiiWindows,astfelc ToolboxconineuneltelepotrivitepentruunFormDesigner:controaleWindows icomponente,plusuneltedinaltetaburicuprinsenToolbox:CrystalReports,Data, Components etc. Pentru alte categorii de proiecteacestea pot s difere. Spre exemplu, un proiect Web ar afia controale i

    componenteWeb.

    7/26

  • 8/8/2019 01 VB2005 IDE

    8/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    4. FormDesigner permite modificarea designului grafic al unei ferestre din cadrulproiectului. Dac adugai pe suprafaa ferestrei un control din csua cu unelte,putei utiliza fereastra de proprieti (marcat cu 6) pentru modificareaproprietilorcontroluluinoudesenat.nFigura1.5,niciuncontrolnuesteselectat,astfelc fereastradeproprietivaafiaproprietileferestrei.

    5. Solution Explorer acesta v permite s gestionai fiierele asociate cu soluiacurent. Spre exemplu,n Figura 1.5, putei selecta Form1.vb din Project Explorerapois daiclickpebutonulViewCode (altreileade ladreaptanparteadesusaferstreiSolutionExplorer)pentruadeschideeditoruldecodasociatferestrei.Puteideasemeneas daiclickdreaptapeunobiectnSolutionExplorerpentrupentruaaveaacceslacomenzilepotriviteaceluiobiect.

    6. Properties fereastra de proprieti v permite modificarea proprietilor unuiobiectntimpuldesenriiinterfeei(designtime).AtuncicndselectaiunobiectnForm Designer sau n Solution Explorer, fereastra de proprieti afieazproprietileaceluiobiect.Pentruamodificavaloareauneiproprieti,daiclickpe

    proprietate iintroduceinouavaloare.

    7. ErrorList listadeerorireprezint fereastracareafieaz erorilesiavertismentele(warnings)dinproiectulcurent.Spreexemplu,dac ovariabil estefolosit fr afideclarat, aceast list va afia la compilare aceast eroare. Dac o variabil estedeclarat, dar nu este folosit, lista va afia la compilare un avertismentn acestsens.

    Structura meniului

    n continuare vor fi descrise meniurile cuprinse n IDEul Visual Studio .Net 2005,nencercndns oprezentareexhaustiv acomenzilorcuprinsencadrulacestora.Nevomaxan consecin asupra unor comenzi mai importante, considernd inutil prezentareacomenziloruzuale.

    Meniul FILE

    MeniulFileconinecomenzipentrucreare,deschidere,salvare inchidereaproiectelor iafiierelorasociateacestora(Figura1.6).

    8/26

  • 8/8/2019 01 VB2005 IDE

    9/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.6.MeniulFilecuprindecomenziasociatecusoluia icufiiereleacesteia

    NewsubmeniulNewpermitecreareaunorproiectenoi,siteuriWeb(ASP.NETsauServicii

    Web),saufiiere(text,bitmap,icon,pagin html,clas etc.).ComandaProjectFromExistingCodecreeaz unproiectnou ipermitealegereafiierelorcares fieinclusennouproiect.

    OpensubmeniulOpenconinecomenzipentrudeschidereauneisoluii,aunuiproiect,siteWebsaufiier.ComandaConvertpermiteprinintermediulunuiwizardconversiaproiectelorVisualBasic6laVisualBasic2005.

    SaveAll salveaz toate fiierele modificate de la deschiderea acestora sau de la ultimaoperaiedesalvare.

    ExportTemplateacestwizardpermitecreareaunui ablondeproiectsaualteelementecarepotfiutilizatemaitrziu.

    Page Setup i Print permit configurarea imprimantei, respectiv tiprirea documentuluicurent.Acestecomenzisuntactivatenumaicndaresenstiprireadocumentuluicurent.Deexemplu,suntactivateatuncicndvizualizaiunfiiertext(fiiersurs sauXML),ns suntdezactivateatuncicndvizualizaiunbitmapsausunteinFormDesigner.

    Meniul EDIT

    Meniul Edit (Figura 1.7) conine comenzi care manipuleaz text sau alte tipuri obiecte.Printre acestea clasicele comenzi Undo, Redo, Copy, Cut i Paste pe care le putei gsinmajoritateaaplicaiilorWindows.

    9/26

  • 8/8/2019 01 VB2005 IDE

    10/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.7.MeniulEditconinecomenzipentrumanipulareatextului iaaltortipurideobiecte

    Cycle Clipboard Ring Clipboard ring conine ultimele elemente copiate n clipboard.

    Aceast comand copiaz n locaia curent elementul anterior din clipboard ring. Prinutilizarearepetat aacesteicomenzi,puteiparcurgeelementeledinclipboardringpn lagsireaceluipecareldorii.

    GoTopermitepoziionarearapid peoanumelinienfiierulsurs curent.

    Advanced submeniul Advanced conine comenzi pentru efectuarea unor formatri maicomplexealedocumentului,cumarficonvertireatextuluilamajusculesauminuscule,wordwrap,comentarea idecomentareacodului.

    Bookmarks submeniul Bookmarks conine comenzi pentru adugarea i tergereamarcajelor,precum ipoziionareapemarcajeledejamemorate.

    Outlining submeniul Outlining permite expandarea sau colapsarea seciunilor de cod,precum iactivareasaudezactivareaacesteiopiuni.

    IntelliSenseofer acces la facilitile IntelliSense.Spreexemplu,comanda List Membersducelaafiarealisteicuproprietile,metodele ievenimenteleobiectuluicurent.

    Meniul VIEW

    Meniul View (Figura 1.8) conine comenzi care permit ascunderea sau afiarea diverselorferestresaubaredeuneltedincadrulmediuluidedezvoltareintegratalVisualStudio.

    10/26

  • 8/8/2019 01 VB2005 IDE

    11/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.8.MeniulViewpermiteafiarea iascundereaferestrelor iabarelorcuunelteasociateIDEuluiVisualStudio

    CodecomandaCodedeschidefiierulselectatntruneditordecod.Spreexemplu,pentrueditareacoduluiasociatunuiformular,daiclickpeformularnSolutionExplorer iselectaiView\Code.

    Designer comanda Designer deschide fiierul selectatntrun editor grafic, dac existvreunuldefinitpentruaceltipdefiier.Spreexemplu,dac fiierulesteunformular,VisualStudioldeschidentruneditorgraficdeformulare.Dac fiierulesteunmoduldeclas sauunuldecod,meniulViewascundeaceast comand deoareceVisualStudionudispunedeuneditorgraficpentruacesttipdefiiere.

    Opendeschideelementulselectatcueditorulimplicitpentruacesta.

    Open With deschide elementul selectat cu un editor la alegere. Spre exemplu, puteideschidecodulasociatunuiformularcuuneditordetext.

    TabOrder Dac un formular conine controale, comanda Tab Order afieaz deasuprafiecrui control o cifr care indic ordinean care vor fi selectate controalele la apsareatasteiTAB(ntimpulrulrii).Pentruadefiniaceast ordinetrebuies daiclickpecontroalenordineadorit.

    11/26

  • 8/8/2019 01 VB2005 IDE

    12/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Meniul PROJECT

    MeniulProject (Figura1.9)coninecomenzicarev permitadugarea, respectiv tergereade elementen/din proiectul curent.n funcie de elementul selectat difer i comenziledisponibilenacestmeniu.

    Figura1.9.MeniulProjectv permiteadugareadefiiere ireferinenproiectulcurent

    Iat odescriereacomenzilorasociatecumeniulProject:

    AddNew Item afieaz dialogul din Figura 1.10. Dialogul permite selecia dintro gamlarg deelementeprintrecarefiieretext,fiierebitmap imoduledeclas.

    12/26

  • 8/8/2019 01 VB2005 IDE

    13/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.10.ComandademeniuAddNewItemv permiteadugareauneilargigamedeelementencadrulproiectului.

    ShowAllFilesaceast comand facecaSolutionExplorers afiezelistacufiierelecare,nmodnormal,suntascunse.Acestea includfiierederesurseasociateformularelor,claseparialeascunsecumarfisecvenedecodgenerateautomat,fiieredindirectoareleOBJ iBIN,caresuntcreateautomatdeVisualStudioatuncicndcompileaz programul.nmodnormalnuaveinevoies interacionaidirectcuacestefiiere,astfelc elesuntascunse.

    Selectaiaceast comand pentruafiarea lor,apoi selectaiodinnoupentruascunderealor.

    AddReferencepermitenprim faz selectareacategorieiunuiobiectextern,auneiclase,sau a unei biblioteci pe care dorii s o gsii. Putei aduga o referin la o component.NET, laocomponent COM(ComponentObjectModel),cumarfiobibliotec ActiveXsauuncontrolcreatnVisualBasic6,saulaunaltproiectVisualStudio.

    Dup ceaiadugatoreferin launproiect,puteis accesaiprincodobiectelepublicealereferinei. Spre exemplu, dac fiierul MyMathLibrary.dll definete o clas numitMathTools, iar acea clas definete o funcie public Fibonacci, un proiect care are oreferin laacestDLLpoateutilizaurmtoareasecven decod:

    Dim math_tools As New MyMathLibrary.MathToolsMsgBox(Fib(5) = & math_tools.Fibonacci(5))

    AddWebReferenceafieaz undialogprincareputeis gsiiserviciiWeb is adugaireferinelaele,astfelnctproiectulvostrus lepoat invocaprinInternet.

    WindowsApplication1 Properties aceast comand afieaz paginile cu proprieti aleaplicaiei,vizibilenFigura1.11.

    13/26

  • 8/8/2019 01 VB2005 IDE

    14/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.11.Paginadeproprietiaproiectului

    Pe tabul Compile exist trei proprieti care merit o atenie special (vezi Figura 1.12).

    Prima dintre ele, Option Explicit determin din partea Visual Basic cerina ca toatevariabileles fiedeclaratenaintedeafiutilizate.Inactivareaacesteiopiunipoateconduceuneorilabugurisubtile.Spreexemplu,urmtoareasecven decodintenioneaz s afiezeo list anumerelorparentre0 i10.Dinnefericire,ogreeal de tastare faceca funciaDebug.WriteLine s tipreasc valoarea variabilei j, nu a lui i. Deoarece j nu esteiniializat,codulproduce la ieireo list devalorinule.Dac setaiOptionStrict lavaloareaOn,compilatorulvasemnala faptulc variabilajnuestedeclarat, iarproblemadevineuorderezolvat.For i = 1 To 10

    If i Mod 2 = 0 Then Debug.WriteLine(j)

    Next i

    14/26

  • 8/8/2019 01 VB2005 IDE

    15/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.12.TabulCompileconineproprietiimportantepentrucontrolulgenerriicodului

    AdouaopiunedecompilareesteOptionStrict.Atuncicndaceast opiuneeste inactiv,

    VisualStudiopermitencodconversiiimplicitedelauntipdedat laaltul,chiardac tipurilededatenusuntntotdeaunacompatibile.Spreexemplu,VisualBasicvapermiteurmtoareisecvene de cod s ncerce copierea stringului snntregul i. Dac textul din string sentmpl s reprezinte o valoare numeric, precumn primul caz, va funciona.n cazulcontrar,precumsevedenceldealdoileacaz,vaapreaoeroarelarulare.Dim i As Integer

    Dim s As String

    s = 10

    i = s This works.

    s = Hello

    i = s This Fails.

    Dac activai opiuneaOption Strict, IDEul v va avertiza cu privire la incompatibilitateadintreceledou tipuridedate,astfelc veiputearezolvauorproblemantimpcescrieicodul. Vei putea utiliza funcii de conversie de date precumCInt,Int iInteger.Parsepentru convertirea stringului lantreg,ns va trebui s efectuai explicit aceste aciuni.Acestlucruvaduceladiminuarea anseideapariieaerorilordeconversie.

    Pentruevitarea confuziilorsauaunorsesiuni lungi iobositoarededepanare,artrebuissetaipermanentopiunileOptionExplicit(On) iOptionStrict(On).Leputeiactivapentruunanumeproiectaccesnduledinpaginadeproprieti.Pentrua leactiva implicitpentrutoate proiectele nou create, deschidei meniul Tools i selectai Options. DeschideidirectorulProjectsandSolutions,selectaipaginaVBDefaults iactivaiopiunile.

    Ultimadirectiv decompilare,OptionCompare,poateluavalorileBinarysauText.DacsetaiOptionComparelaBinary,VisualBasiccompar stringurilepebazareprezentriilor

    15/26

  • 8/8/2019 01 VB2005 IDE

    16/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    binare. Dac setai Option Compare la Text, Visual Basic compar stingurile folosind ometod caseinsensitive care depinde de setrile calculatorului. Compare Binary este mairapid,darpoates nuproducntotdeaunarezultateleateptate.

    Dac selectaio soluie,apoiapelaicomandaPropertiesdinmeniulProject,VisualStudioafieaz paginilecuproprietialesoluiei(Figura1.13).

    Figura1.13.Paginadeproprietiasoluiei.

    Meniul BUILD

    Meniul Build (Figura 1.14), conine comenzi care permit compilarea proiectelor dintrosoluie.

    16/26

  • 8/8/2019 01 VB2005 IDE

    17/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.14.MeniulBuildpermitecompilareaferestrelor.

    Urmeaz oscurt descriereaunorcomenzilorasociatemeniuluiBuild:

    BuildWindowsApplication1Aceast comand compileaz proiectulcurent,ncazuldefaproiectul WindowsApplication1. Visual Studio examineaz fiierele proiectului pentru avedeadac auaprutmodificridelaultimacompilareaproiectului.Laoricemodificaredincadrulfiierelor,VisualStudiorecompileaz acestefiiere iactualizeaz rezultatul.

    Rebuild WindowsApplication1 aceast comand foreaz recompilarea de la zero aproiectuluicurent.

    CleanWindowsApplication1aceast comand tergefiiereletemporaresauintermediarecreatelacompilare,pstrnddoarfiierelesurs irezultatelefinale(fiiereleEXEsauDLL).

    Publish WindowsApplication1 aceast comand pornete un wizard care pune la

    dispoziieaplicaianvederea redistribuirii locale,pentru partajare de fiiere, site FTP sausiteWeb.

    ConfigurationManagercomandaConfigurationManagerafieaz dialoguldinFigura1.15.Acestfialogpoatefifolositpentruaindicancemodsevaconstrui(build)unproiect(debugsau release), i platformele destinaie (de exemplu Itanium, x64, sau x86). Putei utilizacsueledebifareBuild(vizibile infigur)pentruadeterminacareproiectvaficonstruit(built).V puteifolosideaceast opiunepentruaevitacompilareaanumitorproiectedincadrul soluiei curente. Dac observai c anumite pri din soluie nu sunt compilate,verificaiopiuniledinConfigurationManager.

    17/26

  • 8/8/2019 01 VB2005 IDE

    18/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figura1.15.ConfigurationManager

    ConfiguraiileReleaseutilizeaz maimulteoptimizridectconfiguraiileDebug,astfelnctelefurnizeaz programeexecutabilemaimici imairapide.Acesteanuincludsuportpentrudepanare,astfelc nuveiputeadepanaunprogramcompilatpentrurelease.

    ncsuacomboActivesolutionconfigurationselectaipentrucreareauneinoiconfiguraii.Atuncicndselectaiaceasta,VisualStudiovafiaundialogncareputeidaunnumeconfiguraiei iputeiselectaoconfiguraieexistent delacarevorficopiatevalorileimplicite.

    Veiputeaastfels indicaicompilatoruluic doriicauneleproiectedincadrulsoluieis fiecompilatefolosindconfiguraiaDebug, iaraltelefolosindconfiguraiaRelease.Evident,celecompilatecuReleasenuvorputeafidepanateulterior.Acestmoddeabordareaproblemeipoatefiutilncazulncaredoriis predaianumiteproiecteclienilor(versiunilerelease),ntimpceversiuniledebugaleproiectelorcontinuais ledezvoltai.

    Dac debifai csua Build asociat unui proiect, acel proiect va fi exclus din cadruloperaiilor de construire. La construirea soluiei acesta nu va fi compilat. Visual Studioafieaz rezultatele compilrii n fereastra Output i contorizeaz numrul de proiectenecompilate. Urmtoarea linie arat un exemplun care, la construirea unei soluii careconinedou proiecte,unproiectafostcompilatiarcellaltnu.

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

    Meniul DEBUG

    TheDebugmenu,showninFigure1.16,containscommandsthathelpyoudebugaprogram.Thesecommandshelpyou run theprogram in thedebugger, move through the code,setandclearbreakpoints,andgenerallyfollowthecodesexecutiontoseewhat itsdoingandhopefullywhatitsdoingwrong.

    18/26

  • 8/8/2019 01 VB2005 IDE

    19/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Figure1.16.TheDebugmenucontainscommandsfordebugginganapplication.

    Effectivelyusingthesedebuggingtechniquescanmakefindingproblems inthecodemucheasier,soyoushouldspendsometimelearninghowtousethesetools.Theycanmeanthedifferencebetweenfindingatrickyerrorinminute,hours,ordays.

    Thecommandsvisible intheDebugwindowchange,dependingonseveralconditionssuchas the type of file you have open, whether the program is running, the line of code thatcontainsthecursor,andwhetherthatlinecontainsabreakpoint.Thissectiondiscussesthemenu items shown in Figure 1.16. You will see other menus items under differentcircumstances.

    ThefollowinglistbrieflydescribestheDebugmenuscommands.

    Windows This submenus commands display other debuggingrelated windows. Thissubmenu is described in more detail in the following section, The Debug\WindowsSubmenu.

    ContinueThiscommandresumesprogramexecution.Theprogramrunsuntilitfinishes,itreachesanotherbreakpoint,oryoustopit.

    BreakAll This command stops execution of all programs running within the debugger.Thismayincludemorethanoneprogramifyouaredebuggingmorethanoneapplicationatthesametime.Thiscanbeuseful,forexample,iftwoprogramsworkcloselytogether.

    StopDebugging This command halts the programs execution and ends its debuggingsession.Theprogramstopsimmediately,soitdoesnotgetachancetoexecuteanycleanupcode.

    Detach All This command detaches the debugger from any processes to which it isattached.Notethatthisdoesnotstopthoseprocesses.

    19/26

  • 8/8/2019 01 VB2005 IDE

    20/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Terminate All This command terminates any processes to which the debugger isattached.

    Restart This command stops the currently running process and restarts the startupproject.

    AttachtoProcessThiscommanddisplaysthedialogthatletyouattachthedebuggertoarunningprocess.SelecttheprocesstowhichyouwanttoattachandclickAttach.

    Exceptions This command displays a dialog. If you check a Thrown box, the debuggerstops whenever the selected type of error occurs. If you check a Userunhandled box, thedebuggerstopswhentheselectedtypeoferroroccursandtheprogramdoesnotcatch itwitherrorhandlingcode.Forexample,supposethatyourcodecallsasubroutinethatcausesa dividebyzero exception. Use the dialog to select Common Language RuntimeExceptions/System/System.DivideByZeroException(usetheFindbuttontofinditquickly).Ifyoucheck theThrownbox, thedebuggerstops in thesubroutinewhen thedividebyzeroexception occurs even if the code is contained in an error handler. If you check the

    Userunhandled box, the debugger stops only if no error handler is active when the erroroccurs.

    Step Into This command makes the debugger execute the current line of code. If thatcodeinvokesafunction,subroutine,orsomeotherprocedure,thepointofexecutionmovesintothatprocedure.Itisnotalwaysobviouswhetheralineofcodeinvokesaprocedure.Forexample, a line of code that sets an objects property may be simply setting a value orinvokingapropertyprocedure.

    StepOverThiscommandmakes thedebuggerexecute thecurrent lineofcode. If thatcode invokes a function, subroutine, or some other procedure, the debugger calls thatroutinebutdoesnotstepinto it,soyoudontneedtostepthrough itscode.However,ifa

    breakpointissetinsidethatroutine,executionwillstopatthebreakpoint.

    StepOutThiscommandmakesthedebuggerrununtilitleavestheroutineitiscurrentlyexecuting. Execution pauses when the program reaches the line of code that called thisroutine.

    QuickWatch Thiscommand displaysa dialog that gives informationabout the selectedcodeobject.

    Ifyoudoubleclickonapropertysvalue,youcanchangeitwithinthedialog.IfyouclicktheAddWatchbutton, thedebuggeradds theexpression totheWatchwindow.YoucanalsohighlightavariablesnameinthecodeanddraganddropitintoaWatchwindowtocreatea

    watchveryquickly.RightclickawatchinthiswindowandselectDeleteWatchtoremoveit.

    The Command and Immediate Windows

    The Command and Immediate windows both allow you to execute commands while theprogram is stopped in the debugger. One of the more useful commands in each of thesewindows is the Debug.Print statement.Forexample, thecommand Debug.Print x displays thevalueofthevariablex.

    YoucanuseaquestionmarkasanabbreviationforDebug.Print.Thefollowingtextshowshow

    thecommandmightappear intheCommandwindow.Here the > symbol is thecommand

    20/26

  • 8/8/2019 01 VB2005 IDE

    21/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    prompt provided by the window and 123 is the result: the value of variable x. In theImmediatewindow,thestatementwouldnotincludethe>character.>? x

    123

    The command >immed tells the Command window to open the Immediate window.Conversely,thecommand>cmd tellstheImmediatewindowtoopentheCommandwindow.

    Whilethere issomeoverlapbetweenthesetwowindows,theyservetwomostlydifferentpurposes. The Command window can issue commands to the Visual Studio IDE. Typically,thesearecommandsthatappear inmenusortoolbars,orthatcouldappear inmenusandtoolbars. For example, the following command uses the Debug menus QuickWatchcommandtoopenaQuickWatchwindowforthevariablefirst_name.

    >Debug.QuickWatch first_name

    OneparticularlyusefulcommandisTools.Alias.ThiscommandlistscommandaliasesdefinedbytheIDE.Forexample,itindicatesthat? isthealiasforDebug.Print andthat?? isthealiasforDebug.QuickWatch.

    TheCommandwindowincludessomeIntelliSensesupport.Ifyoutypethenameofamenu,for example Debug or Tools, IntelliSense will display the commands available within thatmenu.

    WhiletheCommandwindowissuescommandstotheIDE,theImmediatewindowexecutesVisualBasic statements.Forexample, suppose that youhavewrittena subroutinenamedCheckPrinter. Then the following statement in the Immediate window executes thatsubroutine.

    CheckPrinter

    Executing subroutines in the Immediate window lets you quickly and easily test routineswithout writing user interface code to handle all possible situations. You can call asubroutine or function, passing it different parameters to see what happens. If you setbreakpointswithintheroutine,thedebuggerwillpausethere.

    Similarly,youcanalsosetthevaluesofglobalvariablesandthencallroutinesthatusethem.ThefollowingImmediatewindowcommandssetthevalueofthem_PrinterName variableandthencallstheCheckPrinter subroutine.m_PrinterName = LP_REMOTE

    CheckPrinter

    You can execute much more complex statements in the Command and Intermediatewindows.Forexample,

    supposethatyourprogramusesthefollowingstatementtoopenafileforreading.Dim fs As FileStream = File.OpenRead( _

    C:\Program Files\Customer Orders\Summary & _

    datetime.Now().ToString(yymmdd) & .dat)

    Supposethattheprogramisfailingbecausesomeotherpartoftheprogramisdeletingthefile.Youcantypethefollowingcode(allonone line) intothe Immediatewindowtosee ifthefileexists.Asyoustepthroughdifferentpiecesofthecode,youcanusethisstatement

    againtoseeifthefilehasbeendeleted.?System.IO.File.Exists(C:\Program Files\Customer Orders\Summary & _

    21/26

  • 8/8/2019 01 VB2005 IDE

    22/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    DateTime.Now().ToString(yymmdd) & .dat)

    Thewindowevaluatesthecomplicatedstringexpressiontoproduceafilename.Itthenusesthe System.IO.File.Exists command to determine whether the file exists and displays True orFalse accordingly.

    Meniul DATA

    The Data menu, shown in Figure 1.17, contains commands that deal with data and datasources. Some of the commands in this menu are only visible and enabled if you aredesigningaformandthatformcontainstheproperdataobjects.

    Figure1.17.TheDatamenuholdscommandsthatdealwithdatasets.

    ThefollowinglistdescribescommandsshowninFigure1.17:

    ShowData Sources This command displays the Data Sources window, where you can

    workwiththeprogramsdatasources.Forexample,youcandraganddroptablesandfieldsfromthiswindowontoaformtocreatecontrolsboundtothedata.

    PreviewDataThiscommanddisplaysadialogthatletsyouloaddataintoaDataSetandviewitatdesigntime.

    AddNewData Source This command displays the Data Source Configuration Wizard,whichwalksyouthroughtheprocessofaddingadatasourcetotheproject.

    AddQueryThiscommandisavailablewhenyouaredesigningaformandhaveselectedadataboundcontrolsuchasaDataGridVieworboundTextBox.Thiscommandopensadialogwhere you can specify a query to add to the form. This places a ToolStrip on the form

    containingTooStripButtonthatpopulatestheboundcontrolbyexecutingthequery.

    22/26

  • 8/8/2019 01 VB2005 IDE

    23/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Meniul FORMAT

    The Format menu, shown in Figure 1.18, contains commands that arrange controls on aform.ThefollowinglistdescribestheFormatmenussubmenus:

    Figure1.18.TheFormatmenucontainscommandsforformattingandarrangingcontrolsonaform.

    Align This submenu contains commands that align the controls you have selected invariousways.ItcontainsthecommandsLefts,Centers,Rights,Tops,Middles,Bottoms,andto Grid. For example, the Lefts command aligns the controls so their left edges line upnicely.ThetoGridcommandsnapsthecontrolstothenearestgridposition.Thisisusefulifyouhavemovedsomecontrolsoffofthealignmentgrid,possiblybyusingoneoftheotherAligncommandsorbychangingacontrolsLocationpropertyinthePropertieswindow.

    MakeSameSizeThissubmenucontainscommandsthatchangethesizeofthecontrolsyouhaveselected. ItcontainsthecommandsWidth,Height,Both,andSize toGrid.TheSizetoGridcommandadjuststheselectedcontrolswidthssothattheyareamultipleof

    the alignment grid size. The other commands give the selected controls the same width,height,orboth.

    HorizontalSpacingThissubmenucontainscommandsthatchangethespacingbetweenthecontrolsyouhaveselected. ItcontainsthecommandsMakeEqual, Increase,Decrease,and Remove.Forexample, ifyouhave selected threecontrols, theMake Equalcommandmakesthespacingbetweenthefirsttwothesameasthespacingbetweenthesecondtwo.Thiscanbehandyformakingcolumnsthatlineupnicely.

    VerticalSpacingThissubmenucontains thesamecommandsas theHorizontalSpacingsubmenuexceptitadjuststhecontrolsverticalspacingratherthantheirhorizontalspacing.

    23/26

  • 8/8/2019 01 VB2005 IDE

    24/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Center inFormThissubmenucontainscommands thatcenter the selectedcontrolsonthe form. It contains the commands Horizontally and Vertically. Note that the selectedcontrolsarecenteredasagroup;theyarenotcenteredindividuallyontopofeachother.

    Order This submenu contains the commands Bring to Front and Send to Back, whichmovetheselectedcontrolstothetoporbottomofthestackingorder.

    LockControlsThiscommandlocksallofthecontrolsontheformsothattheycannotbemoved or resized by clicking and dragging. You can still move and resize the controls bychanging their Location and Size properties in the Properties window. Invoking thiscommandagainunlocksthecontrols.Lockingthecontrolscanbeusefulifyouhavespentalong timepositioning themprecisely. After theyare locked,youcanworkon thecontrolswithoutfearofaccidentallymessingupyourcarefuldesign.

    Meniul TOOLS

    The Tools menu, shown in Figure 1.19, contains miscellaneous tools that do not fitparticularlywellintheothermenus.ItalsocontainsafewduplicatesofcommandsinothermenusandcommandsthatmodifytheIDEitself.

    Figure1.19.TheToolsmenucontainsmiscellaneouscommandsandcommandsthatmodifytheIDE.

    ThefollowinglistdescribestheToolsmenusmostusefulcommands:

    AttachtoProcessThiscommanddisplaysthedialogthatletyouattachthedebuggertoarunningprocess.SelecttheprocesstowhichyouwanttoattachandclickAttach.

    ConnecttoDeviceThiscommandletsyouconnecttoaphysicaldeviceoremulatorsuchasPocketPCorSmartphonedevicesoremulators.Youcanusethedevicesandemulatorstotestsoftwareyouarewriting fordevicesotherthantheWindowsplatformwhereyouare

    buildingtheapplication.

    24/26

  • 8/8/2019 01 VB2005 IDE

    25/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    ConnecttoDatabaseThiscommanddisplaystheConnectionPropertiesdialog,whereyoucandefineadatabaseconnection.Theconnection isaddedtotheServerExplorerwindow.You can later use the connection to define data adapters and other objects that use adatabaseconnection.

    CodeSnippetsManagerThiscommanddisplaystheCodeSnippetsManager,whichyoucanusetoaddandremovecodesnippets.

    Choose Toolbox Items This command displays a dialog that lets you select the toolsdisplayed in the Toolbox. For instance, by default the OleDbDataAdapater andOleDbConnectioncomponentsarenot included intheToolbox.Youcanusethiscommandtoaddthemifyouwillusethemfrequently.

    Addin Manager This command displays the Addin Manager, which lists the addinprojectsregisteredonthecomputer.YoucanusetheAddinManagertoenableordisabletheseaddins.

    MacrosTheMacrossubmenucontainscommandsthathelpyoucreate,edit,andexecutemacros.SeethesectionMacros,laterinthischapter,fordetails.

    ActiveX Control Test Container This command displays the ActiveX Control TestContainer, which lets you test and debug ActiveX controls. You can use it to change thecontrolsproperties,callitsmethods,andraiseitsevents.

    CreateGUIDThiscommanddisplaystheCreateGUIDthedialogthatletyoucreateanewgloballyuniqueidentifier(GUID,pronouncedtorhymewithsquid).SelecttheGUIDformatthatyouneedandclickNewGUIDtogenerateanewGUID.ClickCopytocopytheresulttotheclipboard.

    Dotfuscater Community Edition This command launches the displays the Dotfuscater

    Community Edition, a tool that you can use to make the intermediate language (IL) codegeneratedbyVisualBasicmoreobscureandhardertoreverseengineer.

    ErrorLookupThiscommanddisplaysasmalldialogwhereyoucanenteranerrorcodeandseeadescriptionoftheerror.

    ATL/MFC Trace Tool If you are building Active Template Library (ATL) or MicrosoftFoundationClasses (MFC)projects,thiscommanddisplaysatoolthat letsyouviewdebugtracemessages.

    Spy++ThiscommandlaunchestheSpy++tool,whichletsyouviewthemessagessenttotheapplication.

    ExternalToolsThiscommanddisplaysadialogthatletsyouaddandremovecommandsfromtheToolsmenu.Forexample,youcouldaddacommandtolaunchWordPad,MSPaint,WinZip,andotherhandyutilitiesfromtheToolsmenu.

    DeviceEmulationManagerThiscommanddisplaystheDeviceEmulationManager,whichletsyouconnect,reset,shutdown,andotherwisemanipulatedeviceemulators.

    Meniul WINDOW

    The Window menu contains commands that control Visual Studios windows. Whichcommandsareenableddependsonthetypeofwindowthathasthefocus.

    25/26

  • 8/8/2019 01 VB2005 IDE

    26/26

    Medii iTehnologiideProgramarecurs IntroducerenVisualStudio.Net

    Meniul COMMUNITY

    TheCommunitymenucontainscommandsthatcanhelpyouconnectwiththeVisualBasicprogrammingcommunity.ThesecommandsleadtovariousMicrosoftWebpageswhereyou

    canaskquestions,sendfeedback,searchforexamples,findsnippets,andsoforth.