manuakl vnet
Post on 07-Apr-2018
220 Views
Preview:
TRANSCRIPT
-
8/4/2019 MANUAKL VNET
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
-
8/4/2019 MANUAKL VNET
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,puedeobtenerlaenviandoune-mailfmarin@eidos.eso
alfax(34)-91-5017824.
Sipiensaotienealgunadudasobrelalegalidaddelaautorizacindelaobra,oquelamismahallegado
hastaVd.vulnerandoloanterior,leagradeceremosquenoslocomuniqueale-mailfmarin@eidos.esoal
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(fmarin@eidos.es)
Autoedicin
MagdalenaMarn(mmarin@eidos.es)
LuisMiguelBlanco(lmblanco@eidos.es)
Coordinacindelaedicin
AntonioQuirs(aquiros@eidos.es)
GrupoEIDOS
C/Tllez30Oficina2
28007-Madrid(Espaa)
Tel:915013234Fax:91(34)5017824
www.grupoeidos.com/www.e
idos.es
www.LaLibreriaDigital.com
-
8/4/2019 MANUAKL VNET
3/362
5
AOlgayDavid,
porlashorasquelesherobado
paraescribirestetextoqueahora
tienesentusmanos
Amispadres
ARobertoyCarlos,
mishermanospequeos,enedad,peronoenaltura
-
8/4/2019 MANUAKL VNET
4/362
-
8/4/2019 MANUAKL VNET
5/362
-
8/4/2019 MANUAKL VNET
6/362
-
8/4/2019 MANUAKL VNET
7/362
-
8/4/2019 MANUAKL VNET
8/362
-
8/4/2019 MANUAKL VNET
9/362
-
8/4/2019 MANUAKL VNET
10/362
-
8/4/2019 MANUAKL VNET
11/362
-
8/4/2019 MANUAKL VNET
12/362
-
8/4/2019 MANUAKL VNET
13/362
-
8/4/2019 MANUAKL VNET
14/362
-
8/4/2019 MANUAKL VNET
15/362
-
8/4/2019 MANUAKL VNET
16/362
-
8/4/2019 MANUAKL VNET
17/362
-
8/4/2019 MANUAKL VNET
18/362
-
8/4/2019 MANUAKL VNET
19/362
-
8/4/2019 MANUAKL VNET
20/362
-
8/4/2019 MANUAKL VNET
21/362
-
8/4/2019 MANUAKL VNET
22/362
-
8/4/2019 MANUAKL VNET
23/362
-
8/4/2019 MANUAKL VNET
24/362
-
8/4/2019 MANUAKL VNET
25/362
-
8/4/2019 MANUAKL VNET
26/362
-
8/4/2019 MANUAKL VNET
27/362
-
8/4/2019 MANUAKL VNET
28/362
-
8/4/2019 MANUAKL VNET
29/362
-
8/4/2019 MANUAKL VNET
30/362
-
8/4/2019 MANUAKL VNET
31/362
-
8/4/2019 MANUAKL VNET
32/362
-
8/4/2019 MANUAKL VNET
33/362
-
8/4/2019 MANUAKL VNET
34/362
-
8/4/2019 MANUAKL VNET
35/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
39/362
GrupoEIDOS
4.InstalacindeVisualStudio.NET
PulsaremosAceptarysitodoesc
orrecto,seadjuntarlabasededatosanuestroserv
idor
mostrndoseyaenelAdministradorcorporativo.VerFigura36.
Figura36.Bases
dedatosadjuntadasaSQLServer.
Concluidostodoslospasosdeinstalacin,
estamospreparadosparacomenzaratrabajarconnue
stro
nuevoentornodetrabajo,yparaello,nadamejorqueescribirunpequeoprogramadeprueba,
que
mostraremosenelsiguientetema.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
41/362
-
8/4/2019 MANUAKL VNET
42/362
-
8/4/2019 MANUAKL VNET
43/362
-
8/4/2019 MANUAKL VNET
44/362
-
8/4/2019 MANUAKL VNET
45/362
-
8/4/2019 MANUAKL VNET
46/362
-
8/4/2019 MANUAKL VNET
47/362
-
8/4/2019 MANUAKL VNET
48/362
-
8/4/2019 MANUAKL VNET
49/362
-
8/4/2019 MANUAKL VNET
50/362
-
8/4/2019 MANUAKL VNET
51/362
-
8/4/2019 MANUAKL VNET
52/362
GrupoEIDOS
6.Escrituradecdigo
103
Completandoelprocedim
iento
Llegadosaestepuntodelejemplo,tenemos
todoslosingredientesparacompletarlo.
Necesitamos
que
elusuariointroduzcasunombreutilizandoInputBox(),volcardichonombreenlavariablequehemos
declaradoymostrarlousandootroMessageBox.TodoellolovemosenelCdigofuente22.
Su
b
Ma
in
()
MessageBox.S
how
("Emp
ieza
el
prog
rama"
)
Dim
Nom
bre
As
Str
ing
Nom
bre
=
InputBox
("Escr
ibe
tu
no
mbre"
)
MessageBox.S
how
("E
l
nom
bre
de
lu
suar
io
es:
"
&
Nom
bre,
"Programa
de
prue
ba"
)
En
d
Su
b
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.
-
8/4/2019 MANUAKL VNET
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:
-
8/4/2019 MANUAKL VNET
54/362
-
8/4/2019 MANUAKL VNET
55/362
-
8/4/2019 MANUAKL VNET
56/362
-
8/4/2019 MANUAKL VNET
57/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
59/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
63/362
-
8/4/2019 MANUAKL VNET
64/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
69/362
-
8/4/2019 MANUAKL VNET
70/362
-
8/4/2019 MANUAKL VNET
71/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
75/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
78/362
-
8/4/2019 MANUAKL VNET
79/362
-
8/4/2019 MANUAKL VNET
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
-
8/4/2019 MANUAKL VNET
81/362
-
8/4/2019 MANUAKL VNET
82/362
-
8/4/2019 MANUAKL VNET
83/362
-
8/4/2019 MANUAKL VNET
84/362
-
8/4/2019 MANUAKL VNET
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.
Su
b
PasarMay(
)
DTE.Act
iv
eDocument.Se
lect
ion.L
ineDown
(True,
2)
DTE.Act
iv
eDocument.Se
lect
ion.C
hangeCase
(vsCaseOpt
ions.vsCaseOpt
ionsUppercase
)
En
d
Su
b
Cdigofuente33.C
digocorrespondientealamacroPasarMay().
Escriturademacros
Cuandoellecto
rvayacreandosuspropiasmacrosdeprueba,observa
rcomotodasestnbasadasen
elobjetoDTE,
queconstituyeelobjetoprincipalparalamanipulacindelcdigofuenteatravsde
macros.
Conociendolos
mtodosypropiedadesdeesteobjeto,podemosescrib
irnuestraspropiasmacrosenel
editordecdigodelIDEdemacros,paraefectuaroperacionessobreelcdigofuentedenuestras
aplicacionescomoseleccionar,comentar,buscar,e
tc.
-
8/4/2019 MANUAKL VNET
86/362
-
8/4/2019 MANUAKL VNET
87/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
89/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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.
Mo
du
le
Mo
du
le
1
Su
b
Ma
in(
)
En
d
Su
b
En
d
Mo
du
le
Cdigofuente37
LaclaseConsole
EstaclaseseencuentradentrodelespaciodenombresSystem,yn
osproporcionaatravsdesus
mtodos,accesoalaconsolaparamostraruobtenerinformacindelusuario.
Debidoaquelosmiembrosdeestaclaseseencuentrancompartidos
(shared),noesnecesariocrear
unainstanciapr
eviadelamismaenunavariable,pudiendoejecutardirectamentesusmtodossobreel
objetoConsole.Todoelloseexplicarenlossiguientesapartados.
-
8/4/2019 MANUAKL VNET
92/362
-
8/4/2019 MANUAKL VNET
93/362
-
8/4/2019 MANUAKL VNET
94/362
GrupoEIDOS
11.Aplicacionesdeconsola
187
Conso
le.Wr
iteL
ine
()
Conso
le.Wr
iteL
ine
("E
l
{2
}
con
dest
in
o
{0
}
via
ja
a
mas
de
{1
}
kms.
por
hora",
Ve
hicu
lo,
Lugar,
Numero
)
Conso
le.Rea
dL
ine
()
Cdigofuente45
Alejecutarestefuente,laconsolamostrar
elaspectodelaFigura164.
Figura164.Diversassalidasalaconsolaconparmetrossustituibles.
Lecturadeinformacin
Paraobtenereltextoescritoporelusuarioenlalneaactualdelaconsolayhastalapulsacinde
[INTRO]podemosutilizarelmtodoReadL
ine()delobjetoConsole.
ElCdigofuente46muestracomovolcam
osaunavariableelcontenidodelalneaescritapo
rel
usuarioyposteriormenteexponemossucon
tenido,tambinatravsdelaconsola.
'
dec
laramos
una
var
ia
ble
para
vo
lca
r
el
conten
ido
'
de
una
lnea
de
la
conso
la
Dim
LineaTexto
As
Str
ing
Conso
le.Wr
iteL
ine
("Intro
duc
ir
un
tex
to"
)
LineaTexto
=
Conso
le.Rea
dL
ine
()
'e
l
texto
se
pasa
a
la
var
ia
ble
'
ahora
mostramos
lo
que
hemos
escri
to
Conso
le.Wr
iteL
ine
()
Conso
le.Wr
iteL
ine
("E
l
usuar
io
ha
esc
rito
la
sigu
iente
lnea:"
)
Conso
le.Wr
iteL
ine
(L
ineaTexto
)
'
aqu
ev
itamos
cerrar
la
conso
la,
'
as
po
demos
ver
me
jor
el
resu
lta
do
Conso
le.Rea
dL
ine
()
Cdigofuente46
Read()esotromtododelobjetoConsoleq
uepermitetambinlalecturadeldispositivodeentrad
ade
laconsola,peroenestecasodevuelveelc
digodeunasolateclapulsadaporelusuario.Parailustrar
elusodeestemtodotenemoselejemplo
delCdigofuente47,enelquedespusdepulsarvarias
teclas,nosintroducimosenunbuclequevaextrayendocadaunodesuscdigos,quevolvemosa
transformarenelcarctercorrespondientea
lateclapulsada.
Programacincon
VisualBasic.NET
GrupoEIDOS
188
'
ejemp
lo
con
Rea
d()
Dim
Co
dTec
la
As
Integer
Dim
Nom
breTec
la
As
Char
Conso
le.Wr
ite
Line
("Pu
lsar
var
ias
tec
las"
)
Conso
le.Wr
ite
Line
()
While
True
'
tomarl
os
cdigos
de
las
tec
las
uno
a
uno
Co
dTec
la
=
Conso
le.Rea
d()
'
si
seh
a
pu
lsa
do
intro,
sa
lir
If
Co
dTec
la
=
13
Then
Ex
it
While
En
d
If
Conso
le.W
riteL
ine
("C
digo
de
tec
la
pu
lsa
da:
{0
}",
Co
dTec
la
)
'
convert
ir
el
c
digo
al
caracter
de
la
tec
la
Nom
breTec
la
=
Chr
(Co
dTec
la
)
Conso
le.W
riteL
ine
("Tec
la
pu
lsa
da:
{0
}",
Nom
breTec
la
)
En
d
While
Conso
le.Rea
dL
ine
()
Conso
le.Wr
ite
Line
("E
jemp
lo
term
ina
do,
pu
lse
intro"
)
Conso
le.Rea
dL
ine
()
Cdigofuente47
-
8/4/2019 MANUAKL VNET
95/362
-
8/4/2019 MANUAKL VNET
96/362
-
8/4/2019 MANUAKL VNET
97/362
-
8/4/2019 MANUAKL VNET
98/362
-
8/4/2019 MANUAKL VNET
99/362
-
8/4/2019 MANUAKL VNET
100/362
-
8/4/2019 MANUAKL VNET
101/362
-
8/4/2019 MANUAKL VNET
102/362
-
8/4/2019 MANUAKL VNET
103/362
-
8/4/2019 MANUAKL VNET
104/362
-
8/4/2019 MANUAKL VNET
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].
-
8/4/2019 MANUAKL VNET
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
Resu
lta
do
As
Dou
ble
Resu
lta
do
=1
2
^
5
'
devue
lve:
248832
Resu
lta
do
=2
^
3
^
7
'
devue
lve:
2097152
Resu
lta
do
=(
-4
)
^
2
'
devue
lve:
16
Cdigofuente71
Multiplica
cin:*
Multiplicadosnmeros.
Enelcasodequealgunodelosoperandosseaunvalornulo,seusarcomo
cero.VerCdig
ofuente72.
Dim
Resu
lta
do
As
Dou
ble
Dim
DatoS
inVa
lor
As
Integer
Dim
In
de
fin
id
o
As
Object
Resu
lta
do
=2
5
*
5
'
devue
lve:
125
'
la
var
ia
ble
DatoS
inVa
lor
no
ha
sido
'
as
igna
da,p
or
lo
que
cont
iene
cero
Resu
lta
do
=5
0
*
DatoS
inVa
lor
'
devue
lve:
0
'
la
var
ia
ble
In
de
fin
ido
no
ha
sido
'
as
igna
da,p
or
lo
que
cont
iene
Not
hing
Resu
lta
do
=2
5
*
In
de
fin
ido
'
devue
lve:
0
Resu
lta
do
=2
4.8
*
5.98
'
devue
lve:
148.304
Cdigofuente72
Divisinreal:/
Dividedosnm
eros,devolviendounresultadoconprecisindecimal.VerCdigofuente73.
Dim
Resu
lta
do
As
Dou
ble
Resu
lta
do
=5
0
/
3
'
devue
lve:
16.6666666666667
Resu
lta
do
=2
50
/
4
'
devue
lve:
62.5 C
digofuente73
Pornormagene
ral,elvalordevueltoserdetipoDouble,.
Noobstante,siunodelosoperandosesde
tipoSingle,elresultadoserdetipoSingle.Deigualmanera,silosdosoperandossondeltipodedato
Decimal,e
lresu
ltadotambinserunvalorDecimal.
-
8/4/2019 MANUAKL VNET
107/362
-
8/4/2019 MANUAKL VNET
108/362
-
8/4/2019 MANUAKL VNET
109/362
-
8/4/2019 MANUAKL VNET
110/362
-
8/4/2019 MANUAKL VNET
111/362
-
8/4/2019 MANUAKL VNET
112/362
-
8/4/2019 MANUAKL VNET
113/362
-
8/4/2019 MANUAKL VNET
114/362
GrupoEIDOS
13.Operadoresdellenguaje
227
Resu
lta
do
=
(8
8)
An
d
(62
60
Resu
lta
do
=
Not
Operac
ion
'
devuel
ve:
Fa
lse
Resu
lta
do
=
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
Resu
lta
do
As
Integer
Resu
lta
do
=N
ot
16
'
devue
lve:
-17
Resu
lta
do
=N
ot
4
'
devue
lve:
-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
Resu
lta
do
As
Boo
lean
Resu
lta
do
=(
58
>
20
)
Or
("H"
=
"H"
)
'
devue
lve:
True
Resu
lta
do
=(
"H"
=
"H"
)
Or
(720
"b"
)
Or
("Q"
=
"R"
)
'
devue
lve:
Fa
lse
Cdigofuente105
Aniveldebit,O
rrealizalasoperacionesmostradasenlaTabla13.
-
8/4/2019 MANUAKL VNET
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
Resu
lta
do
As
Integer
Resu
lta
do
=
15
Or
8
'
devue
lve:1
5
Resu
lta
do
=
6
Or
45
'
devue
lve: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
Resu
lta
do
As
Boo
lean
Resu
lta
do
=
(58
>
20
)
Xor
("H"
=
"H"
)
'
devue
lve:
Fa
lse
Resu
lta
do
=
("H"
=
"H"
)
Xor
(720
"b"
)
Xor
("Q"
=
"R"
)
'
devue
lve:
Fa
lse
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
Resu
lta
do
As
Integer
Resu
lta
do
=1
5
Xor
8
'
devue
lve:
7
Resu
lta
do
=6
Xor
45
'
devue
lve:
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.
-
8/4/2019 MANUAKL VNET
116/362
-
8/4/2019 MANUAKL VNET
117/362
GrupoEIDOS
13.Operadoresdellenguaje
233
Resu
lta
do
=
10
100
)
And
(52
>
200
/
(2
+
5))
'
devue
lve:
True
Cdigofuente114.
-
8/4/2019 MANUAKL VNET
118/362
-
8/4/2019 MANUAKL VNET
119/362
-
8/4/2019 MANUAKL VNET
120/362
-
8/4/2019 MANUAKL VNET
121/362
-
8/4/2019 MANUAKL VNET
122/362
-
8/4/2019 MANUAKL VNET
123/362
-
8/4/2019 MANUAKL VNET
124/362
-
8/4/2019 MANUAKL VNET
125/362
-
8/4/2019 MANUAKL VNET
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.
-
8/4/2019 MANUAKL VNET
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
Expres
in
Then
'
cdigo
'
......
'
......
En
d
If
Cdigofuente135
SialevaluarExpresinsedevuelvecomoresultadoVerdadero,seejecutarnlaslneasobloquede
cdigocomprendidoentreIfyEndIf.
SiExpresinesFalso,sedesviarlaejecucinalaprimera
lneadecdigo
quehayadespusdeEndIf.Veamosunejemploenel
Cdigofuente136.
Su
b
Ma
in
()
Dim
Va
lor
As
Integer
Conso
le.W
riteL
ine
("Intro
duc
ir
un
nmero"
)
Va
lor
=C
onso
le.Rea
dL
ine
()
If
Va
lor
=
5
Then
Conso
le.Wr
iteL
ine
("Estamos
dentro
de
la
estructura
If,"
&_
"
ya
que
su
expres
in
devue
lve
Ver
da
dero"
)
En
d
If
Conso
le.R
ea
dL
ine
()
En
d
Su
b
Cdigofuente136
Decisinsimpleenunalnea.
Enelcasodequeslohayaqueejecutarunainstruccinsencillacuan
dosecumplelaexpresindela
estructura,podemosomitirlapalabraclaveEndIf,escribiendolasentenciaaejecutarenlamisma
lneadeladeclaracindelaestructuraIf,
justoacontinuacindelap
alabraThen.Lasintaxiseneste
caso,sesimplifica,comomuestraelCdigofuente137.
If
Expres
in
Then
Instrucc
in
Cdigofuente137
Veamosunejem
ploenelCdigofuente138.
Su
b
Ma
in
()
Dim
Va
lor
As
Integer
Dim
Resul
ta
do
As
Integer
Conso
le.W
riteL
ine
("Intro
duc
ir
un
nmero"
)
Va
lor
=C
onso
le.Rea
dL
ine
()
If
Va
lor
=
5
Then
Resu
lta
do
=
Va
lor
+
10
Conso
le.W
riteL
ine
("La
var
ia
ble
resu
lta
do
cont
iene
{0
}",
Resu
lta
do
)
Conso
le.R
ea
dL
ine
()
-
8/4/2019 MANUAKL VNET
128/362
-
8/4/2019 MANUAKL VNET
129/362
-
8/4/2019 MANUAKL VNET
130/362
-
8/4/2019 MANUAKL VNET
131/362
-
8/4/2019 MANUAKL VNET
132/362
-
8/4/2019 MANUAKL VNET
133/362
-
8/4/2019 MANUAKL VNET
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.
Mo
du
le
Nom
breMo
du
lo
'
cdigo
'
......
En
d
Mo
du
le
Cdigofuente161
Debemostenerencuentaquenoesposible
anidarmdulos,esdecir,nopodemosdeclararunmdulo
dentrodeladeclaracindeunmduloyaex
istente.VerCdigofuente162.
Mo
du
le
Nom
breMo
du
lo
'
esto
no
es
vlido
y
pro
duc
i
r
un
error
Mo
du
le
Nom
breNuevo
En
d
Mo
du
le
En
d
Mo
du
le
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.
-
8/4/2019 MANUAKL VNET
135/362
-
8/4/2019 MANUAKL VNET
136/362
-
8/4/2019 MANUAKL VNET
137/362
-
8/4/2019 MANUAKL VNET
138/362
-
8/4/2019 MANUAKL VNET
139/362
-
8/4/2019 MANUAKL VNET
140/362
GrupoEIDOS
15.Bifurcacinymbitodelc
digo
279
En
d
Su
b
Cdigofuente175
PerocambiemoselmododedeclaracindelavariableImporte,aadindoleStatic.Enestecaso,la
primeravezqueseejecutaelprocedimiento
,seinicializalavariableconelvalor5,peroalterminarla
ejecucin,lavariablenosedestruye,sin
oqueenlasiguienteejecucinconservaelvalor,
que
podemosirincrementandoencadallamada.VerCdigofuente176.
Pu
blic
Su
b
Ma
in
()
Ver
ificar
("Pr
imera"
)
'
en
estal
lama
da
se
muestra
7
Ver
ificar
("Segun
da"
)
'
en
estal
lama
da
se
muestra
9
Ver
ificar
("Tercera"
)
'
en
estal
lama
da
se
muestra
11
Conso
le.Rea
dL
ine
()
En
d
Su
b
Pu
blic
Su
b
Ver
ificar
(ByVa
l
Or
denL
lam
ada
As
Str
ing
)
'
dec
larar
var
ia
ble
con
el
mo
dif
ica
dor
Stat
ic,
'
en
la
pr
imera
llama
da
toma
el
va
lor
in
ic
ia
l
de
5,
'
las
suces
ivas
llama
das
no
ejec
utar
n
esta
lnea
Stat
ic
Dim
Importe
As
Integer
=
5
Importe
+=
2
Conso
le.Wr
iteL
ine
("
{0
}
llama
daa
l
proce
dim
iento,
la
var
ia
ble
cont
iene
{1
}",_
Or
denL
lama
da,
Importe
)
En
d
Su
b
Cdigofuente176
LasvariablesStaticporlotanto,tienenunperiododevidaqueabarcatodoeltiempodeejecucin
del
programa,mientrasquesumbitoesaniveldeprocedimientoobloque,yaquetambinpueden
crearsedentrodeunaestructuradecontrol.
-
8/4/2019 MANUAKL VNET
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.
'
var
ia
ble
lo
ca
l
de
tipo
integer
liCo
dAcceso
-
8/4/2019 MANUAKL VNET
142/362
-
8/4/2019 MANUAKL VNET
143/362
-
8/4/2019 MANUAKL VNET
144/362
-
8/4/2019 MANUAKL VNET
145/362
-
8/4/2019 MANUAKL VNET
146/362
-
8/4/2019 MANUAKL VNET
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.
Mo
du
le
Mo
du
le1
Pu
blic
Su
b
Ma
in
()
Conso
le.Wr
iteL
ine
("In
ic
iamos
e
l
programa
en
el
mo
du
lo
Genera
l"
)
Conso
le.Rea
dL
ine
()
En
d
Su
b
En
d
Mo
du
le
Mo
du
le
Ca
lcu
los
Pu
blic
Su
b
Ma
in
()
Conso
le.Wr
iteL
ine
("In
ic
iamos
e
l
programa
en
el
mo
du
lo
Ca
lcu
los"
)
Conso
le.Rea
dL
ine
()
En
d
Su
b
En
d
Mo
du
le
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().
-
8/4/2019 MANUAKL VNET
148/362
-
8/4/2019 MANUAKL VNET
149/362
-
8/4/2019 MANUAKL VNET
150/362
-
8/4/2019 MANUAKL VNET
151/362
-
8/4/2019 MANUAKL VNET
152/362
-
8/4/2019 MANUAKL VNET
153/362
-
8/4/2019 MANUAKL VNET
154/362
-
8/4/2019 MANUAKL VNET
155/362
-
8/4/2019 MANUAKL VNET
156/362
-
8/4/2019 MANUAKL VNET
157/362
-
8/4/2019 MANUAKL VNET
158/362
-
8/4/2019 MANUAKL VNET
159/362
-
8/4/2019 MANUAKL VNET
160/362
-
8/4/2019 MANUAKL VNET
161/362
-
8/4/2019 MANUAKL VNET
162/362
-
8/4/2019 MANUAKL VNET
163/362
-
8/4/2019 MANUAKL VNET
164/362
-
8/4/2019 MANUAKL VNET
165/362
-
8/4/2019 MANUAKL VNET
166/362
-
8/4/2019 MANUAKL VNET
167/362
-
8/4/2019 MANUAKL VNET
168/362
-
8/4/2019 MANUAKL VNET
169/362
-
8/4/2019 MANUAKL VNET
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
Adic
iona
l,
'
este
namespace
es
el
ra
z
de
l
proy
ecto
'
de
biblioteca
de
clases
y
'
nos
serv
ir
para
acce
der
a
la
clas
e
'
Factura
de
l
proyecto
Adic
iona
l
Imports
Adic
iona
l
'
por
otro
la
do
importamos
el
top related