Upload
ian-nicolas-salazar-betancur
View
58
Download
3
Embed Size (px)
DESCRIPTION
MANUAL Visual NET basico
Citation preview
7/13/2019 MANUAL Visual NET
1/362
Textodiseadopara
ensearenprofundidada
desarrollaraplicaciones
basadasenlaplataforma
.NETFramework,
utilizandoVisualBasic
.NETcomolenguaje.
Eltextocubretanto
aspectosbsicoscomo
avanzados,abordando
ellenguaje,programacin
orientadaaobjetos
(OOP),elentornode
desarrollodeaplicaciones
(IDE)deVisualStudio
.NET,etc.
Setratadeunmanual
demuyampliocontenido
endocumentacin,
adems
denumerososejemplos
listosparaserutilizados
desdeVisualBasic.NET.
Entrelosrequisitos
previos,bastacon
conocimientosde
fundamentosde
programacin,conocer
almenosunlenguaje,sea
esteelqueseayconocer
elS.O.Windowsanivel
deusuario.
PPRROOGG
RRAAMMAACCIINNEENN
VVIISSUUAA
LLBBAASSIICC..NN
EETT
LLUUIISSMMIIGGUUEELLBBLLAANNCCOO
Desarrollodesoftware
7/13/2019 MANUAL Visual NET
2/362
3
ADVER
TENCIALEGAL
TodoslosderechosdeestaobraestnreservadosaGrupoEIDOSConsultorayDocumentacin
Informtica,S.L.
Eleditorprohbecualquiertipodefijacin,r
eproduccin,transformacin,distribucin,yaseamediante
ventay/oalquilery/oprstamoy/ocualquier
otraformadecesindeuso,y/ocomunicacinpblicadela
misma,totaloparcialmente,porcualquiersistemaoencualquiersoporte,yaseaporfotocopia,medio
mecnicooelectrnico,incluidoeltratamien
toinformticodelamisma,encualquierlugardeluniverso.
Elalmacenamientooarchivodeestaobraenunordenadordiferentealinicialestexpresamente
prohibido,ascomocualquierotraformade
descarga(downloading),transmisinopuestaadisposici
n
(anensistemastreaming).
Lavulneracindecualesquieradeestosderechospodrserconsideradacomounaactividadpenal
tipificadaenlosartculos270ysiguientesde
lCdigoPenal.
Laproteccindeestaobraseextiendealuniverso,deacuerdoconlasleyesyconveniosinternacionales.
Estaobraestdestinadaexclusivamentep
araelusoparticulardelusuario,quedandoexpresamente
prohibidosuusoprofesionalenempresas,centrosdocentesocualquierotro,
incluyendoasusempleado
s
decualquiertipo,colaboradoresy/oalumnos
.
SiVd.
deseaautorizacinparaelusoprofesional,[email protected]
alfax(34)-91-5017824.
Sipiensaotienealgunadudasobrelalegalidaddelaautorizacindelaobra,oquelamismahallegado
hastaVd.vulnerandoloanterior,[email protected]
fax(34)-91-5012824).Estacomunicacinserabsolutamenteconfidencial.
Colaborecontraelfraude.
Siustedpiensaqu
eestaobralehasidodeutilidad,peronosehanabonadolo
s
derechoscorrespondientes,nopodremoshac
ermsobrascomosta.
LuisMiguelBlanco,2
002
GrupoEIDOSConsultarayDocument
acinInformtica,S.L.,
2002
ISBN84-88457-53-7
ProgramacinenVisualBasic.N
ET
LuisMiguelBlanco
Responsabledelaedicin
PacoMarn([email protected])
Autoedicin
MagdalenaMarn([email protected])
LuisMiguelBlanco([email protected])
Coordinacindelaedicin
AntonioQuirs([email protected])
GrupoEIDOS
C/Tllez30Oficina2
28007-Madrid(Espaa)
Tel:915013234Fax:91(34)5017824
www.grupoeidos.com/www.e
idos.es
www.LaLibreriaDigital.com
7/13/2019 MANUAL Visual NET
3/362
5
AOlgayDavid,
porlashorasquelesherobado
paraescribirestetextoqueahora
tienesentusmanos
Amispadres
ARobertoyCarlos,
mishermanospequeos,enedad,peronoenaltura
7/13/2019 MANUAL Visual NET
4/362
7/13/2019 MANUAL Visual NET
5/362
7/13/2019 MANUAL Visual NET
6/362
7/13/2019 MANUAL Visual NET
7/362
7/13/2019 MANUAL Visual NET
8/362
7/13/2019 MANUAL Visual NET
9/362
7/13/2019 MANUAL Visual NET
10/362
7/13/2019 MANUAL Visual NET
11/362
7/13/2019 MANUAL Visual NET
12/362
7/13/2019 MANUAL Visual NET
13/362
7/13/2019 MANUAL Visual NET
14/362
7/13/2019 MANUAL Visual NET
15/362
7/13/2019 MANUAL Visual NET
16/362
7/13/2019 MANUAL Visual NET
17/362
7/13/2019 MANUAL Visual NET
18/362
7/13/2019 MANUAL Visual NET
19/362
7/13/2019 MANUAL Visual NET
20/362
7/13/2019 MANUAL Visual NET
21/362
7/13/2019 MANUAL Visual NET
22/362
7/13/2019 MANUAL Visual NET
23/362
7/13/2019 MANUAL Visual NET
24/362
7/13/2019 MANUAL Visual NET
25/362
7/13/2019 MANUAL Visual NET
26/362
7/13/2019 MANUAL Visual NET
27/362
7/13/2019 MANUAL Visual NET
28/362
7/13/2019 MANUAL Visual NET
29/362
7/13/2019 MANUAL Visual NET
30/362
7/13/2019 MANUAL Visual NET
31/362
7/13/2019 MANUAL Visual NET
32/362
7/13/2019 MANUAL Visual NET
33/362
7/13/2019 MANUAL Visual NET
34/362
7/13/2019 MANUAL Visual NET
35/362
7/13/2019 MANUAL Visual NET
36/362
GrupoEIDOS
4.InstalacindeVisualStudio.NET
Unavezdetectadosloscomponentesquene
cesitanactualizacin,sernmostradosacontinuacinenla
listadelaFigura26,dondevolveremosapu
lsarsobreContinuar.
Figura26.L
istadec
omponentesquesenecesitaactualizar.
Yaqueesposiblequeelprogramadeinsta
lacinreinicieelequipounaomsveces,acontinuacin
estableceremos,enelcasodequeexistanennuestroequipo,
lasclavesdeaccesoalsistema,para
que
losreiniciosseanautomticos.VerFigura2
7.
Figura27.
Valorespararealizarreiniciosautomticosdelequipo.
Programacincon
VisualBasic.NET
GrupoEIDOS
72PulsaremosacontinuacinsobreInstalarahora,conloqueseprocederalaactualizacindelos
componentesdelalista.Unavezterminadaestaactualizacin,ac
eptaremoslaventanafinalde
WindowsComp
onentUpdateyseguiremosconlainstalacinnormaldeVS.N
ET,loquenosrequerir
denuevolaintroduccindelCD1.
Puestoqueyah
emosactualizadoloscomponentesdelsistema,elsigu
ientepasoseryalainstalacin
deVS.N
ET,qu
epondremosenmarchaalhacerclicsobreelpaso2delainstalacin,quetieneel
nombredeVisualStudio.NET.VerFigura28.
Figura28.
InstalacindeVisualStudio.N
ET.
Semostrarpues,
lapantallaconlosdatosdelicencia,productoyusuario.Enelcasodeestarde
acuerdocontod
osestostrminosyaceptarelcontrato,haremosclicso
breContinuar.VerFigura29.
Acontinuacin
debemosseleccionaraquelloselementosdelproductoquedeseamosinstalar,el
entornodeejecucin,lenguajes,utilidades,ayuda,e
tc.,ysuubicacin
eneldiscoduro,comomuestra
laFigura30.Te
rminadalaseleccin,pulsaremossobreInstalarahora
paraquecomienceelproceso.
Durantelainstalacin,elprogramanossolicitarprogresivamentelosdiscosrotuladoscomoCD2y
CD3.
Esteprocesode
instalacinnosindicaelarchivoqueseestinstalandoencadamomento,ascomola
informacinde
suestadoatravsdeunabarradeprogresoyeltiemp
oestimadorestante,aunquepor
laspruebasrealizadas,esteltimovalornoestotalmentefiable.
Para
queellectorseformeunaidea,
enelequipoen
elqueserealizlainstalacin,estallevountiempo
aproximadodedoshoras.Ver
Figura31.
7/13/2019 MANUAL Visual NET
37/362
GrupoEIDOS
4.InstalacindeVisualStudio.NET
Figura29.Informac
indelicenciadeVisualStudio.N
ET.
Figura30.Seleccindeco
mponentesainstalardeVisualStudio.N
ET.
Programacincon
VisualBasic.NET
GrupoEIDOS
74
Figura31.Informacinsobreelprogresodelainstalacin.
Concluidalainstalacin,elprogramanosinformardesiseprodujoalgunaincidencia.Encasodeque
nosehayanpr
oducidoerrores,finalizaremoshaciendoclicsobreL
isto,conloqueyatendremos
instaladoVisualStudio.N
ETennuestroordenador.VerFigura32.
Figura32.
Finaldelainstalacin.
7/13/2019 MANUAL Visual NET
38/362
GrupoEIDOS
4.InstalacindeVisualStudio.NET
Basesdedatosdeejemplo
Elprogramadeinstalacintambincopia
variasbasesdedatosSQLServerdeejemploennue
stro
equipoquepuedenserutilizadasdesdeSQ
LServer7oposteriores.EnelcasodedisponerdeSQL
Server2000,probablementehabrcreado
lasiguienteruta:\Archivosdeprograma\MicrosoftSQL
Server\MSSQL$NetSDK\Data,yenellahabrdepositadolasbasesdedatostpicasdeejem
plo:
Northwindypubs,m
sdosadicionalescon
elnombredeGrocerToGoyPortal.
Enelcasodequeestasbasesdedatosno
sehayanincorporadoalservidorSQL,
lasadjuntare
mos
manualmenterealizandolossiguientespaso
s:
IniciarelAdministradorcorporativodeSQLServer(EnterpriseManager)yconectar
con
nuestroservidordetrabajo.VerFig
ura33.
Figura33.
Admin
istradorcorporativodeSQLServer.
AcontinuacinharemosclicderechosobreelelementoBasesdedatoseiremosabriendo
los
sucesivosmenscontextualeshastaseleccionarlaopcinAdjuntarbasededatosquese
muestraenlaFigura34.
Programacincon
VisualBasic.NET
GrupoEIDOS
76
Figura34.SeleccionaropcinparaadjuntarunabasededatosaSQLServer.
Semostraruncuadrodedilogoparaseleccionarlarutaendonderesidelabasededatosque
queremosadjuntar.
Porloquehaciendoclicenelbotnconlospuntossuspensivos,nos
desplazaremosalarutaenlaquesehansituadolasnueva
sbasesdedatosdeejemploy
seleccio
naremoselficherodedatosdeunadeellas,porejemplo:Portal.MDF,comomuestra
laFigura35.
Figura35.SeleccindebasededatosparaadjuntaraSQ
LServer.
7/13/2019 MANUAL Visual NET
39/362
GrupoEIDOS
4.InstalacindeVisualStudio.NET
PulsaremosAceptarysitodoesc
orrecto,seadjuntarlabasededatosanuestroserv
idor
mostrndoseyaenelAdministradorcorporativo.VerFigura36.
Figura36.Bases
dedatosadjuntadasaSQLServer.
Concluidostodoslospasosdeinstalacin,
estamospreparadosparacomenzaratrabajarconnue
stro
nuevoentornodetrabajo,yparaello,nadamejorqueescribirunpequeoprogramadeprueba,
que
mostraremosenelsiguientetema.
7/13/2019 MANUAL Visual NET
40/362
Laprimeraaplicaci
n
UnHolaMundodesdeVB.N
ET
Unadelasprimerasaccionesquesolemos
realizarcuandonosenfrentamosaunnuevolenguajede
programacin,eslaescrituradeunprogr
amaquemuestreelclsicomensajeHolaMundo
por
pantalla.
Estonospermitedarnuestroprim
erpasoconelentornoyempezarafamiliarizarnosco
nel
mismo.
Asquecumpliendoconlatradicin,vam
osaprocederaescribirnuestroprimerprogramapara
VB.N
ET.
Alolargodelossiguientesapartadosdeestetema,describiremoslospasosnecesariospara
laconfeccindeunasencillaaplicacin.El
lectorpodrcomprobarqueestalabornoencierragrandes
complejidades,simplementerequiereunpo
codeentrenamientoylaadaptacinaunnuevoconjunto
demodosdeprogramacin.
IniciarelIDEdeVS.N
ET
ElprimerpasoadaresarrancarelentornodedesarrollodeVS.N
ET,paralocual,seleccionaremo
sen
laestructurademensdeWindows,laopcindemensituadaenInicio+Programas+Micro
soft
VisualStudio.NET7.0+MicrosoftVisualStudio.NET7.0,queejecutarelIDEynosmostrarel
reaprincipaldetrabajoconlapestaaPginadeinicio.VerFigura37yFigura38.
Programacincon
VisualBasic.NET
GrupoEIDOS
80
Figura37.OpcindemenparaaccederaVisualStudio.N
ET.
Figura38.PantallainicialdelIDEdeVisualStudio.N
ET.
EsteIDEescom
nparatodosloslenguajes,comohabrpodidoobservarellectoraliniciarlo,yaque
adiferenciadeversionesanteriores,noseseleccionalaherramientadetrabajoyestaabreelentorno
deprogramacin,sinoquedirectamenteseabreelIDEyposteriormen
teelegiremosellenguajeconel
quevamosaescribirelprograma.
Otropuntoded
iferenciaconversionesanterioresresideenladisposicindeloselementosdentrodel
IDE:elsistema
demensybarrasdeherramientasnohavariado,pero
algunoscomponentessehallan
enpestaasdes
plegables,cuyocontenidoseexpandealsituarelcursordelratnsobrelapestaa.
7/13/2019 MANUAL Visual NET
41/362
7/13/2019 MANUAL Visual NET
42/362
7/13/2019 MANUAL Visual NET
43/362
7/13/2019 MANUAL Visual NET
44/362
7/13/2019 MANUAL Visual NET
45/362
7/13/2019 MANUAL Visual NET
46/362
7/13/2019 MANUAL Visual NET
47/362
7/13/2019 MANUAL Visual NET
48/362
7/13/2019 MANUAL Visual NET
49/362
7/13/2019 MANUAL Visual NET
50/362
7/13/2019 MANUAL Visual NET
51/362
7/13/2019 MANUAL Visual NET
52/362
GrupoEIDOS
6.Escrituradecdigo
103
Completandoelprocedim
iento
Llegadosaestepuntodelejemplo,tenemos
todoslosingredientesparacompletarlo.
Necesitamos
que
elusuariointroduzcasunombreutilizandoInputBox(),volcardichonombreenlavariablequehemos
declaradoymostrarlousandootroMessageBox.TodoellolovemosenelCdigofuente22.
Sub
Main()
MessageBox.Show("Empieza
el
prog
rama")
Dim
Nombre
As
String
Nombre
=
InputBox("Escribe
tu
no
mbre")
MessageBox.Show("El
nombre
delu
suario
es:
"
&
Nombre,
"Programa
de
prueba")
End
Sub
Cdigofuente22
Describamoslosltimospasosquehemosd
ado:
DespusdeladeclaracindelavariableN
ombre,llamamosalafuncinInputBox().Comodicha
funcindevuelveunacadenadecaracteresconelvalorquehayaescritoelusuario,necesita
mos
recuperarladealgunaforma,yestaesasign
andoelresultadodelallamadaalafuncinenlavariable.
LaFigura59muestralacajadedilogoresultantedeInputBox().
Figura59.
EjecucindelafuncinInputBox().
Despusdeescribirsunombreenelcampo
delacaja,s
ielusuariopulsaOK,InputBox()devolverel
valordedichocampoalavariableNombre.
Porltimo,mostraremoselvalordelavariableusand
oel
mtodoShow()deMessageBox,peroconalgunasvariacionesrespectoalaprimeravez
que
utilizamosestaclaseenMain().Enestecasoconcatenamosunacadenadecaracteresalnombre,para
ellodebemosutilizareloperador&,yemp
leamosunsegundoparmetro,quemuestraunttuloe
nla
ventanadelmensaje.VerFigura60.
Figura60.
MensajeconelvalorresultanteobtenidoalllamaraInputBox().
Programacincon
VisualBasic.NET
GrupoEIDOS
104
Finalizam
oselprograma
Traslaejecucindelprogramaparacomprobarquetodofunciona
correctamente,grabamossies
necesario,losltimoscambiosdelproyectoypodemosdarporconcluidalaaplicacin.
7/13/2019 MANUAL Visual NET
53/362
Unaaplicacinco
nfuncionalidadbsic
a
Integrandolovistohasta
elmomento
Losejemplosdelostemasanterioresconstituyenunbuencomienzo,ynoshanpermitidodarnuestros
primerospasostantoconellenguajecomo
conelIDE,peroevidentemente,nonosvanallevarmuy
lejossiloquepretendemosescrearaplicacionesconalgomsdecontenido.
EnestetemanovamosaentrartodavaenlosdetallesdelIDEnienellenguaje.Paraqueellector
siga
familiarizndoseconelentorno,daremosunospequeospasosinicialesms;conellopretendemos
queseadquieraunamejorvisinglobal
tantodellenguajeVB.N
ETcomodesuherramientade
trabajo:VisualStudio.N
ET.
Unprogramamsoperativo
Enestetemavamosaescribirunaaplicaci
nalgomscompleta,queconsistirenunformularioenel
queintroduciremoselnombredeunficheroyunpequeotexto,queseguidamentegrabaremosen
nuestroequipo.Asque,unavezesbozadoelobjetivoaconseguir...manosalaobra.
Diseodelformulario
DespusdeiniciarVS.N
ET,crearemosunnuevoproyectoalquedaremoselnombredeEscritorTexto
(paraaccederaEscritorTexto,elproyecto
deesteejemplo,hacerclicaqu).Enelformulario
del
proyecto,
Form1,aadiremosloscontroles
quepermitirnalusuarioescribiruntexto,grabardicho
Programacincon
VisualBasic.NET
GrupoEIDOS
106
textoenunfichero,etc.EnconcretoaadiremosdoscontrolesLabel,dosTextBoxydosButton,cuya
ubicacinenlaventanadelCuadrodeherramientasmostramosenlaF
igura61.
Figura61.
Controlesquedebemosdibujarenelformulario
delejemplo.
Laformadedibujaruncontrolenunformularioyahasidoexplicadaanteriormente,porloque
directamentemostramosenlaFigura62,elformularioresultantecon
loscontrolesyainsertados,en
dondeindicamo
seltipodecontrolyelnombrequehemosasignado
acadacontrolensupropiedad
Name.
Figura62.
Formularioparalagrabacindeuntextoenu
nfichero.
Acontinuacin
detallamosbrevementelafuncionalidaddecada
unodeloscontrolesdeeste
formulario:
7/13/2019 MANUAL Visual NET
54/362
7/13/2019 MANUAL Visual NET
55/362
7/13/2019 MANUAL Visual NET
56/362
7/13/2019 MANUAL Visual NET
57/362
7/13/2019 MANUAL Visual NET
58/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
115
Figura65.
PginadeiniciodeVS.N
ET.
Figura66.Estab
leciendounperfildeprogramador.
Comopuedecomprobarellector,podem
osconfigurarelperfilgeneralparaadaptaranuestra
comodidadlatotalidaddelIDE,o
bienhace
rloslosobreciertoselementoscomoelteclado,diseode
ventana,etc.
Programacincon
VisualBasic.NET
GrupoEIDOS
116
Establezcaelle
ctorelperfilqueprefiera,porelmomentorecomenda
moselegirslolacombinacin
detecladoadaptadaaunperfildeprogramadordeVisualBasic6.Elrestodeelementoslosdejaremos
comoestabanp
ordefecto,yaquesiadaptamoslatotalidaddelIDE
alperfildeVB,seexpandirn
muchasdelasv
entanasocultasadicionales,dejandopocoespacioenlaventanaprincipaldetrabajo.
Configuradoel
perfildelprogramador,
haremosclicenelvnculoIntroduccin,
delacolumna
izquierda,para
volveralpuntoinicial,enelquecrearemosunnuevoproyectodeVB.N
ET,
dela
formaexplicadaeneltemaLaprimeraaplicacin,quenosservirp
arahacerlaspruebassobrelos
diferentesaspec
tosdelIDE.
Siporcualquiermotivo,cerramoslapginadeinicio,podemosvolveravisualizarlautilizandoalguna
delassiguientesformas:
Opcin
demenAyuda+Mostrarpginadeinicioobien
conVer+ExploradorWeb+
Inicio.
Opcin
demenVer+ExploradorWeb+Inicio.
Teclean
doladireccinvs:/default.htm,enelcampoDireccinURL,delabarrade
herramientasWeb.
Principaleselementosennuestroentorno
detrabajo
Unavezabierto
unproyectoenelIDE,loselementosbsicosparanuestratareahabitualdedesarrollo
semuestranenlaFigura67.
Figura67.ElementosprincipalesdelIDE.
Enlossiguien
tesapartadosrealizaremosunadescripcinmsdetalladadealgunosdeestos
componentesde
lIDEyelmododetrabajarconellos.
7/13/2019 MANUAL Visual NET
59/362
7/13/2019 MANUAL Visual NET
60/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
119
Figura71.F
icha
sorganizadasengruposdiferentes.
ManejodeventanasadicionalesdelIDE
Apartedelaventanaprincipaldetrabajo,elIDEdisponedeunaseriedeventanassuplementarias,
que
sirvendeapoyoalatareadeldesarrollo.
Enesteapartadotrataremoselmodoenque
podemosmanipularyorganizardichasventanas,nod
esu
contenidoens,dejandoesteaspectoparap
rximosapartados.
LasventanasadicionalesdisponendeunestadodevisualizacinquepordefectoesOcu
ltar
automticamente,yseencuentransituadas
enloslateralesdelIDE,mostrndoseunafichaindica
tiva
delamisma.Alsituarelcursordelratnso
brelaficha,laventanaseexpande.Veamosunejemploen
laFigura72.
Sihacemosclicderechosobreellateral,a
parecerunmencontextualconelnombredetodaslas
fichasdispuestasenellateral.
Unavezqueexpandimosunadeestasventanas,yhacemosclicenalgunodesuselementos,pode
mos
trabajarconellanormalmente.
CuandovolvamosahacerclicsobrelaventanaprincipaldelIDE
,se
ocultarautomticamentelaquehabamos
expandido.Estosuponeunagrancomodidad,yaque
nos
ahorratenerquecerrarexplcitamentelaventanasuplementariacuandonolanecesitemos,yade
ms
brindaunmayorespaciodetrabajosobrela
zonaprincipaldelIDE.
Programacincon
VisualBasic.NET
GrupoEIDOS
120
Figura72.Ventanaadicionalexpandidayfichasdeventanasocultas.
UnaventanadelIDEdisponedecuatroestadosdevisualizacin:
Acoplable,
Ocultar,
Flotantey
Ocultarautomticamente.Paraverificarelestadodeunaventana,debe
moshacerclicderechosobresu
barradettulo,quenosmostrarunmencontextualconelestadoactualmenteactivo.VerFigura73.
Figura73.
Mendeestadodeunaventanaadicionald
elIDE.
Habrocasionesenquenecesitaremostenerpermanentementevisibleunaventanaadicional.Paraello,
yunavezquetengamosvisiblelaventana,debemoscambiarsuestadoaAcoplable,
haciendoclic
sobreeliconoenformadechinchetaqueapareceenlabarradettu
lo.
Estoharquecambiedicho
iconodeformaindicandoelnuevoestado.VerFigura74yFigura75.
Figura74.Ocultarautomticamenteunaventana.
Figura75.Ventanaenestadoacoplable.
7/13/2019 MANUAL Visual NET
61/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
121
Unaventanaacoplableofijanoseocultacu
andopasamosacualquierotraventanadelIDE.
Tambinpuedesertilenalgunassituacio
nes,permitirqueunaventanapuedamoverselibremente
portodoelreadelIDE,paraloqueental
caso,
haremosclicderechosobresuttuloyelegiremosla
opcinFlotante,loquedejaradichaventanalibreparasersituadaencualquierlugardelIDE,sinla
obligacindeestarajustadaaningnborde
delentornodedesarrollo.VerFigura76.
Figura76.Ventanadepropiedadesenmodoflotante.
Paraocultarunadeestasventanas,
haremosclicensuiconodecierreoensumencontextua
lde
estado,opcinOcultar.
Elacopledeunaventananoesobligatorior
ealizarlosiempreenloslaterales,tambinpodemosaju
star
unadeestasventanasalaparteinferioro
superiordelIDE.
Paraellohemosdearrastrarlaventana
haciaunodelosbordesdelIDEhastaelm
omentoenquesemuestreunrectnguloquerepresentala
guaomodoencmosevaaacoplardichaventana.VerFigura77.
Alsoltarenelmomentoenqueaparecelaguadeacople,
laventanaquedarfijadaenconcordancia.
VerFigura78.
Programacincon
VisualBasic.NET
GrupoEIDOS
122
Figura77.GuadeacoplealdesplazarunaventanaporelIDE.
Figura78.Ventanadepropiedadesacopladaalapartesupe
riordelIDE.
Podemosconse
guirunacopleentremltiplesventanas,arrastrando
unadeellashacialazonade
trabajodeotraysoltandoenelmomentoenqueaparezcalaguadeacople.LaFigura79muestratres
ventanascondiferentesacoplesrealizadosentreellas.
Finalmente,esposibletambinacoplarmltiplesventanasperoorganizarlasmediantefichas,demodo
queslosevisualiceunaventanaalavezhaciendoclicenlaficha
conelttulodelaventana.Al
acoplarunaventanaparaquesemuestredeestaforma,debemossituarlasobreelttulodeotra,
apareciendolaguadeacoplecomomuestralaFigura80.
EnlaFigura81
tenemosmltiplesventanasacopladasorganizadasde
estamanera.Podemoscambiar
entreellashacie
ndoclicenlafichamostradaenlaparteinferior.
7/13/2019 MANUAL Visual NET
62/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
123
Figura79.Ventanasdepropiedades,
herram
ientasyservidores,condiferentestiposdeacopleentreellas.
Figura80.Acople
demltiplesventanasenmodoficha.
Parasepararcualquieradeestasventanas,
bastaconhacerclicsobresufichayarrastrarhaciael
exteriordelaventanacontenedora.
Programacincon
VisualBasic.NET
GrupoEIDOS
124
Figura81.M
ltiplesventanasadicionalesacopladasenfichas.
ElExploradordesoluciones
Aldesarrollaru
naaplicacinenVB.N
ET,
loselementosquecontiene:formularios,mdulos,clases,
recursos,referencias,etc.,seorganizandentrodeunproyecto.
Tambinespos
ibletenervariosproyectosabiertossimultneamenteenlamismasesindetrabajodel
IDE.D
ichosproyectosseorganizandentrodeloqueenVS.N
ETsede
nominaunasolucin.
Unasolucinp
uedecontenerproyectosdesarrolladosenlosdiferenteslenguajesdelaplataforma
.NET,yelmediomscmodoparamanejarlosesatravsdelaventanaExploradordesoluciones.
La
Figura82muestraelaspectotpicodeestaventanaconunasolucin
quecontieneunproyecto,enel
queasuvezhaycontenidounformulario.
Losmodosdeabriraestaventanasonlossiguientes:
Expandirlafichalateral,siexisteparaestaventana.
Opcin
demendelIDEVer+Exploradordesoluciones.
[CTRL.+
R].
Pulsare
lbotndelabarradeherramientasparaestaopcin.V
erFigura83.
7/13/2019 MANUAL Visual NET
63/362
7/13/2019 MANUAL Visual NET
64/362
7/13/2019 MANUAL Visual NET
65/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
129
Figura88.A
adiru
nnuevoproyectoalasolucinactual.
Observeellector,enelcasodelafiguraanterior,queparaqueelnuevoproyectoseaagregado
ala
solucinenlaquenosencontramos,debemosmarcarlaopcinAgregarasolucin.
Unavezaadidounproyectoaunasolucin
,formndoseunasolucinmultiproyecto,e
lexplorado
rde
solucionesmostrarunaspectoparecidoaldelaFigura89.
Figura89.Solucinconteniendovariosproyectos.
Programacincon
VisualBasic.NET
GrupoEIDOS
130
Elmencontextual
Tantosinosencontramosenlaventanadelexploradordesolucionesc
omoencualquierotra,podemos
accederdeunm
odorpidoamltiplesopcionesdeloselementossitua
dosenlaventana,haciendoclic
derechosobreunelemento,
demodoqueseabrirelmencontextualcorrespondiente,enelque
podremoselegiroperacionesrelacionadasconelelementoseleccionado.
LaFigura90muestrael
mencontextua
ldeunproyecto.
Figura90.Mencontextualdeunproyecto.
Eldiseadordelformulario
ContenidoenlaventanaprincipaldelIDE,eldiseadordelformular
ioesunodeloselementosms
importantesdelentornodedesarrollo,yaunqueharemosunarevisinenprofundidadeneltema
dedicadoaltrab
ajoconformularios,nopodemosdejardemencionarloenestetemadedicadoalIDE.
VerFigura91.
Estediseadormuestralarepresentacindeunformulariodelproyecto,enelqueamododeplantilla,
iremossituando
loscontrolesquecomponenelinterfazdeusuariodelaventana.
Alahoradeubicarcontrolesenunformulario,s
iempleamoscontrolesquenodisponendeinterfazde
usuario,aparecerenlaparteinferiordeestaventanaunpanelcondichoscontroles.VerFigura92.
7/13/2019 MANUAL Visual NET
66/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
131
Figura91.Diseadordelformulario.
Figura92.D
iseado
rdeformularioconpaneldecontroles.
Laventanadepropiedades
Cuandoestamosdiseandounformulario
,estaventanamuestralaspropiedadesdelobjeto
que
tengamosseleccionadoeneldiseador:bie
nuncontroloelpropioformulario.
LaFigura93muestra
estaventanaindicandosuselementosprincipales.
Programacincon
VisualBasic.NET
GrupoEIDOS
132
Figura93.
VentanadepropiedadesdeVS.N
ET
.
Comovemosenlafiguraanterior,
laspropiedadesseorganizanendoscolumnas:unacontienelos
nombresdelas
propiedadesyotrasusvalores.Laspropiedadesco
mpuestasdevariosmiembros,
incluyenenellateralizquierdounsigno+paraexpandirlos.
Ciertaspropiedadescontienenunalistadevalores,quepodemosabrirconelbotnquefiguraenel
valordelapropiedad.VerFigura94.
Figura94.
Propiedadconlistadevalores
Existeotraspropiedadescuyovaloresseleccionadomedianteunacajadedilogo.Enesta
propiedades,se
muestraensuvalor,unbotnconpuntossuspensivosindicandoquedebemospulsarlo
paramodificarsuvalor.VerFigura95.
Figura95.Propiedadmodificablemediantecajadedilogo.
Podemoshacer
clicsobreuncontroldelformularioparapasaracontinuacinaversuspropiedades,o
bienpodemoselegirelcontroldelalistadesplegabledecontroles.La
Figura96muestraestalistacon
elpropioformularioyvarioscontrolesadicionales.
7/13/2019 MANUAL Visual NET
67/362
GrupoEIDOS
8.Elentornodedesarrollointegrado(IDE),deVisualStudio.NET
133
Figura96.L
istadecontrolesdelaventanadepropiedades.
Losdosprimerosbotonesdelabarradehe
rramientasdeestaventana,nospermitenrespectivamente,
ordenarlaspropiedadesporcategoraoalfa
bticamente.M
ientrasqueenlaparteinferior,sevisualiza
unadescripcinresumidadelapropiedad
quetengamosseleccionada.
Sinodeseamosverdicha
descripcin,haremosclicderechosobrelaventana,seleccionandolaopcindemenDescripcin.
7/13/2019 MANUAL Visual NET
68/362
ElIDE
deVisualStudio.N
ET
.
H
erramientasyeditore
s
ElCuadrodeherramient
as
SituadohabitualmentecomounafichaexpandibleenellateralizquierdodelIDE,
laventanaCua
dro
deherramientascontienetodosloscontrolesquepodemosinsertarenunformularioparaconstru
irel
interfazdeusuariodelaaplicacin.VerFig
ura97.
Programacincon
VisualBasic.NET
GrupoEIDOS
136
Figura97.CuadrodeherramientasdeVS.N
ET.
Organizac
inenfichas
Estaventanaestorganizadaenbaseaunaseriedefichasenformadebarras,enlasquealhacerclic
sedespliegans
uselementos.Pordefecto,cuandoabrimoselcuadrodeherramientas,semuestra
abiertalaficha
WindowsForms,conteniendoloscontrolesquehabitualmenteutilizaremosenlos
formularios,aunquetambindisponemosdelasfichasData,Compone
nts,etc.
Yaquehabitua
lmentenoharemosusodetodosloscontrolesenu
nprograma,algunasfichasse
encuentranocultas,porloquesiqueremostenertodasdisponibles,
haremosclicderechosobreel
cuadrodeherra
mientasyelegiremoslaopcindemenMostrartodaslasfichas,conloquefichas
comoHTML,X
MLSchema,DialogEditor,etc.,quehastaesemo
mentonoestabandisponibles,
podrnserusadasporelprogramador.
Paraselecciona
runcontrol,slohemosdedesplazarnosporlalistadecontrolesdelafichaque
tengamosabiertaconlasteclasdedesplazamientoolosbotonesdelaventanaquerealizantambin
dichafunciny
queseencuentranenelttulodelafichaactualylasig
uiente.VerFigura98.
Figura98.
Botonesdedesplazamientodelcuadrodeherramientas.
7/13/2019 MANUAL Visual NET
69/362
7/13/2019 MANUAL Visual NET
70/362
7/13/2019 MANUAL Visual NET
71/362
7/13/2019 MANUAL Visual NET
72/362
GrupoEIDOS
9.ElIDEdeVisualStudio.NET.Herramientasyeditores
143
Figura108.VentanaPersonalizarparamanejarlasbarrasdeherramientasdelIDE.
Marcandoporejemplo,labarraEditorde
texto,sevisualizarestabarra,situndosedebajod
ela
estndar.VerFigura109.
Figura109.BarradeherramientasEditordetextodebajodelabarraestndar.
Barrasdeherramientaspers
onalizadas
Durantenuestrotrabajohabitual,esmuyposiblequeempleemosconfrecuenciaaccionessituada
sen
diferentesbarrasdeherramientas.
Paranotenerunacantidadexcesivayposiblementeinnecesariade
barrasabiertasalmismotiempo,podemoscrearunabarrapersonalizada(ovarias)connuestroju
ego
debotonesfavoritos.Lospasosadarparaconseguirlosedescribenseguidamente:
AbriremosenprimerlugarlaventanaP
ersonalizarypulsaremoselbotnNueva,
traslo
que
deberemosdeintroducirelnombredelanu
evabarradeherramientas,porejemplo:MisBotones.Esto
crearunanuevabarravacaalaquedeberemosaadirbotones.VerFigura110.
ElsiguientepasoconsisteenhacerclicsobrelafichaComandosdelaventanaPersonalizar,para
seleccionarenelpanelizquierdolacategor
adecomandoaincluir,yenelpanelderechoelcomandoa
insertar.
Unavezelegidoelcomando,
loarrastraremosysoltaremosennuestrabarradeherramientas.
VerFigura111.
Programacincon
VisualBasic.NET
GrupoEIDOS
144
Figura110.Creacindeunanuevabarradeherramientas.
Figura111.Seleccindecomandoseinsercinenbarradeherramientaspersonalizada.
Terminadalaconfeccindenuestrabarradeherramientas,pulsaremo
selbotnCerrardelaventana
Personalizar,qu
edandonuestrabarraenmodoflotantesobreelIDE.
7/13/2019 MANUAL Visual NET
73/362
GrupoEIDOS
9.ElIDEdeVisualStudio.NET.Herramientasyeditores
145
Acopledebarrasdeherramientas
Alhaberfinalizadodecrearunabarradeherramientas,podemosdejarlaflotandosobrecualquierrea
delentornodetrabajo,obien,acoplarladeb
ajodelasbarrasyavisiblesoenloslateralesdelIDE.Esta
operacinlarealizaremosdeunmodosimple:haciendoclicsobreelttulodelabarraydesplazndola
hastaquequedeacopladaeneldestinoelegido.
Podemoscambiardeestaforma,laposicindetodas
lasbarrasdeVS.N
ET.
LaFigura112muestralabarraestndaryla
barrapersonalizadaqueacabamosdecrearensuposicin
habitual;labarradeedicindecdigofuenteenunlateraldelentorno;mientrasquelabarrapara
depurarestflotandoenelIDE.
Elindicadorconformadepequeaslneassituadoenlap
arte
izquierdadecadabarra,antesdelprimerbotn,sirveparahacerclicsobrelymoverlabarrade
lugar.
Figura112.Distintoslugares
deacoplamientoparalasbarrasdeherramientas.
Opcionesadicionalesdep
ersonalizacin
TambinatravsdelaventanaPersonalizar
,ensufichaOpcionesencontramosunconjuntodiversode
selecciones,quenospermitenampliarelta
maodelosiconosdelasbarrasdeherramientas,ap
licar
efectosalasanimacionesdemen,etc.
LaFigura113muestraestafichaunavezap
licadoelefectodeiconosgrandesalIDE.
Programacincon
VisualBasic.NET
GrupoEIDOS
146
Figura113.VentanaPersonalizar,paraopcionesadicionales.
Ventanaderesultados
EstaventanaseencuentrahabitualmenteenlaparteinferiordelIDE,ymuestraelproductode
accionesdiversas,comolacompilacinpreviaalaejecucin,generacindeejecutable,e
tc.
LaFigura
114muestraestaventanaenlaqueapareceelresultadodelaejecucindeunaaplicacinen
depuracin,esd
ecir,unaaplicacinejecutadadesdeelpropioIDE.
Figura114.Ventanaderesultados.
Sinecesitamos
visualizarotrosresultados,comoporejemploeldelageneracindelejecutable,
tenemosqueabrirlalistadesplegablesituadaenlapartesuperiordeestaventana.
Existenotrasvariantesdeestaventana,quemuestranlosresultados
debsquedasefectuadasenla
ayudadelIDE,
bsquedasdesmbolosenelexaminadordeobjetos,
etc.Todasellassesitancomo
fichasenlaparteinferiordelentornodetrabajo.VerFigura115.
7/13/2019 MANUAL Visual NET
74/362
GrupoEIDOS
9.ElIDEdeVisualStudio.NET.Herramientasyeditores
147
Figura115.F
ichas
deresultadosdebsquedasenelIDE.
Eleditordecdigofuente
Enestaventanaescribiremoselcdigode
lprograma,enformadedeclaracionesyprocedimientos
dentrodeclases,m
dulos,e
tc.VerFigura1
16.
Figura116.Ed
itordecdigofuentedeVS.N
ET.
Estaventanadisponedemultituddeopcion
esycaractersticasdadasuimportancia,porloqueen
este
apartadotrataremoslasmsimportantes.
Programacincon
VisualBasic.NET
GrupoEIDOS
148
Ajustedefuenteycolor
AlhaberseleccionadoenlapginadeiniciodeVS.N
ETlaconfig
uracindetecladodeVB6,la
mayoradelasopcionesencuantoatipodeletraycolordeloselementosdeleditordecdigoestarn
ajustadascorrectamente.
Noobstante,esposiblemodificarcualquieradeestosvaloressiqueremos
realizarunacon
figuracinmspersonalizadatodava.
Porejemplo,si
eltipodeletranoesdenuestroagrado,seleccionare
moslaopcinHerramientas+
Opciones,queabrirlaventanaOpciones.Dentrodeella,enlacarp
etaEntorno,
haremosclicenel
elementoFuentesycolores,quenosmostrarenlapartederechalaconfiguracindetipodeletray
coloresparaeleditordecdigofuente.VerFigura117.
Figura117.Configuracindefuenteycoloresparaeledito
rdecdigo.
Aqupodemoscambiarporejemplo,eltipodefuenteaunadeanchof
ijocomoFixedsys,mscmoda
paratrabajar,yelcolordealgunoselementosdecdigo,comolosliteralesdeerror,comentarios,e
tc.
Apartedeestas
opciones,
lacarpetaEditordetextodeestamismaventana,nospermiteconfigurar
tantoaspectosg
eneralesdeleditordecdigo,comoparticularesparac
adalenguaje.VerFigura118.
EntrelascaractersticasdeleditorparaVB.N
ETquepodemosconfig
urar,seencuentraelmostrarla
listademiembr
osautomticamenteparalosobjetos,visualizarlosnmerosdelnea,indentacinde
cdigo,anchod
elostabuladores,finalizacinautomticadeestructura
sdecdigo,e
tc.
7/13/2019 MANUAL Visual NET
75/362
7/13/2019 MANUAL Visual NET
76/362
GrupoEIDOS
9.ElIDEdeVisualStudio.NET.Herramientasyeditores
151
Figura122.Mendeexpresionesregularesparabsquedadetexto.
Unejemplodelusodeexpresionesregularespodraserelsiguiente:supongamosquequere
mos
localizartodaslascadenasdetextoquetenganlaspalabrasCalcularporcentaje,yenmediodeam
bas
quepuedahaberunaletracomprendidaen
treunintervalo.Laexpresindebsquedaquedara
as:
Calcular[m-t]porcentaje.
Otrotipodebsquedadisponibleloenco
ntramosenlaopcindemenEdicin+Avanzada
s+
Bsquedaincremental,ocombinacinde
teclado[CTRL.
+ALT+I]queunavezseleccion
ada,
realizaunabsquedadinmicadeltextoquevayamosintroduciendo.
Ajustedelnea
Estaopcin,queseencuentraenelmen
Edicin+Avanzadas+Ajustedelnea,siestactiv
ada,
parteunalneadecdigomuylargaenvarias,deformaquenoquedeocultaenlaventanadeled
itor.
Sinoestactivada,semantieneunanicalneapormuylargaquesea,deformaquepartepuede
quedaroculta.VerFigura123.
Figura123.Lneadecdigoconajustedelneaactivadoydesactivado.
Programacincon
VisualBasic.NET
GrupoEIDOS
152
Activarestacaractersticapuederesultarmuycmodo,yaqueevitaalprogramadortenerque
desplazarsehacialaderechaparaverelcontenidodelneasdecdigo
muylargas.
Dividireleditordecdigo
Podemosencontrarnosenunasituacinenlaqueesmuyimportantevisualizarentodomomentoparte
deunfragmentodecdigo,perolaedicindebemosrealizarlaenotro
puntodeldocumentodiferente,
porejemplo:visualizarlasvariablesdeunprocedimiento,quehemos
declaradoensucabecera,pero
editarlapartefinaldelprocedimiento.
Parasolucionaresteproblema,podemosdividirhorizontalmentelaventanadeleditordecdigo
mediantelaopcindemenVentana+Dividir.
Deestamaneraes
posibledisponerdedosvistas
totalmenteindependientesdelcdigo.VerFigura124.
Figura124.Editordecdigodivididoendospane
les.
Paradejaresta
ventanaconunsolopaneldeedicinseleccionaremoslaopcindemenVentana+
Quitardivisin.
Otromododeestablecerladivisindeleditordecdigoendospaneles,consisteenhacerclicy
arrastrarelindicadordedivisinqueseencuentraenlapartesup
eriorderechadeestaventana,
soltandoenelpuntoquedeseemos.Conestoquedartambindividida
laventana.VerFigura125.
7/13/2019 MANUAL Visual NET
77/362
GrupoEIDOS
9.ElIDEdeVisualStudio.NET.Herramientasyeditores
153
Figura125.Indicadordedivisindeleditordecdigo.
Marcadores
Unmarcadorconsisteenunasealquesituamosenunalneadecdigo,
demaneraquepoda
mos
volverrpidamenteaella,sinnecesidadde
estarbuscndola.
Estacaractersticaresultaespecialmente
tilcuandotrabajamoscondocumentosdecdigomuygrandes.
Paraestablecerunmarcador,nossituarem
osenlalneaamarcar,yseleccionaremoslaopcinde
menEdicin+Marcadores+Alternarma
rcador,o
lacombinacindeteclado[CTRL+K,C
TR
L+
K]Estaaccinestablecerlamarcacorresp
ondienteenelmargendeleditordecdigo,consistent
een
unsemicrculoazul.VerFigura126.
Figura126.Marcadorestablecidoeneleditordecdigo.
Unavezquehayamosestablecidotodos
losmarcadoresqueconsideremosoportunos,pode
mos
desplazarnosdeunoaotroconlasopcione
sdelmenEdicin+Marcadores:Marcadorsiguien
teo
Marcadoranterior,quecorrespondenrespe
ctivamentealaspulsacionesdeteclado[CTRL+K,C
TRL
+N]y[CTRL+K,C
TRL+P].
Eldesplazamientoentremarcadoresserealizarenlaventanadeleditoractual,esdecir,sitene
mos
variasventanasdeedicindecdigoabiertas,conmarcadorestambinestablecidosenellas,no
podremospasardesdeelltimomarcadordeunaventanaalprimermarcadordeotra.
Paraeliminartodoslosmarcadoresestablecidoseneleditoractual,seleccionaremoslaopcinde
menEdicin+Marcadores+Borrarmar
cadores,olacombinacindeteclas[CTRL+K,
CTR
L+
L].
Programacincon
VisualBasic.NET
GrupoEIDOS
154
Mostrarespaciosenblanco
LaopcindemenEdicin+Avanzadas+Verespaciosenblanco,o
combinacindeteclado[CTRL
+R,C
TRL+W
],permitemostraruocultarunpuntoenellugarenelqueexisteunespacioenblanco,
dentrodelcdig
ofuente.VerFigura127.
Figura127.Visualizarunpuntoenlaposicindeunespacioenblanco.
Esquematizacin
LaEsquematiza
cinuOutliningconsisteenunacaractersticadeleditorporlacualpodemosexpandir
ocontraerbloquesdecdigo,facilitandosulectura.
Cuandolaesquematizacinseencuentraactivada(estadopordefecto),semuestraunalneaoguaen
ellateralizquierdodeleditor,quediscurreparalelaalcdigo.VerFigura128.
Figura128.Editordecdigoconguadeesquematiz
acin.
7/13/2019 MANUAL Visual NET
78/362
7/13/2019 MANUAL Visual NET
79/362
7/13/2019 MANUAL Visual NET
80/362
ElIDE
deVisualStudio.N
ET
.
Elementoscomplementariosyayud
a
Editoresdeimgenes
VS.N
ETpermitelacreacinomodificacin
deficherosdeimagenenlosformatosmsusuales:BMP,
GIF,J
PG,I
CO,e
tc.
Paracrearunanuevaimagenyaadirlaal
proyecto,seleccionaremoslaopcindemenProyecto+
Agregarnuevoelemento,e
ligiendoenlaventanasiguiente,laplantillaArchivodemapadebits,lo
que
aadirunanuevafichaalaventanaprinc
ipaldelIDEconlasherramientasadecuadasparadib
ujar
unaimagen.VerFigura136.
Sienlugardeagregarunnuevoelemento
,seleccionamosunficherodeimagenoiconoexiste
nte,
dichoficherosseaadiralproyecto,
mostrndoseeneleditordeimagenpermitiendo
su
modificacin.LaFigura137muestraestasituacinconunicono.
Alabriresteeditor,semuestratambinautomticamentelabarradeherramientasparalaedicinde
imgenes,quedisponedeloselementosnec
esariosparaestetrabajo.VerFigura138.
Programacincon
VisualBasic.NET
GrupoEIDOS
160
Figura136.E
ditordeimgenesdeVS.N
ET.
Figura137.E
dicindeunaimagenexistente.
Figura138.BarradeherramientasEditordeimge
nes.
Listadet
areas
Cuandodesarro
llamosunaaplicacin,vanapareciendoalgunaslabore
squenopodemoscompletaren
elmomentoyd
ebemosposponerparaotraocasin.Cadaprogramado
rllevauncontrolmsomenos
efectivodeesta
listadelaboresincompletas:apuntarlasenunficheroconelBlocdenotas,unalibreta
7/13/2019 MANUAL Visual NET
81/362
7/13/2019 MANUAL Visual NET
82/362
7/13/2019 MANUAL Visual NET
83/362
7/13/2019 MANUAL Visual NET
84/362
7/13/2019 MANUAL Visual NET
85/362
GrupoEIDOS
10.ElIDEdeVisualStudio.NET.Elementoscomplementariosya
yuda
169
Figura148.Ventana
decreacindeunproyectodemacros.
Comoresultado,obtendremosunnuevoproyectoconsumdulocorrespondienteenelexplorado
rde
macros.Siqueremosgrabarmacrosendichoproyecto,
deberemosestablecerlocomoproyectode
grabacin,operacinanteriormenteexplicada.
ElIDEdemacros
Hastaelpuntoactual,
imaginamosquetodohabrfuncionadocorrectamente,peroprobablementeel
lectorsepregunte,enelcasodelamacroq
uehagrabadoenunapartadoanterior,quclasedemagia
contienelamacro,quepermitelarepeticin
delasaccionesantesgrabadasenella.
Paradesvelarestemisterio,debemosacced
eralinteriordelamacro,
loqueconseguimosatrav
sde
unaversinreducidadelIDEdeVS.N
ET,especialmentediseadaparalacreacinymanipulacinde
macrosdenominadaIDEdemacros.Podemosabriresteentornomediantealgunadelassiguie
ntes
operaciones:
Haciendoclicderechosobrelama
croyseleccionandolaopcindemenEditar.Esteesel
mediomsdirecto.
OpcindemenHerramientas+M
acros+IDEdemacros.
Pulsandolasteclas[ALT+F11].
ClicderechosobreelelementoMac
rosdelexploradordemacros.
Comoresultadosemuestralaventanadela
Figura149.
Programacincon
VisualBasic.NET
GrupoEIDOS
170
Figura149.VentanadelIDEdemacros.
SihemoselegidoeditardirectamentelamacroPasarMay(),ene
leditordecdigodemacros,
podemoscomprobarcomounamacronoesotracosaqueunprocedim
ientoespecial,queesejecutado
porVS.N
ETcadavezqueinvocamoslamacro.VerCdigofuente33.
Sub
PasarMay(
)
DTE.Activ
eDocument.Selection.LineDown(True,
2)
DTE.Activ
eDocument.Selection.ChangeCase(vsCaseOptions.vsCaseOptionsUppercase)
End
Sub
Cdigofuente33.C
digocorrespondientealamacroPasarMay().
Escriturademacros
Cuandoellecto
rvayacreandosuspropiasmacrosdeprueba,observa
rcomotodasestnbasadasen
elobjetoDTE,
queconstituyeelobjetoprincipalparalamanipulacindelcdigofuenteatravsde
macros.
Conociendolos
mtodosypropiedadesdeesteobjeto,podemosescrib
irnuestraspropiasmacrosenel
editordecdigodelIDEdemacros,paraefectuaroperacionessobreelcdigofuentedenuestras
aplicacionescomoseleccionar,comentar,buscar,e
tc.
7/13/2019 MANUAL Visual NET
86/362
7/13/2019 MANUAL Visual NET
87/362
7/13/2019 MANUAL Visual NET
88/362
GrupoEIDOS
10.ElIDEdeVisualStudio.NET.Elementoscomplementariosya
yuda
175
Figura15
3.VentanaAyudadinmica.
Contenido
Estaventanamuestraladocumentacinalcompletodelaplataforma.N
ETFrameworkorganizadaen
reastemticas.Podemosabrirladelassigu
ientesformas:
Haciendoclicenelprimerbotnd
elabarradeherramientasdelaventanaAyudadinm
ica
(iconoconformadelibro).
SituandoelcursorencimadesufichadesplegablesituadaenellateraldelIDE.
MenAyuda+Contenido.
Teclas[CTRL+ALT+F1].
Laventanamostradatendrelaspectodela
Figura154.
Figura154.V
entanaContenido,delaayuda.
Programacincon
VisualBasic.NET
GrupoEIDOS
176
Elmanejodela
ayudaconestaventanasebasaenexpandirocerrarloslibrosquemuestra.
Alhacer
clicenunodelosiconosenformadedocumento,semostrarsuconte
nidoenlaventanadeayudaque
tengamosabiertaenelIDE.
ndice
Estaventanano
spermiterealizarunabsquedadinmicadeunelementodentrodelaayuda.Podemos
accederaelladelassiguientesformas:
HaciendoclicenelsegundobotndelabarradeherramientasdelaventanaAyudadinmica
(iconoconformadeinterrogacin).
Situandoelcursorencimadesufichadesplegablesituadaene
llateraldelIDE.
MenA
yuda+ndice.
Teclas[CTRL+ALT+F2].
Segntecleamo
sunvalorenelcampoBuscardeestaventana,serealizarunabsquedadentrodel
MSDN,delvalormsparecidoaloquehastaesemomentohemostecleado.Podemosadicionalmente,
seleccionarenlalistadesplegableFiltradopor,unreaparaacotarlabsquedaVerlaFigura155.
Figura155.Ventana
ndicedelaayuda.
7/13/2019 MANUAL Visual NET
89/362
7/13/2019 MANUAL Visual NET
90/362
GrupoEIDOS
10.ElIDEdeVisualStudio.NET.Elementoscomplementariosya
yuda
179
Mantenertemasdeayudadi
sponibles
DuranteunasesindetrabajoconVB.NE
T,puedeocurrirquealemplearlaayuda,entretodoslos
documentosconsultados,hayaunoenconcretoalquenecesitemosrecurrirconespecialfrecuencia
.
Parafacilitareltrabajoconlaayudaenunasituacincomoesta,unavezquehayamoslocalizad
oel
temadeayudaqueconsultaremosenrepetidasocasiones,abriremosunanuevaventanaconelm
en
Ventana+Nuevaventana,yapartirdeese
momento,todalanavegacinporlaayudaquerealice
mos
sereflejarenesaltimaventana,permaneciendoelcontenidodelaotraventanadeayudaconelt
ema
original.
LaFigura159muestraunejemploenelque
dentrodelaventanadeayudasehanabiertodosventanas
ofichas:laprimeracomenzandoporlaizquierdacontieneuntemaqueconsultaremosenrepetidas
ocasiones;mientrasquelasegundacontienelanavegacinporlaayudaquevamosrealizandodurante
nuestrotrabajodedesarrollo.
Figura159.Ventana
deayudaconvariasventanasdetemas.
Podemosabrirtantasventanasadicionales
comoprecisemos,yorganizarlasarrastrandoysolta
ndo
sobrelafichaquecontienesunombre.Debemostenerencuentaquelaventanahijaofichaactiva
ser
laqueseactualicecuandonosdesplazamos
auntemadeayudanuevo.
Estacaractersticaestdisponibletantosi
hemosconfiguradoelIDEparautilizarlaayudaexterna
comointerna.
Programacincon
VisualBasic.NET
GrupoEIDOS
180
Otrosmod
osdeaccesoalaayuda
LarutademendelsistemaoperativoInicio+Programas+Microsoft.NETFrameworkSDK,nos
llevaaunconjuntodeopcionesquecontienentodaladocumentacinsobrelaplataformadisponible
enformadeayu
da,e
jemplos,artculos,e
tc.
PorotraparteelmentambindelsistemaInicio+Programas+MicrosoftVisualStudio.NET7.0+
MSDNforVisu
alStudio7.0,abrirlaventanadeayudadelIDEsinnecesidaddetenerabiertoel
entornodedesarrollo,proporcionndonosunmedioadicionaldeacces
oalaayudadelprogramador.
7/13/2019 MANUAL Visual NET
91/362
Aplicacionesdeconsola
Unaaplicacindeconsolaesaquellaquese
ejecutadentrodeunaventanadelneadecomandos.Este
tipodeventanarecibediferentesdenominaciones:Smbolodelsistema,SesinMS-DOS,
Ventanade
lneadecomandos,etc.,porloquealolargodeestaobranosreferiremosaelladeformagen
rica
comoconsola.
Lasaplicacionesdeconsolasonmuytiles
cuandonecesitamosrealizarpruebasquenoimplique
nel
usodelmodogrficodelsistemaoperativo
:formularios,controles,imgenes,etc.,yaqueconsumen
menosrecursosysuejecucinesmsveloz.
Ennuestrocasoparticular,debidoaquelos
prximostemasversarnsobreaspectosdellenguaje,yen
ellosnonecesitaremosobligatoriamenteel
usodeformularios,utilizaremosaplicacionesdecon
sola
paralosejemplos.
Creacindeunproyectodetipoaplicacindeconsola
Paracrearunaaplicacindeconsolabsica,despusdeiniciarelIDEdeVS.N
ET,yseleccionarel
menparacrearunnuevoproyecto,elegiremosAplicacindeconsolaenelpanelderechod
ela
ventanaNuevoproyecto.
Elrestodeopcionesdeestaventanaseconfiguranigualquepara
una
aplicacinconformulariosWindows.VerF
igura160.
Programacincon
VisualBasic.NET
GrupoEIDOS
182
Figura160.Creacindeunproyectodetipoconsola.
DespusdepulsarAceptarsecrearelproyectoquecontendrunficherodecdigoconelnombre
MODULE1.VB
,encuyointeriorencontraremosunmdulodecdigoconteniendounprocedimiento
Main()vaco,p
orelquecomenzarlaejecucindelprograma.VerCdigofuente37.
Module
Module
1
Sub
Main(
)
End
Sub
End
Module
Cdigofuente37
LaclaseConsole
EstaclaseseencuentradentrodelespaciodenombresSystem,yn
osproporcionaatravsdesus
mtodos,accesoalaconsolaparamostraruobtenerinformacindelusuario.
Debidoaquelosmiembrosdeestaclaseseencuentrancompartidos
(shared),noesnecesariocrear
unainstanciapr
eviadelamismaenunavariable,pudiendoejecutardirectamentesusmtodossobreel
objetoConsole.Todoelloseexplicarenlossiguientesapartados.
7/13/2019 MANUAL Visual NET
92/362
7/13/2019 MANUAL Visual NET
93/362
7/13/2019 MANUAL Visual NET
94/362
GrupoEIDOS
11.Aplicacionesdeconsola
187
Console.WriteLine()
Console.WriteLine("El
{2}
con
destin
o
{0}
viaja
a
mas
de
{1}
kms.
por
hora",
Vehiculo,
Lugar,
Numero)
Console.ReadLine()
Cdigofuente45
Alejecutarestefuente,laconsolamostrar
elaspectodelaFigura164.
Figura164.Diversassalidasalaconsolaconparmetrossustituibles.
Lecturadeinformacin
Paraobtenereltextoescritoporelusuarioenlalneaactualdelaconsolayhastalapulsacinde
[INTRO]podemosutilizarelmtodoReadL
ine()delobjetoConsole.
ElCdigofuente46muestracomovolcam
osaunavariableelcontenidodelalneaescritapo
rel
usuarioyposteriormenteexponemossucon
tenido,tambinatravsdelaconsola.
'
declaramos
una
variable
para
volca
r
el
contenido
'
de
una
lnea
de
la
consola
Dim
LineaTexto
As
String
Console.WriteLine("Introducir
un
tex
to")
LineaTexto
=
Console.ReadLine()
'e
l
texto
se
pasa
a
la
variable
'
ahora
mostramos
lo
que
hemos
escri
to
Console.WriteLine()
Console.WriteLine("El
usuario
ha
esc
rito
la
siguiente
lnea:")
Console.WriteLine(LineaTexto)
'
aqu
evitamos
cerrar
la
consola,
'
as
podemos
ver
mejor
el
resultado
Console.ReadLine()
Cdigofuente46
Read()esotromtododelobjetoConsoleq
uepermitetambinlalecturadeldispositivodeentrad
ade
laconsola,peroenestecasodevuelveelc
digodeunasolateclapulsadaporelusuario.Parailustrar
elusodeestemtodotenemoselejemplo
delCdigofuente47,enelquedespusdepulsarvarias
teclas,nosintroducimosenunbuclequevaextrayendocadaunodesuscdigos,quevolvemosa
transformarenelcarctercorrespondientea
lateclapulsada.
Programacincon
VisualBasic.NET
GrupoEIDOS
188
'
ejemplo
con
Read()
Dim
CodTecla
As
Integer
Dim
NombreTec
la
As
Char
Console.Write
Line("Pulsar
varias
teclas")
Console.Write
Line()
While
True
'
tomarl
os
cdigos
de
las
teclas
uno
a
uno
CodTecla
=
Console.Read()
'
si
seh
a
pulsado
intro,
salir
If
CodTec
la
=
13
Then
Exit
While
End
If
Console.W
riteLine("Cdigo
de
tecla
pulsada:
{0}",
CodTecla)
'
convert
ir
el
cdigo
al
caracter
de
la
tecla
NombreTec
la
=
Chr(CodTecla)
Console.W
riteLine("Tecla
pulsada:
{0}",
NombreTecla)
End
While
Console.ReadL
ine()
Console.Write
Line("Ejemplo
terminado,
pulse
intro")
Console.ReadL
ine()
Cdigofuente47
7/13/2019 MANUAL Visual NET
95/362
7/13/2019 MANUAL Visual NET
96/362
7/13/2019 MANUAL Visual NET
97/362
7/13/2019 MANUAL Visual NET
98/362
7/13/2019 MANUAL Visual NET
99/362
7/13/2019 MANUAL Visual NET
100/362
7/13/2019 MANUAL Visual NET
101/362
7/13/2019 MANUAL Visual NET
102/362
7/13/2019 MANUAL Visual NET
103/362
7/13/2019 MANUAL Visual NET
104/362
7/13/2019 MANUAL Visual NET
105/362
GrupoEIDOS
12.Ellenguaje
209
VS.N
ETdisponedeunexcelentedepurador;delquedescribiremosacontinuacinsuselementos
ms
bsicos,paraqueellectorpuedarealizar
unseguimientomsprecisodeloquesucededurantela
ejecucindesuaplicacin.
Paraejecutarelprogramaenmododed
epuracinpulsaremos[F8],oseleccionaremoselm
en
Depurar+Irainstrucciones.Cualquierad
eestasaccionesiniciarnelprogramadentrodelcontexto
deldepurador,deteniendolaejecucinen
laprimeralneadecdigoejecutable,
destacadaenc
olor
amarillo.
Lalneamarcadaenamarilloindicaqueestapuntodeejecutarse,paraejecutarlaypasara
lasiguientelneapulsaremosdenuevo[F8],yassucesivamentehastallegaralaltimalnea
del
programa,dondesefinalizarelmismo,cer
rndoseeldepurador.
Podemosverdeformainmediataelvalor
deunavariablesimplementesituandoelcursordelratn
sobreella,conloquesemostrarunavietainformativadesuvalor.VerFigura172.
Figura172.Ejecucindelprogramaeneldepurador.
Podemostambinvercondetalleelvalorquevanadquiriendolasvariablesalolargodelaejecuc
in,
abriendolaventanaLocalesdeldepurador
,medianteelmenDepurar+Ventanas+Locales,ola
pulsacin[CTRL+ALT+V,L
].VerFigura173.
Figura173.VentanaLocalesdeldepurador.
Programacincon
VisualBasic.NET
GrupoEIDOS
210
Enelcasodearrays,
debemoshacerclicenelsignoms(+)que
aparecejuntoalnombredela
variable,paraabrirymostrarloselementosdelarray.VerFigura174.
Figura174.VentanaLocalesdeldepurador,mostrandoelconte
nidodeunarray.
Siencualquier
momentoqueremoscontinuarlaejecucinnormalde
lprogramasinseguirusandoel
depurador,pulsaremos[F5].
7/13/2019 MANUAL Visual NET
106/362
O
peradoresdellenguaje
Losoperadoressonaquelloselementosdel
lenguajequenospermitencombinarvariables,constantes,
valoresliterales,instrucciones,etc.,parao
btenerunvalornumrico,lgico,
decadena,etc.,como
resultado.
Lacombinacindeoperadoresconvariable
s,instrucciones,etc.,sedenominaexpresin,mientras
que
aloselementosintegrantesdeunaexpresinyquenosonoperadores,selesdenominaoperandos.
Enfuncindelacomplejidaddelaoperaci
narealizar,o
deltipodeoperadorutilizado,unaexpresin
puedesermanipuladaasuvezcomounope
randodentrodeotraexpresindemayornivel.
Losoperadoresseclasificanenlascategorasdetalladasacontinuacin,segneltipodeexpresina
construir.
Aritmticos
Efectanelconjuntohabitualdeoperacione
smatemticas.
Potenciacin:^
Elevaunnmeroadeterminadapotencia.
Debemossituarelnmerobasealaizquierdade
este
operador,m
ientrasqueelexponentelosituaremosaladerecha.
Programacincon
VisualBasic.NET
GrupoEIDOS
212
Podemosrealiz
arvariaspotenciacionesalmismotiempoyutiliza
rnmerosnegativos.Elvalor
devueltoserdetipoDouble.VerCdigofuente71.
Dim
Resultado
As
Double
Resultado
=1
2
^
5
'
devuelve:
248832
Resultado
=2
^
3
^
7
'
devuelve:
2097152
Resultado
=(
-4)
^
2
'
devuelve:
16
Cdigofuente71
Multiplica
cin:*
Multiplicadosnmeros.
Enelcasodequealgunodelosoperandosseaunvalornulo,seusarcomo
cero.VerCdig
ofuente72.
Dim
Resultado
As
Double
Dim
DatoSinVa
lor
As
Integer
Dim
Indefinid
o
As
Object
Resultado
=2
5
*
5
'
devuelve:
125
'
la
variable
DatoSinValor
no
ha
sido
'
asignada,p
or
lo
que
contiene
cero
Resultado
=5
0
*
DatoSinValor
'
devuelve:
0
'
la
variable
Indefinido
no
ha
sido
'
asignada,p
or
lo
que
contiene
Nothing
Resultado
=2
5
*
Indefinido
'
devuelve:
0
Resultado
=2
4.8
*
5.98
'
devuelve:
148.304
Cdigofuente72
Divisinreal:/
Dividedosnm
eros,devolviendounresultadoconprecisindecimal.VerCdigofuente73.
Dim
Resultado
As
Double
Resultado
=5
0
/
3
'
devuelve:
16.6666666666667
Resultado
=2
50
/
4
'
devuelve:
62.5
Cdigofuente73
Pornormagene
ral,elvalordevueltoserdetipoDouble,.
Noobstante,siunodelosoperandosesde
tipoSingle,elresultadoserdetipoSingle.Deigualmanera,silosdosoperandossondeltipodedato
Decimal,e
lresu
ltadotambinserunvalorDecimal.
7/13/2019 MANUAL Visual NET
107/362
7/13/2019 MANUAL Visual NET
108/362
7/13/2019 MANUAL Visual NET
109/362
7/13/2019 MANUAL Visual NET
110/362
7/13/2019 MANUAL Visual NET
111/362
7/13/2019 MANUAL Visual NET
112/362
7/13/2019 MANUAL Visual NET
113/362
7/13/2019 MANUAL Visual NET
114/362
GrupoEIDOS
13.Operadoresdellenguaje
227
Resultado
=
(8
8)
And
(62
60
Resultado
=
Not
Operacion
'
devuel
ve:
False
Resultado
=
Not
(28
>
50)
'
devuel
ve:
True
Cdigofuente103
Aniveldebit,Notrealizalasoperacionesm
ostradasenlaTabla11.
Cuando
elb
it
de
la
Expresindevuelve
Elresultadoes
0
1
Programacincon
VisualBasic.NET
GrupoEIDOS
228
1
0
Tabla11.Tabladevaloresaniveldebitdeloperado
rNot.
ElCdigofuente104muestraalgunosejemplosaniveldebitconeste
operador.
Dim
Resultado
As
Integer
Resultado
=N
ot
16
'
devuelve:
-17
Resultado
=N
ot
4
'
devuelve:
-5
Cdigofuente104
Or
Anivellgico,
esteoperadorrealizaunadisyuncinentredosexpresiones.
LaTabla12muestralos
diferentesresultadosobtenidosconelusodeesteoperadorenfunci
ndelosvaloresquetengansus
expresiones.
Cuando
la
ExpresinA
devuelve
Y
laExpresinB
devuelve
El
resultadoes
True
True
True
True
False
True
False
True
True
False
False
False
Tabla12.
TabladevaloreslgicosdeloperadorO
r.
ElCdigofuente105muestraalgunosejemplosanivellgicoconesteoperador.
Dim
Resultado
As
Boolean
Resultado
=(
58
>
20)
Or
("H"
=
"H")
'
devuelve:
True
Resultado
=(
"H"
=
"H")
Or
(720
"b")
Or
("Q"
=
"R")
'
devuelve:
False
Cdigofuente105
Aniveldebit,O
rrealizalasoperacionesmostradasenlaTabla13.
7/13/2019 MANUAL Visual NET
115/362
GrupoEIDOS
13.Operadoresdellenguaje
229
Cuandoelbitde
ExpresinAes
Y
elbitde
E
xpresinBes
Elvalordelbit
resultantees
0
0
0
0
1
1
1
0
1
1
1
1
Tabla13.Tablade
valoresaniveldebitdeloperadorOr.
ElCdigofuente106muestraalgunosejem
plosaniveldebitconesteoperador.
Dim
Resultado
As
Integer
Resultado
=
15
Or
8
'
devuelve:1
5
Resultado
=
6
Or
45
'
devuelve:4
7
Cdigofuente106
Xor
Anivellgico,esteoperadorrealizaunaexclusinentredosexpresiones.LaTabla14muestra
los
diferentesresultadosobtenidosconelusodeesteoperadorenfuncindelosvaloresquetengan
sus
expresiones.
Cuando
la
ExpresinA
devuelve
Y
laExpresinB
devuelve
Elresultadoes
True
True
False
True
False
True
False
True
True
False
False
False
Tabla14.TabladevaloreslgicosdeloperadorXor.
ElCdigofuente107muestraalgunosejem
plosanivellgicoconesteoperador.
Dim
Resultado
As
Boolean
Resultado
=
(58
>
20)
Xor
("H"
=
"H"
)
'
devuelve:
False
Resultado
=
("H"
=
"H")
Xor
(720
"b")
Xor
("Q"
=
"R")
'
devuelve:
False
Cdigofuente107
Aniveldebit,X
orrealizalasoperacionesmostradasenlaTabla15.
Cu
andoelbitde
ExpresinAes
Yelbitde
ExpresinBes
Elvalordelbit
resultantees
0
0
0
0
1
1
1
0
1
1
1
0
Tabla15.TabladevaloresaniveldebitdeloperadorOr.
ElCdigofuente108muestraalgunosejemplosaniveldebitconeste
operador.
Dim
Resultado
As
Integer
Resultado
=1
5
Xor
8
'
devuelve:
7
Resultado
=6
Xor
45
'
devuelve:
43
Cdigofuente108
AndAlso
Esteoperadorrealizaunaconjuncinlgicadetipocortocircuitoentre
dosexpresiones.Enestetipode
operacin,encuantolaprimeraexpresindevuelvafalsocomoresultado,elrestonoserevaluado
devolviendofalsocomoresultadofinal.
LaTabla16mu
estralosdiferentesresultadosobtenidosconelusode
esteoperadorenfuncindelos
valoresquetengansusexpresiones.
Cuando
la
ExpresinA
devuelve
Y
laExpresinB
devuelve
El
resultadoes
True
True
True
True
False
False
False
Noseevala
False
Tabla16.
TabladevaloreslgicosdeloperadorAnd
Also.
7/13/2019 MANUAL Visual NET
116/362
7/13/2019 MANUAL Visual NET
117/362
GrupoEIDOS
13.Operadoresdellenguaje
233
Resultado
=
10
100)
And
(52
>
200
/
(2
+
5))
'
devuelve:
True
Cdigofuente114.
7/13/2019 MANUAL Visual NET
118/362
7/13/2019 MANUAL Visual NET
119/362
7/13/2019 MANUAL Visual NET
120/362
7/13/2019 MANUAL Visual NET
121/362
7/13/2019 MANUAL Visual NET
122/362
7/13/2019 MANUAL Visual NET
123/362
7/13/2019 MANUAL Visual NET
124/362
7/13/2019 MANUAL Visual NET
125/362
7/13/2019 MANUAL Visual NET
126/362
GrupoEIDOS
14.Rutinasdec
digo
251
finalmenteenunaterceraimplementacin,
calculamoselsalariosegnelprecioporhoraylashoras
trabajadas,quepasamosalprotocolodellamada.DesdeMain()porlotanto,siemprellamamo
sal
procedimientoVerEmpleado().
ListadesplegableNombred
emtodo,eneleditordecdigo
LalistadesplegableNombredemtodo,situ
adaenlapartesuperiorderechadeleditordecdigo,tiene
dosfinalidadesprincipalesquedescribimos
acontinuacin.
Mostrarelnombredelproced
imientosobreelqueactualmentetrabajamos.Esta
informacinestilsobretodoenprocedimientosconmuchaslneasdecdigo,enlasqueno
tenemosentodomomentovisibleladeclaracindelprocedimiento.
Cambiaraotroprocedimientodelmdulodecdigo.Abriendolalistadesplegable,y
haciendoclicenalgunodelosnom
bresdeprocedimientosquesemuestran,nosituaremosal
comienzodedichoprocedimiento.
Esteesunmediomsrpidoparadesplazarnosentre
los
procedimientosquetenerquerecorrertodalaventanadeleditordecdigo.
EnelejemplodelaFigura179,estamossituadosenelprocedimientoMain(),yalabrirestalistade
procedimientos,podemoscambiarfcilmenteacualquierotrodelosquehemoscreado.
Figura179.L
istaNombredemtodo,eneleditordecdigodelIDE.
Elmotivodeusareltrminomtodoenlu
gardeprocedimientoparaestalista,sedebeaquecomo
veremoseneltemasobreobjetos,todoloqueharemoshabitualmenteennuestralaborde
programacin,sercrearclases,o
bjetos,m
todos,propiedades,etc.Porellolaterminologaempleada
engeneralseaproximamsalastcnicasdeprogramacinconobjetosquealaprogramacin
estructurada.
7/13/2019 MANUAL Visual NET
127/362
Bifurcacinymbitodelcdig
o
Estructurasdecontrol
Lasestructurasdecontrolcontienenbloque
sdecdigoquesernejecutadosenfuncindelresultado
obtenidoalevaluarunaexpresinasociada
alaestructura.
Aesteprocesoderedireccindelflujo
del
programahaciaundeterminadobloquedec
digoseledenominabifurcacin
Segnelmododeejecucindelcdigoquecontienen,lasestructurasdecontrolsedividenen
los
siguientestipos:seleccinyrepeticin.
Seleccin
Lasestructurasdeseleccinodecisinperm
itenejecutarunbloquedecdigoentrevariosdisponibles,
segnelresultadodelaevaluacindeunae
xpresinsituadaenlacabeceradelaestructura.
If...
EndIf
Lasintaxisdeestaestructurapuedeaplicarsedediferentesformasenfuncindeltipodedecisina
resolver.
Decisinsimple.
LasintaxisdedecisinsimplesemuestraenelCdigofuente135.
Programacincon
VisualBasic.NET
GrupoEIDOS
254
If
Expresin
Then
'
cdigo
'
......
'
......
End
If
Cdigofuente135
SialevaluarExpresinsedevuelvecomoresultadoVerdadero,seejecutarnlaslneasobloquede
cdigocomprendidoentreIfyEndIf.
SiExpresinesFalso,sedesviarlaejecucinalaprimera
lneadecdigo
quehayadespusdeEndIf.Veamosunejemploenel
Cdigofuente136.
Sub
Main()
Dim
Valor
As
Integer
Console.W
riteLine("Introducir
un
nmero")
Valor
=C
onsole.ReadLine()
If
Valor
=
5
Then
Conso
le.WriteLine("Estamos
dentro
de
la
estructura
If,"
&
_
"
ya
que
su
expresin
devuelve
Verdadero")
End
If
Console.R
eadLine()
End
Sub
Cdigofuente136
Decisinsimpleenunalnea.
Enelcasodequeslohayaqueejecutarunainstruccinsencillacuan
dosecumplelaexpresindela
estructura,podemosomitirlapalabraclaveEndIf,escribiendolasentenciaaejecutarenlamisma
lneadeladeclaracindelaestructuraIf,
justoacontinuacindelap
alabraThen.Lasintaxiseneste
caso,sesimplifica,comomuestraelCdigofuente137.
If
Expresin
Then
Instruccin
Cdigofuente137
Veamosunejem
ploenelCdigofuente138.
Sub
Main()
Dim
Valor
As
Integer
Dim
Resul
tado
As
Integer
Console.W
riteLine("Introducir
un
nmero")
Valor
=C
onsole.ReadLine()
If
Valor
=
5
Then
Resultado
=
Valor
+
10
Console.W
riteLine("La
variable
resultado
contiene
{0}",
Resultado)
Console.R
eadLine()
7/13/2019 MANUAL Visual NET
128/362
7/13/2019 MANUAL Visual NET
129/362
7/13/2019 MANUAL Visual NET
130/362
7/13/2019 MANUAL Visual NET
131/362
7/13/2019 MANUAL Visual NET
132/362
7/13/2019 MANUAL Visual NET
133/362
7/13/2019 MANUAL Visual NET
134/362
GrupoEIDOS
15.Bifurcacinymbitodelc
digo
267
AlpulsarAbrir,secrearunnuevoficheroconelnombreindicadoenlacajadedilogoylaextensin
.VB,quecontendrunmdulotambindelmismonombre,dentrodelcualpodemosempezara
escribircdigo.VerFigura183.
Figura1
83.
Mdulorecincreado.
Crearunnuevomdulodentrodeunficheroexistente
Estoesanmsfcil,yaqueenestasituac
insolamentedebemosescribirladeclaracindelmdulo
dentrodelficherodecdigo,utilizandolas
palabrasclaveModule...EndModule.Versusintaxisenel
Cdigofuente161.
Module
NombreModulo
'
cdigo
'
......
End
Module
Cdigofuente161
Debemostenerencuentaquenoesposible
anidarmdulos,esdecir,nopodemosdeclararunmdulo
dentrodeladeclaracindeunmduloyaex
istente.VerCdigofuente162.
Module
NombreModulo
'
esto
no
es
vlido
y
produci
r
un
error
Module
NombreNuevo
End
Module
End
Module
Cdigofuente162
Veamosacontinuacinunejemplo.Enel
apartadoanterior,
hemoscreadounnuevomduloco
nel
nombreModule2,crendosealmismo
tiempo,unnuevoficherodecdigoconelnom
bre
Module2.V
B.Puesbien,paraaadirotromdulomsdentrodeesteficherodecdigo,a
lquedaremos
elnombreCuentas,
tanslohemosdeponerladeclaracindelnuevomduloantesodespus
del
existente.VerCdigofuente163.
Programacincon
VisualBasic.NET
GrupoEIDOS
268
Cdigofuente163
Conesteejemplointentamosdemostrarquelosmdulosdecdigoso
ntotalmenteindependientesdel
ficherofsicoq
uelosalberga;portalrazn,variosmdulospuedenescribirsedentrodelmismo
fichero.
Cambiare
lnombredeunficherodecdigo
Sinoqueremosqueelnombredeunficherodecdigoseaigualq
uealgunodelosmdulosque
contiene,
debem
osabrirlaventanaExploradordesoluciones,
hacerc
licderechosobreelnombredel
ficherodecdigo,yelegirlaopcinCambiarnombre.Estonospermitirdarunnuevonombreal
fichero.V
Bque
contieneelcdigo.VerFigura184.
Figura184.Cambiarelnombredeunficherodecdigo.
7/13/2019 MANUAL Visual NET
135/362
7/13/2019 MANUAL Visual NET
136/362
7/13/2019 MANUAL Visual NET
137/362
7/13/2019 MANUAL Visual NET
138/362
7/13/2019 MANUAL Visual NET
139/362
7/13/2019 MANUAL Visual NET
140/362
GrupoEIDOS
15.Bifurcacinymbitodelc
digo
279
End
Sub
Cdigofuente175
PerocambiemoselmododedeclaracindelavariableImporte,aadindoleStatic.Enestecaso,la
primeravezqueseejecutaelprocedimiento
,seinicializalavariableconelvalor5,peroalterminarla
ejecucin,lavariablenosedestruye,sin
oqueenlasiguienteejecucinconservaelvalor,
que
podemosirincrementandoencadallamada.VerCdigofuente176.
Public
Sub
Main()
Verificar("Primera")
'
en
estal
lamada
se
muestra
7
Verificar("Segunda")
'
en
estal
lamada
se
muestra
9
Verificar("Tercera")
'
en
estal
lamada
se
muestra
11
Console.ReadLine()
End
Sub
Public
Sub
Verificar(ByVal
OrdenLlam
ada
As
String)
'
declarar
variable
con
el
modif
icador
Static,
'
en
la
primera
llamada
toma
el
valor
inicial
de
5,
'
las
sucesivas
llamadas
no
ejec
utarn
esta
lnea
Static
Dim
Importe
As
Integer
=
5
Importe
+=
2
Console.WriteLine("{0}
llamadaa
l
procedimiento,
la
variable
contiene
{1}",
_
OrdenLlamada,
Importe)
End
Sub
Cdigofuente176
LasvariablesStaticporlotanto,tienenunperiododevidaqueabarcatodoeltiempodeejecucin
del
programa,mientrasquesumbitoesaniveldeprocedimientoobloque,yaquetambinpueden
crearsedentrodeunaestructuradecontrol.
7/13/2019 MANUAL Visual NET
141/362
Funcionescomplementariasdellenguaje
Convencionesdenotacin
Lasconvencionesdenotacinconsistenenunaseriedenormasnooficialesalahoradedeclarar
elementosenelcdigo,quefacilitansuinte
rpretacinymantenimiento.
Sibienestonoesinicialmentenecesario,nilaherramientadeprogramacinobligaaello,e
nla
prcticasehademostradoqueunaseriedenormasalahoradeescribirelcdigoredundanen
una
mayorvelocidaddedesarrolloyfacilidaddemantenimientodelaaplicacin.
Siendotilnosloen
gruposdetrabajo,sinotambinparaprogramadoresindependientes.
Seguidamentedescribiremosunaserieden
ormasdecodificacinparavariablesyconstantes,queno
sonenabsolutoobligatoriasalahoradeesc
ribirelcdigodelprograma,perosipretendenconcien
ciar
allectordelanecesidaddeseguirunaspau
tascomunesalahoradeescribirdichocdigo,
demanera
quealcompartirloentreprogramadores,o
cuandotengamosquerevisarunaaplicacindesarrollada
tiempoatrs,empleemoselmenortiempop
osibleendescifrarloquetalocualvariablesignificaenel
contextodeunarutinaomdulo.
Variables.Elformatoutilizadopa
ralanotacindevariablessebasaenutilizaruncar
cter
paraindicarelmbitodelavariable,seguidodeunoodoscaracteresparaespecificarel
tipo
dedatoyelrestodelnombrequedaremosalavariableocuerpo.VerelCdigofuente177.
Cdigofuente177
Programacincon
VisualBasic.NET
GrupoEIDOS
282
LaTabla21mu
estralosvaloresparambito.
Carcter
mbitoquedefine
l
Local
m
Mdulo(privado)
p
Proyecto(pblico)
Tabla21.
Caracteresparaindicarelmbitoenlosnombres
devariables.
LaTabla22mu
estralosvaloresparaeltipodedato.
Carcter
Tipodedatoquedefine
b
Boolean
by
Byte
c
Char
dt
Date
dc
Decimal
db
Double
i
Integer
l
Long
sh
Short
sg
Single
o
Object
s
String
Tabla22.Caracteresparaindicareltipodedatoenlosnombres
delasvariables.
Paraelcuerpo
delavariableseutilizarWordMixing,queconsisteenunatcnicaenlacul
empleamos,siesnecesario,variaspalabrasjuntasparadescribirme
jorelcontenidodelavariable.
VeamosunosejemplosenelCdigofuente178.
'
variable
lo
cal
de
tipo
integer
liCodAcceso
7/13/2019 MANUAL Visual NET
142/362
7/13/2019 MANUAL Visual NET
143/362
7/13/2019 MANUAL Visual NET
144/362
7/13/2019 MANUAL Visual NET
145/362
7/13/2019 MANUAL Visual NET
146/362
7/13/2019 MANUAL Visual NET
147/362
GrupoEIDOS
16.Funcionescomplementariasdellenguaje
293
Cuandocreamosunaaplicacindetipoconsola,pordefectosecreaunmduloconelnom
bre
Module1,quecontieneunMain()vaco,y
enlaspropiedadesdelproyecto,elobjetoinicialesdicho
Module1.
Siaadimosnuevosmdulosalproyecto,b
ienenficherosseparados,oagrupandovariosmdulo
sen
unmismofichero,podemosescribirunp
rocedimientoMain()paracadaunodelosmdulosde
nuestroproyecto.
ElCdigofuente200m
uestraunejemploenelquetenemosdosmdulosenun
proyecto,conunprocedimientoMain()den
trodecadauno.
Module
Module1
Public
Sub
Main()
Console.WriteLine("Iniciamos
el
programa
en
el
modulo
General")
Console.ReadLine()
End
Sub
End
Module
Module
Calculos
Public
Sub
Main()
Console.WriteLine("Iniciamos
el
programa
en
el
modulo
Calculos")
Console.ReadLine()
End
Sub
End
Module
Cdigofuente200
Pordefecto,yyaqueasseestablecealcrearelproyecto,
laejecucincomenzarporelMain()del
mduloModule1.
PeropodemoshacerqueelprocedimientodeinicioseaelMain()queeste
nel
mduloCalculos,abriendolaventanade
propiedadesdelproyectoyseleccionandocomoob
jeto
inicialdichomdulo.VerFigura190.
Figura190.Estableceru
nmdulocomoobjetoinicialdelproyecto.
Programacincon
VisualBasic.NET
GrupoEIDOS
294
Conestatcnica,podremosdisponerdetantosprocedimientosdeiniciocomomduloscontenga
nuestroproyecto.
Noobstante,si
slodeseamosqueexistaunnicoprocedimientoMain()alolargodetodoelcdigo
denuestraaplicacin,enlalistadesplegableObjetoinicial,delaventanadepropiedadesdelproyecto,
tendremosqueseleccionarlaopcinSubMain;estonosobligaratenerslounprocedimientoMain()
dentrodecualquieradelosmdulos,producindoseunerrorsialcom
ienzodelaejecucinsedetecta
msdeunavers
indeMain().
7/13/2019 MANUAL Visual NET
148/362
7/13/2019 MANUAL Visual NET
149/362
7/13/2019 MANUAL Visual NET
150/362
7/13/2019 MANUAL Visual NET
151/362
7/13/2019 MANUAL Visual NET
152/362
7/13/2019 MANUAL Visual NET
153/362
7/13/2019 MANUAL Visual NET
154/362
7/13/2019 MANUAL Visual NET
155/362
7/13/2019 MANUAL Visual NET
156/362
7/13/2019 MANUAL Visual NET
157/362
7/13/2019 MANUAL Visual NET
158/362
7/13/2019 MANUAL Visual NET
159/362
7/13/2019 MANUAL Visual NET
160/362
7/13/2019 MANUAL Visual NET
161/362
7/13/2019 MANUAL Visual NET
162/362
7/13/2019 MANUAL Visual NET
163/362
7/13/2019 MANUAL Visual NET
164/362
7/13/2019 MANUAL Visual NET
165/362
7/13/2019 MANUAL Visual NET
166/362
7/13/2019 MANUAL Visual NET
167/362
7/13/2019 MANUAL Visual NET
168/362
7/13/2019 MANUAL Visual NET
169/362
7/13/2019 MANUAL Visual NET
170/362
GrupoEIDOS
18.Mtodosyespaciosdenombre
339
Completadastodasestasoperaciones,pasar
emosalficherodecdigodelproyectodeconsola,yd
ado
quevamosautilizarlasclasescontenidas
enunensambladodistintodelqueestamosposiciona
dos,
debemosimportarlosespaciodenombresdelensamblado;tantosuespacioraz,comoelquehe
mos
creadomanualmente.
Deformaadicional,
hemosaadidounaclaseacontinuacindeMain()para
demostrarcomoparainstanciardichaclase,alestarenelespaciodenombresrazdelproyectode
consola,noesnecesariorealizarningunaim
portacin,veamoselCdigofuente236.
'
importamos
el
namespace
Adicional,
'
este
namespace
es
el
raz
del
proy
ecto
'
de
biblioteca
de
clases
y
'
nos
servir
para
acceder
a
la
clas
e
'
Factura
del
proyecto
Adicional
Imports
Adicional
'
por
otro
lado
importamos
el
namesp
ace
'
Adicional.Correo
que
nos
permitir
'
acceder
a
la
clase
Mensaje,
que
ta
mbin
'
est
en
la
biblioteca
de
clases
Imports
Adicional.Correo
Module
Module1
Sub
Main()
Dim
loEmp
As
New
Empleado()
loEmp.psID
=
254
loEmp.MostrarDatos()
Dim
loFac
As
New
Factura()
loFac.piID
=
785
loFac.piImporte
=
1200
loFac.Datos()
Dim
loMsg
As
New
Mensaje()
loMsg.psTexto
=
"Hola
mundo"
loMsg.pdtFecha
=
Today
loMsg.Visualizar()
Console.ReadLine()
End
Sub
End
Module
Public
Class
Empleado
Public
psID
As
Integer
Public
Sub
MostrarDatos()
Console.WriteLine("Identific
ador
del
empleado:
{0}",
Me.psID)
Console.ReadLine()
End
Sub
End
Class
Cdigofuente236
Cuandoejecutemoselprogramadepuran
dolneaalnea,comprobaremoscomoelflujodela
aplicacinpasaalcdigodelabibliotecade
clasesalinstanciarsusobjetos.
7/13/2019 MANUAL Visual NET
171/362
7/13/2019 MANUAL Visual NET
172/362
7/13/2019 MANUAL Visual NET
173/362
7/13/2019 MANUAL Visual NET
174/362
7/13/2019 MANUAL Visual NET
175/362
7/13/2019 MANUAL Visual NET
176/362
7/13/2019 MANUAL Visual NET
177/362
7/13/2019 MANUAL Visual NET
178/362
7/13/2019 MANUAL Visual NET
179/362
7/13/2019 MANUAL Visual NET
180/362
7/13/2019 MANUAL Visual NET
181/362
7/13/2019 MANUAL Visual NET
182/362
7/13/2019 MANUAL Visual NET
183/362
7/13/2019 MANUAL Visual NET
184/362
7/13/2019 MANUAL Visual NET
185/362
7/13/2019 MANUAL Visual NET
186/362
7/13/2019 MANUAL Visual NET
187/362
7/13/2019 MANUAL Visual NET
188/362
7/13/2019 MANUAL Visual NET
189/362
7/13/2019 MANUAL Visual NET
190/362
7/13/2019 MANUAL Visual NET
191/362
7/13/2019 MANUAL Visual NET
192/362
7/13/2019 MANUAL Visual NET
193/362
7/13/2019 MANUAL Visual NET
194/362
7/13/2019 MANUAL Visual NET
195/362
7/13/2019 MANUAL Visual NET
1