Você está na página 1de 15

15/01/2017 VisualBasicWikipedia

VisualBasic
Origem:Wikipdia,aenciclopdialivre
OVisualBasic(VB)(pronunciavizsulBeziat)daMicrosoft,desenvolvidopelaorientadaaobjeto,eventodriven,
estruturadoestruturadolinguagemdeprogramao,oquecorrespondeambientededesenvolvimentointegrado. VisualBasic
Explicaodosinaldistintivo"visual"queosaplicativosdoMicrosoftWindowspreparavaelaborouumcompletamente paradigma orientadaaobjeto,
novoprincpioemqueoprogramadorcompilandovistopeloselementosdeinterfacedousuriocomearausarum estruturado,modular,
mtodomuitoconvenienteparaelesparaacomodaremodificar.Ocdigobaseadonaestruturalgicadesteslocaisde
imperativo,multi
controloiniciadopeloutilizadordeeventosdadas.MaisprogramadelnguafeitaversesdoVisualBasic,C++,C#,
FoxPro,J++. threaded
publicado 1991
ComoVisualBasicparadiferentedoMicrosoftquatrosistemadedesenvolvimentodesenvolvidosedialeto:
revelador Microsoft
VisualBasicltimolanamentodaverso6.0eMicrosoftVisualStudiofazpartedeumpacotedeseisem1998. ltimaedio 6.0(1998)
MicrosoftparaapoiarVB6concludaem2008,mas,noentanto,continuarafrunsdeinternetquevoem
Fabricaodosistema.Vriosmodelosdiferentesforamlanadas(Standard,Professional,Enterprise),huma digitao vagamentedigitado
diferenaentreelesnascapacidadeslingusticasedeexpanso. compilador embutido
VisualBasic.NET(VB.NET)Microsoft.NETframeworkconstrudosobrenovabasededesenvolvimento,a
primeiraversofoilanadaem2002paraVisual7.0nomesbsicos.Infelizmente,causandoconfusocomonome implementaes MicrosoftVisual
dofabricante,VisualBasiccontinuaamanteremuso,porquealinguagemdacompatibilidadeVB6bsicocom Studio
Microsoftterminouemvriospontos,essencialmenteumanova,totalmenteconvenesdeambosalinguagem
influncia MicrosoftQuickBasic
BASICmaisadequadodadoessenome.NasversesanterioresdocdigofontedoVisualBasicescritassomente
apsarevisoestaroperacionalemambientedeVB.NET.Porconseguinte,oVB7nocontinuaremVB6faz. Idiomas VisualBasic.NET
VisualBasicforApplications(VBA)AsformaeslinguagemVisualBasicdesualinguagem,emgrandemedida afetados
idnticaquesomentedentrodecertosaplicativosdaMicrosoftcomooMicrosoftOfficepacote(.Porexemplo,
sistema Textooriginal
MicrosoftWindows98
AutoCAD)programaseescreveralgumfuncionamentodentrodeoutroaplicativoprever,senecessrio,em
consonnciacomafinalidadedeohospedeiroeemparticularinstalaes. operativo WindowsXP
Visual Basic .NET (VB.NET) a Microsoft .NET keretrendszerre
VisualBasicparaMSDOS(VBDOS)SobosistemaoperacionalDOS,daMicrosoft,escreva,atelademodode plt j fejlesztbzis, els vltozata 2002ben jelent meg Visual
site(http://msdn.microsoft.com/enus/vstu
Basic7.0nvvel.
caracteresexecutadofeitadeprogramasquepodemsermanipuladospelasjanelasebotessimilaresaoWindows,
introduzindoumanovainterface.Sedio1.0marcouoparafora(1992),aseguirdesenvolvidaapenasnaverso dio/ms788229.aspx)
Sugerirumatraduomelhor
paraWindowsabaixo.

Esteartigogeralmenteumsistemadedesenvolvimento"visual",eentooBasic6VisualProfessionalversoemlnguadescrevecaractersticas.

ndiceanaltico
1 O"vizulissg"
2. ACronologiaVisualBasic
2.1 principaisestaes
3 Ainterfacedodesigner
4 Omodelodeobjeto
5 Oesemnyvezreltsg
5.1 Oprojetomultithreaded
6 Oeditordecdigoderea
6.1 TestRun(debugging)
7 Ocompilador(compilador)
8 OselementosdalinguagemVisualBasic
8.1 Ol,mundo!
8.2 Aestruturaprimria
8.3 Font
8.4 Atribuio
8.5 TiposdeDados
8.6 Constantes
8.7 Operadores
8.8 Mdulos
8.9 ProcedimentoseFunes
08:10 passagemdeparmetro
8:11 Mtodos
08:12 estruturao
8.12.1 Filial
8.12.2 Ciclo
8.12.3 Etiqueta
8:13 codewords
8.13.1 Agrupamento
08:14 VerificaodeErros
8.14.1 AntesdeImplementao
8.14.2 DuranteExecuo
8:15 Hibaelterels
8:16 deficinciasidioma
9 Traduo
9.1 Cdigo
9.1.1 Installer
10 Maisopes
10.1 OLE(ObjectLinkingandEmbedding)
10,2 OCX(OLEControledeextenso)
10,3 DAO(DataAccessObject)
10,4 ODBC(OpenDatabaseConnectivity)
10,5 DLL(DynamicLinkLibrary)
10,6 oWindowsAPI(ApplicationProgrammingInterface)
11 Notas
12 Fontes

O"vizulissg"
Emcomparaocomosprogramasdedesenvolvimentoanterioresforaminovaesdepocanaconcepodaajudaaodesenvolvimento,queo"visvel"aonome
deve.OdoWindowsessencialmenteconstitudoportodososelementosdainterfacepadrodoprogramabsicos:.Janelas,botes,barrasderolagem,linhadeentrada,
lista,etcEstaasuperfciequemostradoparaosusurios,gerenciareoprogramaatrsdeles,nocontextodewidgetsmanterexecutaatarefa.reformalinguagem
visualfoiqueoprximoprogramadeveserprojetadopelaprimeiravezestasuperfcie,pelomenosaproximadamente,eoprogramaumaatividadeessencialem
segundoplanorealizaroperaes,clculoseinstruesdeprocessamentodedadospodementoserelementosdeinterfacedousuriohabilitadoparaescrever.A
abordagemquaseinverteuosentidodaconcepodoprograma,masaplicadosomentenaprimeiraetapa,seguidaocursododesenvolvimentodepartesdoprograma
soopcionais.

OprogramaVisualBasictemaintenodeconstruir,controlavaasatividadesdeescolhadousurio.Oprograma,queesttrabalhandoemumasessode
processamentodetempodeformaindependente,semnecessidadedeintervenodoutilizador,emqualquerconvencionallinguagemdeprogramaoparaescrever.
Entreestes,existemvriosque,quepreparouoprogramarealizaosclculosmaisrpidodoqueoqueoVisualBasiccompiladordoresultadofinalrecebidapodeser
alcanado.Emcontraste,umbancodedadosdetratamento(Registration,faturamento,contabilidade,liquidaoporexemplo.Impostos,reunindoetc)ouum
aplicativodedesktop,aplicaeswebusado,ousurioselecionamuitaspossibilidadesparaforadassuasfunes,umasriedeitensnovisorativa,especialmente
quandocomotratamentomouse.importantenotarqueessesprogramassogeralmentenoimportaavelocidadedoprograma,geralmentedevidoaintervenodo
utilizador,paraoteclado,cliqueemespera.[Mj1]Aabordagemtradicional,dirigidoporalgoritmossistemasdedesenvolvimentodesoftware,tantasopesde
monitoramentoconstanteemomentosoperadordedetecomuitotrabalhosoparaimplementar.Eleretardaotrabalhodamaneiraqueosoftwareoperacional
https://hu.wikipedia.org/wiki/Visual_Basic 1/15
15/01/2017 VisualBasicWikipedia
monitoramentoconstanteemomentosoperadordedetecomuitotrabalhosoparaimplementar.Eleretardaotrabalhodamaneiraqueosoftwareoperacional
WindowsdousurioparaoscontrolesgrficosdoWindowsnormaisestoesperaparaoestabelecimentodeumtalcdigodeprogramaeocdigofontepodefazer
volumososetambmpodesertrabalhosa.Paracomplicaraindamaisasituaoquandooprogramaconcludoquandovocalterarainterfacedousurioparaser
expandidacomnovoselementos,ouparaalterarasualocalizaooucaractersticas.

maiseficienteparaescreverosprogramas,seestetipodetarefas,asautogestodedetalhesdoprogramaatribudosaditarasaesestointimamenteassociados,e
estessegmentodeprogramacompostadetodooprograma.Portanto,oprincipalobjetivodosprogramasdedesenvolvimentoVisualfocadanaproduoe
reparabilidadedainterfacedeusuriodoservidorrpido,assimvocpodeverosblocosdeconstruodeprogramasdoWindows,aintroduodedoisnovos
conceitos:ocontroledosistemaefezcomqueesteseventosso.[1]

1.Aprogramasmaissimplesparadaocasional,desacelerar,infelizmente,poucoprovvelquesejaeliminadoatravsdaaceleraodoaplicativoporqueelegeralmentecausadapelas
operaesdefundoOScheioepesado,masanecessidadeconstantementeoperadaVirusShieldactividadesdeinspecopodelevaraumnovoabrandamento.

AcronologiadoVisualBasic
AversoVisualBasic1.0surgiuem1991.OdraganddropinterfacedeusuriobaseadaemAlanCooper,desenhadopore
OutrostripvemdenomesdedesignersprogramaJanelaGeradordecdigos.MicrosoftcontratadocomCoopereseusamigos
serprogramvelparadesenvolvertripWindows3.0,oRubynome.(Nadaavercomomesmonomedelinguagemde
programao.)Otriplinguagemqualquertipodeprogramaonoestincludo,entoaMicrosoftdecidiuRubye
combinandoalinguagemBASICcriadonoVisualBasic.

Ogeradordeinterfacederubieraparte"visual"donovosistema,eincorporadojuntooBASICincorporadoferramentade
desenvolvimento,anteriormentedaMicrosoftOmegaqueriausarbancodedadosdenomedosistemadegesto.Rubipermitiu
controlesadicionais:bibliotecasDLLcontendo(comoerachamado'gizmkat")montado,quemaistardeVBXdesenvolveu
umsistemadeelementos.[2]

estaesprincipais

Em1990iniciouotrovoprojeto("Storm").
Maiode1991VisualBasic1.0paraoWindowslanadasnafeiraComdexMundial/WindowsemAtlanta(EUA).[3]

Setembro1992VisualBasic1.0foilanadoparaoDOSoperandosobaverso.Alnguanoeratotalmentecompatvel AlanCooperprojetouoVisualBasic
comoWindowslinguagemVisualBasic,poisrealmentetradutoresbaseadosemDOSdaMicrosoft,aQuickBasicato "arrastaresoltar"interfacedo
BASICPDSateraumaversomaisrecente.AapresentaointerfacedeusuriodocarterconjuntodecaracteresANSI usurio.
deelementosgrficoscopiadoointerfacegrficadousuriodoWindows,claro,muitasconcessesforado,mas
eficazematingiroquadrogeral.Atcnicadetratamentodesuperfcienomuitodiferentedequalquerfuturo
Windows98,WindowsXPmanipulaolo.[4]
Novembro1992VisualBasic2.0paraWindows.Oambientededesenvolvimentodesoftwaretornousemais
fcildeusar,esuavelocidadeaumentada.Devesenotarqueasjanelas(formulrios)instanciadoobjetosem
tornarse,lanandoasbasestericasdosmdulosdeclasseapresentadosemVB4.
Vero1993lanouaverso3.0,agoraseparadaspadroeprofissionaisverses(esteltimoincluimais
ferramentaseopes,umpreomaiselevado).OVB3includosnosMicrosoftJetDatabaseEnginecomponentes
dosistemadegerenciamentodebancodedadosdenomesquesabiamlereescreverJet(ouAccess)basesde
dados1.xcompliant.Issopermitiuqueosmaissriosprogramasdearquivamentodeescrita"operacionais",livrar
sedasAcessorestriesapertadasdeprogramadeconstruodebancodedados.
Agosto1995lanouaverso4.0aprimeiraa16bite32bittemsidocapazdeproduzirprogramas.Haviatrs
verses:Padro,profissionaleempresarial.Eleseapresentoucomapossibilidadedenorepresentarobjetos
quedefinemcontroles.AincompatibilidadeentreasversesVB4,noentanto,causouproblemasdeinstalaoe
operao.VersesanterioresVBXcontrolesforamcapazesdeinserir,emvezdasjVB4OLEcontrolesso
usados(arquivoscomaextensoOCX).MaistardeActiveXcontrolescomearamachamar.Duranteos
programasescritosnaverso3.0cdigofonteaindanoeraumtextoclaro,masdeformacriptografada,assimque
estestransiodaverso4.0sfoipossvelusandoaverso3.0,quecausouumasriedeproblemasdepoisde VisualBasicparaMSDOS
umaposteriortransioparaonovosistema.
Fev1997verso5.0daMicrosoftsuportadoapenasescreverosprogramasde32bits.Osprogramadoresque
preferiuusarvocpoderodaroWindowsmaisvelhossoftwarede16bits,ocdigofontedesuatransitarparaosistema5.0,entonopoderiatraduziro
cdigodesenvolvidoduranteaverso4.0.O5.0introduziuodesignpersonalizadodecontroles,comoonativodecdigoapsaopodetraduodetambm
aumentaravelocidadedeprogramasdecomputaointensiva.FoiumdownloadgratuitocontrolecriaoEdition(EditorControlEdition),permitindoqueos
controlesActiveXdesignnico.Eraadequadoquevocesteditandoprogramasjexecutadosemtraduofoirealizadanoszerkesztkrnyezeten.
Meadosde1998lanadoVisualBasic6.0,quetemdesenvolvidoumasriedereas,[5],incluindoaplicaesbaseadasnaInternet,fazendohabilidade.
31demarode2005Asprincipaisdireesdedesenvolvimentodesistemasdeapoioforamconcludas,outrasatualizaesnosofeitas.Umacomunidadede
usuriosdoVisualBasicdestefelzdulssalrecebidoeumapetioexigindooprodutomantidovivo.[6]ParaalmdaMicrosoftaderindosuaposio
anterior.(Masveja[7])Ironicamente,novaproteodaMicrosoftantispywareemitidaporestetempoMicrosoftAntiSpyware,umgiganteempresade
softwaredoprodutodapeaVisualBasic6.0foiescritopor.[8]OsucessordoWindowsDefenderC++reescritadecdigo.[9]

Marode2008Microsoftoficialmenteconcludooapoiofinal,desenvolvedorVB6.Eledeixoudeapoiarosistemadedesenvolvimento,abibliotecadetempo
deexecuoconcludaemWindowsVista,WindowsServer2008edoWindows7sistemas.[10]

Ainterfacedodesigner
OlanamentodeprogramasdedesenvolvimentoVisual,emlinhacomanovaabordagemenvolve,paraocargodedesigndeinterfacedeusuriochegamos.Cada
janeladoaplicativobaseadonapalavraInglsformao(porvezesformulriosmencionadoscomo).Oprogramafinalircomearaformarumaaberturadejanela,
comousualemaplicaesdeWindows.Praticamente,podemostomarnovasformasdesuaescolhaemnossoprogramaquepodeabrirefecharoprogramaconforme
necessriopara.Naesquerdavocpodeverabarradeferramentasqueaslistaspodemsercolocadosnasjanelasoperacionaiseelementosdevisualizaotipos.A
partirdabarradeferramentaspodesercolocadoselectivamenteemconjuntoocontedodajanela.(AtualmentedenominadaForm1),vocpodeverapreparaode
fundocinzentocompilaocrucrudajaneladoprogramarealmenteapenasrequeralgummovimento.Osgrupospodemsertomadasdesteselementos,quepodem
conteroutrosgrupos.

OdispositivopodesercolocadonoprogramaWindowsestemfuncionamentoeelementosdeexibiocoletivamentecontrolara(controledechamada).

Cadacontroladorsopropriedades(propriedade).parteinferiordireitaumapequenajanela(Propriedades)na
qualocontroladorfoimarcadolistaaspropriedadesquepodemserdefinidasnafasedeconcepo.Osistema
mostradonafiguraatribuitodoocontroladorautomaticamenteumnomeexclusivoparaocdigodoprograma
podeserinvocadocombaseemque,almdeindicarotipodecontrole(forma,commandbutton,barrade
rolagem,caixaetc)Estesnomespodemseralteradas.Vocpodedefinircadafontesdecontrole,cores,imagem
defundo,localizao,tamanhoeparmetrosqueregemmostrouocomportamentodeprogramasqueiniciam
quandooelementovisvel,cliqueparareagiraqualquertecladeatalhoparaestardisponvel,qualdevesero
formatodoponteirodomouse,porexemplo,mais.Estascaractersticasnosodesign,masmaistarde,o
programaemexecuopodemsertransferidos,assimquetodososelementoslanadoaindaoueliminar,
redimensionado,movido,vocpodeescolherascores,ocontedodotextosobreele,otamanhodafonte,
dependendodecomoocontrolepodeserusado.Prontopodeoferecerrecursoscomoabolhadeativosouuma
descrio(sugesto)dotexto,comasequnciapassoteclaTabnalistaderequisitosdedeclaraoemordem
alfabticadecontedo,essasfunessosuficientesparadefinir.Aspropriedadesdalistanosocaractersticas
visveis,comoofatodequeocontroleecoloclorefletediretamenteocontedoeditadoemumcampoaberto
emqualquerbancodedados.

Muitoscontrolador,htambmrecursosqueestodisponveisapenasduranteaexecuodocdigodoprogramapodeserlidoemodificado,porexemplo.umalista
oudecombinaocaixadenmerodalinhaativaquecontmocontroleparaoobjetopainomeouinformaesdequeousurioestlongedemoverumitemde
dadosdatela.

Oscontrolesnormalmentetipocaixanomesso(fotodaesquerdaparaadireitaeparabaixo):(indicadordeseleodedispositivonocontrola),PictureBox,rtulo,
TextBox,Frame,CommandButton,CheckBox,OptionButton,ComboBox,ListBox,HScrollBar,VScrollBar,Timer,DriveListBox,DirListBox,FileListBox,forma,
linha,imagem,dados,OLE.Oformulrionopodecontrolar,masoprogramaummdulo,paraqueoutroscomopegarumanovajanela,comotambmemoutras
partesdasjanelasdoprogramapodeserprojetadoestruturadomenu,masasformassoformadosparacontrolaroutrossemelhanteseventos.

UsandooWindowsbuiltincontroledeseuprpriopartido,umatelaespecialcontraoselementosproduzidosdeoutrasmaneiras:aaparnciadascores,ajustao
contrrioautomaticamenteparaotemadateladeusurioselecionado.Seousurioselecionaumtemadiferente,oselementosdoprogramadatelaparecequemuda,
semterquemudaroprograma.Humadesvantagemqueplanejadopelaimagemglobalprogramadordosujeito,alterandoafonteoupodefalhar,portanto,osistema
https://hu.wikipedia.org/wiki/Visual_Basic 2/15
15/01/2017 VisualBasicWikipedia
semterquemudaroprograma.Humadesvantagemqueplanejadopelaimagemglobalprogramadordosujeito,alterandoafonteoupodefalhar,portanto,osistema
dedesenvolvimentopermitequeoprogramadorparacompilarseuprprioestilovisual,oacimadescrito.

programasvisuaispermiteainserodevriostipoadicionaldecontrole,aprpriaMicrosoftoferececoisascomoarquivosadicionais(ex.TabStrip,barrade
ferramentas,ProgressBar,TreeView,ImageCombo,Animao,MonthView,MaskEdBox,FlexGrid),masoutrosfabricantessogratuitosoudisponveisparacompra
foramdisponvelparaindivduo,elesdesenharamcontroles.Oprogramaprojetadocomtodososarquivosdecontroleadicionaisnocritriodosistemaoperacional
felsoroltathat,evocpodeselecionaraquelesquevocdesejaadicionarpiscinaemcontrolesqueapartirdainterfacedousurioempotencialparafazerasuacpia.
Onointegrados,masseparado,OCXouDLLarquivolocalizadonoActiveXcomponentesdesoftwareemumpacotedeinstalaodoprogramafinalizadosido
tambmacrescentou,certificandosedequeousurioestpresentenosistematambm.

Osdesenvolvedoresprogramarseusprprioscontrolespersonalizadospodecriarumsistemavisual,quesoregularmenteutilizadosporoutrosprogramas,oupublicar.

Omodelodeobjeto
Oobjetodeumaunidadelgicadeprogramao,quecontmumavariveisdedadospodereservaremumgrupo,emseguida,aspropriedadesvariveis(propriedade
chamada).Cadaobjetopodeserdefinidaemumnmerodediferentespropsitos,significadosetiposdedadosdepropriedades,equandoestaunidadeutilizada
comoummodeloparaoutrosobjetosnomesmoestabelecimento,oobjetooriginalumaclasse(classe)muda.Estasoluonicaabordagemprticaparaomodo
dedesenvolvimentodoprogramadiferedosmtodosmaisantigosdevriostiposdedefiniroshabituaisvariveiscomplexaseabstratascriadasnessestiposdeuso.A
diferenaqueosobjectosdefiniro"comportamento",maisprecisamente,cadaobjectopodeincluirumcdigodeprogramaaserexecutadoduranteasoperaescom
tarefas.Comovocpodevertodoolineupemimportnciaquandonovosobjetossocriadosparaumaclasseparticular,eimediatamentepegaaspropriedadesda
classesodefinidoscomopropriedadeseassumirobjectodeumcdigodeprograma.

sistemasMicrosoftVisualdestinaseaapoiaraprogramaoorientadaaobjetomtododeseguidores,assimcomoopontodevistadaprogramaocomoumobjeto
utilizvelemtodoocontrole.controlarformalmenteumtipodedadoscomplexoquepodeserusadoparadefinirnovasvariveis,ecadacontroledegravaocomas
propriedadesrealmenteencontradoslotextofonteemumaseoseparada.Mashumbuiltintodososcontrolesdotipo,queatrsdoscontrolesdeumtipode
classe,econtrolesparaquenosascaractersticasformais,mastambmrelacionadoscomoscdigosdeprograma.Comoresultado,todososcontrolesdeum
mecanismoqueoperasobonveldaprpria"fbrica"doaplicativofoicdigodeacordocomasoperaesdousurioecontroledeaplicativosnoevento(eventode
formulrio)serexibida.Comestaprogramaoremovidodosombrosparaodesigneespecificaesdecomoresponder,defato,atmesmonotarumbotoquando
ousurioclicasobreelecomocontrolarolayoutdetextoinseridoeexibiodalinhadeentradaoucomoconfigurarumacaixadecombinaoelistaDesenrolar
pesquisarpida.Essesrecursossoautomaticamenteherdouaspldnyrltodosinstanciadosucessor,comoocdigofontenoexibido.Seoprogramadorprecisa,
vocpodedefinirseusprpriostiposdedados,classespersonalizadas,masasclassessousadosprincipalmentenaformadecontrolesinternosestoprontospara
receber.Poderiaserditoque,semesteprogramarealmentetudoserescrito,masousogeraldeaplicaodenvelprogramasdepreparaodeestilodoWindows,
estesistemaaceleramuitasvezes.

Oesemnyvezreltsg
Paraaquelasaplicaesqueasolicitaodousurio,dirigidoporoselementosdeinterfacedousuriooperar,achaveparaomonitoramentodoelementodeinterface
dousurioque,quandorealizouoqueaes.Umprogramadorpoderiafazerissocomumcliquedeumateclapressionadaouquandooprogramaverificaa
localizaoeostatusdoselementosdeinterface,kidertendnaquelemomentoparticularqueumacoberta.ProgramasnosistemadedesenvolvimentoVisual,por

escrito,issononecessrioporqueoprprioWindowsvaifazeramesmacoisanofundo,eoprogramatemapenasumcontroladordeocorrnciadeeventosdum
sinaldequeaaodooperadorbemcomoanaturezadequalqueritem.Oprogramadortemqueplanejarsuficienteparacontrolarqualquereventoqueoprogramao
quefazer.

Aquivemtonanaeventdrivenmodelooperacional.instruesdeprogramaotradicionaisemformadeprogramadeprimeirafonteexecutadoquandooprograma
foriniciado,eemseguida,executardeformaindependenteasequnciadeinstruestodadescritoseminterferncia.Emalgunscasos,oprogramapareceparar,como
umaesperadeteclasnoprograma,masnarealidadecontinuaaavaliarDuranteaespera,repetindoasmesmaspoucasencomendasquejforamimpostascomo
condioparaavanarimpulso.Estaexpectativadeveserumainvestigaoeimporosdetalhescompletosdoprogramadorprogramadeorigem.Umprograma
clssicodirigidoporalgoritmosrodandoemumalinhacontnuaaseguir,aterlugaremumladodecadavez.

OsprogramasdeVisualBasicescritoiniciasuasatividadesdeumamaneiraparticular,atelaexibeajaneladoprogramacomoseucontedo,edepoisnofazernada.
Naverdade,umprogramadeprocessamentodetextolimitaseprincipalmenteaestaatividade,umavezqueotempodemquinaincrveltaxaobservadagastona
mquinaqueestesperandooprximogolpedacarta,ouousurioparaselecionarumitemdemenu.O"nofazernada",quandonaverdadeanalisacontinuamenteos
sinaisdotecladoeoratodadireodeque,comosinalcertoparacontinuaraoperaoemumasequnciaadequada.Masessaexpectativanotemdedescreverpasso
apasso,oprogramador,masobuiltinserviobaseadoemVisualBasiclinguagemdeprogramaoqueresolvidoporumnvelsubprogramaescondido.O
programa,quandoempormenor,comoocdigodemquinanvel,inspeccionar,essencialmenteamesmaestruturaemambososcasos,adiferenaqueestadeve
incluirnocdigoqueoprogramadormenos,oquesignificamenostrabalhoparaalcanarosmesmosresultados.

Amaiorpartedaoperaodecarregamentodoprogramaaguarda,porconseguinte,noumfenmenoextremo,masapenasalteradaapartirdosesquemasclssicos:
oprincpiodefuncionamento.Estamudanadeatitudefoiacausadoqueautilizadanoprogramasofeitasdeumpropsitobemdefinido,nemestemumusurio
gesto,massemumusurioemumasalaseparadainstaladonocomputadordecorrida.[Mj1]Oprogramadescreveuatarefaquequasesempreserrastreadaat
algumtipodeclculooudeatividadededadoscomeouimediatamenteequeoobjetivoeracompletarotrabalhoaserfeitonomenortempopossvel.Tambmhoje,
muitosdessesprogramasfeita.Masacomputadorespessoaisnascimentocriouademandaporinterativatambmprocurouosprogramasqueousuriosecomunicar
algo,aguardea"resposta",dependendocontinuarotrabalho,quedevecomunicarosresultados,esperarataprximarespostadousurioeassimpordiante.Os
aplicativosdeusuriopadropertencemaoltimogrupo,podeserderrogado"docomeoaofim"oprincpiobsico(porvezeserradamentemonolticochamado),de
cadeiasimplesprogramkonstrukcitl(singlethreaded).

1.Oprogramadornovaimesmotidocontactodirectocomumprogramadecomputador,taiscomocartasdemoarmazenadoemumbenefcioparaooperador,atumprdiodiferente.O
operador,quandooprogramatevelugar,carreglaparaocomputador,executareosresultadosenviadosdevoltaprogramaimpressoempapelcomcartesperfuradosempilharo
programador.Seoprogramaforpresoporalgummotivo,ooperadornoointerrompeuparareservaroprogramadotempodetrabalhocomputadorcaro.Perguntasparaousurionaquele
temponoexistia,defato,norealmenteousurio.

Oprojetomultithreaded

Asintervenesdousuriodoprogramadeeventosnaformaaparecer.Cadaeventoumprogramaindependentepertencemacadaeventopertenceaumobjecto,
qualquerobjectotambmpodecontrolarecadacontroladorpodeocorrerpara,pelomenos,umtipodeevento.Otemporizadorcontroladordotipoapenaseventos
possveis,definidoquandoacontagemregressivatermina.Emumformulriotipodeobjeto,osseguinteseventospodemocorrer:Activa,Click,FazerDuploClique,
Desactivar,DragDrop,arrastesobre,GotFocus,Inicializar,KeyDown,KeyPress,KeyUp,LinkClose,LinkError,LinkExecute,Abrirlink,decarga,perdeuo
foco,MouseDown,MouseMove,MouseUp,Pintura,QueryUnload,Resize,Finalizar,descarregaralgunsdosquaissodesencadeadasporatividadese
programasiniciadosporeventosemoutraspartes,bemdeumusurio.Ocomportamentono,portanto,concebidoparaserumprocessocentral,masaqualse
respondeaumcontroladordeeventosespecficospodemsercriadosnoprogramaeoquevaiserasriedeoperaesaseremrealizadas.

Aessnciadomultithreadingquesequnciadeaces,eventossounscomosoutrosaomesmotempocorrer.

Cadaeventoumprocesso(processo)dentrodoprograma,equalquerumdelespodeserescritocomopartedoprograma,oqualimplementadonocasodado.(Veja
ilustrao).Aimplementaoseriniciadaimediatamentequandoocorreoevento,mesmoquesejaapenasumresultadodeoutroeventoemoutrapartedoprograma
queestsendoexecutado.

Comoresultado,essasituaopodeocorrer,porexemplo:eleconsideradoosegmentoprincipaldoprogramaesttrabalhandoemumadeprocessamentodedadosou
atarefacomputacional,porsuavez,escrevealgumtipoderesultado,queatelaatualizaalocalizaodosgatilhosdechamadas.Estaactualizaodesencadeiaum
eventoqueterlugardevidomodificaodeumoutroelementodatela,enquantoocomputadoraindaestocorrendo.Duranteestetempoousuriopressionauma
tecla,oqueindicaqueosclculosfazerumapausa,esteomomentodeiniciaroexamedasteclaspressionadasexecutadoprogramadepeaumcontroletimere
detectartodootempoquevoctiverdefinidoumhorriodetrminoexpirou,eexecutarospassosnecessriosnestemomentoapresentadaumamensagem.Tudoisto
fazcomqueasfibrasparalelassimultneas.

Odesignsoftwaremultithreadedorientadoaeventospodemserfeitasparaoprogramaduranteaconstruodaagenda
desmantelamentodeprogramasdepeasmuitoconveniente,masparaaquelesquesousadosparaescreverumprograma
comvriossegmentos,primeiravistaparecemuitocomplicado.Htambmadesvantagemdasoluo,oqueeliminaa
necessidadedeaprenderasmaisprogramszlrlnoseideunsaosoutrosquandoeemqueordemvaiacabar.Sea
atividadedepoisqueassubtarefasdealgoparasidevemseradaptadosaexistirvriassolues,masoVisualBasicinclui
umainstruo(DoEvents)queoprogramaforneceumsistemadegerenciamentodefundoquevoctemqueesperarpara
cadainiciadooeventoconcludaantesdeprosseguir.

Ascordasparalelascorremnosignificaqueoprocessadoraomesmotempo,fazervriascoisas,queaarquiteturade
computadorpessoalpossvel.Naverdade,nestecaso,oprocessadorexecutaumtennivalblcadasecoe,emseguida,
fazeromesmoaprximalinha,orkvetkezvel,emseguida,reinciodaprimeirafibraeassimpordiante.Este
https://hu.wikipedia.org/wiki/Visual_Basic 3/15
15/01/2017 VisualBasicWikipedia
fazeromesmoaprximalinha,orkvetkezvel,emseguida,reinciodaprimeirafibraeassimpordiante.Este
realmenteomesmoqueossistemasdelongomainframe,aplicadohoje,timesharingprincpiodefuncionamento.At
mesmoosistemaoperacionalWindowsparaqueelefunciona,entovocpodeexecutarvriosprogramasaomesmo
tempotambm.Asoluolimitadapelosrecursosfinitos,ouseja,muitosprogramasabertosounonossocasotomou
operaoemtempodemais,alongoprazodoprogramadetrabalhoemfibraspoderetardarasuaexecuo,comoo
computadorirpartilharashorasdetrabalhoentreeles.

Omtododeoperaodoprogramaeventdrivennoconceitual,lgico,aocontrriodoclssico,,estruturadoparadigma
decadeiasimplesdeprogramao.Oprogramarealmentefunciona,substituindoocomputador,masmuitoaltavelocidade
verificaeventosdeentradaprogramadaspelooperadoretarefas,eumatradicional,mltiploscruzamentosregulares(
comutaomeios)alternadamentedirigemadirecooperacionaldoprogramszlnaksempremaisum.Amudanaest
acontecendoemaltavelocidadeefrequncia,graasvelocidadedoscomputadoresdehoje,ousurionovainotar
qualquerinterrupoemqualquerumdosprogramszlban.Quandoasinstruesdeprogramaonasfibrasdemuitos
eventosaserimplementadoplanodestandalone,vocpoderealmenteplanejarasvriasvertentesdemultifilial,queest Asorigensdoeventosemolharrealmente
totalmentealinhadocomoprogramszerkezethezestruturadatradicional.Adiferenaqueoramoumsubordinado fibrasramificaocamadasimplementados
camadadesoftwareocorrequandoelesnosoumprogramador,noprecisasaber,elesencontrasecomacontinuao emumprogramaocultorealizados
dosramos,aparentementeprogramaindependentenaformadefibras.

Ainterfacedoeditordecdigo
Oprximoprogramasercompilarinterface,instalaoeconfiguraodoscontrolesapenasumapartedoprogramafoiescrito.programasvisuaisnodesistirde
qualquerpainisdeoperao,modelos,quesosuficientesapenasparaaedioeoprogramabasicamentejestoperacionalTaisserviospodemusarcomo
Clariondesenvolvedordoaplicativoaconstruodosistema.AcompilaoaplicaesdebancodedadosespecficasrapidamenteservecomoumBasic,C++,etc.no
entanto,elesdesenvolveramumageraislinguagensdeprogramaofinalidade,quenosotarefastpicas.Assim,essessistemadedesenvolvimentovisualnaprpria
programaoumprogramadisfuncional,semiestruturadasomentedepoisdeobterodesigndeinterface,todosteendjtoprogramadevepreveraformatradicional
deinstruesdoprograma.Istorequeraediodecdigofontedeumprograma,operaodetestee,porltimo,osmeiosparacompletar,oprogramapodeser
transferidoparaproduzir.

OsistemadedesenvolvimentoVisualBasiccompletamentetomadopelaMSDOSexecutandosobOSQuickBasicpassado,todososelementosdetodaacriaoe
ferramentadeteste,ePDSidiomaverso7.1,quesointerpretadosnoWindows.Assim,odesenvolvedoraindaestdisponvelparainstantneossintaxeverificao
decapacidadesdeedioentreopassorun,ocontrolevariveldevalor,ospassos,ajaneladecomandodirecto,definirospontosdeinterrupo.Comestesservios,o
QuickBasicfoiextremamenteconvenienteerpidodeusarsistemadedesenvolvimentodepropsitogeral.

Ainterfacedoeditordecdigorealmenteidnticasuperfciededesign,apenasaformadecdigofontee
kdmoduloknak(verimagememvezdaformamaistarde)colocadosnasjanelasparaoprimeiroplano.Ento,
claramente,oscontrolescertosetrechosdecdigoassociadosusado.Naverdade,seatribuioscontrolessoum
dosjaneladedesigner,eleserimediatamentesolicitarqueocorrespondenteprimeiroeventoscriptdeveterum
dajaneladoeditordecdigo.Kdablakbanparatodasasformaspodepercorrerosprocedimentosefunesde
formao,bemcomonovosprocedimentos,funespegar.Ocdigoestescritonestes,naturalmente,adaptado
paraalinguagemdeprogramaoparticular,demodoBasic,C#,etc..lngua.

Mostradoemumapequenajanela(cantosuperiordireitodoProjeto)mdulosestolistadosnoprograma,apenas
aforma,abaixodomdulodecdigo.EssaafmMainkdablakaaformaactiva,sobumajaneladomdulode
cdigoseparadoestnaparteinferiordaimagemfmMainformadejaneladoestruturador.Ocdigofontedos
elementosdelinguagem(palavradecdigo,varivel,ocomentrioconstante)displaycoloridonico,facilitando
umarpidavisogeraleparaverificarseonomedoprocedimentoescritojesttomada,asuachamadaexistente
paraaao.

Oeditordecdigoumadeterminadaquantidadedecontroloautomticodoprogramadeserviosdereferncia.AlinguagemBasic,aocontrriodeJavaeC++
lnguas,nodistinguementrepequenasegrandesletrasespecificadaselementosdecdigo,estecdigodedesenvolvimentorpidoumrecursomuitoconvenientee
til.Aomesmotempo,noentanto,mantmasletrasmaisculaseminsculasespecificadaspelaformaprogramador,porisso,sevocnopode,porexemplo,
"txlocator",mas"nometxLocator'foiadicionadoaumtipodecaixadetextodocontrolador,osistemaparaqueeleapareceemtodososlugares.Masseaprimeira
figuraentrar,osistemairprocuraroutraocorrnciadapalavraquevocdigitaetjavtjaautomaticamenteforadeforma,libertandonosassimdatrdstl.Esteo
resultadoquequandookdszvegbeacidentalmenteintroduzironome"tlocator",porqueocontroledessenomedigamosnoexiste,onomenoconvertidopara
aformamaisculaseminsculas,quepodeimediatamentereconheceroerro.Umaabordagemsemelhanteaosistemadepalavrasdecdigoqueaparecemnosnomes
azuiseeventotambmaborrecimentodesnecessrioparaquepagaraatenoparaousocorretodeletrasmaisculas,apalavradecdigoinseridoautomaticamente
corrigemaisfcildeler,formabetkszletmista.Paraaquelesquecostumavaseguirumrigorosoconjuntodeletrasemumaoutralngua,podeparecersuprfluoo
apoiodefundo,masaoverquevelocidadeedetecodeerros,aseguranaaumentadaatravsdeles.Deixeumcomentriointeressantenotarque,sevocalterar
posteriormenteasdeclaraesdevariveisnoscript,eleirsubstituirtodaaversoantiganovamente.

Depoisdedigitarirparaeditarestcompleto,excetoparaindicarquepassamosparaumaoutralinhaosistemadedesenvolvimentoumaverificaodesintaxe
realizadaequeafalhasejaindicadadeimediato,nestecaso,umalinhavermelha,comomostradonaimagemabaixo.Nodeveestarnolugarcerto,nofinaldo'depois'
palavra.

Vocquerusarfontesecorespodeserajustadonavontade,infelizmente,apenas16coresbsicasparaescolher.

TestRun(debugging)

UmdoshabilidademuitoimportantedoprogramadeDesenvolvimentodeSistemasVisualqueoprogramanofeznenhumaposioeditorialdasada,semtraduzir
ocdigo(verabaixo),tambmpodemostentar.Istopermitequeoprogramaparatestarapenasumacertaparte,comoporinstruo,parandopodeserverificada
duranteoensaioeosdetalhesestosujeitasaalteraesnocdigodefonte,eemcasodefalhadosistematambmmostraimediatamentequeocorreuinstrues.

Aimagemmarcadocomumalinhaamarela,osistemairexecutarumprogramadetestedelinhaatingido,aestadia.Talarbitrriapontoderupturaoupontode
rupturaserincludosnoprograma.Apsasuspensotemaoportunidadedemonitorarosvaloresdasvariveis,testandocomandosemissores,desligueoupegarnovos
pontosdecorte,oumesmoparamelhorarocdigofonteentoexecutadocontinuou.

Aslinhasverdessoinstrudosmostraondeoprogramaestsendoexecutado,especificamenteaimplementao
doquesesegue,secontinuarmosaserexecutado.[Mj1]Istopodeservistoquandooprogramaumpontode
rupturaouumacombinaodeteclas(CtrlPausa)paraparar,passoapassoaquiecontinuaraexecutaraps
cadaetapa,permitindoasoperaesdemodificaolistadosacima.Servioimportanteparaalocalizao
contnuadedeterminadasdeficinciasmovidoconcluiu,apenasnocasodevocperdeuouquerparareforaras
instrues.

Oestadoparadoovaloratualdeumavarivelouumacombinaodeteclasdefuno,oupodeserexecutado
diretamente,masvocpodeverumapequenajanelaacima(Relgios)variveisefrasesselecionadaspodem
seradicionadasparaadigitalizaocontnua.Essesvaloresmudamdeformacontnuaoudeformaincremental
duranteaseoexecutado,queimediatamentevisvelnalista,masvocpodeespecificarqueoprogramair
pararautomaticamenteseumadascondiesespecificadasforematendidas,taiscomoquandovoccompraum
determinadovalor.Alistanoumnicovariveisdoprocessopodemseradicionados,osistemamostra
quandoumavarivelsaidoescopodevalidade.

Aparteinferiorpequenajanela(imediata)usadoparaemitircomandosdirectamente,oprogramasuspensoouparado.Aquiumcompostodesriecomandos
bsicospoderoseremitidascomunsaosoutros,ouciclos,editadolivremente.Oscomandospodemseradicionadossvariveisdoprogramaemsuspensooutros
valores,erodarcomelescontinuar.

Outrafunoadefornecerumajanelasobreasuperfcieinferiordoprogramadedespejo'.linguagensvisuais,porque,aocontrriodosprogramastradicionaisde
desenvolvimento,noconhecido.superfciedeumateladoconsole,quepodeserumacartainstruoPRINT,umavezqueasjanelassofeitasdeformulrio
exibido.Dentrodasjanelas,claro,abriuumcontrolequetextosougrficospodemserproduzidosemumformulriopodeserusadoparachamadassimplescomo
umainterfaceemsi,masocontedoseroperdidosapsaexecuodotesteconcludo,umavezqueocontroladordevechegarmosaprojetarumretornoestado,por
issodepoisqueasmensagensescritasdoprogramaconcludavocnopodecuidar.Masajaneladecomandodirectoexisteumobjetochamadoprogramasde
depuraoparaoqualPRINTummtododetextoescritooff,alinguagemBASICcomandosdeimpressodecostumeconvenesdehashing,deacordocomestas
propostasnoestperdida.OprogramaacabadonosertraduzidoparaasinstruesDebug.Print,portanto,elessoexcludosapsotestenoobrigatrio.A
imagemmostraumprogramaemcomandosemoutrosprocessosforamexterminaasinformaesnecessrias.Estaumajaneladerolagemde32kibytedeajustede
textovolumoso,eleaindaultrapassadoremovidosdaslinhasdefrente.
Odesenvolvimentoetesteajuda,posioeajudasensvelaocontextomuitodetalhado.OMSDN98ouMSDNVisualStudio6pacotestandalonecontmoVisual
StudioAjudacomplexonomescompletos,comumaseoseparadaparagestodedados,ODBCeoutroselementosdesuplementos.
https://hu.wikipedia.org/wiki/Visual_Basic 4/15
15/01/2017 VisualBasicWikipedia
StudioAjudacomplexonomescompletos,comumaseoseparadaparagestodedados,ODBCeoutroselementosdesuplementos.
1.vocpodeverasituaonorealmenteocorrerporqueosistemanopodedaraoluxodecomearumprogramaondeoserrosdesintaxedetectados,queestmarcadoemvermelho.

Ocompilador(compilador)
Oprogramafeitasobaformadecdigofonte,porexemplo,contendoinstruesdelinguagemBASIC.Nestaforma,aumentandoaindamaisoprogramaspoderia
trabalharemoutramquina,sehaveriatambminstaladaaversocorrectadosistemadeVisualBasic,eousurioteriaabertoeparainiciaroprograma.Naturalmente,
estenoocaminhoaseguir.

Oprocessadornalinguagemdemquinasequnciadeinstruesdescritasnacapacidadederealizar,demodoqueoBASIC(Pascal,C++,Java,etc)versodeidioma
doprogramaaserproduzidocdigodemquinadefax.Paraesteefeito,construdoemtodaessalinguagemdeprogramaosistemadedesenvolvimentoVisual
montagemcompilador.OWindows(eDOS)sistemasoperacionais,prontoparaserexecutado,oprogramadescritoemumcdigodemquinaEXE(emcasosraros
COM)extensessoarmazenadasemumarquivo,issosignificaabrirseoprogramaparainiciar.Oarquivoestemtalcondioconhecidacomocdigoexecutvel,
esteostatusdeestadofinaldecadaprograma.TalprogramanomaisnecessrioparainiciarosistemadedesenvolvimentoVisualquevocinstaleporqueaverso
executveldoprogramacontmtodasasinstruesnoformulriodiretamenteparaoprocessador.

Nodevemosesquecerqueoprogramarefereseaocdigoexecutvel,afimdecontrolaraindamaisaadmissododesenvolvimentoestligadoaoprojetoDLL
arquivoseActiveXprocedimentoscomponentes.Portanto,seoprogramasmsolnnkpassandoparabaixooarquivoEXE,eocomputadordousurionoestol
osacessriosnecessrios,oprogramanovaifuncionar.Portantoestatutoparaprepararumprogramapacotedeinstalaoaserpreparado,ossistemasvisual
acompanhadadosmeiosnecessrios,eospacotesjircontertodososelementosnecessriosserointegradosnosistemaoperacionaldousurioduranteainstalao.

OselementosdalinguagemVisualBasic
DeixemechamaraatenoparaofatodequeemnenhumlugarnoscaptulosanterioresforamdiscutidasnalinguagemBASICVisualBasicdoseuprpriosistema.A
listaderecursosehabilidades,independentedoidiomaeoutrosistemadedesenvolvimentovisualpodemserencontradosnestesequivalentes.

nofornecemalinguagemVisualBasiccompletaabaixoparalercaractersticasapenasalinguagemcaractersticaderesumosdeapresentao,deixandoumasriede
pequenosdetalhes.

Ol,mundo!

Aslinguagensdeprogramao,aoapresentardemandasaserexigidoparaqueestamensagemsejadeexibiovisvelocdigonaesperanadequealgopresenteem
todaanaturezaespecficadalngua.NasoluoVisualBasicnoautoevidente.certoqueocdigodeinstruospodeestardentrodoprocedimento,oumdulo,
cdigodoevento.Nenhumateladoconsole,umaformaoudeformaparticular,ouconfigurarumaunidadedecontrole(rtulo,TextBox,PictureBox)paraescrevere
aparecemcomoumamensagemparaumajanelademensagemdoWindowstemporria.Estesnosoexatamenteequivalenteaessepropsito,aaparncia
consideravelmentediferentessolues,portanto,deveserselecionada.Osimplesexistente,podeserfeitoimediatamenteapsoinciodeumnovoprojetonaformada
regulamentaoemvigor,semterquesaberonomedoformulrio,asuperfciedotextoimpresso:

PrivadoSubForm_Load()
Me.Imprimir"Ol,mundo!"
EndSub

Amensagemdoprogramainiciadoimediatamente.Aprimeiraeterceiralinhas,osistemafoipreparado,ateclaF7aquivamosnsimediatamente.explicaes
necessriasparaacompreensodessesconceitospodemserencontradosnasseesaseguir.

estruturaprimria

OBASIClnguaemcadaumdosestatutosqueoprogramaconsisteeminstruesconsecutivos.Emumadeclaraospodeestaremumalinhaaestruturaodeos
elementosbsicosutilizadoseminstruesespeciaisquesoorganizados.Oprogramadecdigofontepodeserconstitudaporumafileiradevriasinstrues,estes
devemserseparadospordoispontos.

Aestruturadecomandodedoistipos.Otipoclssicosempre

<Instruopalavra>[<parmetro>[,<parmetro>...]][mj1]

estrutura.Apenasumpequenonmerodeexcepes,quediferente(eg.LET,PRINT,linha).Osparmetrosestoemvigornamaiorpartetipodedadosespecificado
pelainstruopalavrasso.Algumainstruooutrapalavradecdigoapsapalavradeinstruo,comoose,porLINEoupalavradeinstruo.Asinstrues
declarativasquesodefinidospelocompiladordevariveis,constanteseprocedimentosaestruturadiferente.

Ainstruoeofimdalinhanoindicaroutracoisacomooinciodeumanovalinha,umaoutralnguasemelhanteaomostradocarcterdefim(''"}",etc.)No.
[MJ2]

OoutrodiagramaestruturaldoobjetoorientadalevouainserodeumaabordagemdeprogramaonosistemadelinguagemVisualBasic,quesignificativamente
afastousedoestiloclssicodalinguagemBASIC.

<Object>.metdus[<parameter>[,<parmetro>...]]
<Varivel>=<object>.metdus[(<parmetro>[,<parmetro>...])]

Oprimeiromanualdesoluoebarrancos,asegundafunocorretamenteexigeumaoperaocomumobjeto,ouatsimultaneamenteretornaumvalor
especificado.

1.ABNFsistemadenotao,oscolchetesdelimitadoritensstandalone,oscolchetesdelimitadaitensopcionaisopcionais.
2.Porquenohnenhum,porissoexpondoTambmnopodemosesquecerqueoCouprogramasemlinguagemPascalerrocomumquecausadesconforto.

Fonte

TudopalavradecdigoVisualBasic,nomesdevariveisemtodofontinsensitive,ouseja,

ktDim,$AX
seKT>0,emseguida,imprimir#3x$(4);sgn(VAL(MID$(TestMaker(1de$)3,len(A$))))
Sekt>0emseguida,imprimir#3X$(4);Sgn(Val(Mid$(TestMaker(1de$)3,Len(em$))))

segundaeterceiralinhaequivalenteemtodososaspectossemprecedentes.Comoresultado,desnecessria,excetoparasepreocuparcomaspalavrasdecdigoeos
nomesdeletrasmaisculaseminsculas,insiracorretamenteosistemadedesenvolvimentoestonafilaavanarautomaticamentequandovocdefiniralinhade
espao,casoemqueosistemadeentrarnasegundalinhaeaterceirapodeservistoatomarforma.Oquecontacertoparaumnomedevarivel,explcitona
Declarao(veraprimeiralinhadoexemplo),ouamaneiracomovocintroduziroltimofoideterminado,masmudaraortografiadequalquerpropriedadede
nenhumefeito.

Atribuio

Nosexemplosposteriores,muitasvezesvistocomoumaexpressodovalordeumavarivelcolocado.DesdeaprimeiraversodalinguagemBASICachancepara
dois,quesoequivalentesa:

DEIXEa=1
a=1

Isto,ainstruodeatribuioLETanicapalavraquepodesereliminadacomasinstruesdesdeoincio.Osintrpretesecompiladorestaiscasos,eles
respondemque,sevocconstruiuumapalavradecdigo(palavradeinstruo)noinciodainstruo,deacordoparacontinuaraanliseeimplementaodas
instruesesevocnotemisso,vocpodeinterpretarinstruodeatribuiocomoseeleestcorretamenteinterpretados.

Ostiposdedados

Entreaspalavrasdecdigodetodasaslnguasembutidosnomedotipodedados,quepodeserarmazenadonotipodedadosvariveisdevolvidapelosvaloresda
https://hu.wikipedia.org/wiki/Visual_Basic 5/15
15/01/2017 VisualBasicWikipedia
Entreaspalavrasdecdigodetodasaslnguasembutidosnomedotipodedados,quepodeserarmazenadonotipodedadosvariveisdevolvidapelosvaloresda
funodeclarados.Osnomesdasvariveiscomearcomumaletra,deat255caracteresdecomprimento.Elementosdosprincipaisgruposdetiposdedadosincluem:
Integer(%),longa(&),Individual,(!)Duplo(#),Moeda(@),Decimal,Boolean,Byte,Cordas($)DataeVariant.Otipodemoedapermiteoarmazenamentode
nmero28dgitos,umavariveldecadeiadecomprimentofixoat63KiB,dinmicoepodearmazenarat2GiBlongaseqncia.OVariantdigiteonomeconvma
umtipodevarivelquerecebeaatribuioemcimadotipo,equecadatarefaestsujeitaaalteraes.

AsetiquetaspodemservistosportrsdospersonagensdoBASICpertencemaumadaspeculiaridadesdalngua,oquemuitocontribuiuparatornaralinguagemde
programaorealmenterastreveisparaosalunostambm.

Namaioriadaslnguasdasvariveisnoinciodosmtodosdetipodedadosuslosexplcitaforma,queosprocedimentosnoinciodomdulodeclaradoum
discriminadaporescrito,oefeitodessavarivelcriado,oprogramacompilado.Arefernciaparaasvariveisindefinidasirresultardetalerronosistema.Almde
alteraradeclaraodotipoemoutros,elenoservisvelnocdigofonte,assimqueeuinventeiumlembreteparaanotaohngaraconvenodenomenclatura
chamadaIstotambmmostraque,comotipodevariveisprecisasinallembrete.

AlinguagemBASIC,equalqueroutradeclaraodevarivelimplcitaedigitaoimplcita(bem),ouseja,avarivelcriadaautomaticamentenaprimeiravezque
vocusaeotiposerdecidido.Ummtodoparadeterminarotipodeidadefoidecididoquevariveldeacordocomumsistemafixocomeaoutromtodooque
encarnaotipoVariant.Umaterceirapossibilidadequeonomedavariveldeescreveroscaracterestpusdefincislistadosacima,quedeterminaeexibeotipode
dadosdavarivel.Assim,umK%nomesdevariveisIntegertipo(inteiro)deFH2#tipodevarivelduplo(precisodupladepontoflutuante)deSelectorChr(8)$
partedeumaString(String)tipodematriz8ndice.Especialdeterminouqueseumnomedevarivelnoinseridonomodeloenodeclararumtipono
explicitamente,porpadro,otipodeveser.(Porexemplo,umataldirectivacomoaprimeiralinhademdulosvistofrequentementeemDEFINEOStambm.)Por
padro,otipoVariant.

OVisualBasicparacadamtodosuportadolistado,eoprogramadordecidequalomtodoquevocquerseguir.(NapartesuperiordomduloOptionExplicit
directivaexigeadeclaraoexplcita.)Ummdulovarivelounveldoprogramamakemundialpossvelumadeclaraoexplcita,masaprticamostraqueuma
significativa,variveisdevidalongasensatofazlo,nestecasoomduloblocointrodutriadoresumovemosalgumasvariveisimportantes.Asvariveislocais,
munkavltozkattemporriadecurtaduraobempossvelimplicitamente,isto,ousoporajustedirectoparacriarotipodeentradadesinal.Emnomedasfunes
dosimpostosatrasadossobreovalordosinaldetipostring'$'separlasemumsinal,normalmenteumvalornumricodeumafuno.(Pl.MID$(AEUS$10,2)e
ABS(R0).)

UmtpicoVisualBasic,paraverseumavarivelfoicriado,vocpodedigitaroseunomeportrsdissopodeseromitido,umavezquediferentestiposdevariveis
comomesmonomenopodesercriado.Otipodesinalnopodemsercontraditriascomotipodevarivelfoidefinida.

Adatatipodedados(data)realmentedobrotiposdedadosnumricosqueumaexposio,epodeserlevadaacabovriasoperaesparaoespecficopor.O
exemplomostraosresultadosdetrsdeclaraoescrita:

Debug.PrintCDATA(39728.6512)
2008.10.07.15:37:44
Debug.Print200669#+#100
2006/09/17.
##Debug.Print1969/07/19CDATA("12deabrilde1961")
3020

Comomostrado,asdatasdeclculospodeserrealizada,eestespodemserconvertidosunsnosoutros.Adatadosistemaemdiascontadosdiasumalojadesalto
observado,encontrar30dedezembrode1899a0,valoresnegativospodemserusados.31dedezembrode2000ovalornumrico36891.Horadodiaexpressa
comoumafracodeumaproporodetodoodia.

OcontrolodoVisualBasicemtodosostiposdetiposdedados,aomesmotempo,demodoqueo

DimESD1Comolistbox

caixadelistagemparaarmazenarvariveldeobjetotipocriadosercapazdecomando,queestdisponvelparaqualquerpropriedadequecadacontrolecaixade
listagem.Nodeusogeralobjectotipovarivel,queoequivalentedeobjectosvariantes,especialmentePassandoboautilizao,quepodesertidaemconta.

Individuais,tiposdevariveiscomplexospodeserdefinidaeutilizada,comomostradonoexemploavontade:

DigiteAplicada
TbComoLongo
NomeComoCordas*20
aniversrioComoData
TelefoneComoLongo
EndTipo
SubEncha()
DimdolgComoAplicada
...
dolg.Nome="KarsaiAkos"
dolg.Telefone=0611871603
tblAlk("on")=dolg.Tb
EndSub

Osescalaresvariveis(istoadimensional.A,K1,bandeiras,teszt0$)arrayspodemserutilizados,almdisso,atondicemximodeterminado60dimensionale
mnimo.Porexemplo,

DimContador&(2,100,10)

tiposdedeclaraolongosdevariveisnumricascriatridimensional,310111elementodamatriz,cujoselementosso,emseguida,entrarosndicesesto
disponveis,taiscomoum

aa=Contadore(0,ix,10)*sgn(T%)

Comopartedaexpresso,conformemostrado.Osndicesdematrizcomeamapartirde0porpadro.

NoexemplomostradonalinguagemBASICcriticadocaractersticadasconversesdetipoautomtico.Suponhasequeaainteirovarivel(Integer)dotipoemque
adeclaraofoicopiadoparaumtipovariveldelongo.Omodelonumricodoisnoentraemconflitounscomosoutros,porisso,enquantoumelementodamatriz
armazenadoemumavariveldotipoInteger,anecessidadedeconversoeaatribuioconcludasemerros.SeonmeroestforadotipodevalorInteger
[32,768.32767]intervalo,osresultadosdeatribuioemumerro.Asobjecesdasantigaslnguasgravidadeconsultadospelomtododeentusiastasdavelocidade
consideradabenfica.[MJ1]

Matrizesdeclaradocomodinmico,quenoonmerodedimenses,masonmerodeelementosnasdimensespodemseralteradasretrospectivamentesemperder
ocontedodasrestanteslinhas.
1.Claro,existemfunestpuskonvertl,CInt,CLng,CSngetc,masumcasosimples,nonecessria.

Constantes

Aexpressopadrodevaloresnumricos.Adivisoentredecimais,seguindoaregraamericanadopontodecimal,masmilharesdearticulaoentreosdgitosem
nenhumsinalpermitido.Quandoaparteinteiradeumnmerofracionrio0,emseguida,antesdopontodecimalumzeronoserexibido,masonmero
digitado,oodarsazeronocausarumerro.Osinalnegativoparaserutilizadocomoumhfenutilizadonotexto(separador).

correto:187210.33210,332117222.1
falho:1872118,7210,332118'72122

Oltimoexemploumtraoemvezdeumsinalnegativo.

Osnmerossoformanormal(comofiguramais"cientfico"chamado):

121E40.0552E35E4+31E11D17.121344E27
12100000,003555,20,10,10,000000000000000000000000007121344

https://hu.wikipedia.org/wiki/Visual_Basic 6/15
15/01/2017 VisualBasicWikipedia

valoressuperioreseinferioresnosExemplossoequivalentes.Estetipodenotaodepontoflutuantederepresentaochamase,porcausadopontodecimalnoest
nolugaremque,naverdade,deveser,masmovidodel,eodeslocamentodoexpoenteindicaovalor.O'E'letras'expoente'est,o121E4estescritonaforma
tradicionalde121104oprogramaestdisponvelapenasnoprimeiroscript.Osistemaconverteumaformasimplesdetrtalakracientficaseocomprimento
nmerosparanoexcederolimite.Amantissanmerodedgitossignificativosparaumtotaldeat7,eovalordeparticipardotiponicocomoasoperaes
constantes.Onmerodelimitesdedomniorepresentadoexatamente+/45e+/1.401298E3.402823E+38,onmerofracionrionarepresentaobinriainterna
explicado.

UmexemploDemvezdaletraE,permitido,casoemqueovalornumricoduplo(precisodupla)serconstante,omantissapodeconterat15dgitos
significativos,eoslimitesexatosdagamarepresentao+/4.94065645841247D324+/+1.79769313486232D308

Osistemaestaentrarnumaconstanteespecificadaestosempredispostosemumanormlalakralojaregular,isto:

453.32000E+31+>+334.5332E

Aformanormaldoprimeirodgitosempremaiorque0classificao,opontodecimalapsaprimeirapassagem.Se,emvezdaformanormalsemformacomumde
exibio,emseguida,pontofixo[mj1]formaformato:

0.00545564533E17>545.564.533.000.0008873.125E#2>88,73125

fazendomarcaodeambosostiposdedadosdepreciso.

modelonumricoatrsdosinalconstantepodevirem

o#=#=12,3e12,3#

Adiferenaentreainstruogarantequeumvalorde12,3emumduplonmerovarivelarmazenadosexatamentedacasadecimalensimapodearmazenarzerosat
ofundodoprimeirocasodecasasdecimaisindefinido.Nosclculos,arredondandoparaesconderumadiferenamuitopequena,masnemsemprese
arredondamentoslugar.Seotipodesinaldesnecessriadepoisdeentraroseliminadosistema.

Emadioaosistemadecimalhexadecimalmostrado(hex)podeserespecificadoconstantes:

&H2e=46&h80=128

String,tambmconhecidacomocadeiaoucadeiasentreaspas[mj2]podeserespecificadoentreosdois.Sabendodisso,vamosolharparadoisexemplos:

"Abcd0123"abcd0123

naverdade,oprimeiroexemplodeumtipodeconstantesdecadeia,eosegundoumnomedevarivel.

Aspossibilidadesexpressivasdeadataouhoraconstantesconcedidosnopodemserdescritasresumidamente.Emalgunscasos,sistemaocupado"#"entreos
caracteres,escrevaadataemqueoresultadodeumprocesso,porvezes,umformatoapropriadoconfiguraeslocaisdoWindows.Sevocdesejaarmazenaruma
variveldedata,avarivelDataouVariantdeveserdeumtipo,elesseroutilizados,entreoutros,dosseguintesmtodos:

DimamedidaData
de=#19210611#
a=#2161921#
of=#21junho1.921#
of=CDate("192111dejunho")
de="192111dejunho"

Elepodeverqueosistemaflexvelosuficienteparaencontrarmaneirasdeinterpretarumconjuntodedadosdigitadosdatacomodoslimitesdosistemaoperacional
podecontrolar,porissotemosdeexplorlas.
1.Arepresentaodepontofixodopontodecimalsempreentreumrealeumafraodonmerointeiro,independentementedonmerodeaesdotodo.Seonmeroforumnmero
inteiro,entonohnenhumpontodecimal.
2.Sevoctemumexemplodeumeditordetextoescritonaadaptaodeumprogramaemnossanecessidadedeestarvigilantesparaqueascordasqueencerrammarcasnotextoparaoutros
tiposdeimpressoaspaspodeser,masobsicoapenasumsimplescitaesmquinadeescreveraceitarteroASCIIkdja34

Operadores

EntreorankingdeforautilizadosOperadoresdoVisualBasic(operadores),tambmconhecidocomoprioridadeouprecedncia,aordemvlido.Descendente
sequnciaforaaseguinte:

operadoresaritmticos:^*,/"\"mod"+,
operadoresbooleanos:No"e"ou"Xor"equiv"Imp

Alistadesinais:Sinalexponencial,negativo(sinaldeigualdasubtrao),multiplicaoediviso,divisointeira,orestante(mdulo),adioesubtrao.Abaixo:
no,e,ou,exclusivoou,equivalncia,implicao.Asoperaeslgicasdeoperaesaritmticastmmenorfiladeprioridade,vertambmosexemplosposteriores.

Operadoresrelacionais(sinaisoperacionaiscomparativos)

IFc>10Entok=2

Estaafirmaocompletamentetpicodek=2atribuioexecutadoquandoocsuperiora10.AsIFdeclaraodesintaxedescriesdegeralmentemostradoque,
apsapalavradeinstruouma"condio",masestetipodedadosnoexiste,IFdepoisarealidadedeveserumvalorbooleano.Istopodeserdedoistipos:
verdadeirosefalsos.Estaexignciasatisfeitacomasinstruesacima,demodoqueosmbolo">"deumprocessodesinal,isto,ooperador.

Sinaisdeoperaesrelacionaissocomosesegue:

=><>=<=<>

elessodamesmaordemdeprioridade.Ooperadorfinalindicaquealigao'noigual',asduasprimeiraecorrespondemao"maiorouiguala"e"inferiorouigual
relao'.Comoessasoperaes,demodoqueosseusresultados,noumvalorbooleano:Verdadeiro(true)oufalso(false).

Elepodeserrealizadonosemvaloresnumricos,mascomparandocordas,emseguida,asuaordemlexicalparaexaminarosistema,demodoqueo"ABC"<"abcd"
e"pqrsgat2"<"pqrtac"tambmverdadeiro.Osacentospodemcausarproblemas,umavezqueestespersonagensmesassoclassificadasparatrs,demodoque
os"SAC"<"abc"operaesdevalorFalse.

operaesmistas

Emgeral,aslnguasbsicas,operaesnumricas,lgicaserelacionaispodemserharmonizadosunscomosoutros,misturados,oqueacarretaopesdeprogramao
populares.Umacondioquealgica(Boolean)valorespodemserconvertidosemnmeros:Verdadeiro=1,False=0,ovalor"verdadeiro"doequivalenteda
explicaoquetodaalinguagemdosnmeroscdigodecomplementodedoisarmazenadosno1valorexpresso"1"apenasosbits,enquantoasinteiro0'0'bit
armazenadosobaforma.Oresultadodasoperaesrelacionaiscomodoisnmerosdebitsconhecidos.

Aoutracondioqueoresultadodaoperaolgicapodeserconvertidoemnmeroslistadosacima,bem.AsoperaesnoestolimitadosaBooleanentreosdois
tipos,masosnmerossovlidos,eosnmerosembinrioformadoexecutadoentrebits.Estaexploraodeveserreconhecidoquecomplementamaquelesdoisde
codificaoosnmeroscomoexpressarosnmerospositivosnaformabinria,mutatismutandis,arepresentaonmerosnegativoseacontecequeonmerode
valoresabsolutosdetodososbitsopostosdoExchange,emseguida,adicionou1.Todosos15+1,31+1dotipolongapedaos,obitmaissignificativocompreendeo
sinaldotipointeiro.Exemplo:1217=11.000.00100.000.100,79=1111111110110001[mj1]

https://hu.wikipedia.org/wiki/Visual_Basic 7/15
15/01/2017 VisualBasicWikipedia

Estessoprecisamenteoconhecimentoparaentenderaseguintedeclarao:

IFntE8Emseguida,

estaaexpressolgicadeumoperaesnumricas,especificamententalterandoovaloratualdobitexceo30acadabitmscaraseainstruoIFaovalor
numricoobtidousandoovalortipobooleano.[Mj2]Semprequeoprogramausaumbooleanlugarvalornumricoondearegraestabelecequeovalorde0
correspondeaovalorFalse(falso),todososoutrosnmerosserotratadosvalorTrue(verdadeiro).Nesteexemplo,portanto,seoresultadodaoperaode8,depoisde
oentoinstruessoexecutadas,ese0,elenovai.(Podeseraaplicaodaclusuladeoutrapessoa,sehouver.)Consequentemente,

IFntEmseguida,

InstruessignificativaseinstruespsEmseguida,ocorrequandooNTvalordavarivelnozero.Assim,esteomesmoqueoNT<>0condio,masumpouco
maisrapidamenteexecutada.

ONotoperadorquetermuitocuidado,porqueasregrasdeconversodetipobooleanonumerikusblasarmadilhasso.Defato,seacondioderamificaoacima
desejaalterarnestesentidoopostoAssinar:

SENo(ntE8)Emseguida,

emseguida,ont8Eoresultado0ou8.Aoperaonooperadorsonegadosou1ou9foiobtido,devidoaonmerointernoautoritriarepresentao
complementodedois.Poroutrolado,ambososdoisresultadosdiferentedezero,queoresultadodacondiobooleanadotipoconvertidoemcadacasopara
Verdadeirovontade,emcadacasoapsacondiodecaminhodeprogramaexecutado,aocontrrioszndkunktl.Seumacondioutilizadonoselementosdo
tipobooleano,osNoEmvezdeseacostumaramaissegura

IF(ntE8)=0Ento

avaliaoquedresultadoscorretos.

Humadiferenafundamentalentreovalordeumsinalabertoeaigualdadeutilizadosnasoperaesrelacionais.o

a=b=c

Interpretaodainstruocorretaparaovariveldeb=cnumericamenteexpressosoperaorelacionalvalor(1ou0),becnomuda.

Asaesvoforarsequnciaavaliaasmesmasoperaesprioritriasapartirdaesquerdaparaadireita.Aordemdeavaliaodeexpressespodemseralteradasa
procedimentosiroparnteses.Apenasparntesiscurvospodeserusadocomvirtualmentequalquerprofundidadedeaninhada.Aaberturaefechamentoentre
parntesesdeveserempares,respectivamente.Seestamosincertossobreemalgumlugarnaordemdeprioridade,paraconfirmarseguroparaserusadoparnteses
"desnecessrios",mesmoqueasuacolocaolgico.Osseguintestermosresultaremvaloreslanadosjuntoaeles

3+4*5=23
(3+4)*5=35
(3+4*)5.culpa
8+2=2^258
2^(8+2)=1024
8+2=2^((((2)^8))+2)=TRUE
((((2)^8))+2)=258
(((2)^8))+2)defeituoso
((((2)^8)))+2)defeituoso
9Ou5=13(1001ou0101=1101)
Ou94e5=13(ou1001(0101E0100)=1001=1101ou0100)
(Ou95)e4=4
3*45XorXor4=15=11(1111Xor0100=1011)
3*(5Xor4)=3+1=3(0101Xor0100=0001)
7*2>2+20=14>22=False
2*(7>2)+2*20=20=18+1
Ou^32110>7+2ou3*27/3=9261
=((21^3)ou(10>(+7(2*3))))OU(27/3)

OperadoresdeString

Stringtipodedadosemumanicaoperaopermitida,aconcatenao(concatenao).Comosinaldo&caracteres,masotradicional+operadortambmpodeser
usado.Porexemplo,a

"Abc123"e"KLMN"

resultadosdaoperao"abc123KLMN".

1.Aalteraodecdigoemumdecomplementartodososbitsoposto,masaum00etambmobterumrelatrioespecial,porissoraramenteusado.
2.taisoperaescomumenteusadaquandoosinterruptoresdeprogramaoparaumvalordiferentebitsderelatriosdiferentes.

Mdulos

Oprogramaprojetadopara(projeto)cdigofonteformacompostademduloseoutrostiposdeobjetoskdmodulokblindependente.Cadaumtemumnvel
superior,foradareadecdigodoprocedimentoestcomeandoaformarmdulos,masapenasnasreferidasdirectivas,bemcomovariveisepodemincluir
konstansdeklarcik.Asconstantesevariveisdeclaradasnoescopo,(escopo)nosmdulosrelevantesparacadaprocessocoberto.Cessoeoutrasinstruesno
podeserescritoaqui,todososmdulosdentrodeumprocessoutastskdnaktodosdevemevitar.

Osmdulosdeformarosprocedimentos(Subeventosparaoscontrolesemformulrios)partida,onomedoprocedimentodecontrolesempreonomedoevento
tpusnevbleparamtertadsbl(eg.Form_KeyUp(keycodeAsInteger,DeslocamentoAsInteger)).Function(Funo)noestentreeles.Estesprocedimentos
nosparainiciarosincidentes,senecessrio,outrosprocedimentostambmpodemserconvidados.Sevocalteraronomedocontrolador,oprocedimentovariade
eventoprocedimentoordinrio,porissoamudanadenomedeveserevitado.Seonomedonovoprocedimentotjavtjukonomedocontrolador,oeventorebaixado
procedimento.

Omdulopodegravarosseusprocedimentosefunesindependentedoeventovontade,oquespodeexecutarumconviteespecial.

Todososrecursosestodisponveisparacontrolardeformaprogramtica.Todasaspropriedadesemuitosobjetossopartedeumacoleo(Propriedadesecampos,
porexemplo,espaosdetrabalho,ndices),esseselementosnosNomepropriedades,masondice(Enumerator)inserindoreferenciado.Ascolees(coleta)
Utilizarasopesparagerenciarasclassesagrcolasorientadasaobjetosnecessrios.Limitaseacoberturadomdulo.

Almdoformulrioemummdulodecdigoseparadopodemseradicionados,quenopertenceaqualquerformaparaqualquerfinalidade,nemqualquercontrole,
entoesseseventosnoaparecem.ummdulodeabertura,osetordecdigodenvelsuperiorcomotambmterapenasdeclaraes,masomdulopodeser
adicionadoprocedimentosefunes,conformenecessrio.Asoluoumdosbenefciosqueoprogramaestposicionadaparapeasconstantementedisponveispara
outrosplugins,enquantoestivernestaforma"devesercarregado"namemria,vocdeveativlos(OcultareMostrarmtodos).Nesteltimocaso,sobaformade
umgrandenmerodecontrolodesnecessariamentepodeocuparrecursosdesistema.Outravantagemdomdulodecdigoquetodasasvariveisdeclaradasemum
mdulodeprogramadevisibilidade,mundialtornouhatkrvparaqueainformaopodesertransmitidaentreaformademdulos.

Aconstruomodular,comobenefcioadicionaldequeoprogramapodeserutilizadosemproblemascomoutrosprogramasjescritaformaemdulodocdigo,
claro,paraumavariedadedeprocedimentosefunesdabibliotecaconstrudadenossaprpriarotinabem.Vocpodefazerissonainterfacedejaneladervore
Projetoeditordecdigonaadioaoslinksapontandoparaeles.

Senecessrio,osdadosexistentestambmpodemsertransferidosparaoutromdulo,emseguida,onomedomdulo(pginasaquiamarelo)fechadacomumpontode
exclamaoemumlinkdeveserfeita:

Nomes(x).FontSize=ListaRoster!(Basede+x).fontSize

https://hu.wikipedia.org/wiki/Visual_Basic 8/15
15/01/2017 VisualBasicWikipedia
Nomes(x).FontSize=ListaRoster!(Basede+x).fontSize

Procedimentosefunes

Oprocedimento(Sub)separadounidadesdeprograma,fechado,marcouoinciodeumadeclaraodeclarativanocdigofonte,dandovisibilidadeescalaetipode
parmetrosextradosdoprocedimentonofinaldoprocessoumadirectivaregrapadro.Porexemplo:

PrivadoSubEljarasnev(parameter1,parameter2)
...
EndSub

Omtododeclaradovocpodedesenharqualquermtododoprograma.(VisualBasic,cadalinhadecdigopartedeumprocesso.)Oprocessodeconvidarmaneiras:

ChamadaEljarasnev(parameter1,parameter2)

Afuno(Function)tipoespecialdeprocessoquandooprocessodeconvidarnomedelugaremumaexpressorepresentaumvaloraumavarivel,emoutras
palavras,afuno"retornaumvalor".Ocdigodoprogramapodeseraplicada,dependendoseovalorderetornooque.Porexemplo,dependendodovalordeum
usadaumalinhadeumprocedimento:

SubAlgo()
k(u0)=h*celular(tm*100)
EndSub
Funocelular(ByValw#)ComoLongo
celular=Int(w#)
EndFunction

Aquiestalgumprocessomanualnokblocodeumelementocolocarumvalornumrico,queahsmudandoaoeCeilvalormultiplicadoporumafuno.Ocelular
Nestecaso,oclculo(aarredondamentos)descreveutm*100valorexecutaemultipliclosubstituioLong(longo)dotipovalornumrico.Ovalorretornadoporum
tipodedadosfuno,comovocpodever,adeclaraodafunodeterminada.

faseintrodutriadoprocessoedomdulopodemserdeclaradasvariveis,normalmente,oDimdeclarao.AsoutraslnguasconhecidasDeclarepalavrachave
necessriaapenassevocnoestnocdigofontedoprograma,mastambmumabibliotecaexterna,comoumDLLconvidamosestruturaemprocessono
compilador.

Passagemdeparmetros

Oprocedimento(oufuno)chamado,comunicavacomalgunsdosparmetrosdedadosparaprogramaraspartessituadasnanecessidadedoprocesso.

PublicSubSetItem(cbComoComboBox,ByValcv,ss,Opcionalcx=1)
DimpcomoInteger'noobrigatria
Secv=0Ento
p=1
Else
p=cb.ndicedelista+cx
Parai=0Paracb.ListCount1
Secb.itemdedados(i)=cvEntop=Logline(4,ss):SairPara
Avanari
EndSe
cb.Listandice=p
EndSub

Osparmetrospodemservariadosouexpressoconstante.Oltimoprincipalmenteutilizadoparaescolherentreopesdentrodoprocesso,masnadapermitido.

Osnomesdasvariveisutilizadasnadeclaraodomtodosovlidasapenasdentrodoprocedimento,enodetodonecessrioparacoincidircomosnomesdas
variveisutilizadasparaainstruodechamadacomoumparmetro.Assim,porexemplo,asinstruespodemserchamadocomoeste:

ChamadaSetItem(runv,peas,tipo)

Noexemplo,omtododequatroparmetrosreferidoapenastrsparmetros.Istopermitidoporqueafirmadonoquartoparmetromarcadoadmissvel,o
opcionalopcionalpalavrachave.Nesteexemplo,ovalorespecificadoque,emtalcaso,oprocessonestavariveliradicionarautomaticamente.

Oparmetropodetransferirttuloouporvalor.Oprimeirosignificaqueavarivelpassadaparareceberumarefernciaparaoprocesso,porisso,sevocalteraro
valordavarivelrecebida,alteraovalordavarivelforadoprocedimento.Sefossenoprocesso,comoum

cv=1

instruoemagirdevoltapara1paraalterarobitvarivel,oqualpodeserutilizadoemoutraspartesdoprogramaEstemtododereproduzir,simultaneamente,
vriosvaloresdevriosparmetrosfuncionabem.

Aopassarporovalordoparmetrosqueaexpressovarivel,queumacpiadeumvalordecorrenteconstante,umaalteraonoprocedimentonotemqualquer
efeitoforadasvariveisdeprocesso.PassandopelovalorpodeserusadonadeclaraoByValparaumcdigoouumparmetronainstruodechamada,fazendo
suportes,masotermoconstanteesemprepassandoporvalor.Variveisglobaissoraramenterazoparatransmitirumparmetro,talcomomostradonos
procedimentos.

Comovocpodever,oobjetocomoumparmetrotransfervel,ttulo,entooobjetodetodasaspropriedadesdisponveisetambmpodeseralterado,comoneste
caso,apropriedadeListandicedasaconteceu.

requeremousodeumparmetroopcionaldeclarandooprocesso.o

SubEljNev()
EndSub

Aochamarparmetrosdoprocessonopodesertransferida,masChamadaEljNev()deveconvidarnossoformulrio.Seachamadaparmetrosquevocfornecer,
resultandoemumerro.

Nota:Aochamarprocedimentosnaverdade,noobrigatrio,masrecomendaseumaChamadaUsandoManualconsagradaemquepodeseromitidoentonoh
necessidadedelistarosparmetrosentreparnteses,porexemploSetItemrunv,nmero,tipo.Elefalacontraessaprtica,demodopalavradecdigoqueo
processoestincorporadoaparece,noentanto,adescriodessaajudanopodeserencontrada,oquepodecausarconfusoquandoseanalisaprogramadesconhecido
eestedesviodasinstruesbsicasdefinidasacimaestruturageraltradicional,emquecadadeclaraocomeacompalavrasdeinstruoembutidos.

Mtodos

Omtodo(mtodo),almdeumaVisualBasicorientadaaobjetolinguagemelementopeculiar.Formalmenteapropriedade(propriedade)deumobjetooucoleo(
coleoitem)ligaosemelhante,emtermosdefunesetarefasdospalavrasdeinstruopodesercolocadonoparentesco.Ummtododeobjetodevesersempre
utilizado,porexemplo:

Definirnx=Combo1.ComboItems.Adicionar(1,"Marcas","levantarbandeiras")
CER(r).UpdateRecord
pcBox1.Ponto(450,y*15)
Form1.Esconder
preenchido=dirpack.FileExists("*.exp")

OsexemplosassumemqueoCombo1,RECS(),pcBox1,Form1,dirpackelementossodeclaradoscomoumobjeto,osComboItemsumacoleodeobjetosemum
gazdaobjektumon.Osmtodosutilizadosaqui:Adicionar,UpdateRecord,Ponto,Esconder,FileExists.Oprimeiroexemploomtodomanualparautilizar
correctamenteumanovabateriatomaseoobjecto,masonovoelementocriadopelaoperaodoretornodondiceoltimomaisumafunosemelhanteaum
resultadobooleano.Osmtodosdelinguagemembutidopalavrasdecdigo,edefinidocomexactidootipodeobjectoquepodeserutilizado.Algunsparmetrosso
mtodospor,outrosno.
https://hu.wikipedia.org/wiki/Visual_Basic 9/15
15/01/2017 VisualBasicWikipedia
mtodospor,outrosno.

Nogeral,vemosqueanoodedeixarabordagemmtodoanteriordalinguagemBASICeoutraslinguagensorientadasaobjetopadroexistenteseguidona
linguagemBASICremovidopermanentementeasintenesdoidiomainicialparainiciantes.Osmtodosimplementadosemoutrasoperaespodemnoserpossvel
substituirumasriedeinstrues,demodoqueoconhecimentodegerenciamentodeobjetos,controlesdesamparareiintil.

Estruturalismo

OsdialetosmaisantigosdoBASICfoiumadasdeficinciasmuitocriticadoquenososuportadoselementarespalavrasdeinstruo,aprogramaoestruturada
estruturadaestruturadoprogramadeacordocomosprincpios.Osramosforamperdendooportunidadeseciclosobacondiodevoluntrioparaserexatocomos
ramosdequalquercomprimento.Estespodemseralcanadosporoutrosmeios,clarocomoamontagemlnguafeitaaprticamaiscomumnoGOTOentre
comandoparasaltarparaasinstruesdoprograma.Umavezqueestaafirmaopodeserusadoincorretamente,etambmporque,atravsdaprogramaoBASIC
usadoparasabereminiciantesincorretamenteumprogramaparatestar,analisar,melhoraramaneiracabazalinguagemBASICsobrevivercomorstttkoselo:
BASICnoestestruturadolinguagemdeprogramao.[MJ1]

Naverdade,aslnguasbsicastmsidol,[mj2]queosoutrosestofaltandolo,eVisualBasicesttotalmenteestruturadoparaservirotrabalhodeconstruofora
doseuprpriopalavrasdecdigoeelementosestruturais,ojconhecidotipoSUBeosprocedimentosdefuno.

Ramificao

Seas=bEmseguida,c=1Elsec=2
,seos=bEmseguida,
c=1
Else
c=2
Endse

Oexemploacima,pelaprimeiravezemumanicainstruo,emseguida,divididoemvriasinstruessoapresentadasemramificaocondicionalseparado.O
casodeumalinha,ocomprimentodosramoslimitadopelocomprimentomximopossveldeumalinhadecdigo,ouaindamais,umanicalinhadeinstruesum
poucodifcildelerescrita.Aversomultilinedlheacapacidadedeaumentarasinstruessobreoprincpiodecomprimentocadabrao,arbitrria,eumaclara
indicaodequeoramoondetermina.Assim,umaunidadeautosuficientefechaainstruoIF,queestestruturadoparaserviraconstruo.VisualBasicpermiteque
aprxima:

Seas=bEmseguida,
c=1
ElseIfk<0Ento
c=0
Else
c=2
Endse

MaisElseIframopodeserestabelecidacomumnmerodecondiesemgvlasztsmaneirapossvel,oquenovamentecomplicaraestrutura,masnohdvidade
versatilidade.DevenotarsequeoElseIfinstruonoforigualaoefeitodesucessivasElseeSeinstruessoaquelesquetmmaisramosemcascatapermite
aninhamento.

investigaomultifacetada,ascondiesnaseguinteestrutura:

SelectCasofd
Caso1

Caso2Para4

Casopara>6

casoElse

EndSelect

Especialmenteemcomparaocomosvaloresespecificados(expressestambmsopermitidos),essetermosdevalornaprimeiralinhaSeeElseIfusarumaverso
simplificadadasinstruesaseremexecutadasdeformamaisrpidapodeserdescritoseparao.

Gostariadecomentarsobreocdigofontedaslinhasdecomandosubordinadosretrairnoobrigatria,anicamaneirafamiliarparatornararelaodeprogramao
maistransparenteentreasunidadeslgicasaninhadas.Estadisposionoomesmocomvocparaaprogramaoestruturada.VisualBasicsuportatodaaremoo
deblocosligadooudesligado,eotamanhodorecuopodeserajustado.Oprogramavgrehajtdsraoprogramaemnadaprejudicaaslinhasformatosscontarcomo
seucontedo.

Omltiploderamificaocomoumvelho,masaindafuncionandobem,estapossibilidade:

EmswGOSUB1100,1710,llMake,Sector20
emswGoto1100,1710,llMake,Sector20

Noprimeirocaso,vocpodechamarsubrotinaslistadosnosrtulos,oferecendoumretornodeinstruespararetornaraoprogramacontinuardepoisdesta
declarao.Osegundoexemplosemretorno,saltosdiretosprogramsorokraetiquetasmarcadascomoswnmerovarivelselecionadodeacordocomalistade
marcadores.Amuletaaformacomoumaviolaodeprocedimentosestruturadosestruturadoprograma,portanto,apenasutilizadoemumprocedimento,a
moderaorecomendado.

Ciclo

Arepetioparcialdoprogramadeumacondioexistianaprimeirareuniocompletadosidiomasbsicos.

Paran=101To121Passo2
c(n)=c(n+1)
Prximoi

Esteciclocontadoencontrarotipoqueaimplementaodascondiesnmerodedesaceleraoespecificada.[Mj3]Especifiqueocasodeumpassopodeser
omitido,eovalorpodesernegativo.

Colees(coleesdetodososelementos)oumatrizesdeobjetoscomearamaserfeitasesteciclodeclarao:

DimcontroleComoVariant
ParaCadacontroleemfmEdit.Controles
Ifcontrole.Visible=FalseEnton=n+1:nm$(n)=controle.Nome
Seguintecontrole

entonoprecisasepreocuparcomoscomponentesdondiceedaordemde.NormalmenteumasadadirectaparaosciclosdaExitFordeclaraoparauslo
corretamente,"estruturado"noseguintecontinuaaaplicaroseuprogramadepoisdeseguirasinstrues.Osnovosciclosdentrodeciclospodeseraberto,tambmum
loop.

cicloOrganizaoemcondiesarbitrriaspossveldeduasmaneiras:

FaaEnquantoh<n0
n=n+1:c(n)=c(n+1)
loop

Do
N=N+1:c(n)=C(n+1)
loopEnquantoh<N0

https://hu.wikipedia.org/wiki/Visual_Basic 10/15
15/01/2017 VisualBasicWikipedia

Nesteltimocaso,ocicloexecutadoemqualquercaso,logoqueestejamreunidasascondies,oexameserrealizadosomenteaps(backciclodeteste).A
EnquantoserealizamAtbem,significadosopostoslgicas.permitido

Enquanto...
...
Wend

estruturadeciclo,mascommaisdeumMicrosoftWordmacroessetempo,maistardenoVisualBasicforApplicationsencontrarverseslingusticas.

Etiqueta

OVisualBasic,queaindamantmoselementostpicosdaslinguagensdeprogramaoanteriores,contmumasubrotinausadoparachamarGOSUBeinstruesde
devoluodopartido,bemcomopormuitosdefensoresdaprogramaoestruturada"banhadoachicote"GOTOinstrues.

Sefx<=util(y,1)Entoaa=y:GotoEr1
ChamadaEntrada(nm$,fx,p)
Er1:Ast$(y,p)=pfx

Oexemplomostra,elenosabeapalavraMAISversodoidiomadeinstruodaestruturalgicacorrespondentetevedesersaltocomoanicaopo.[Mj4]As
instruesGOTOeGOSUBdeveindicaroobjectivodalinhadesaltoprogramafiscal,issorequerumaetiquetadeuso.OvelhosloganeratodasaslnguasBASIC,
umnmerointeiro,amquinadeacordodispostasemsrie,oprogramamostra.

Maistarde,nasverseslingusticas,aprogramadoresavanadosaparecimentodeumasriedeobrigatriadeixoudeexistiresprecisamserfeitasparaaslinhasde
etiquetas,quequeremoscomandosGOTOouGOSUBinvocadas.Asetiquetasouosnmerosdevemser,oucomearcomeletras,nmeroscontinuam,nesteltimo
caso,aetiquetaterminacomdoispontos.Estertulosallnumricosnotemqueestaremordemnumricadoseuvalor,maselessomuitodesgastadoparausarna
prtica.

OsprogramasemlinguagemVisualBasicsodivididosemprocessos,incluindoaautodireoestruturadodevidoconstruo.Comoalinguagemtemmaisbuiltin
opotambmdaestaconstruosimples,ousodeinstruespopupestoagorarealmentequerevitar.
1.OholandsEdsgerDijkstra,paraquemmuitosdosestruturadamegalapozjakntteoriadeprogramaovisualizadonocasocontraaDeclaraodeIRPARAartigointitulado
furiosamenteatacadaporestarazoalinguagemBASIC,quepordcadasdepoisqueoefeitovisto.
2.Microsoftem1988lanouQuickBasicsistemadedesenvolvimentov4.5,bemcomo,quepodeserexecutadonombitodeprogramasMSDOSsopreparados,temostotalmentesuportado
asinstruesdoprogramaestruturados.
3.Oprogramaincluiideiasinteressantesquandoavariveldecontrolo(nestecason)ovalordokernelloopmodificado,alterandoonmerodedesaceleraorestante,defacto,valoresde
sinalpodeserincludoreferindoseasrazesparasair.

4.Essaestruturarealmentealinhadacomasregrasdoestruturalismo,mastemosdeaceitarelementoestruturalpadronizadonestecurtosaltovariaoresolvidoemvezdoIFTHENELSE,
quenointerferecomousoadequadodoprogramaatransparncia.Seumalinguagemdeprogramaonovaidesistirdoconfortodeelementosestruturais,aindafcilelespodemser
substitudosporsistemasequivalentes.

Codewords

palavradecdigooupalavrachavedoselementosdoprogramadefontechamado,qualsistemaVisualBasicestinstaladopelofabricantedemodoqueelesso
usados,oVisualBasicexecutasuasprpriasoperaesrelatadospelapalavradecdigo.Algunsprogramasdeaesparaapalavradecdigofontedoprograma
escondidadoprogramadoreescritordousurio,influencilos,nopodeseralterado.Quandoum"dialeto"linguagemdeprogramaoversesoulinguagem
mencionado,realmentedisponibilizadospeloselementospalavrasdecdigodeprogramasdedesenvolvimentoeoperaesinternasdediscussoassociada.
Diferentesfabricantesusamdiferentespalavrasdecdigocompiladoparaprogramadores.

Aspalavrasdecdigofontedoprogramapodeserutilizadodeacordocomasregrasestabelecidaspelalngua.Comoumnomedevarivel,onomedoprocedimento
nopodeserusadocomonomesquesoidnticosaumapalavrachave.Comoprdeterminaospossvelsetodosnssabemosapalavradecdigodalngua,o
queimpossvelnaprtica.Osnomesdeprocedimentosdedesenvolvimentodesistemasevariveisverificaaesterespeitoantesdoensaiodefuncionamento,por
coincidncianotroncodaspalavrasdeinstruoenquantovocdigita.

AslinhasdoprogramadeVisualBasicemtrstipos:

InstruesInstruesparaumelementodeprograma,queprevaimplementaodeumaoperaodoprograma.Ocdigotraduzido(mquina),haver
instruescorrespondente.Porexemplo:

Abra"system.ini"ParaInputComo#3
Settb=tbData(n):n=n1:Hon.MoveFirst
DimRLX(10,12)Comocasal
paraUS$=Mid$(ex$,k,4)

OltimoexemplodeAtribuiodeinstruesassuntonocaptulopodeserlidodeacordocomapartefrontalesquerdadoLetpalavradeinstruo.

Declaraodeclaraesparaocompiladordevariveis,constantes,procedimentos,objetos,definindotiposqueofuturoprogramadeinstruo,asregrasde
gestodedadossoafetados.Porexemplo:

MundialConstPI=3,14159265358979
privadaFunoFolding(obComoobjeto,nxComoInteger)
estticohetnap$

Directivaumainstruofornecidaaplicaogeralsoftwaredetraduoounatraduodecertasregras,atomarpasso.Porexemplo:Definir,DefStr,DefObj,
OptionExplicit,OptionCompare

DefinirIK,XZ
DefDblAE
OptionExplicit
OptionCompareTexto
EndFunction

Agrupamento

elementosdoVisualBasickdszkszletnekestodivididosnosseguintesgrupos:

Instruesdepalavrascomunstaispalavrasdecdigoutilizadosparaidentificarainstruodequeoprimeiroelemento,aoperaomanualparaserexecutado.
AmaioriadelesexistemnorestodalinguagemBASIC.Irregularuslosparaindicarqueosistemafoiintroduzido.Porexemplo:Para,Avanar,Se,Else,
Abrir,Do,Erase,Tipo,caso,chamada,Goto,Rem.Amaioriadaslinhasoucessooumanualdeinstruestriboparaqueoprogramacomeou.

palavradeinstruoadicionalpalavrasdecdigoparaserusadoemassociaocomoutraspalavrasdeinstruoparaasinstruesnoestonoincio.Por
exemplo:Passo,Para,Como,WithEvents,tambm,New,ento.AlgumastribosusampalavrasdeinstruoadicionaissosituaescomoasdoPara,como
resultadodaestruturaoeaceitarapalavrainstruoadicionaloinciodainstruo,comoento.

Instruesoutraspalavrastambmpodeocorrercomooprimeiroelementodasinstrues,masindicamumusoindevidodosistemaouantesdestartup,ou
apenasumasriedeexecuo.Porexemplo,matana,SetAttr,MkDir,SendKeys,Carga,SaveSetting.

declaraespalavraspreverdeclaraesdecomandosnoexecutveis,maselesindicaramvariveis,constantes,procedimentos,instalaes,modelosaserem
definidospelocompilador.Porexemplo:Declare,pblicas,privadas,defuno,Const,Sub,Implementos,esttico.

palavradirectivainstruobastausardirectivasdadaspelocompiladorparapadrescomo.Porexemplo:Definir,DefStr,DefObj,OptionExplicit,Option
Compare,EndSub.

OVisualBasic6apresentaramumtotalde119palavradeinstruo.

Maiskdsztpusok:

nomedafunoconstrudocomprocedimentodoVisualBasicquedalgumaspropriedadesdosparmetrosdadoseosistemaretornaumvalor.Porexemplo:
Substitua,IsEmpty,Data,Formato,Esquerda,Abs,EOF,Chr.Os127funesembutidasemnomeVB6.
https://hu.wikipedia.org/wiki/Visual_Basic 11/15
15/01/2017 VisualBasicWikipedia
Substitua,IsEmpty,Data,Formato,Esquerda,Abs,EOF,Chr.Os127funesembutidasemnomeVB6.

tiposdeobjetostiposdeobjetosdedadoscomoonomedasdeclaraesdeparmetrosepalavrasdecdigoutilizadosnatransferncia.Porexemplo,CheckBox,
App,N,ButtonMenus,escova,WebClass,Err,MAPISession,dicionrio,RDOQueries,fluxodetexto,CodePanes,tela,pasta,formulrio.EmVB6,que
incluiumbuiltinobjetos,incluindobuiltinecontrolesActiveX,ecoleesdecercade260tiposdiferentes.

Mtododenomesobjetosutilizadosparaimpordirigeasoperaesouretornaumvalordequalquerpropriedadeouresultadosdasoperaesrealizadasparao
objeto.Porexemplo:GetFirstVisible,ReadProperty,Localizar,NavigateTo,Tocar,InsertFile,MoveData.Seuusomuitodiferentedasregrasgeraisda
linguagemBASIC.OsistemaresultanteparaVB6contmmtodomaisde300objectos.

NomedoEventoobjetos,principalmentepormeiodenormasdecontrolocausoualgumaaodooperadorimpulsoouresultadodamudanadeestadoque
podedesencadearprogramaparaleloestsendoexecutadocomoumasequnciaautnoma.Porexemplo,Disconnect,PathChange,temporizador,Descarregar,
ItemActivated,DropDown,BeforeClick,LinkClose,Mostrar,Validar,OLEGiveFeedback,GotFocus.Apesardeapenasumtipodecontrolepodeocorrer515
tipodeevento,onmeropadrodecontrolesVB6construdoemobjetoseaplicaumavariedadedeeventosdurante270

nomedapropriedadeobjetocomoosdadosarmazenadososztlyvltozbanumgrupodeitensparaosquaisoobjetodecontroleinterpretadaderecursos
prticosentrar.Atributoindependentementedafontedoprograma("auto")alterao,estareadoutpodeserexibidocomooestadodoprogramadecontrolo,
comomuitasdaspropriedadesdoprogramapodeseralterado,alterandoassimocontrolodecaractersticasvisveisouinvisveis.Oobjetivodoobjetoapenaso
fatodequeainformaoestintimamenterelacionadocomfacilidadedemonstrouasuacompreensodesuaspropriedades.Emvezdeusarasvariveis
habituais(matrizes)qualidadesdemanuseamentopodemserteisquandocombinadoscomosvaloresquedeveriamsertratadossszetartozan,enocasode
cpiasfeitasdosvaloresobjetopropriedadedetransmissoautomticaseriaconveniente.Umgrupodepropriedadessecomoumobjectoaserusado.
Caractersticastaiscomo:FillColor,RecipAddress,wordwrap,Top,Pai,ScaleMode,PercentFormat,Caption,linkdotpico,Alinhamento.OVB6embutido
(intrnseco)eobjectosActiveXapartirdosistemadedesenvolvimento,numtotalde1.300existempropriedadesenvolvidas.

operadortambmconhecidocomooperaoentreoperando,expresses,variveiseconstantesmarcao.Marcaooperaoentreosdoisvaloresusadopara
osprximos15operadores:+,,*,/,\,^,Mod,E,Ou,Xor,equiv,Imp,,como,&2univariadaoperador(unrio):No,AddressOf.

Menoespecialparaa

contatoconstanteprogramasemlinguagemVisualBasic,bemcomodescriesdaszmrtkkkellinguagem,funes,procedimentos,mtodosparmetros
numricosdefinidogeralmentenovisveis,masemvezdissoumnomedescritivoexibido.Hmuitasconstantesnomesmovalornumrico,massousadas
paradiferentescasos,eseunomeimplica.Porexemplo,umdosovalornumricodaconstantenosseguintesnomes:vbLongDate,vbAlignTop,vbTwips,
vbWrongFormat,vbFSTransparent,vbTileHorizontal,vbCFText,drp3D,VtChDisplayPlot,flexResizeColumns.Asconstantes,apesardasaparncias,no
builtinpalavrasdecdigo,paraqueelesnoseencaixamnestalista.Ovalordaconstantenecessidadededefinirinstruesespecficasparacadaprograma,
habitualtersuaslinhasdeautodeclaraolevadoparacima,kdmodulkntusadoemoutrosprogramas,osmdulosdoprogramadoprojectonaHungria.

Usandonomesdeconstantessoopcionais,eseusprpriosnomesindividuaispodemserusadosemseulugar.[Mj1]dessesnomesousoindividualdosistema
nopodegarantirosnomesenmerosapenasregistrarvaloresdesuasrelaescomaconveno.Asuautilizaonoapresentariscos,comoseadeclarao
constante(porexemplo:GlobalConstvbOLEDropManual=1)abaixo,masestenomecomoumparmetroemalgumlugaremuso,osistemairfazeronomeda
variveltratadacomoumavltozdeklarcivalimplcitacriado,masovalordanovavarivelsempre0.Estemuitofacilmenteacontecerseoutrostinham
vistodetalhesdoprogramavaiassumir,equenoestoincludosnasdeclaraes,apartirdoprogramadorinformados.Aopoexplcitadirectivatranquila
deklarlatlaninclusodosnomespodeserevitado,maspodeteroutrasdesvantagens.Esteproblemanocausadopelalngua,masumaestabelecido,a
documentaodemaneiradesajeitadaestabelecidadeutilizarconstantesdaMicrosoft.

1.Napiordashipteses,definimosumnomeconstantecorrespondeaumjpublicado,tornousenomeconhecido,masumvalordiferente,enganandonos,assim,todososqueolharparao
programa.

VerificaodeErros

OrecursodeverificaodeerrosbuiltinsistemadedesenvolvimentodeVB6parafiltrarumnmerodeerrosformaiseestruturais,facilitandootrabalhode
programao.Umavariedadedediferenteserrosdeediosodetectadoseindicadofases.

Antesdeimplementar

Depoisdeeditarinstruesirparaofimdosistemaindicaquepassamosparaoutralinha.Ento,quandoaeditadasmenosalgumerrobsicodesintaxe,
comearimediatamenteumamensagemdeerro.Oprogramadetesteedetranslaonopermite,desdequeoprogramaumtalerro.Imediatamenteerrosso
indicadasporlinhasnoexemploseguinte:

Parai=1a
Ia=0Then
PrivatSubElemento(ae)
Lenk=("abc")
lbLimits.Caption$=Trim(Str$(SLDL(0).Value)&""&Mid$(Str$(Abs(SLDL(1).Value)))

Oserrosqueaindapodemserinstrueslegaisteoricamenteintencionais,osistemanoexibedepoisdeentrar.Porexemplo:

Lek=("abc")

Aqui,oLen,emvezdeescritaparabaixopodeserumnomedefunooumtodotemdesercriadomaistarde,issonoimpedeaentradadosistema.
Nota:Esseserrospodemtornarmaisrpidodetectvelsetornaseumhbitoquensdefinimosprocessosqueusamosletrasmaisculasemnomesbemeeles
simplesmenteescreveroscomandosdigitadosemletrasminsculas.Sealinhaapsaconclusodonomedadonomudarautomaticamenteparamaisculas,
vocnovaiencontrarnenhumdessesprocessosouumapalavradecdigo,queprovvelumerrodedigitao.

Quandovociniciaumtestecomopartedeumprogramaexistentevocquisertentar,podemosaproveitarosserviosdeintrpreteembutidos,comeouteste
defuncionamentodoprograma.Halgunserrosquejsoperceptveisemseguida,porcausadeumalinhaderequisitosdecdigoencontramomesmo,maso
programavioladososlimitesfundamentais.Esseserros,principalmentenasinstruesdedeclaraesedirectivaspodemserdescobertasnestafasedotrabalho.
Nesteexemplo,umerroquandoainstruocolocadonareadequedadonvelsuperiordeummduloou,sedeclarouumaconstanteouvariveldenvel
superiorconflitosprocedimentodotipocomotipodeusoousedeclararumaconstanteglobaloumdulodeformulriovarivel.

OtesteexecutadoemvezdeCtrlF5F5comeouosistemaantesdoinciodetodososmdulossoexecutadosdepurao,falhasperceptveisantesda
implementao.Damesmaforma,osistemaactuasobreocdigoexecutvelapsoinciodatraduo.Nestepontoosistemafoiindicadonopargrafoanterior
indicaumerronolen()afunodeerrodeortografiakdszkntcomonemconstrudanemosseusprocessos,quercomoumamatrizdenomenosertoLe
()elementospodemseridentificados.

Aoentraremumprocessotalerrosmostraosistemaduranteaexecuodoteste,oprocedimentoquecontmoerroquandoochequechamado.Aofazlo,
nssernotificadoseumprocedimentonoprocedimentodechamadaouinstruesinternas,outrasdoqueonmeroprescritooutipodeparmetros,ouo
parmetroprocessodotiponocoincidecomaquemostradaquandoseutilizafunesouumprocessoquenodetodoidentificvel.Outroproblematpico
quandoumapropriedadeoumtododeumobjetoouvarivelcomutadaparaqueaoperaonovlido,porexemplo:

cmDimCommandButton
nx=cm.ListIndex

Duranteaexecuodotestecaso,aexecuopracomumamensagemdeerroduranteadeclaraodoprocedimentoinicial.Seosvaloresregistradospara
identificarvariveisindependentesteveumerroquandooprogramaquedesejaobter,emseguida,oprogramaemvezdeCtrlF5F5paraserlanadodamesma
maneira.

Duranteaimplementao

Comofoivistonoserrosanteriorestenhamsidoformalmenteidentificados,omaistardarquandoomtodoestruturadoprogramatemsidoinvestigada.Existemalguns
errosquessetornamdetectveisquandoosistematentaasuaimplementao.Esseserroslgicos,queoprogramadorspodesercompreendidoemelhorado.Por
exemplo:

K=C(1)abs(Val($EE))
$S=Escolha(k,"alpha","beta","gamma")

https://hu.wikipedia.org/wiki/Visual_Basic 12/15
15/01/2017 VisualBasicWikipedia
$S=Escolha(k,"alpha","beta","gamma")

Escolherafunonodeveserinterpretadak=0caso,porisso,seovalordafunoderecuperaresteforocaso,oerropraaexecuo.Parak=0ssetornaro
evidentesnodecursodaexecuodoprogramanalinhaanteriorestamquinafrente,programadedesenvolvimentoderivadodaprticacompletamente
impossvel,requerumapessoafamiliarizadacomcapacidadedeprogramao.

OsistemaVisualBasicduranteaexecuodetesteparatodasassituaesdeerronomesdoerrolistadaseindicaralocalizao.Sehouvervrioserrosobtera
mensagemdoprimeiroilyenrl,nesteErroemcontadigitefrentenalistapriorizada.Adescobertadeerrodeexecuodetestepra,entoachancedeerrosuma
partedaimediatamelhoria,easmudanasdecdigofonte.Seoreparopodecausarmudanasestruturais,osistemairnotificarnossobreissoepararo
funcionamento.Depoisdecorrigirodefeitoestruturalno,noentanto,acorridacontinuou,osvaloresdasvariveiseoutrosdadosemtempodeexecuopara
hibajavtstlnoperdeu.Estemtododetestarumasriedemelhoriasnadetecodeerrosepermiteumprocessoderunin,grandementeacelerandooprocessode
testeedesenvolvimento.

Otestefoiexecutado,umacorridacompleta,oprogramafuncionalmenteequivalenteaumaexecuodecdigocompiladosealgumdiavoctiverumalagoa,coma
ressalvadequeoerronalocalizaotemosinformaesprecisas.Oprogramacompiladoestemexecuoemcasodeumafalhasempreinterrompidaeparou,eo
programadornestecasoapenasumamensagemcurtaestdisponveleanaturezadoerro,masnocolocar.[MJ1]

1.Porestarazo,adepuraorequerconsidervelexperinciaepossivelmentetambmummontedetemponoprogramaexigeumasriedecolocaomarcadordetemporrioehuma
grandenecessidadeparaousurioinformaesmaisdetalhadassobrealtimaoperao,oszitucirl.

Hibaelterels

QuandovocseguirasinstruesdetectadoserrosnacategoriadeVisualBasicpermitequemuitostiposdeerrosqueocorreoerro,oprogramaprojetadopara
executarumaseqnciadeaesnolugarparapararamensagemdeerro.Essacapacidadesignificaqueoerrodooperador,sobdeterminadoplanononecessria
antesdainstruocrticanoprogramaparaexaminarqualquerpossibilidadedeerro,masosuficientecomarespostaculpaportodasascausas.

A"gesto"falhaoudesviaratecnologianecessrianaformadeumasubrotinarecorda,queocorreumafalhaemumprogramadeparteseparadatransferidaparaa
unidadedecontrole,queumainstruoespecialpararetornarsemelhanteinstruoderetorno.Porexemplo:

SubConde()
...
PorerroGoToerhSz
...
k$=Mid$(ANX$,t$,1)'error<<
Parai=10Para20
...
PorerroGoTo0
ExitSub'!
'===Tratamentodeerros
erhSz:
E=Err
v=MsgBox(Str$(e)&.'Nmerodeerrosdetectados,continuaratrabalhar",48)
RetomarSeguinte
EndSub

Podeseobservarqueoshibaelterelsligadoparaseobteroprogramafazpartedortuloparaaqualoprogramadevesaltarcasodeumafalha.Esteavanodevefazer,
edepoissaltaautomaticamente,apenasnocasodevoclekezelhettipodeerro(noMid$funo).Qualquerinstruopodeocorre,emparte,comoummanipulador
executadolongametragemparteeinformaleentoocurrculodecomando,fecheopromptdecomando.Existemtrsformasdiferentes,aquiResumeNextefeito
dessainstruoapsainstruoquecausouoerrocontinuaexecuoUmdelespoderiasercontinuado,repetindoadeclaraoofenderouumrtulocomoretorno.
Finalmente,nsdesligadoporummonitoramentodeerrosdecomando.Tratamentodeerroacessoderotinanodeveserdeoutraforma,porqueocurrculode
comandonovaiencontrarumsinaldefalhaapartirdosdadosregistradosnosistema,esteerro"traseira"precedeuaretiradadoprocedimentoprescrito.

Nemtodosostiposdeerrospodemsertomadoscuidadosdecorretamente,otipodeerroVB6119deautorizaodedesvio,essescdigosdeerroestoentre3e31307
Ohibaelterelsofereceoportunidadesconvenientesparaescreverinstruessimplesincerto.Porexemplo,sevocdesejaexcluirumarquivo,maselenoexiste,a
instruocausaumerro.Emvezdeanalisaroarquivo,especialmenteumaseguiraooutronocasodeumasituaosemelhantevriosmaneirasimplesdeevitareste
problemanoimportante:

EmErroretomarSeguinte
Matar"mail\t*.txs"
...
emerroGoTo0

Quaisquererrosvirtualmenteignorada.Talcoisa,claro,somentesenecessrio,deveserusadoecautela.

Nemtodosbugerro,elepodecausarumerroporpartedoutilizadorouumambientedeprogramaemexecuo.[Mj1]Emcasodeacidenteoudesligadodurante
LekezelhetetlenerrodesistemademonitoramentodefalhanoVisualBasicruntimecomponenteexibeumamensagemdeerronatela,onmerodecdigodeerroe
umabrevedescriode,emseguida,interrompeuoprogramaestsendoexecutado.

1.Noentanto,emltimaanlise,cadabugumerrodeprogramao,porqueaprogramasdeaplicao,anotciaseespalhou,"provadeidiotas"deveserfeito.Namelhordashipteses,o
desenvolvedordoprogramaestavadistrado,ummaucasodoprogramadedesenvolvimento,abibliotecadetempodeexecuoousistemaoperacionaldesign,casoemqueoerronopode
serreparado,apenascercadealgumaforma.

deficinciasdelinguagem

AspalavrasdecdigoVB6eopesdeidiomasoosprogramadoresqueidiomasomaisbsicas,ououtrasorientadasaobjetostambmsoconhecidos,tendema
perderalgumasferramentasconhecidasnoVisualBasic6idiomas.Essedesejonoinfundado,issomostraqueosVisualBasic.NETverses,algunsdosquaisforam
encontrados.

instruesdeimpressomaisprecisamente,apossibilidadedeperderoprogramaquecapazdegravarumamensagemsimplesnoecr,outilizadorspode
informaroprogressodostrabalhosoudivulgarosresultadosnofinaldaobra.PercebendoalinguagemBASICvelhoparaosistemadeexibioumstatus
simples,personagemeraodispositivodesadapadro,taiscomoDOSemsistemasoperacionaiseramcomunsemPCstambm.Issochamadodetelado
console[mj1]doVisualBasiccarecedetaistextoskirniapenasumcampodeformulrioouumtextopodeserdegestoincluio.printmtodo,oquecausa
algumdesconfortoaoescreveraparnciasimplesdeprogramasindesejadosdoWindows.
entradamanualcomodescritonaseoanteriorestligadoaesteproblema,nosporquenohnenhumdispositivodesadapadro,masnoexisteuma
linhadeentradapadro.PoucoconhecidoparaconterumVB6InputBoxnomesdefunes,oqueabreumalinhadeentradadedadosparaumdilogo
essencialmenteresolvidoesteproblema.

declaraodedadosqueemumpontonoprograma(frequentementenoincio)quantidadesmaioresdearraysdevariveispodesercarregadovaloresde
partida,porexemplo,umestudoestatstico,quepodeserfeitosimplesmenteovalortransmisses,taiscomo:

Dimds(3,5)
ds(1,1)=18:ds(1,2)=3:ds(1,3)=45:ds(1,4)=110:ds(1,5)=1
ds(2,1)=34:ds(2,2)=3:ds(2,3)=91:ds(2,4)=8:ds(2,5)=70
ds(3,1)=2:ds(3,2)=0:ds(3,3)=4:ds(3,4)=57:ds(3,5)=6

ComestasoluoconvenientedifcilLEIAparinstruoDATAparafazeramesmacoisa:

Dimds(3,5)
Parai=1Para3:Paraj=1Para5
Leiack(i,j)
Prximoj:Prximoi
dados18,3,45,110,1,34,3,91,8,7,2,0,4,57,6'parmetro5x3

Naltimasoluoparaocomandodedadosnoexecutada,osvaloressoarmazenadosapenasparaleitura.Omtodomaispropriedadesvantajosasefinura,
easlnguasbsicastradicionalmentehestasinstruesoVisualBasicdealgumaformadeixadodefora,emborapudesseserdeixadocomoumaopo,como
tantasoutrasdeclaraesmodaantiga.

Blocodecomentrionosolinguagensdeprogramaocomalinhamaiscoerentetambmpodecomentar(comentrio)pararebaixarestadoemmenos
foramimplementadasessasinstruesduranteoteste.Porexemplo,comoum<!>Or/**/paresdesenha.OBASICforneceapenasumaopoparaas
linhasqueseestendem,versoclssicadoREMnademonstraocaso,VisualBasic,almdeoapstrofo('personagem)(vejanofinaldoexemploanterior).Esta
umaseodeprogramasmultilinhaparadesativlotemporariamentedifcil,masainterfacedeedioumaopodeumadeterminadaseodecadalinha
deumavez,shapingcomentoulinhaporerecuperaoapartirdele.
https://hu.wikipedia.org/wiki/Visual_Basic 13/15
15/01/2017 VisualBasicWikipedia
deumavez,shapingcomentoulinhaporerecuperaoapartirdele.

Heranaestesconceitosdeprogramaoorientadaaobjetosenvolvidosmaistardeteorizouincluemamanutenoautomticaetransformaodasrelaes
lgicasentreostiposdedadosededados.Emprimeirolugar,alinguagemC+,tendncialingusticacomeouutilizadoresnopossuemestaferramenta,embora
sejadifcildeseguirasestruturasdedadospodesercriadodeformarpida.OVisualBasic.NETjcontmessasoportunidades.

polimorfismoprocedimentosdefinidosdestaextremaflexibilidade,semdvida,seafastardakonvenciitlVisualBasicclssicoeestruturadecomandoclara,
tornandosedifcilparaverificaesdeerroautomatizadas.Masporquealinguagemvagamentedigitadolnguapertenceaogrupo,necessrioconvertero
polimorfismoflexveleachamadadeprocedimentoparadeixarfoilevantada(opcional)podeserparcialmenteparmetrosdarlheacapacidadedeimitareste
dispositivo.
1.Onomevemdeumapocaemqueatmesmoatelaemvezdeosprogramasemsuasmensagensparaoconsole,teclado,umaimpressoraembutidaenviado.

Tradues
Oprogramadesenvolvidoetestadoformadecdigofonte,eventualmente,parasertransformadoparaumaformaquepodeserexecutadoseminstalarVisualBasic
paracomputadoresdeoutrosusurios.Esteprogramatraduzida("kompillsa")necessriasparaarealizaodesteprogramatambmfazpartedosistemade
desenvolvimento.

Antesdeiniciaratraduo,osistemaexecutaocontroletotaldoprograma,quepodemserfiltradosparaencontrartodososerrosantesdacorrida,eumdosprimeirosa
indicaralocalizaoetipo.erroslgicosnosoftwareprogramaoudadosdeconversonopodefiltrarapartedotrabalhodoprogramador.

Cdigo

Ocdigodeprogramaexecutveltraduoemdoisnaturezaparaconverterocdigofonte.UmchamadodePcode(comoousadoemoutroscasos,formasimbolica
).Oprogramanotemessecdigoformalmquinacompiladoconvertidotodasasoperaes.TodososprincipaiscomponentesdefuncionamentodalinguagemVisual
Basic,instruesemlinguagemdemquinaquedescrevemprogramrutinoksocombinadosemumnicoarquivo,eoPcdigoesseslinksparaincluirapenas.Assim,
noexactamentetodasasactividadesquerequeremoprogramadecdigocompiladomquinatambmpodesermontadoemconjunto,demodoquepodeser
executadoaextensodatraduoresultanteficheiroEXEirsermuitomenoremtamanho.Contendooselementosbsicosdabibliotecadetempodeexecuo(Run
TimeLibrary)podemserencontradosnamquinaecarregadoapartirdelquandoelanecessria.QuandoavriosPcdigodemquinainvertida,VisualBasic6
foifeitonoprograma,emseguida,esseselementosbsicosdeumnicoarquivopodeserencontradonapastadoWindowsdearquivos,conhecidacomo
MSVBVM6.DLL(tamanho1354KiB).ParaserumPcdigogastoemprogramasparafuncionar,duranteainstalao,vocdevecopiarestearquivoparao
Windows.UmavezqueasoperaesdoprogramadecdigoPestosempreprocuraemoutroslugares,avelocidadedohelynyeresgrtprogramaemtrocadeum
poucomaislentoSabendooobjectivodoprogramapodeserconsideradocomooaspectomaisimportante.Umprogramaquegeralmenteoegrmozdulatra
utilizador,esperadeteclas,velocidadenodegrandeimportncia.

Outrapossveltraduonaformadecdigonativo,oquesignificaquetodooprograma,comtodososdetalhestraduzidaemcdigodemquina,queentopodeser
diretamenteexecutadosobosistemaoperacionalWindows.bibliotecasdeexecuonosernecessrio.Ocdigocontmtodasinstruoelementargrande,masa
velocidadedeexecuoligeiramentemaisrpido.Portanto,esteprogramapodeserumaconsideraoimportante,comlongaslinhasemoperao,clculoseanlises
dedadosforamconduzidossemqualquerintervenodoutilizador,equemuitascaractersticasoperaodatela,desenho,processamentodeimagem.

Setup

MesmoocdigonativoprogramasdepoiscompiladomuitasvezesnoqueumatraduoresultandoextensodearquivoEXEtransfernciaparaoutramquinaemsi
suficienteparaexecutar.OprincipalobjetivodeelementosvisuaisprogramaVisualBasicasmesmasrotinascomumaestruturadeinterfacedeusurioegesto
espetacular,econtrolaaexibionatelaenecessrioofuncionamentodosistemaparalevarosarquivosexternosdoprocessodeplanejamento.Nestescontroles
ActiveXOCXouarquivosDLLgeralmentecontmaextenso,eocdigonocdigonativoapsestesparaconstruir,vaisertransferidoparaqualquerprograma.
Devidoaesteprograma,ainstalaodevesercopiadoparaoscomputadoreseestesficheirostambmrealizarestatarefanopacotedeinstalaodoprograma.

OsistemadedesenvolvimentoVisualBasicincluiumAssistentedepacoteeimplantaoprogramachamado,comonossoprogramaligadocomumpacotede
instalaoquejfazemcpias,envilo,podemosdistribuir.OpacotedeinstalaocomtodoocontroleActiveXnecessrio,bibliotecadetempodecorrereoutros
elementosnecessriosseroincludos,construireinstalaodosistemademquinaemparticular.

controloseoutrosacessriosarmazenadosemficheirosseparadosparecemcausardesconforto,emboraavantagemdestemtodoque,seamquinatemumamais
recenteumsuplemento,presumivelmenteumacpiamelhorada,entooprogramavaiserusado.Domesmomodo,seumcomponentedeumprogramajinstalado
umaversoactualizadaestdisponvel,suficienteapenasparasubstituiramquinaeoprogramaemsinonecessriaparaatraduzirofabricante.

Outrasopes
UmbemconhecidoentreprogramadoresepanfletopopulardeumadeclaraofamosadoFortranlinguagemprogramal:"OquenopodeserfeitoemFortran,isso
podeserfeitoemlinguagemassembly.Oquenopodemosfazloemlinguagemassembly,elenopodeserfeito."[11]igualmenteconsideradavlidaemtodaa
lnguadeprogramaodealtonvel,comoBASICtambm.MasquetodososfinsparaosquaisVisualBasicnovemcompalavradeinstruoouumafuno,no
faaoprogramadorassembly'sprprialnguadesinaisprogramacomplementar,VisualBasicoferecemuitasopesjpreparadasporterceirosepublicadosem
programasdepeasparaousodiretodeumanicaparcela.

OLE(ObjectLinkingandEmbedding)

OscontrolessoutilizveisporVB6padroumtipodeOLE.Estecontroledocumentosexternos,ocontedodeoutrosarquivospermiteexibirdentrodoprograma,
combase,semterqueprogramarumescritorparaconhecerocontedodaestruturadodocumento,osprocedimentosdecriptografiadedados.Osembutidos
documentosporqueotipodearquivoparaoaplicativoassociadoseraberta,emcooperaocomoprximoprograma,queoprogramaestemexecuoumpoucoda
outrarelacionadacomaaplicaotambminiciado.Comestemtodo,atmesmoumficheirodevdeoemumdesenhotcnico3D,umagravaodeudiopodeser
inseridanoprogramaepodeserexibido.Qualquertipodedocumentopodeserincorporadocomoterseusprprioscontroles,prontoparaaediodotipoOLEdo
programadecooperao,umalistadetaiscontrolesquandoinserirreceber.Oobjetoincorporadoresultandoemseuprogramaquevocnopodemudar,spodeexibir
eeditarocomeonecessrioparaaaplicao.

OCX(controleOLEextenso)

objetosOLE,formamumdosusosposteriorestemvindoaprepararearmazenarobjetosemseucontrole.Estesobjetoscoladosemprogramasdeoutros,propriedades,
mtodoseeventospodemserenvolvidosemseucdigo,masficardefora,elepodeseratualizadoindependentementedoscomponentesdosistema.Taiscontrolesso
formavisvelamaioria,ocriadordesteplanoesepreparar.AmesmatarefaVB3atravsversodoVBXarquivosdecomponentes(extensoVisualBasic)equipada.A
expansoOCXtipoparaoMicrosoftActiveXseunome,masessenomeousoinconsistenteemuitasvezesseencontramcomadiesquecumpramnoscom
outroscontrolesdoVisualBasicpodeescreveruniramprogramasmenores,umatarefa,masumacapacidademaisprofundasaonveldosistemadeacessomaisfcil
paratornlomaisfcil.ADLLdeextensodearquivoouOCXOCXobjetosestodisponveisnoformulrio.

DAO(DataAccessObject)

componentedoDAOMicrosoftproprietriadosistemaearquivosdebancodedados,criaoegerenciamentodedarapoiodirectoaosprogramas.MicrosoftJetpara
gerenciarostiposdebancosdedados,osdadosseroarmazenadosemarquivosdeextenso"MDB".ADadosdecontroletipofornecebancodedadosembutidoeum
deleiteparaabrirocontedodeumdispositivoprimitivo,masoseuusononecessrioqueaadiofazcomquesejapossveldefinirnovostiposdeobjetos.Estes
so:DBEngine,espaodetrabalho,Erro,Conexo,BancodeDados,TableDef,Mesa,QueryDef,registos,Relation,Campo,Index,Container,Documento,Grupo,
Usurio.Osmtodosseguidosnessesobjetos,comandosepropriedadesdosobjetospodemcriaroaplicativodeuslo,deacordocomgerenciamentodebanco
mltiploemodelodepartilha,mesmofazendousodosserviosdeconsultaehttrtranzakcisSQLlike.OexISAMDAO(cadastradasSequentialAccessMethod
foisubstitudo)deapoio.

ODBC(OpenDatabaseConnectivity)

Estesmtodosdeacessoadadospermitembancodedadosremotogeridopeloacessoaoutroaplicativo,parauso,mantendocomunicao.Estatcnicasemelhante
sconexesOLEnoprocuramidentificaresuperaraestruturadasbasesdedadosutilizadasporoutrosprogramas,massefosseparagerenciarasaplicaesdotipo
debancodedadospodeseriniciado,ejnohcapacidadeparaaligaoODBCaserestabelecida,vocpodetrabalharcomdadosnoprogramadaaplicaodovoc
podeorganizarsuainterpretao.OagoradifundidoSQLdatabase(StructuredQueryLanguage)chamadointerfacedecomando.motorassimdisponvel.
caractersticasODBCnoVisualBasicsuportadiretamenteincorporadasaoidioma,maselestambmpodemchamardiretamenteoAPIdeinterfacedamesmaforma.

DLL(DynamicLinkLibrary)

https://hu.wikipedia.org/wiki/Visual_Basic 14/15
15/01/2017 VisualBasicWikipedia
TalcomojindicadoosarquivosDLLcomextensescomooprogramaseencaixaActiveXcontrolessoumportadorpotencial.MasmaisdoqueissoDLLpermite,
comoestearquivocontmumabibliotecadeprocedimentosparaoutrosprogramaseservios,eso,sesabemosasinformaesnecessrias,quepodetambmutilizar
essamesmatcnicaparaaAPIchamandooprocedimento.tambmpossvelqueapartedeprogramapreparadoparaentraroutraeformamoprogramaprincipal
iniciouprocedimentosparanospassar.ODLLcontmrotinasdecdigodemquina,demodoquenoimportaaelesoqueestavaescritoemlinguagensde
programao.Comestatcnica,umprogramaescritoemVisualBasictambmpodeusarosmdulosdesoftwareescritosporoutraspessoas,essencialmente
combinandoouniversalmenteportodososoutrosbaseadosemPClinguagemdeprogramao.

OWindowsAPI(ApplicationProgrammingInterface)

Windowstambmincluiumasriedeprocedimentoseserviosutilizadosnassubprogramasprprios,masosprogramadorespodemuslosparaseusprprios
programas,tipicamentefundojanelasligadopararesolverproblemasimportantes.(ElespodemtambmestarpresentesnamaioriadosarquivosDLL,especialmenteno
diretrioWindows\System32.)Estessotodoslinguagemprogramassoconvidadosainiciaratransmissodeparmetrospadroesocapazesdeprocedimentos
externosdecdigodemquinaVisualBasicumdeles.APIduranteessarecolhaemlargaescaladecomponentesdosistemacompreenderelistadetalhada
paramterdefinciknecessrioparaosatingir.ElesestousandooselementosdatarefapodemserresolvidospeloVisualBasicnosuportaasuaprpriapalavra
chave,eletambmpodecairforadombitonormaldeusonormal.OsprocedimentosparaousodeAPIestumexemplo:

DeclareFunctionIsWindowVisibleLib"User32"(ByValhwndComoLongo)ComoLongo
FunoLoadTaskList(VVP$)
SeIsWindowVisible(cwe)Emseguida,
h=flE1
EndSe
EndFunction

Este(emsimesmosignificado)exemplomostraquedepoisafunoAPIoumtododedeclaraonoprogramatemsidousadonamesmaformaquequalqueroutra
funoouumprocedimento.AutilizaoAPI,claro,serreconhecidonalistadeprocedimentosdisponveis,opapeldosparmetrosdomtododenominado,tipoea
sequncia,masaMicrosoftpublicatodosdescarreguedocumentaodetalhada.[12]

NosAPIdoWindowsestdocumentadaemsuaprpriacoleoderotinas,mastambmalgunsoutrosgrandesrendszerkiegsztsnek(eg.Java,DirectX,OpenGL
),permitindoousodasoportunidadesinerentesaumprogramaemlinguagemVisualBasicavanadostambm.

Notas
2.OnascimentodeVisualBasic(http://www.forestmoon.com/BIRTHofVB/BIRTHofV
1.SistemadeProgramaodoMicrosoftVisualBasicparaWindows B.html)(emIngls).forestmoon.com.(Viewers:04deagostode2013)

3.microsoft1991KeyNoteCoast5(https://www.youtube.com/watch?v=bMz2Mgs7U 9.PaulThurrott:WindowsDefenderBeta2Review(http://winsupersite.com/article/prod
U0)(videoidiomaIngls,02:00emdiante)(youtube.com) uctreview/windowsdefenderbeta2review)(emIngls).winsupersite.com,06de
4.VisualBasic1.0ParaMSDOS(https://www.youtube.com/watch?v=dEqWA_mmPC outubrode2010(Open:04deagostode2013)
k)(vdeo)(youtube.com) 10.Basic6.0ResourceCenterVisual(http://msdn.microsoft.com/enus/vstudio/ms78822
5.QuerveroquenovoemVB6?(http://www.insteptech.com/techLibrary/vbClassic/vb 9.aspx)(emIngls).msdn.microsoft.com.(Viewers:04deagostode2013)
6_news.htm)(EmIngls).insteptech.com.(Viewers:04deagostode2013) 11.OverdadeiroprogramadortrabalhandoemPascal(http://www.cab.uszeged.hu/loca
6.ApetioPARAODESENVOLVIMENTODAVisualBasicenogerenciadoVisual l/doc/UNIX/orlando/igazi.html)(emhngaro).cab.uszeged.hu.(Viewers:04de
BasicforApplications(http://www.classicvb.org/petition/)(Ingls).classicvb.org. agostode2013)
(Viewers:04deagostode2013) 12.ListaAPIdoWindows(http://msdn.microsoft.com/enus/library/windows/desktop/ff
7.AlTenhundfeld:VisualBasic6.0parasersuportadonoWindows7(http://www.info 818516(v=vs.85).aspx)(emIngls).msdn.microsoft.com.(Viewers:04deagostode
q.com/news/2009/03/vb6_on_win7)(emIngls).infoq.com,4demarode2009 2013)
(Aberto:04deagostode2013)
8.AndrewOrlowski:MSAntiSpywareconstrudaemMSAbandonware,TheGhostof
VB6(http://www.theregister.co.uk/2005/07/22/microsoft_spyware_vb6/)(em
Ingls).theregister.co.uk,22dejulhode2005(Aberto:04deagostode2013)

Fontes
SistemadeProgramaodoMicrosoftVisualBasicparaWindows:Verso3.0(MicrosoftCorporation,1993,USDB514100993)
PeterHargittaiLszlKaszanyiczki:VisualBasic3.0:(LSICentrodeTreinamento,ISBN0963577101)
LszlKaszanyiczki:VisualBasic5.0usurios:(LSICentrodeTreinamento,1998)
VisualBasic6.0documentaodoproduto:Descriodoproduto(http://msdn.microsoft.com/enus/library/hh204616)(emIngls).msdn.microsoft.com.
(Viewers:04deagostode2013)
TheDocumentaryVisualStudio:PartOne(EmcomemoraoaoLanamento2010)(http://channel9.msdn.com/Series/VisualStudioDocumentary/TheVisualSt
udioDocumentaryPartOne)PartTwo(http://channel9.msdn.com/series/visualstudiodocumentary/thevisualstudiodocumentaryparttwo)(vdeosdelngua
Ingls)(msdn.com)

Retiradode"https://hu.wikipedia.org/w/index.php?title=Visual_Basic&oldid=17882360"

categoria: linguagensdeprogramao linguagensdeprogramaoorientadaaobjeto

Estapginafoimodificadapelaltimavezem27deagostode2016,15:56
OtextoCreativeCommonsAttributionShareAlike3.0soblicenaemalgunscasos,usadadeoutrasmaneiras.Paramaisdetalhes,consulteostermosde
uso.

https://hu.wikipedia.org/wiki/Visual_Basic 15/15

Você também pode gostar