Escolar Documentos
Profissional Documentos
Cultura Documentos
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"
Estapginafoimodificadapelaltimavezem27deagostode2016,15:56
OtextoCreativeCommonsAttributionShareAlike3.0soblicenaemalgunscasos,usadadeoutrasmaneiras.Paramaisdetalhes,consulteostermosde
uso.
https://hu.wikipedia.org/wiki/Visual_Basic 15/15