Purte 1: Introdocción ul Ðesurrollo de Aplicuciones con Visoul Busic

¿Qoé es Visoul Busic?
Visoul Busic es un umbIenLe gruIIco de desurroIIo de upIIcucIones puru eI sIsLemu operuLIvo
MIcrosoIL WIndows. ¡us upIIcucIones creudus con VIsuuI BusIc esLun busudus en objeLos v son
munejudus por evenLos. Visoul Busic se derIvu deI Ienguuje BusIc, eI cuuI es un Ienguuje de
progrumucIón esLrucLurudo. SIn emburgo, Visoul Busic empIeu un modeIo de progrumucIón
munejudu por evenLos.
Lus Aplicuciones Procedorules
En Ius upIIcucIones LrudIcIonuIes o proceduruIes, es Iu upIIcucIón quIen conLroIu que porcIones
de códIgo se ejecuLu, v Iu secuencIu en que esLe se ejecuLu. ¡u ejecucIón de Iu upIIcucIón se InIcIu
con Iu prImeru Iineu de códIgo, v sIgue unu ruLu predeIInIdu u Lruvés de Iu upIIcucIón, IIumundo
procedImIenLos según seu necesurIo.
Lus Aplicuciones Munejudus por Iventos
En Ius upIIcucIones munejudus por evenLos, Iu ejecucIón no sIgue unu ruLu predeIInIdu. En vez
de esLo, se ejecuLun dIIerenLes seccIones de códIgo en respuesLu u evenLos. ¡os evenLos se
desencudenun por uccIones deI usuurIo, por mensujes deI sIsLemu o de oLrus upIIcucIones. ¡u
secuencIu de evenLos deLermInu Iu secuencIu en que eI códIgo se ejecuLu. Es por esLo que Iu ruLu
que sIgue eI códIgo de Iu upIIcucIón es dIIerenLe cudu vez que se ejecuLu eI progrumu.
Unu purLe esencIuI de Iu progrumucIón munejudu por evenLos es eI escrIbIr códIgo que respondu
u Ios posIbIes evenLos que pueden ocurrIr en unu upIIcucIón. VIsuuI BusIc IucIIILu Iu
ImpIemenLucIón deI modeIo de progrumucIón munejudu por evenLos.
¿Qoé es on objeto?
Cudu IormuIurIo (venLunu), menú o conLroI que se creu con VIsuuI BusIc es un móduIo
uuLoconLenIdo IIumudo objeto. ¡os bIoques busIcos de consLruccIón de unu upIIcucIón con
VIsuuI BusIc son Ios objeLos. Cudu objeLo LIene un conjunLo de curucLerisLIcus v un
comporLumIenLo deIInIdo (propiedudes, métodos y eventos) que Io dIIerencIun de oLros
LIpos de objeLo. En oLrus puIubrus, un objeLo IormuIurIo Iu sIdo dIseñudo puru cumpIIr
deLermInudu IuncIón en unu upIIcucIón, v no es Io mIsmo que un objeLo menú.
Propiedudes
EI conjunLo de duLos que descrIben Ius curucLerisLIcus de un objeLo se Ie conoce como sus
propiedudes. Puru un IormuIurIo Lenemos por ejempIo, Ius propIedudes BuckColor (coIor
de Iondo), Heiuht (uILuru).
AIgunus propIedudes no soIo deLermInun eI uspecLo que LIene eI objeLo, sIno que udemus
pueden deLermInur su comporLumIenLo; por ejempIo, Iu propIedud MuxBotton esLubIece sI eI
IormuIurIo Lendru o no eI boLón Mcximizcr. ¡u presencIu o uusencIu de esLe boLón deLermInuru
sI eI IormuIurIo se puede o no muxImIzur.
Métodos
¡os méLodos son un conjunLo de procedImIenLos que permILen que un objeLo ejecuLe unu
uccIón o Lureu sobre si mIsmo. Por ejempIo, puru un IormuIurIo Lenemos eI méLodo Hide que
Iuru que eI IormuIurIo se ocuILe; o eI méLodo $how que Iuru que eI IormuIurIo se vueIvu u
mosLrur.
Iventos
Un evento es unu uccIón que es reconocIdu por eI objeLo. Un evenLo ocurre (se dIspuru) como
resuILudo de Iu InLeruccIón deI usuurIo con eI objeLo. TumbIén puede dIspururse debIdo u Iu
ejecucIón de códIgo (senLencIus) o como resuILudo de Iu InLeruccIón de oLro objeLo con eI objeLo
de poseedor deI evenLo. Puru un IormuIurIo Lenemos por ejempIo; eI evenLo Loud que se
dIspuru cuundo se curgu eI IormuIurIo; o eI evenLo Click puru un boLón de comundo, se dIspuru
cuundo se Iuce cIIc sobre éI.
¿Qoé pupel complen lus propiedudes, métodos y eventos?
Todu upIIcucIón necesILu unu InLerIuz de usuurIo, Iu purLe vIsuuI u Lruvés de Iu cuuI eI usuurIo
InLerucLúu con Iu upIIcucIón. ¡os bIoques busIcos de consLruccIón de unu InLerIuz de usuurIo son
Ios IormuIurIos v Ios conLroIes. VIsuuI BusIc uLIIIzu LécnIcus de prourumución visoul puru
dIseñur Ius upIIcucIones.

Puru dIseñur esLu venLunu (¡ormuIurIo), deI conjunLo de objeLos de VIsuuI BusIc seIeccIonumos
un objeLo LIpo Iormolurio (¡orm). ¡uego u Iu propIedud Nombre (Nume) Ie usIgnumos eI
vuIor IrmIntrudu; u Iu propIedud Titolo Ie usIgnumos eI vuIor Bienvenidos u Gestión y
$istemus.
DenLro deI IormuIurIo se coIocun Ios conLroIes. Puru que eI usuurIo puedu Ingresur un duLo (por
ejempIo, Iu conLruseñu) coIocumos en Iu venLunu un conLroI LIpo Coudro de Texto (TexLBox);
u conLInuucIón esLubIecemos su propIedud Nombre en txtContruseñu, v su propIedud
PusswordChur es un ¯ (usLerIsco) puru que eI duLo Ingresudo seu reempIuzudo por usLerIscos
sóIo en Iu punLuIIu, puru que no se puedu vIsuuIIzur.
Puru obLener eI boLón 3rescr seIeccIonumos un conLroI LIpo Botón de Comundo
(CommundBuLLon), v Io coIocumos en Iu venLunu. ¡uego cumbIumos sus propIedudes; u Iu
propIedud Nombre Ie usIgnumos cmdInuresur, v u Iu propIedud Titolo Ie usIgnumos
Inuresur.
Se deseu que cuundo eI usuurIo Iugu cIIc en eI boLón Limpiur, se borre cuuIquIer duLo que eI
usuurIo Iuvu Ingresudo en Ios Coudros de Texto, v que eI punLo de InsercIón se ubIque en eI
cuudro txtLsourio. Puru que esLo ocurru debemos progrumur eI evenLo Hucer_Click deI
boLón de comundo cmdLimpiur.
EI evenLo debe ejecuLur dos senLencIur puru cumbIur Iu propIedud Texto de cudu uno de Ios
cuudros de LexLo, v Iuego Invocur uI méLodo IstublecerInIoqoe() deI cuudro de LexLo
txtLsourio.
Il Intorno Inteurudo de Ðesurrollo (IÐI)


Cuundo se InIcIu VIsuuI BusIc, se creu un provecLo nuevo con un IormuIurIo. EI ¡DE de VIsuuI
BusIc consLu de Ios sIguIenLes eIemenLos:
ßcrrc de Me3s
PresenLu Ios comundos que se usun puru Lrubujur con VIsuuI BusIc. Ademus de Ios menús
esLundur Archivo, Idición, Ver, Ventunu y Ayodu, conLIene oLros menús puru Lener
ucceso u IuncIones especiIIcus de progrumucIón, como Proyecto, Iormuto o Ðeporución.
ßcrrc de Herrcmie39cs
PermILe un ucceso dIrecLo (soIo un cIIc) u mucIus de Ius operucIones mus IrecuenLes uLIIIzudus
durunLe eI desurroIIo de upIIcucIones.
Cucdro de Herrcmie39cs
ConLIene Lodos Ios objeLos v conLroIes que se pueden uñudIr u Ios IormuIurIos puru creur
upIIcucIones.
Diseñcdor de Iormulcrios
¡uncIonu como unu venLunu en Iu que se puede personuIIzur eI dIseño de Iu InLerIuz de usuurIo
(venLunu) de unu upIIcucIón.
Explorcdor de Prouec9os
¡IsLu de Ios urcIIvos (IormuIurIos, móduIos, eLc.) deI provecLo ucLuuI. Un Proyecto es unu
coIeccIón de urcIIvos que uLIIIzu puru consLruIr unu upIIcucIón.
Ve39c3c de Propiedcdes
¡IsLu Ios vuIores de Ius propIedudes deI IormuIurIo o conLroI seIeccIonudo que pueden ser
modIIIcudos durunLe eI dIseño deI IormuIurIo o conLroI.
Ve39c3c de Códio
¡uncIonu como un edILor puru escrIbIr eI códIgo (senLencIus) de Iu upIIcucIón.
btención de Ayodu del $istemu
VIsuuI BusIc proporcIonu unu vurIedud de recursos puru uvudurIe u enconLrur Iu InIormucIón
que necesILe cuundo se encuenLre Lrubujundo denLro deI enLorno de desurroIIo.
Auudc e3 lí3ec
VIsuuI BusIc proporcIonu unu umpIIu uvudu en Iineu. EI urcIIvo de Avudu conLIene mucIo
códIgo de ejempIo que se puede copIur dIrecLumenLe u unu upIIcucIón.
¡u uvudu de VIsuuI BusIc es sensIbIe uI conLexLo. Puru empIeur Iu uvudu sensIbIe uI conLexLo en
Iu venLunu de códIgo, escrIbu Iu puIubru puru Iu cuuI deseu InIormucIón, v Iuego presIone I1.
Por ejempIo, sI deseu InIormucIón ucercu de Iu senLencIu pen, escrIbu pen v presIone ¡1.
Libros e3 Pc39cllc
Ademus de Iu uvudu sensIbIe uI conLexLo, eI CD-ROM de VIsuuI BusIc IncIuve unu versIón en
Iineu de Iu documenLucIón Impresu puru VIsuuI BusIc. Puru ucceder u Ios ¡Ibros en PunLuIIu,
Iugu cIIc en Libros en Puntullu denLro deI menú Ayodu de VIsuuI BusIc.
Lc Ve39c3c de Códio
¡u venLunu o edILor de códIgo de VIsuuI BusIc proporcIonu de muneru uuLomuLIcu InIormucIón
reIevunLe u medIdu que se Ingresu códIgo. Por ejempIo, sI se escrIbe eI nombre de un conLroI,
seguIdo de un punLo, Ius propIedudes v méLodos puru ese conLroI serun mosLrudos
uuLomuLIcumenLe en un cuudro de IIsLu. ¡uego se puede escoger Iu propIedud o méLodo deseudo
puru compIeLur Iu senLencIu.
Cuundo se Ingresu eI nombre de unu IuncIón en Iu venLunu de códIgo, VIsuuI BusIc
uuLomuLIcumenLe proporcIonu eI IormuLo o sInLuxIs de Iu IuncIón.
¿Cómo se uñuden controles ul Iormolurio?
Puru uñudIr conLroIes u un IormuIurIo Lenemos dos méLodos:
Me9odo :
TenIendo eI cuudro de HerrumIenLus o un ¡ormuIurIo vIsIbIe, Iugu dobIe cIIc en eI conLroI que
deseu uñudIr en eI Cucdro de Herrcmie39cs, Ios conLroIes se ubIcun en eI cenLro deI
IormuIurIo, uno encImu de oLro, Iuego Iuv que moverIos u Iu posIcIón deseudu denLro deI
IormuIurIo.
Me9odo z
1. Hugu cIIc sobre eI conLroI en eI Cuudro de HerrumIenLus.
z. UbIque eI punLero deI Mouse (unu cruz) sobre eI IormuIurIo en Iu esquInu superIor
IzquIerdu donde deseu coIocur eI conLroI.
¤. ReuIIce un cIIc sosLenIdo mIenLrus urrusLru eI punLero u Iu esquInu superIor derecIu
donde coIocuru eI conLroI.
q. SueILe eI boLón deI Mouse.
EsLos cuuLro pusos se repILen con cudu conLroI que deseu uñudIr uI IormuIurIo.
Terminolouiu de Visoul Busic
ConIorme Lrubuje con VIsuuI BusIc, necesILuru esLur IumIIIurIzudo con Ios sIguIenLes LérmInos:
Término ÐeIinición
TIempo de dIseño Es eI momenLo en eI que se consLruve Iu upIIcucIón.
TIempo de ejecucIón Es eI momenLo en eI cuuI ejecuLumos e InLerucLuumos con Iu upIIcucIón
como Io Iuriu eI usuurIo.
¡ormuIurIo Un IormuIurIo sIrve como unu venLunu que puede personuIIzur como Iu InLerIuz de
su upIIcucIón o como un cuudro de dIuIogo que usu puru obLener InIormucIón deI usuurIo. Un
IormuIurIo puede exIsLIr IndIvIduuImenLe o puede servIr como un documenLo denLro de unu
InLerIuz de documenLo múILIpIe (MD¡)
Término ÐeIinición
ConLroIes RepresenLucIón gruIIcu de objeLos LuIes como boLones, cuudros de IIsLu, cuudros de
edIcIón, eLc., con Ios que eI usuurIo InLerucLúu puru proporcIonur InIormucIón u Iu upIIcucIón.
ObjeLos Un LérmIno generuI usudo puru descrIbIr Lodos Ios IormuIurIos v conLroIes que Iormun
purLe de Iu upIIcucIón.
PropIedudes ¡os vuIores de un objeLo, LuIes como Lumuño, LiLuIo, coIor, eLc.
MéLodos ¡us uccIones que un objeLo puede reuIIzur sobre si mIsmo.
EvenLos Son uccIones reconocIdus por un IormuIurIo o conLroI. ¡os evenLos ocurren u medIdu
que eI usuurIo InLerucLúu con Ios objeLos de Iu upIIcucIón.
ProgrumucIón conLroIudu por evenLos Cuundo un progrumu es co39rolcdo por ete39os, usLed
escrIbe códIgo que se ejecuLu en respuesLu u evenLos Invocudos por eI usuurIo. DIIIere de Iu
prorcmcció3 procedurcl, en Iu cuuI eI progrumu comIenzu en Iu prImeru Iineu de códIgo v
sIgue un IIujo deIInIdo IIumundo procedImIenLos cuundo es necesurIo. ¡u progrumucIón
conLroIudu por evenLos es Iu esencIu de Ius InLerIuces gruIIcus de usuurIo; eI usuurIo uccIonu v eI
códIgo responde.
¿Qoé es on proyecto?
Cuundo desurroIIu unu upIIcucIón, VIsuuI BusIc creu un urcIIvo especIuI IIumudo Archivo de
Proyecto puru udmInIsLrur Lodos Ios demus urcIIvos de Iu upIIcucIón.
EI Archivo de Proyecto es sImpIemenLe unu IIsLu de Lodos Ios urcIIvos v objeLos usocIudos
con eI provecLo, usi como InIormucIón sobre Ius opcIones deI enLorno. EsLu InIormucIón se
ucLuuIIzu cudu vez que se guurdu eI provecLo. Todos Ios urcIIvos v objeLos LumbIén se pueden
compurLIr con oLros provecLos. Un provecLo esLu compuesLo por Ios sIguIenLes urcIIvos:
Tipo de urchivo Ixtensión Ðescripción
ProvecLo .vbp ReuIIzu eI seguImIenLo de Lodos Ios componenLes de Iu upIIcucIón.
¡ormuIurIo .Irm .Irx ¡ncIuve eI IormuIurIo, Ios objeLos sobre eI IormuIurIo v eI códIgo que se
ejecuLu cuundo ocurre un evenLo en eI IormuIurIo.
MóduIo esLundur .bus ConLIene procedImIenLos $ob v Ionction que pueden ser Invocudos por
cuuIquIer IormuIurIo u objeLo sobre eI IormuIurIo. (opcio3cl)
Tipo de urchivo Ixtensión Ðescripción
ConLroIes
PersonuIIzudos .ocx ConLroIes udIcIonuIes u Ios conLroIes esLundur proporcIonudos por
MIcrosoIL u oLrus empresus. (opcio3cl)
MóduIo de cIuse .cIs ConLIene Iu deIInIcIón de cIuse, méLodos v propIedudes de un nuevo LIpo de
objeLo. (opcio3cl)
Recursos .res ConLIene InIormucIón bInurIu usudu por Iu upIIcucIón. Son usudos generuImenLe
cuundo se creun progrumus puru múILIpIes Ienguujes.
(opcIonuI)
Cuundo Iu compIeLudo Lodos Ios urcIIvos deI provecLo puede converLIr eI provecLo en un
urcIIvo ejecuLubIe (.exe).
Noto: Co3 lcs edicio3es Pro[esio3cl u Emprescricl de Visucl ßcsic 9cmbie3 puede crecr o9ro
9ipo de crchitos ejecu9cbles, como crchitos .ocx u .dll.
Pusos puru creur onu uplicución
EI proceso de creucIón de unu upIIcucIón VIsuuI BusIc puede descomponer en unu serIe de sIeLe
pusos.
1. UsLed creu unu InLerIuz dIbujundo conLroIes v objeLos sobre un IormuIurIo. A IIn de Iucer
que su códIgo seu mus IucII de Ieer v depurur, debe Iuego usIgnur nombres u Ios objeLos
usundo convencIones de nombres esLundur.
z. Creur Iu InLerIuz de usuurIo
¡uego de uñudIr objeLos uI IormuIurIo, se esLubIece Ius propIedudes de Ios objeLos. Puede
esLubIecer vuIores InIcIuIes vu seu usundo Iu venLunu de propIedudes en LIempo de dIseño
o escrIbIendo códIgo puru modIIIcur Ius propIedudes en LIempo de ejecucIón.
¤. EsLubIecer Ius propIedudes de Ios objeLos de Iu InLerIuz
¡uego de esLubIecer Ius propIedudes InIcIuIes puru eI IormuIurIo v cudu objeLo, uñudu eI
códIgo que se ejecuLuru en respuesLu u Ios evenLos. ¡os evenLos ocurren cuundo dIIerenLes
uccIones ocurren sobre un conLroI u objeLo. Por ejempIo, cIIc es un evenLo que puede
ocurrIr puru un boLón de comundo.
q. EscrIbIr códIgo puru Ios evenLos
Cuundo creu eI provecLo, usegúrese de durIe un nombre usundo eI comundo Gourdur
Proyecto como deI menú Archivo. Guurde su provecLo IrecuenLemenLe conIorme
uñudu códIgo. AI guurdur un provecLo se guurdun cudu IormuIurIo v móduIo de códIgo en
eI provecLo.
=. Guurdur eI provecLo
ConIorme uñudu códIgo uI provecLo, puede usur eI comundo Iniciur en Iu Burru de
HerrumIenLus puru ejecuLur su upIIcucIón v ver su comporLumIenLo. TumbIén puede usur
Ius IerrumIenLus de depurucIón puru verIIIcur errores v modIIIcur códIgo.
6. Probur v depurur Iu upIIcucIón
AI compIeLur su provecLo, creur un urcIIvo ejecuLubIe usundo eI comundo Generur
Xxxxxxx.exe deI menú Archivo.
;. Creur un urcIIvo ejecuLubIe
8. Creur unu upIIcucIón de InsLuIucIón
DebIdo u que su urcIIvo ejecuLubIe depende de oLros urcIIvos, LuIes como eI urcIIvo en LIempo
de ejecucIón de VIsuuI BusIc (Vbrun=oo¤z.dII), uIgunos urcIIvos OCX v urcIIvos D¡¡
udIcIonuIes requerIdos por Iu upIIcucIón o por Ios conLroIes AcLIveX.
Convenciones puru los nombres de los objetos
¡os objeLos deben IIevur nombres con un preIIjo coIerenLe que IucIIILe Iu IdenLIIIcucIón deI LIpo
de objeLo. A conLInuucIón se oIrece unu IIsLu de convencIones recomendudus puru uIgunos de
Ios objeLos permILIdos poro VIsuuI BusIc.



PreIijos soueridos puru menós
¡us upIIcucIones sueIen usur mucIos conLroIes de menú, Io que Iuce úLII Lener un conjunLo
únIco de convencIones de nombres puru esLos conLroIes. ¡os preIIjos de conLroIes de menús se
deben exLender mus uIIu de Iu eLIqueLu InIcIuI "mnu", ugregundo un preIIjo udIcIonuI puru cudu
nIveI de unIdumIenLo, con eI LiLuIo deI menú IInuI en Iu úILImu posIcIón de cudu nombre. En Iu
LubIu sIguIenLe Iuv uIgunos ejempIos.
$ecoenciu del titolo del menó Nombre del controludor del menó
ArcIIvo AbrIr mnuArcIIvudorAbrIr
ArcIIvo EnvIur correo mnuArcIIvoEnvIurCorreo
$ecoenciu del titolo del menó Nombre del controludor del menó
ArcIIvo EnvIur Iux mnuArcIIvoEnvIur¡ux
¡ormuLo CurucLer mnu¡ormuLoCurucLer
Avudu ConLenIdo mnuAvuduConLenIdo
Cuundo se usu esLu convencIón de nombres, Lodos Ios mIembros de un grupo de menús
deLermInudo se muesLrun uno junLo u oLro en Iu venLunu PropIedudes de VIsuuI BusIc. Ademus,
Ios nombres deI conLroI de menú documenLun cIurumenLe Ios eIemenLos deI menú u Ios que
esLun udjunLos.
Iormolurios

EI IormuIurIo es eI prIncIpuI medIo de comunIcucIón enLre eI usuurIo v Iu upIIcucIón. ¡os
usuurIos InLerucLúun con Ios conLroIes sobre eI IormuIurIo puru IngresurIe duLos v obLener
resuILudos.
Propiedcdes
BuckCoIor CoIor de Iondo deI IormuIurIo.
BorderSLvIe EsLIIo deI borde deI IormuIurIo.
CupLIon TexLo en Iu burru de LiLuIo deI IormuIurIo.
ConLroIBox TrueJ¡uIse. DeLermInu sI LIene o no eI cuudro de conLroI.
EnubIed TrueJ¡uIse. DeLermInu sI esLu IubIIILudo puru responder u Ius uccIones deI usuurIo.
¡con ¡cono que se muesLru cuundo eI IormuIurIo esLu mInImIzudo.
¡eIL v Top UbIcucIón deI IormuIurIo.
MuxBuLLon TrueJ¡uIse. DeLermInu sI LIene o no eI boLón Mcximizcr.
MInBuLLon TrueJ¡uIse. DeLermInu sI LIene o no eI boLón Mi3imizcr.
Nume Nombre deI IormuIurIo.
WIndowSLuLe EsLudo InIcIuI deI IormuIurIo (normuI, muxImIzudo o mInImIzudo)
Ete39os
AcLIvuLe Ocurre cuundo eI IormuIurIo se convIerLe en Iu venLunu ucLIvu.
CIIck Ocurre cuundo Iuce cIIc sobre eI IormuIurIo.
DeucLIvuLe Ocurre cuundo eI IormuIurIo deju de ser Iu venLunu ucLIvu.
¡oud Ocurre cuundo se curgu un IormuIurIo.
UnIoud Ocurre cuundo un IormuIurIo esLu u punLo de descurgurse.
Me9odos
HIde OcuILu eI IormuIurIo.
ReIresI AcLuuIIzu eI conLenIdo deI IormuIurIo.
SeL¡ocus ¡e enLregu eI enIoque uI IormuIurIo.
SIow Huce vIsIbIe eI IormuIurIo.
Controles Búsicos

Con Ios conLroIes, Ios usuurIos pueden operur v obLener Ios resuILudos de unu upIIcucIón. Puede
uñudIr conLroIes u un IormuIurIo seIeccIonundo Iu IerrumIenLu udecuudu deI Coudro de
Herrumientus. EnLre Ios conLroIes mus comunes u uLIIIzur en unu upIIcucIón Lenemos:
ELIqueLu (¡ubeI), Cuudro de TexLo (TexLBox) v BoLón de Comundo (CommundBuLLon).
ConLroI ELIqueLu (¡ubeI)
Se uLIIIzu puru mosLrur LexLo que eI usuurIo no puede modIIIcur. GeneruImenLe puru IdenLIIIcur
oLros conLroIes en eI IormuIurIo o puru mosLrur InsLruccIones uI usuurIo.
Propiedcdes
AIIgnmenL AIIneucIón deI LexLo denLro deI conLroI.
AuLoSIze TrueJ¡uIse. DeLermInu sI eI Lumuño deI conLroI se ujusLu uuLomuLIcumenLe uI LexLo
que conLIene.
CupLIon TexLo que muesLru eI conLroI.
Nume Nombre deI conLroI.
¡onL EsLubIece Iu IuenLe, esLIIo v Lumuño puru eI LexLo deI conLroI.

ConLroI Cuudro de TexLo (TexLbox)
Se uLIIIzu puru que eI usuurIo Ie proporcIone duLos u Iu upIIcucIón o puru que Iu upIIcucIón Ie
devueIvu Iu InIormucIón uI usuurIo. EI LexLo que se muesLru en eI conLroI puede ser cumbIudo
por eI usuurIo.
Propiedcdes
EnubIed TrueJ¡uIse. EsLubIece un vuIor que deLermInu sI eI conLroI puede responder u evenLos
generudos por eI usuurIo.
¡onL EsLubIece Iu IuenLes, esLIIo v Lumuño puru eI LexLo deI conLroI.
¡ocked TrueJ¡uIse. DeLermInu sI es posIbIe modIIIcur eI LexLo en eI conLroI.
Mux¡engLI EsLubIece Iu IongILud muxImu permILIdu puru eI LexLo en eI conLroI.
MuILI¡Ine EsLubIece sI eI conLroI puede ucepLur múILIpIes Iineus de LexLo.
Nume Nombre deI conLroI.
PusswordCIur CurucLer uLIIIzudo puru ocuILur eI LexLo que reuImenLe conLIene eI conLroI.
TexL TexLo que reuImenLe conLIene v muesLru eI conLroI.
VIsIbIe EsLubIece sI eI conLroI seru vIsIbIe puru eI usuurIo.
Ete39os
CIunge Ocurre cuundo cumbIu eI LexLo que conLIene eI conLroI.
GoL¡ocus Ocurre cuundo eI conLroI recIbe eI enIoque.
KevDown Ocurre cuundo eI usuurIo presIonu unu LecIu mIenLrus eI conLroI LIene eI enIoque.
¡osL¡ocus Ocurre cuundo eI conLroI pIerde eI enIoque.
Me9odos
ReIresI AcLuuIIzu eI LexLo deI conLroI.
SeL¡ocus Mueve eI enIoque uI conLroI.
ConLroI BoLón de Comundo (CommundbuLLon)
PermILe que Iu upIIcucIón InIcIe, InLerrumpu o LermIne un proceso.
Propiedcdes
CunceI TrueJ¡uIse. EsLubIece sI eI boLón se comporLuru como eI boLón cunceIur en eI IormuIurIo
v se Invocuru su evenLo Click cudu vez que se presIone Iu LecIu I$C.
CupLIon EsLubIece eI LexLo que muesLru eI boLón.
DeIuuIL TrueJ¡uIse. EsLubIece sI eI boLón se comporLuru como eI boLón predeLermInudo en eI
IormuIurIo.
¡onL EsLubIece Iu IuenLe, esLIIo v Lumuño puru eI LexLo deI conLroI.
Nume Nombre deI boLón.
VIsIbIe TrueJ¡uIse. EsLubIece sI eI boLón seru vIsIbIe puru eI usuurIo.
Ete39os
CIIck Ocurre cuundo se Iuce cIIc sobre eI boLón.
Me9odos
SeL¡ocus Mueve eI enIoque uI boLón.
Istubleciendo Propiedudes
AI dIseñur Iu InLerIuse de usuurIo de unu upIIcucIón VIsuuI BusIc, se deben esLubIecer Iu
propIedudes puru Ios conLroIes (objeLos) creudos.
Es9cblecie3do Propiedcdes e3 Tiempo de Diseño
AIgunus propIedudes pueden ser esLubIecIdus en LIempo de dIseño. Puru esLubIecer esLus
propIedudes se empIeu Iu venLunu de propIedudes. Puru ucceder u Iu venLunu de propIedudes,
oprImu en boLón secundurIo deI ruLón sobre un objeLo, v Iuego Iugu cIIc en Propiedudes.
TumbIén se puede obLener eI mIsmo resuILudo seIeccIonudo eI objeLo v Iuego presIonundo IA.
SI seIeccIonu vurIos objeLos u Iu vez v uccede u Iu venLunu de propIedudes, sóIo se mosLrurun Ius
propIedudes que son comunes puru Lodos Ios conLroIes seIeccIonudos. CuuIquIer cumbIo que se
Iugu u unu propIedud seru upIIcudu u Lodos Ios conLroIes.
Es9cblecie3do Propiedcdes e3 Tiempo de Ejecució3
En LIempo de ejecucIón, se puede escrIbIr códIgo puru esLubIecer u obLener eI vuIor de unu
propIedud. ¡u sIguIenLe Iineu de códIgo esLubIece u negrILu Iu IuenLe de un cuudro de LexLo
IIumudo LxLDuLu.
LxLDuLu.¡onL.BoId = True ' EsLubIece eI LexLo u negrILu
EsLe códIgo esLubIece Iu propIedud Text deI cuudro de LexLo LxLDuLu
LxLDuLu.TexL = "HoIu mundo" 'EsLubIece eI vuIor deI LexLo
SI se omILe eI nombre de Iu propIedud, se esLubIece Iu propIedud predeLermInudu deI conLroI. ¡u
propIedud predeLermInudu de un cuudro de LexLo es Iu propIedud Text. ¡u propIedud
predeLermInudu de unu eLIqueLu es Iu propIedud Cuption. ¡us sIguIenLes Iineus de códIgo
esLubIecen Ius propIedudes predeLermInudus LexL v cupLIon de un cuudro de LexLo v de unu
eLIqueLu.
LxLDuLu = "Se esLubIece Iu propIedud TexL deI cuudro de LexLo"
IbIDuLu = "Se esLubIece Iu propIedud CupLIon de Iu eLIqueLu"
Db9e3ie3do Propiedcdes e3 Tiempo de Ejecució3
Puede empIeur eI sIguIenLe códIgo puru obLener eI vuIor de unu propIedud en LIempo de
ejecucIón.
DIm sNombre us SLrIng
sNombre = LxLNume.TexL
Procedimientos de Ivento
VIsuuI BusIc Invocu uuLomuLIcumenLe procedImIenLos de evenLo en respuesLu u uccIones deI
LecIudo, deI ruLón o deI sIsLemu. Por ejempIo, Ios boLones de comundo LIenen un procedImIenLo
de evenLo CIIck. EI códIgo que se escrIbu en eI procedImIenLo de evenLo CIIck es ejecuLudo
cuundo eI usuurIo Iugu cIIc en un boLón de comundo.
Puru ubrIr Iu venLunu de códIgo, Iugu dobIe cIIc en eI conLroI o IormuIurIo, Iugu cIIc en Iu orden
Códiuo deI menú Ver.
Cudu conLroI LIene un conjunLo IIjo de procedImIenLos de evenLo. ¡os procedImIenLos de evenLo
puru cudu conLroI son mosLrudos en un cuudro de IIsLu despegubIe en Iu venLunu de códIgo. EI
sIguIenLe códIgo muesLru eI procedImIenLo de evenLo CIIck puru un boLón de comundo IIumudo
cmdOK.
PrIvuLe Sub cmdOK_CIIck()
MsgBox "HoIu"
End Sub
rden de Tubolucion de los Controles
EI orden de tubolución es eI orden en que un usuurIo se mueve de un conLroI u oLro
puIsundo Iu LecIu Tub. Por omIsIón, eI orden de LubuIucIón es IguuI uI orden en que se Iun
coIocudo Ios conLroIes en eI IormuIurIo.
Puru cumbIur eI orden de LubuIucIón de Ios conLroIes de un IormuIurIo, esLubIezcu eI vuIor de Iu
propIedud TubIndex de cudu conLroI. EI vuIor de esLu propIedud vu desde o IusLu n-1, sIendo n
eI número de conLroIes que LIene eI IormuIurIo.
Dui9cr u3 co39rol del orde3 de 9cbulcció3
NormuImenLe, presIonundo Iu LecIu Tuben LIempo de ejecucIón pusumos de un conLroI u oLro en
eI orden de LubuIucIón esLubIecIdo. Podemos quILur un conLroI deI orden de LubuIucIón sI
esLubIecemos su propIedud Tub$top en Iulse. Un conLroI cuvu propIedud Tub$top se Iu
esLubIecIdo en Iulse sIgue munLenIendo su posIcIón en eI orden de LubuIucIón ucLuuI, uunque
eI conLroI es suILudo uI Ir de un conLroI u oLro con Iu LecIu Tub.
Noto: Los co39roles que 3o puede3 ob9e3er e3[oque, cl iucl que los co39roles descc9itcdos o
i3tisibles, 3o 9ie3e3 lc propiedcd %ob1ndex u 3o es9E3 i3cluidos e3 el orde3 de 9cbulcció3.
Cuc3do el usucrio presio3c Tcb, es9os co39roles so3 i3orcdos.
Teclu de Acceso Rupido u on Control
SI eI conLroI LIene Iu propIedud Cuption, se Ie puede usIgnur unu LecIu de ucceso rupIdo puru
seIeccIonur eI conLroI v de esLu muneru eI conLroI recIbIru eI enIoque cudu vez que se oprImu
ALT + TecludeAcceso. Puru especIIIcur Iu LecIu de ucceso rupIdo debe resuILur un curucLer de
Iu cudenu en Iu propIedud Cuption coIocundo deIunLe de esLe eI simboIo "&". Por ejempIo sI eI
vuIor de Iu propIedud Cuption es Iu cudenu Lsourio, v se deseu deIInIr Iu LecIu s como Iu de
ucceso rupIdo, deberu esLubIecer Iu propIedud Cuption de Iu sIguIenLe muneru: L&sourio. EI
LexLo deI conLroI se veru usi Lsourio.
AIgunos conLroIes, LuIes como eI conLroI Coudro de Texto, no LIene Iu propIedud Cuption.
Puru creur unu LecIu de ucceso puru esos conLroIes:
1. CoIoque un conLroI Itiqoetu cercu de oLro conLroI.
z. EsLubIezcu Iu propIedud Cuption deI conLroI Itiqoetu puru conLener Iu LecIu de ucceso
upropIudu.
¤. EsLubIezcu puru eI conLroI Itiqoetu un vuIor de orden de LubuIucIón menor en unu
unIdud que eI de oLro conLroI.
Cuundo puIse ALT + TecludeAcceso deI conLroI Itiqoetu, eI enIoque se moveru IucIu eI
oLro conLroI debIdo u que eI conLroI Itiqoetu no puede recIbIr eI enIoque.
Purte ±: Munejo de Iormolurios
Módolos de Iormolurio
Cudu IormuIurIo en su upIIcucIón LIene un móduIo de IormuIurIo usocIudo, esLos son guurdudos
con unu exLensIón de urcIIvo ¡RM v conLIenen:
O ¡os vuIores de Ius propIedudes puru eI IormuIurIo v sus conLroIes.
O DecIurucIón de vurIubIes en eI umbILo deI IormuIurIo.
O ProcedImIenLos de evenLo v procedImIenLos generuIes en eI umbILo deI IormuIurIo.
Noto: Lcs descripcio3es rE[iccs de u3 [ormulcrio u los co39roles sobre el [ormulcrio so3
clmcce3cdos e3 [ormc9o bi3crio e3 u3 crchito co3 ex9e3sió3 IRX.
Módolos Istúndur
¡os móduIos esLundur pueden conLener códIgo que es común u vurIos IormuIurIos en su
upIIcucIón. EsLe códIgo es por omIsIón púbIIco, Io cuuI sIgnIIIcu que IucIImenLe compurLIdo con
oLros móduIos de códIgo, LuIes como un móduIo de IormuIurIo. EsLos móduIos conLIenen
decIurucIones de procedImIenLos, LIpos v vurIubIes. No pueden uImucenur procedImIenLos de
evenLo por que no conLIenen objeLos.
Lu Ventunu de Códiuo
Códio es un LérmIno generuI puru Lodus Ius senLencIus VIsuuI BusIc que usLed escrIbe en unu
upIIcucIón: procedImIenLos de evenLo v procedImIenLos generuIes. EI códIgo en VIsuuI BusIc se
escrIbe en Iu venLunu de CódIgo. EI edILor de LexLo es soIo un edILor ASC¡¡ con coIores puru
dIIerencIur Ius puIubrus cIuves en eI códIgo que escrIbe.
¡u Ve39c3c de Códio se usu puru escrIbIr, mosLrur v edILur eI códIgo de su upIIcucIón. Puede
ubrIr unu venLunu de códIgo por cudu móduIo de su upIIcucIón, de modo que puede IucIImenLe
copIur v pegur enLre eIIos.


¡u 'entono de Código conLIene:
El Cucdro Lis9c de Dbje9os
MuesLru eI nombre deI objeLo seIeccIonudo. Hugu cIIc en Iu IIecIu u Iu derecIu deI cuudro
ObjeLo puru mosLrur unu IIsLu de Lodos Ios objeLos usocIudos con eI IormuIurIo.
El Cucdro Lis9c de Ete39os
MuesLru Lodos Ios evenLos reconocIdos puru eI IormuIurIo o conLroI mosLrudo en eI cuudro
ObjeLo. Cuundo seIeccIonumos un evenLo, en Iu venLunu de códIgo se muesLru eI procedImIenLo
de evenLo usocIudo con ese evenLo.
Lc ßcrrc de Ditisió3
Desde eI menú Ve39c3c puede ejecuLur eI comundo Ditidir puru dIvIdIr Iu venLunu de códIgo en
dos purLes, cudu unu de Ius cuuIes se despIuzu sepurudumenLe. Puede enLonces ver dIIerenLes
purLes de su códIgo uI mIsmo LIempo. ¡u InIormucIón que upurece en eI cuudro ObjeLo v
ProcedImIenLo se reIIere uI códIgo en Iu purLe que LIene eI enIoque. EI mIsmo comundo
uLIIIzudo puru dIvIdIr Iu venLunu puede uLIIIzurIo puru cerrur unu de sus purLes o LumbIén Io
puede Iucer urrusLrundo Iu burru de dIvIsIón IucIu Iu purLe superIor o InIerIor de Iu venLunu.
El ßo9ó3 Ver Procedimie39o
EsLubIece que en Iu venLunu de códIgo se edILe un procedImIenLo u Iu vez.
El ßo9ó3 Ver Módulo Comple9o
EsLubIece que en Iu venLunu de códIgo se Lengu ucceso u Lodos Ios procedImIenLos, sepurudos
por unu Iineu sepurudoru uno de oLro.
Iditundo Códiuo
Use Ius curucLerisLIcus de edIcIón de VIsuuI BusIc puru que su códIgo seu mus IucII de Ieer.
Sc3ríc
Use Iu sungriu puru dIIerencIur purLes de su códIgo, LuIes como esLrucLurus repeLILIvus v
condIcIonuIes. Puru upIIcur sungriu u unu seccIón de senLencIus de un códIgo use Iu LecIu Tub o
eI comundo Aplicur sunuriu deI menú Idición. Se Iormu sImIIur, $hiIt + Tub o eI comundo
Anolur sunuriu deI menú Idición quILuru unu sungriu u Ius Iineus seIeccIonudus. Veumos eI
sIguIenLe ejempIo:

CcrEc9er de Co39i3ucció3 de Lí3ec
EI curucLer subruvudo (_) es eI curucLer de conLInuucIón de Iineu, v se usu puru dIvIdIr unu
senLencIu en múILIpIes Iineus. EsLo Iuce que Iu senLencIu seu mus IucII de Ieer porque esLu
conLenIdu LoLuImenLe denLro de Iu venLunu de códIgo en Iugur de exLenderse mus uIIu de sus
IimILes. EI curucLer de conLInuucIón de Iineu se coIocu Iuego de un espucIo de Iu senLencIu, como
se muesLru en eI sIguIenLe ejempIo:
MsgBox "¡u cIuve Ingresudu no es vuIIdu", _
vbOKOnIv + vbExcIumuLIon, _
"Mensuje"
Come39crios
EI uñudIr documenLucIón v comenLurIos u su códIgo permILe comprender mejor Io que Iuce eI
códIgo. EsLo LumbIén uvudu u comprender eI códIgo sI necesILu voIver u revIsurIo en uIgunu
IecIu posLerIor. Un comenLurIo se InIcIu con eI curucLer upósLroIe ('), de modo que Lodo eI LexLo
que conLInúe u esLe curucLer seru Ignorudo en Iu ejecucIón de Iu upIIcucIón. Veumos eI sIguIenLe
ejempIo:

Coudro de Mensuje y de Intrudu
Unu de Ius Iormus mus sImpIes de obLener InIormucIón puru v desde eI usuurIo es uLIIIzundo Ius
IuncIones MuuBox e InpoBox respecLIvumenLe.
Iu3ció3 Msßox()
¡os cuudros de mensuje oIrecen un modo sImpIe v rupIdo de consuILur u Ios usuurIos por
InIormucIón sImpIe o puru permILIrIes Lomur decIsIones sobre eI cumIno que su progrumu debe
Lomur. Puede usur esLu IuncIón puru mosLrur dIIerenLes LIpos de mensuje v boLones con Ios
cuuIes eI usuurIo du unu respuesLu.


Iormuto
MsgBox( prompL |, buLLons| |, LILIe | |, IeIpIIIe, conLexL| )
E¡ IormuLo de Iu IuncIón MsgBox consLu de Ios sIguIenLes urgumenLos:
!orte Descripción
PrompL RequerIdo. ExpresIón de cudenu que represenLu eI mensuje en eI cuudro de dIuIogo. ¡u
IongILud muxImu de prompL es de uproxImudumenLe 1ozq de curucLeres, según eI uncIo de Ios
curucLeres uLIIIzudos. SI prompL consLu de mus de unu Iineu, puede sepururIos uLIIIzundo un
curucLer de reLorno de curro (CIr(1¤) ) o un curucLer de uvunce de Iineu (CIr(1o) ), o unu
combInucIón de curucLeres de reLorno de curro - uvunce de Iineu (CIr(1¤ v CIr(1o) ) enLre cudu
Iineu v Iu sIguIenLe.
BuLLons OpcIonuI. ExpresIón numérIcu que corresponde u Iu sumu de Ios vuIores que
especIIIcun eI número v eI LIpo de Ios boLones que se preLenden mosLrur, eI esLIIo de Icono que
se vu u uLIIIzur, Iu IdenLIdud deI boLón predeLermInudo v Iu moduIIdud deI cuudro de mensujes.
SI se omILe esLe urgumenLo, eI vuIor predeLermInudo puru buLLons es o.
TILIe OpcIonuI. ExpresIón de cudenu que se muesLru en Iu burru de LiLuIo deI cuudro de dIuIogo.
SI se omILe LILIe, en Iu burru de LiLuIo se coIocu eI nombre de Iu upIIcucIón.
HeIpIIIe OpcIonuI. ExpresIón de cudenu que IdenLIIIcu eI urcIIvo de Avudu que se uLIIIzu puru
proporcIonur uvudu InLerucLIvu en eI cuudro de dIuIogo. SI se especIIIcu IeIpIIIe, LumbIén se
debe especIIIcur conLexL.
ConLexL OpcIonuI. ExpresIón numérIcu que es IguuI uI número de conLexLo de Avudu usIgnudo
por eI uuLor uI Lemu de Avudu correspondIenLe. SI se especIIIcu conLexL, LumbIén se debe
especIIIcur IeIpIIIe.
Vulores
EI urgumenLo buLLons puede usumIr Ios sIguIenLes vuIores:


EI prImer grupo de vuIores (o u =) descrIbe eI número v eI LIpo de Ios boLones mosLrudos en eI
cuudro de dIuIogo; eI segundo grupo (16, ¤z, q8, 6q) descrIbe eI esLIIo deI Icono, eI Lercer grupo
(o, z=6, =1z, ;68) deLermInu eI boLón predeLermInudo v eI cuurLo grupo (o, qo¤6) deLermInu Iu
moduIIdud deI cuudro de mensujes. Cuundo se sumun números puru obLener eI vuIor IInuI deI
urgumenLo buLLons, se uLIIIzu soIumenLe un número de cudu grupo.
Noto: Es9cs co3s9c39es lcs especi[icc Visucl ßcsic. Por 9c39o, el 3ombre de lcs mismcs puede
u9ilizcrse e3 cuclquier lucr del códio e3 tez de sus tclores recles.
Vulores devoeltos

Noto: Si desec omi9ir cl3 crume39o, debe i3cluir el delimi9cdor de comc correspo3die39e
o u9ilizcr crume39os co3 3ombre.
Ijemplos

Iu3ció3 3pußox()

¡u IuncIón ¡npuLBox muesLru un mensuje en un cuudro de dIuIogo, esperu que eI usuurIo
escrIbu un LexLo o Iugu cIIc en un boLón v devueIve un LIpo SLrIng con eI conLenIdo deI cuudro
de LexLo.


Iormuto
¡npuLBox( prompL |, LILIe| |, deIuuIL| |, xpos| |,vpos| |, IeIpIIIe, conLexL| )
EI IormuLo de Iu IuncIón ¡npuBox consLu de Ios sIguIenLes urgumenLos con nombre:
!orte Descripción
PrompL RequerIdo. ExpresIón de cudenu que se muesLru como mensuje en eI cuudro de dIuIogo.
¡u IongILud muxImu de prompL es de uproxImudumenLe de 1ozq curucLeres, según eI uncIo de
Ios curucLeres uLIIIzudos. SI prompL consLu de mus de unu Iineu, puede sepururIos uLIIIzundo un
curucLer de reLorno de curro (CIr(1¤)), un curucLer de uvuncede Iineu (CIr(1o)) o unu
combInucIón de Ios curucLeres de reLorno de curro - uvunce de Iineu (CIr(1¤) v (CIr(1o)) enLre
cudu Iineu v Iu sIguIenLe.
TILIe OpcIonuI. ExpresIón de cudenu que se muesLru en Iu burru de LiLuIo deI cuudro de dIuIogo.
SI omILe LILIe, en Iu burru de LiLuIo se coIocu eI nombre de Iu upIIcucIón.
DeIuuIL OpcIonuI. ExpresIón de cudenu que se muesLru en eI cuudro de LexLo como respuesLu
predeLermInudu. SI omILe deIuuIL, se muesLru eI cuudro de LexLo vucio.
Xpos OpcIonuI. ExpresIón numérIcu que especIIIcu, Iu dIsLuncIu en senLIdo IorIzonLuI enLre eI
borde IzquIerdo deI cuudro de dIuIogo v eI borde IzquIerdo de Iu punLuIIu. SI se omILe xpos, eI
cuudro de dIuIogo se cenLru IorIzonLuImenLe.
Ypos OpcIonuI. ExpresIón numérIcu que especIIIcu, Iu dIsLuncIu en senLIdo IorIzonLuI enLre eI
borde IzquIerdo deI cuudro de dIuIogo v eI borde IzquIerdo de Iu punLuIIu. SI se omILe vpos, eI
cuudro de dIuIogo se coIocu uproxImudumenLe un LercIo de Iu uILuru de Iu punLuIIu, desde eI
borde superIor de Iu mIsmu.
HeIpIIIe OpcIonuI. ExpresIón de cudenu que IdenLIIIcu eI urcIIvo de Avudu que se uLIIIzuru puru
proporcIonur uvudu InLerucLIvu puru eI cuudro de dIuIogo. SI se especIIIcu IeIpIIIe, LumbIén
deberu especIIIcur conLexL.
ConLexL OpcIonuI. ExpresIón numérIcu que es eI número de conLexLo de Avudu usIgnudo por eI
uuLor uI Lemu de Avudu correspondIenLe. SI se especIIIcu conLexL, LumbIén deberu especIIIcurse
IeIpIIIe.
Comenturios
SI eI usuurIo Iuce cIIc en Cuncelur, Iu IuncIón devueIve unu cudenu de curucLeres de IongILud
cero ("").
Noto: Si desec omi9ir clu3os crume39os, debe i3cluir el delimi9cdor de comc
correspo3die39e o u9ilizcr crume39os co3 3ombre.
Constuntes PredeIinidus
VIsuuI BusIc reconoce cIerLu cunLIdud de consLunLes predeIInIdus que pueden se usudus en
cuuIquIer purLe de su códIgo en Iugur de vuIores numérIcos. Puede Iucer que su códIgo seu mus
IucII de Ieer v escrIbIr medIunLe eI uso de esLus consLunLes. Ademus, Ios vuIores de esLus
consLunLes pueden cumbIur en versIones posLerIores de VIsuuI BusIc, su uso permILIru que su
códIgo seu compuLIbIe. Por ejempIo, Iu propIedud Window$tute de un IormuIurIo puede
ucepLur Ius sIguIenLes consLunLes:

Por ejempIo, puru esLubIecer eI esLudo deI IormuIurIo IrmIntrudu en muxImIzudo, Iu
senLencIu seriu:
IrmEnLrudu.WIndowSLuLe = vbMuxImIzed
Munejo de Iormolurios
NormuImenLe Iu InLeIuz de unu upIIcucIón esLu compuesLu por vurIos IormuIurIos. Cuundo
VIsuuI BusIc InIcIu Iu upIIcucIón, uuLomuLIcumenLe se muesLru eI IormuIurIo de urrunque,
mIenLrus que Ios oLros IormuIurIos deben ser mosLrudos v ocuILudos u Lruvés de códIgo. EI
méLodo o IuncIón usudo depende de Io que deseumos Iucer.

Me9odo Shou
MuesLru un IormuIurIo. SI eI IormuIurIo no esLu curgudo uI momenLo de ejecuLur eI méLodo
SIow, VIsuuI BusIc Io curguru uuLomuLIcumenLe.
Iormuto
NombreDeI¡ormuIurIo.SIow
Ijemplo
¡rmEnLrudu.SIow
Se39e3cic Locd
Curgu un IormuIurIo u Iu memorIu, pero no Io muesLru.
Iormuto
¡oud NombreDeI¡ormuIurIo
Ijemplo
¡oud ¡rmEnLrudu
Ete39o Locd
EI evenLo Loud ocurre cuundo eI IormuIurIo es curgudo en Iu memorIu. EsLo sucede cuundo se
usu Iu senLencIu Loud, o cuundo se Invocu eI méLodo $how v eI IormuIurIo uún no esLu curgudo
en memorIu. NormuImenLe, esLe evenLo se uLIIIzu puru esLubIecer uIgunus propIedudes deI
IormuIurIo, Ios conLroIes que se encuenLrun en éI, o vurIubIes u nIveI deI IormuIurIo.
Ijemplos:

Me9odo Hide
OcuILu un IormuIurIo, pero no Io descurgu de memorIu.
Iormuto
NombreDeI¡ormuIurIo.HIde
Ijemplo:
Irm¡ngreso.HIde
Se39e3cic U3locd
Descurgu un IormuIurIo de memorIu
Iormuto
UnIoud NombreDeI¡ormuIurIo
Comenturios
¡u descurgu de un IormuIurIo puede ser necesurIo o convenIenLe en uqueIIos cusos en Ios que Iu
memorIu uLIIIzudu se necesILe puru uIgunu oLru Lureu o cuundo seu necesurIo resLubIecer Ius
propIedudes u sus vuIores orIgInuIes.
AnLes de descurgur un IormuIurIo se ejecuLu eI evenLo Lnloud (orm_UnloodJ. SI esLubIece
eI urgumenLo Cuncelur u Troe en esLe evenLo, no se descurguru eI IormuIurIo.
$ouerenciu
Use Iu puIubru Me puru reIerIrse uI IormuIurIo ucLuuI.
Ijemplo
' Descurgu eI IormuIurIo ucLuuI
PrIvuLe Sub cmdCerrur-CIIck ( )
UnIoud Me
End Sub
Ete39o U3locd
Ocurre cuundo un IormuIurIo esLu u punLo de descurgurse. EsLe evenLo se desencudenu porque
un usuurIo cIerru eI IormuIurIo medIunLe eI comundo Cerrur deI menú Control o unu
senLencIu Lnloud.
EI purumeLro Cuncelur, es un enLero que deLermInu sI eI IormuIurIo es descurgudo. SI
Cuncelur es o, eI IormuIurIo se descurgu. EsLubIecer Cuncelur u cuuIquIer vuIor dIsLInLo de
cero ImpIde que eI IormuIurIo seu descurgudo.
Ijemplo

Iormolurios Modules y No Modules
Un IormuIurIo que se ubre como odol, no permILe que eI usuurIo InLerucLúe con oLros
IormuIurIos de Iu mIsmu upIIcucIón IusLu que no seu cerrudo.
Un IormuIurIo que se ubre como No odol, permILe uI usuurIo cumbIur u oLros IormuIurIos de
Iu mIsmu upIIcucIón sIn que Ios prImeros seun cerrudos.
EI urgumenLo Estilo deI méLodo Shou deLermInu sI eI IormuIurIo se ubre como odol o No
odol.
Ijemplos

Iinulizución de onu Aplicución
Se puede IInuIIzur Iu ejecucIón de Iu upIIcucIón descurgundo eI úILImo IormuIurIo de Iu
upIIcucIón o usundo Iu senLencIu End. ¡u senLencIu End LermInu Iu ejecucIón de Iu upIIcucIón v
descurgu Lodos Ios IormuIurIos. Cuundo IInuIIzu su upIIcucIón con Iu senLencIu Ind no se
desencudenu nIngún evenLo de Ios IormuIurIos.
Ijemplos

Il Iditor de menós
EsLu IerrumIenLu permILe creur menús personuIIzudos puru Iu upIIcucIón v deIInIr sus
propIedudes. Puru Ingresur, esLundo en LIempo de dIseño, Iugu cIIc en eI menú Herrumientus
v Iuego en Iu orden Iditor de Menós o en eI boLón equIvuIenLe de Iu burru de IerrumIenLus
esLundur.

Noto: Pcrc poder i3rescr el edi9or de me3s 3o debe e3co39rcrse e3 lc te39c3c de códio.
Dpcio3es del cucdro de diEloo



Añudiendo Controles Adicionules ul Coudro de Herrumientus
EI Cuudro de HerrumIenLus conLIene Ios conLroIes InLrinsecos o esLundur de VIsuuI BusIc. Es
posIbIe umpIIur eI cuudro de IerrumIenLus uñudIendo conLroIes AcLIveX. ¡u edIcIón proIesIonuI
de VIsuuI BusIc proporcIonu conLroIes AcLIveX udIcIonuIes. TumbIén es posIbIe comprur
conLroIes AcLIveX u Lercerus purLes.
Puru uñudIr un conLroI AcLIveX uI cuudro de IerrumIenLus Iugu Io sIguIenLe:
1. En eI menú Proyecto, Iugu cIIc en Componentes. VIsuuI BusIc mosLruru eI cuudro de
dIuIogo Componentes.
z. En Iu IIcIu Controles, Iugu cIIc en eI conLroI que deseu IncIuIr, v Iuego Iugu cIIc en
Aceptur. VIsuuI BusIc uñudIru eI conLroI uI cuudro de IerrumIenLus.
El co39rol Toolßcr
Un conLroI Toolbur conLIene unu coIeccIón de objeLos Botton uLIIIzudos puru creur unu burru
de IerrumIenLus usocIudu u unu upIIcucIón.
Comenturios
NormuImenLe, unu burru de IerrumIenLus conLIene boLones que corresponden u eIemenLos de
menú de unu upIIcucIón, proporcIonundo unu InLerIuz gruIIcu uI usuurIo que Ie permILe Lener
ucceso u Ius IuncIones v comundos empIeudos con mus IrecuencIu en esu upIIcucIón.
EI conLroI Toolbur Ie permILe creur burrus de IerrumIenLus ugregundo objeLos Botton u unu
coIeccIón Bottons; cudu objeLo BuLLon puede Lener LexLo opcIonuI o unu Imugen,
proporcIonudos por un conLroI ImuueList usocIudo. Puede mosLrur unu Imugen en un boLón
con Iu propIedud Imuue o mosLrur LexLo con Iu propIedud Cuption, o umbos, puru cudu objeLo
Botton. En LIempo de dIseño puede ugregur objeLos Botton uI conLroI uLIIIzundo Iu Púuinu
de propiedudes deI conLroI TooIbur. En LIempo de ejecucIón, puede ugregur o quILur boLones
de Iu coIeccIón Bottons medIunLe Ios méLodos Add v Remove.
Puru progrumur eI conLroI Toolbur, ugregue códIgo uI evenLo BottonClick puru que respondu
uI boLón seIeccIonudo. TumbIén puede deLermInur eI comporLumIenLo v Iu upurIencIu de cudu
objeLo Botton medIunLe Iu propIedud $tyle. Por ejempIo, sI u cuuLro boLones se Ies usIgnu eI
esLIIo BottonGroop, sóIo se podru presIonur uno de eIIos v uI menos uno esLuru sIempre
presIonudo.
¡u IucIIIdud de uso se mejoru consIderubIemenLe progrumundo descrIpcIones ToolTipText de
cudu objeLo Botton. Puru mosLrur InIormucIón sobre IerrumIenLus, Iu propIedud $howTips
debe esLubIecerse u True.
El Co39rol mceLis9
Un conLroI ImuueList conLIene unu coIeccIón de objeLos ListImuue, u cudu uno de Ios cuuIes
se puede Iucer reIerencIu medIunLe su indIce o su cIuve. EI conLroI ImuueList no esLu
concebIdo puru uLIIIzurIo en soIILurIo, sIno como punLo de uImucenumIenLo cenLruI puru
proporcIonur cómodumenLe Imugenes u oLros conLroIes.
Comenturios
Puede usur eI conLroI ImuueList con cuuIquIer conLroI que usIgne un objeLo Pictore u unu
propIedud Pictore.
Es posIbIe ugregur Imugenes de dIIerenLes Lumuños uI conLroI ImuueList, pero Lodus se
ujusLun uI mIsmo Lumuño. EI Lumuño de Ios objeLos de ListImuue esLu deLermInudo por uno de
Ios sIguIenLes vuIores:
O EI vuIor de Ius propIedudes ImuueWidth v ImuueHeiuht unLes de ugregur uIgunu Imugen.
O ¡us dImensIones de Iu prImeru Imugen ugregudu.
No Iuv nIngunu IImILucIón en cuunLo uI Lumuño de Iu Imugen, pero eI número LoLuI de Imugenes
que se puede curgur esLu IImILudo por Iu cunLIdud de memorIu dIsponIbIe.
DurunLe eI dIseño deI progrumu puede ugregur Imugenes medIunLe Iu IIcIu Generul deI cuudro
de dIuIogo Propiedudes deI conLroI ImuueList. En LIempo de ejecucIón puede ugregur
Imugenes medIunLe eI méLodo Add puru Iu coIeccIón ListImuues.
Noto: Los co39roles %oolbor e 1mogeList [ormc3 pcr9e del rupo de co39roles Ac9iteX
cdicio3cles Microso[9 Wi3dous Commo3 Co39rols =.o (crchito CDMCTL(z.DCX). Pcrc
uscrlos e3 su cpliccció3 debe crecr el crchito CDMCTL(z.DCX cl prouec9o. Cuc3do
dis9ribuuc su cpliccció3, i3s9cle el crchito CDMCTL(z.DCX e3 lc ccrpe9c Sus9em o Sus9em(z
(e3 plc9c[ormcs co3 Wi3dous NT) de Microso[9 Wi3dous del usucrio.
¡nLerIuz de MúILIpIes DocumenLos (MD¡ - MuILIpIe DocumenL ¡nLerIuse)
El Dbje9o MDIorm
Un IormuIurIo MD¡ es unu venLunu que ucLúu como Iondo de unu upIIcucIón v es eI conLenedor
de IormuIurIos que LIenen su propIedud MD¡CIIId esLubIecIdu u True. Puru creur un objeLo
MD¡¡orm, eIIju Aureuur Iormolurio MÐI en eI menú Proyecto, Iuego de ugregurIo Lengu
en cuenLu Io sIguIenLe:
O Unu upIIcucIón sóIo puede Lener un objeLo MD¡¡orm, pero vurIos IormuIurIos secundurIos
MD¡.
O SI un IormuIurIo secundurIo MD¡ LIene menús, Iu burru de menús deI IormuIurIo secundurIo
reempIuzuru uuLomuLIcumenLe u Iu burru de menús deI objeLo MD¡¡orm cuundo eI
IormuIurIo secundurIo MD¡ esLé ucLIvo.
O Un IormuIurIo secundurIo MD¡ mInImIzudo se mosLruru como un Icono en eI MD¡¡orm.
O Un objeLo MD¡¡orm sóIo puede conLener conLroIes Menu v PIcLureBox, v conLroIes
personuIIzudos que Lengun unu propIedud AIIgn. Puru coIocur oLros conLroIes en un
MD¡¡orm, puede dIbujur un cuudro de Imugen en eI IormuIurIo v después dIbujur oLros
conLroIes denLro deI cuudro de Imugen. Puede uLIIIzur eI méLodo PrInL puru mosLrur LexLo en
un cuudro de Imugen de un MD¡¡orm, pero no puede usur esLe méLodo puru mosLrur LexLo
en eI MD¡¡orm propIumenLe dIcIo.
O Un objeLo MD¡¡orm no puede ser moduI.
O ¡os IormuIurIos secundurIos MD¡ se dIseñun de Iormu IndependIenLe deI MD¡¡orm, pero
sIempre esLun conLenIdos en eI MD¡¡orm en LIempo de ejecucIón.
Iormulcrio secu3dcrio MD
Un IormuIurIo conLenIdo denLro de un IormuIurIo MD¡ en unu upIIcucIón con InLerIuz de
múILIpIes documenLos (MD¡). Puru creur un IormuIurIo secundurIo, esLubIezcu su propIedud
MD¡CIIId u True.
Propiedcd MDChild
DevueIve o esLubIece un vuIor que IndIcu sI un IormuIurIo debe mosLrurse como IormuIurIo
secundurIo MD¡ denLro de un IormuIurIo MD¡. Es de sóIo IecLuru en LIempo de ejecucIón. ¡os
vuIores udmILIdos puru Iu propIedud MD¡CIIId son:
Vulor Ðescripción
True EI IormuIurIo es MD¡ secundurIo v se mosLruru denLro deI IormuIurIo MD¡ prImurIo.
¡uIse (PredeLermInudo) EI IormuIurIo no es MD¡ secundurIo.
Comenturios
ULIIIce esLu propIedud uI creur unu upIIcucIón con InLerIuz de múILIpIes documenLos (MD¡). En
LIempo de ejecucIón, Ios IormuIurIos que Lengun esLubIecIdu u True esLu propIedud se
mosLrurun denLro de un IormuIurIo MD¡. ¡os IormuIurIos MD¡ secundurIos pueden
muxImIzurse, mInImIzurse v despIuzurse, sIempre denLro deI IormuIurIo MD¡ prImurIo. Cuundo
Lrubuje con IormuIurIos MD¡ secundurIos, Lengu en cuenLu Io sIguIenLe:
O En LIempo de ejecucIón, cuundo un IormuIurIo MD¡ secundurIo se muxImIzu, su LiLuIo se
combInu con eI deI IormuIurIo MD¡ prImurIo.
O En LIempo de dIseño, Ios IormuIurIos MD¡ secundurIos se muesLrun de Iu mIsmu Iormu que
eI resLo v sóIo se mosLrurun denLro deI IormuIurIo prImurIo en LIempo de ejecucIón. EI Icono
de un IormuIurIo MD¡ secundurIo en Iu venLunu ProvecLo es dIsLInLo de Ios Iconos de oLros
LIpos de IormuIurIos.
O ¡os IormuIurIos MD¡ secundurIos no pueden ser moduIes.
O EI enLorno operuLIvo MIcrosoIL WIndows conLroIu eI Lumuño v Iu posIcIón InIcIuIes de Ios
IormuIurIos MD¡ secundurIos, u menos que Ios esLubIezcu especiIIcumenLe en eI
procedImIenLo de evenLo ¡oud.
O SI se Iuce reIerencIu u un IormuIurIo MD¡ secundurIo unLes de curgur eI IormuIurIo MD¡
prImurIo, ésLe se curguru uuLomuLIcumenLe. SIn emburgo, sI se Iuce reIerencIu uI IormuIurIo
MD¡ prImurIo unLes de curgur un IormuIurIo MD¡ secundurIo, eI IormuIurIo MD¡ secundurIo
no se curguru.
Purte ¿: Tipos Ðe Ðutos, Constuntes
y Vuriubles
Tipos de Ðutos
Un LIpo de duLo deLermInu Iu nuLuruIezu deI domInIo de vuIores que puede Lomur unu vurIubIe,
Ius operucIones en que puede purLIcIpur v eI espucIo de memorIu que necesILu. ¡u LubIu
sIguIenLe muesLru Ios LIpos de duLos, IncIuvendo eI Lumuño de uImucenumIenLo v eI InLervuIo.
Tipo de Dato Tamaño de
AImacenamiento
Rango
Byte 1 byte 0 a 255
Boolean 2 bytes True o False
Ìnteger 2 bytes -32.768 a 32.767
Long
(entero largo)
4 bytes -2.147.483.648 a 2.147.483.647
Single
(coma flotante/
4 bytes -3,402823E38 a -1,401298E-45 para valores negativos;
1,401298E-45 a 3,402823E38 para valores positivos
precisión simple)
Double
(coma flotante/
precisión doble)
8 bytes -1,79769313486232E308 a -4,94065645841247E-324 para
valores negativos; 4,94065645841247E-324 a
1,79769313486232E308 para valores positivos
Currency
(entero a escala)
8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807
Decimal 14 bytes +/-
79.228.162.514.264.337.593.543.950.335 sin punto decimal;
+/-
7,9228162514264337593543950335 con 28 posiciones a la
derecha del signo decimal; el número más pequeño distinto de
cero es
+/-
0,000000000000000000000000001
Date 8 bytes 1 de enero de 100 a 31 de Diciembre de 9999
Object 4 bytes Cualquier referencia a tipo Object
String
(longitud variable)
10 bytes +
longitud de la
cadena
Desde 0 a 2.000 millones
String
(longitud fija)
Longitud de la
cadena
Desde 1 a 65.400 aproximadamente
Variant
(con números)
16 bytes Cualquier valor numérico hasta el intervalo de un tipo Double
Variant
(con caracteres)
22 bytes +
longitud de la
cadena
El mismo intervalo para un tipo String de longitud variable.
Definido por el
usuario
(utilizando Type)
Número requerido por
los elementos
El intervalo de cada elemento es el mismo que el intervalo de su
tipo de datos
Noto: Lcs mc9rices de cuclquier 9ipo de dc9os requiere3 zo bu9es de memoric mEs cuc9ro
bu9es pcrc ccdc dime3sió3 de mc9riz, mEs el 3mero de bu9es que ocupc3 los propios dc9os.
Por ejemplo, los dc9os de u3c mc9riz u3idime3sio3cl que co3s9c3 de cuc9ro eleme39os de
dc9os 9ipo 1nteger de dos bu9es ccdc u3o, ocupc3 ocho bu9es. Los ocho bu9es que requiere3
los dc9os mEs los za bu9es 3ecescrios pcrc lc mc9riz sumc3 u3 requisi9o 9o9cl de memoric de
(z bu9es pcrc dichc mc9riz. U3 9ipo Vcric39 que co39ie3e u3c mc9riz requiere :z bu9es mEs
que lc mc9riz por sí solc.
Co3ter9ir 9ipos de dc9os
VIsuuI BusIc proporcIonu vurIus IuncIones de conversIón que puede uLIIIzur puru converLIr
vuIores de LIpos de duLos especiIIcos. Por ejempIo, puru converLIr un vuIor u Corrency, uLIIIce
Iu IuncIón Ccor:
PugoPorSemunu = Ccur (Iorus ¯ PugoPorHoru)
¡u sIguIenLe LubIu muesLru Ius IuncIones de conversIón:

Noto: Los tclores que se pcsc3 c u3c [u3ció3 de co3tersió3 debe3 ser tElidos pcrc el 9ipo de
dc9o de des9i3o o se producirE u3 error. Por ejemplo, si i39e39c co3ter9ir u3 9ipo Long e3 u3
1nteger, el 9ipo de Long debe de es9cr e3 el i39ertclo tElido del 9ipo de dc9o 1nteger.
Vuriubles
¡us vurIubIes se uLIIIzun puru uImucenur vuIores LemporuImenLe durunLe Iu ejecucIón de unu
upIIcucIón. ¡us vurIubIes LIenen un nombre (Iu puIubru que uLIIIzu puru reIerIrse uI vuIor que
conLIene Iu vurIubIe) v un LIpo de duLo (que deLermInu Iu cIuse de duLo que Iu vurIubIe puede
uImucenur).
Almcce3cmie39o u recupercció3 de dc9os e3 tcricbles
ULIIIce unu senLencIu de usIgnucIón puru reuIIzur cuIcuIos v usIgnur eI resuILudo u unu vurIubIe:
MunzunuVendIdus = 1o ' Se pusu eI vuIor 1o u Iu vurIubIe
MunzunusVendIdus = MunzunusVendIdus + 1
Observe que eI sIgno IguuI deI ejempIo es un operudor de usIgnucIón, no un operudor de
IguuIdud; eI vuIor se usIgnu u Iu vurIubIe MunzunusVendidus.
Declcrcció3 de Vcricbles
DecIurur unu vurIubIe es decIrIe uI progrumu uIgo de unLemuno. Se decIuru unu vurIubIe
medIunLe Iu InsLruccIón Ðim, proporcIonundo un nombre u Iu vurIubIe, según Iu sIguIenLe
sInLuxIs:
Ðim nombre-vurIubIe |As LIpo|
¡us vurIubIes que se decIurun en un procedImIenLo medIunLe Iu senLencIu Ðim sóIo exIsLen
mIenLrus se ejecuLu eI procedImIenLo. Cuundo LermInu eI procedImIenLo, desupurece eI vuIor de
Iu vurIubIe. Ademus, eI vuIor de unu vurIubIe de un procedImIenLo es locol u dIcIo
procedImIenLo; es decIr, no puede Lener ucceso u unu vurIubIe de un procedImIenLo desde oLro
procedImIenLo. EsLus curucLerisLIcus Ie permILen uLIIIzur Ios mIsmos nombres de vurIubIes en
dIsLInLos procedImIenLos sIn preocupurse por posIbIes conIIIcLos o modIIIcucIones uccIdenLuIes.
EI nombre de unu vurIubIe debe cumpIIr con Ios sIguIenLes requIsILos:
O Debe comenzur con unu IeLru.
O No puede IncIuIr un punLo o un curucLer de decIurucIón de LIpo ($,&,!,%,#,O).
O No debe exceder de z== curucLeres.
O Debe ser únIcu en eI mIsmo uIcunce, que es eI InLervuIo desde eI que se puede Iucer
reIerencIu u Iu vurIubIe: un procedImIenLo, IormuIurIo, eLc.
¡u cIuusuIu opcIonuI As LIpo de Iu senLencIu Ðim Ie permILe deIInIr eI LIpo de duLo o de objeLo
de Iu vurIubIe que vu u decIurur. ¡os LIpos de duLos deIInen eI LIpo de InIormucIón que uImucenu
Iu vurIubIe. AIgunos ejempIos de LIpos de duLos son $trinu, Inteuer v Corrency. ¡us
vurIubIes LumbIén pueden conLener objeLos de VIsuuI BusIc u oLrus upIIcucIones. AIgunos
ejempIos de LIpos de objeLo de VIsuuI BusIc, o cIuses, son ObjecL, ¡orm1 v TexLBox.
Huv oLrus Iormus de decIurur vurIubIes:
O DecIurur unu vurIubIe en Iu seccIón DecIurucIones de un móduIo de IormuIurIo, esLundur o
de cIuse, en vez de un procedImIenLo, Iuce que Iu vurIubIe esLé dIsponIbIe puru Lodos Ios
procedImIenLos deI móduIo.
O DecIurur unu vurIubIe medIunLe Iu puIubru cIuve Poblic Iuce que esLé uccesIbIe puru Lodu Iu
upIIcucIón.
O DecIurur unu vurIubIe IocuI medIunLe Iu puIubru cIuve $tutic conservu su vuIor uunque
LermIne eI procedImIenLo.
Declcrcció3 mplíci9c
No LIene por qué decIurur unu vurIubIe unLes de uLIIIzurIu. Por ejempIo, podriu escrIbIr unu
IuncIón donde no IIcIeru IuILu decIurur TempVul unLes de uLIIIzurIu:

VIsuuI BusIc creu uuLomuLIcumenLe unu vurIubIe con ese nombre, que puede uLIIIzur como sI Iu
IubIeru decIurudo expIicILumenLe. Aunque es cómodo, puede provocur errores suLIIes en eI
códIgo sI se equIvocu de nombre de vurIubIe. Por ejempIo, supongu que Iu escrILo esLu IuncIón:

A prImeru vIsLu, purece IguuI. Pero como se Iu escrILo erróneumenLe Iu vurIubIe TempVul en Iu
Lerceru Iineu, Iu IuncIón devoIveru sIempre cero. Cuundo VIsuuI BusIc encuenLru un nombre
nuevo, no puede uverIguur sI reuImenLe deseu decIurur unu vurIubIe nuevu o sImpIemenLe Iu
escrILo de Iormu erróneu unu vurIubIe exIsLenLe, por Io que creu unu vurIubIe nuevu con ese
nombre.
Declcrcció3 Explíci9c
Puru evILur probIemus uI equIvocurse de nombre en Ius vurIubIes, puede conIIgurur VIsuuI BusIc
puru que Ie uvIse sIempre que encuenLre un nombre que no se Iuvu decIurudo expIicILumenLe
como unu vurIubIe.
Puru decIurur vurIubIes de Iormu expIicILu:
O ¡ncIuvu esLu senLencIu en Iu seccIón Declcrccio3es Ge3ercles deI móduIo de cIuse, de
IormuIurIo o esLundur:
OpLIon ExpIIcIL
- o bIen -
En eI menú Herrumientus, eIIju pciones, Iugu cIIc en Iu IIcIu Iditor v ucLIve Iu opcIón
Ðeclurución de vuriubles reqoeridu. EsLo InserLu uuLomuLIcumenLe Iu senLencIu ption
Ixplicit en Ios móduIos nuevos, pero no en Ios vu creudos, por Io que Lendru que ugregur
munuuImenLe ption Ixplicit u Ios móduIos exIsLenLes en eI provecLo.
SI IubIeru LenIdo eIecLo dIcIu InsLruccIón en eI móduIo de IormuIurIo o móduIo esLundur que
conLIene Iu IuncIón Ruiz, VIsuuI BusIc Iubriu reconocIdo TempVuI v TemVuI como vurIubIes no
decIurudus v Iubriu generudo errores puru umbus. Deberiu, por LunLo, decIuru expIicILumenLe
TempVuI:

Alcc3ce de lcs Vcricbles
EI uIcunce de unu vurIubIe deIIne en qué purLes deI códIgo son reconocIdus. Cuundo decIuru unu
vurIubIe en un procedImIenLo, sóIo eI códIgo de dIcIo procedImIenLo puede Lener ucceso o
modIIIcur eI vuIor de Iu vurIubIe; LIene un uIcunce locol uI procedImIenLo. A veces, sIn emburgo,
se necesILu uLIIIzur unu vurIubIe con un uIcunce mus generuI, como uqueIIu cuvo vuIor esLu
dIsponIbIe puru Lodos Ios procedImIenLos deI mIsmo móduIo o IncIuso puru Lodos Ios
procedImIenLos de Lodu Iu upIIcucIón. VIsuuI BusIc Ie permILe especIIIcur eI uIcunce de unu
vurIubIe cuundo Iu decIuru.
Istublecido el ulcunce de lus vuriubles
DependIendo de cómo se decIuru, unu vurIubIe LIene como uIcunce un procedImIenLo (IocuI) o
un móduIo.

Vcricbles u9ilizcdcs e3 u3 procedimie39o
¡us vurIubIes uI nIveI de procedImIenLo sóIo se reconocen en eI procedImIenLo en eI que se Iun
decIurudo. Se Ius conoce LumbIén como vurIubIes IocuIes. Se decIurun medIunLe Ius puIubrus
cIuve Ðim o $tutic. Por ejempIo:

¡os vuIores de vurIubIes IocuIes decIurudus con $tutic exIsLen mIenLrus se ejecuLu Iu upIIcucIón,
mIenLrus que Ius vurIubIes decIurudus con Ðim sóIo exIsLen mIenLrus se ejecuLu eI
procedImIenLo.
Vcricbles u9ilizcdcs e3 u3 módulo
De Iormu predeLermInudu, unu vurIubIe uI nIveI de móduIo esLu dIsponIbIe puru Lodos Ios
procedImIenLos deI móduIo, pero no puru eI códIgo de oLros móduIos. Cree vurIubIes uI nIveI de
móduIo decIurundoIus con Iu puIubru cIuve Privute en Iu seccIón Ðecluruciones Generules
uI prIncIpIo deI móduIo. Por ejempIo:
PrIvuLe InLTemp As ¡nLeger
AI nIveI de móduIo, no Iuv dIIerencIu enLre Privute v Ðim, pero es preIerIbIe usur Privute
porque conLrusLu con Poblic v Iuce que eI códIgo seu mus IucII de comprender.
Vcricbles u9ilizcdcs por 9odos los módulos
Puru Iucer que unu vurIubIe uI nIveI de móduIo esLé dIsponIbIe puru oLros móduIos, uLIIIce Iu
puIubru cIuve Poblic puru decIururIus. ¡os vuIores de Ius vurIubIes púbIIcus esLun dIsponIbIes
puru Lodos Ios procedImIenLos de Iu upIIcucIón. AI IguuI que Lodus Ius vurIubIes uI nIveI deI
móduIo, Ius vurIubIes púbIIcus se decIurun en Iu seccIón Ðecluruciones Generules uI
prIncIpIo deI móduIo. Por ejempIo:
PubIIc InLTemp As ¡nLeger
Noto: No puede declcrcr tcricbles pbliccs e3 u3 procedimie39o, sólo e3 lc secció3
Declorociones Ceneroles de u3 módulo.
Constuntes
A menudo veru que eI códIgo conLIene vuIores consLunLes que reupurecen unu v oLru vez. O
puede que eI códIgo dependu de cIerLos números que resuILen dIIicIIes de recordur (números
que, por si mIsmos, no LIenen un sIgnIIIcudo obvIo).
En esLos cusos, puede mejorur mucIo Iu IegIbIIIdud deI códIgo v IucIIILur su munLenImIenLo sI
uLIIIzu consLunLes. Unu constonte es un nombre sIgnIIIcuLIvo que susLILuve u un número o unu
cudenu que no vuriu. Aunque unu consLunLe recuerdu IIgerumenLe u unu vurIubIe, no puede
modIIIcur unu consLunLe o usIgnurIe un vuIor nuevo como ocurre con unu vurIubIe. Huv dos
origenes puru Ius consLunLes:
O ConsLunLes intrinsecos o deIinidus por el sistemu proporcIonudus por VIsuuI BusIc.
O ¡us consLunLes simbólicos o deIinidus por el osourio se decIurun medIunLe Iu
InsLruccIón Const.
Crecció3 de sus propics co3s9c39es
¡u sInLuxIs puru decIurur unu consLunLe es Iu sIguIenLe:
Poblic!Privute| Const nombre_consLunLe |As LIpo| = expresIón
EI urgumenLo 3ombre_co3s9c39e es un nombre sImbóIIco vuIIdo (Ius regIus son Ius mIsmus que
puru creur nombres de vurIubIe) v expresió3 esLu compuesLu por consLunLes v operudores de
cudenu o numérIcos; sIn emburgo, no puede uLIIIzur IIumudus u IuncIones en expresió3. Unu
InsLruccIón Const puede represenLur unu cunLIdud muLemuLIcu o de IecIu v Ioru:
ConsL conPI = ¤.1q1=¤z6=¤=8¤;¤
PubIIc ConsL conMuxPIuneLus As ¡nLeger = ¤
ConsL con¡ecIuSuIIdu = #1J1J¤=#
Se puede uLIIIzur LumbIén Iu InsLruccIón Const puru deIInIr consLunLes de cudenu:
PubIIc ConsL conVersIon = " o;.1o.A"
ConsL conNombreCIuve = "EnIgmu"
Puede coIocur mus de unu decIurucIón de consLunLe en unu únIcu Iineu sI Ius sepuru con comus:
PubIIc ConsL conPI=¤.1q, conMuxPIuneLus=¤, conPobMundIuI=6E+o¤
A menudo, Iu expresIón deI Iudo derecIo deI sIgno IguuI ( = ) es un número o cudenu IILeruI,
pero LumbIén puede ser unu expresIón que dé como resuILudo un número o unu cudenu
(uunque Iu expresió3 no puede conLener IIumudus u IuncIones). Puede IncIuso deIInIr
consLunLes en LérmInos de consLunLes prevIumenLe deIInIdus:
ConsL conPIz = conPI ¯ z
Unu vez que deIInu Ius consLunLes, puede coIocurIus en eI códIgo puru IucerIo mus IegIbIe. Por
ejempIo:
SLuLIc SIsLemuSoIur (1 To conMuxPIuneLus)
¡I numPersonus > conPopMundIuI TIen ExIL Sub
Alcc3ce de lcs co3s9c39es de[i3idcs por el usucrio
Unu InsLruccIón Const LIene IguuI uIcunce que unu decIurucIón de vurIubIe v se Ie upIIcun Ius
mIsmus regIus:
O Puru creur unu consLunLe que sóIo exIsLu en un procedImIenLo, decIureIu denLro deI
procedImIenLo.
O Puru creur unu consLunLe dIsponIbIe puru Lodos Ios procedImIenLos de un móduIo, pero no
puru eI códIgo que esLu Iueru deI móduIo, decIureIu en Iu seccIón Ðecluruciones
Generules deI móduIo.
O Puru creur unu consLunLe dIsponIbIe en Lodu Iu upIIcucIón, decIure Iu consLunLe en Iu seccIón
Ðecluruciones Generules de un móduIo esLundur v coIoque deIunLe de Const Iu puIubru
cIuve Poblic. No se pueden decIurur Ius consLunLes púbIIcus en un móduIo de cIuse o de
IormuIurIo.
Eti9cr re[ere3cics circulcres
Como es posIbIe deIInIr consLunLes en LérmInos de oLrus consLunLes, deberu Lener cuIdudo puru
no esLubIecer un ciclo o reIerencIu cIrcuIur enLre dos o mus consLunLes. Se produce un cIcIo
cuundo se LIenen dos o mus consLunLes púbIIcus, cudu unu de Ius cuuIes esLu deIInIdu en IuncIón
de Iu oLru. Por ejempIo:
'En eI MóduIo 1:
PubIIc ConsL conA = conB ¯ z ' DIsponIbIe en Lodu Iu upIIcucIón
'En eI MóduIo z:
PubIIc ConsL conB = conA J z ' DIsponIbIe en Lodu Iu upIIcucIón
SI se produce un cIcIo, VIsuuI BusIc generuru un error cuundo InLenLe ejecuLur Iu upIIcucIón. No
puede ejecuLur eI códIgo IusLu que resueIvu Iu reIerencIu cIrcuIur. Puru evILur Iu creucIón de un
cIcIo, resLrInju Lodus Ius consLunLes púbIIcus u un únIco móduIo o, uI menos, uI menor número
posIbIe de móduIos.
Convenciones puru Nombres de Constuntes y Vuriubles
¡us vurIubIes se deben deIInIr sIempre con eI menor uIcunce posIbIe. ¡us vurIubIes gIobuIes
(púbIIcus) pueden Iucer IógIcu de unu upIIcucIón muv dIIicII de enLender. ¡us vurIubIes gIobuIes
LumbIén Iucen mus dIIicII munLener v voIver u usur eI códIgo.
En VIsuuI BusIc Ius vurIubIes pueden Lener eI uIcunce sIguIenLe:

En unu upIIcucIón de VIsuuI BusIc, Ius vurIubIes gIobuIes se deben usur sóIo cuundo no exIsLu
nIngunu oLru Iormu cómodu de compurLIr duLos enLre IormuIurIos. Cuundo Iuvu que usur
vurIubIes gIobuIes, es convenIenLe decIururIus Lodus en un únIco móduIo ugrupudus por
IuncIones v dur uI móduIo un nombre sIgnIIIcuLIvo que IndIque su IInuIIdud, como PúbIIcus.
Unu prucLIcu de codIIIcucIón correcLu es escrIbIr códIgo moduIur sIempre que seu posIbIe. Por
ejempIo, sI Iu upIIcucIón muesLru un cuudro de dIuIogo, coIoque Lodos Ios conLroIes v eI códIgo
necesurIo puru ejecuLur Iu Lureu deI dIuIogo en un únIco IormuIurIo. EsLo uvudu u Lener códIgo
de Iu upIIcucIón orgunIzudo en componenLes úLIIes v mInImIzu Iu sobrecurgu en LIempo de
ejecucIón.
A excepcIón de Ius vurIubIes gIobuIes ( que no se deberiun pusur), Ios procedImIenLos v
IuncIones deben operur sóIo sobre Ios objeLos que se Ies pusun.
Pre[ijos de clcc3ce de tcricbles
A medIdu que uumenLu eI Lumuño deI provecLo, LumbIén uumenLu Iu uLIIIdud de reconocer
rupIdumenLe eI uIcunce de Ius vurIubIes. EsLo se consIgue escrIbIendo un preIIjo de uIcunce de
unu IeLru deIunLe deI preIIjo de LIpo, sIn uumenLur demusIudo Iu IongILud deI nombre de Ius
vurIubIes.

Unu vurIubIe LIene uIcunce lobcl sI se decIuru como Poblic en un móduIo esLundur o en un
móduIo de IormuIurIo. Unu vurIubIe LIene uIcunce de 3itel de módulo sI se decIuru como
Privute en un móduIo esLundur o en un móduIo de IormuIurIo, respecLIvumenLe.
Noto: Lc cohere3cic es crucicl pcrc uscr es9c 9ec3icc de [ormc produc9itc: el correc9or de
si39cxis de Visucl ßcsic 3o i39ercep9crE lcs tcricbles de 3itel de módulo que comie3ce co3
"p".
Co3s9c39es
EI nombre de Ius consLunLes se debe escrIbIr en muvúscuIus v mInúscuIus, con Iu IeLru InIcIuI de
cudu puIubru en muvúscuIus. Aunque Ius consLunLes esLundur de VIsuuI BusIc no IncIuven
InIormucIón de LIpo de duLos v eI uIcunce de unu consLunLe. Puru Ios nombres de consLunLes, se
deben seguIr Ius mIsmus normus que puru Ius vurIubIes. Por ejempIo:

Vcricbles
DecIurur Lodus Ius vurIubIes uIorru LIempo de progrumucIón porque reduce eI número de
errores debIdos u nombres de vurIubIes errudos (por ejempIo, uNombreUsuurIoTmp IrenLe u
sNombreUsuurIoTmp IrenLe u sNombreUsuurIoTemp). En Iu IIcIu Iditor deI cuudro de
dIuIogo pciones, ucLIve Iu opcIón Ðeclurución de vuriubles reqoeridu. ¡u InsLruccIón
ption Ixplicit requIere que decIure Lodus Ius vurIubIes deI progrumu de VIsuuI BusIc.
¡us vurIubIes deben IIevur un preIIjo puru IndIcur su LIpo de duLos. OpcIonuImenLe, v en especIuI
puru progrumus Iurgos, eI preIIjo se puede umpIIur puru IndIcur eI uIcunce de Iu vurIubIe.
Tipos de dc9os de tcricbles
Use Ios sIguIenLes preIIjos puru IndIcur eI LIpo de duLos de unu vurIubIe.

Nombres descrip9itos de tcricbles u procedimie39os
EI cuerpo de un nombre de vurIubIe o procedImIenLo se debe escrIbIr en muvúscuIus v
mInúscuIus v debe Lener Iu IongILud necesurIu puru descrIbIr su IuncIonuIIdud. Ademus, Ios
nombres de IuncIones deben empezur con un verbo, como ¡nIcIurNombreMuLrIz o
CerrurDIuIogo.
Puru nombres que se usen con IrecuencIu o puru LérmInos Iurgos, se recomIendu usur
ubrevIuLurus esLundur puru que Ios nombres Lengun unu IongILud ruzonubIe. En generuI, Ios
nombres de vurIubIes con mus de ¤z curucLeres pueden ser dIIicIIes de Ieer en punLuIIu VGA.
Cuundo se usen ubrevIuLurus, Iuv que usegururse de que seun coIerenLes en Lodu Iu upIIcucIón.
AILerur uIeuLorIumenLe enLre CnL v ConLur denLro de un provecLo provocu unu conIusIón
InnecesurIu.
Tipos de[i3idos por el usucrio
En un provecLo grunde con mucIos LIpos deIInIdos por eI usuurIo, sueIe ser úLII dur u cudu uno
de esLos LIpos un preIIjo de Lres curucLeres. SI esLos preIIjos comIenzun con "u", seru IucII
reconocerIos cuundo se esLé Lrubujundo con LIpos deIInIdos por eI usuurIo. Por ejempIo, "ucII"
se podriu usur como preIIjo puru Ius vurIubIes de un LIpo CIIenLe deIInIdo por eI usuurIo.
Tipos Adicionules de Vuriubles
Reis9ros o Es9ruc9urcs
Son LIpos de duLos deIInIdos por eI usuurIo. Es busIcumenLe un conjunLo de vurIos duLos de
LIpos eIemenLuIes ugrupudos bujo unu denomInucIón común. Debe decIururse en Iu seccIón
Ðecluruciones Generules de un móduIo. Se usu Iu puIubru reservudu Type.
$intuxis

Ijemplo

Arrelo de Vcricbles
Un urregIo es unu coIeccIón de eIemenLos deI mIsmo LIpo con un nombre común. ¡os
eIemenLos son IdenLIIIcudos por eI nombre común v un indIce.
$intuxis
Dim NombreDelArrelo( Dime3sió3:, Dime3sió3z, ... ) As TipoDeDc9o
VIsuuI BusIc soporLu IusLu 6o dImensIones. AI decIurur Ius dImensIones se puede IndIcur un
soIo número, en cuvo cuso se enLIende que dIcIu dImensIón vu de cero IusLu eI número
IndIcudo. TumbIén es posIbIe IndIcur expIicILumenLe eI InIcIo v LérmIno de Iu dImensIón.
Ijemplo

Arrelos Di3Emicos
Huv sILuucIones en Ius cuuIes se deseu usur un urregIo, pero uI momenLo deI dIseño no se sube
sus dImensIones. Puru esLe LIpo de sILuucIones VIsuuI BusIc permILe decIurucIones de urregIos
deI sIguIenLe modo:
DIm x ( ) As ¡nLeger
...
...
RedIm x (IsL¡IsLu.¡IsLCounL)
Cuundo se redImensIonu un urregIo, Ios vuIores uImucenudos unLerIormenLe se pIerden, porque
cudu eIemenLo es reInIcIuIIzudo con cero o nuII dependIendo deI LIpo de duLo deI eIemenLo. SI se
deseu preservur Ios vuIores debemos usur Iu puIubru cIuve Preserve en Iu senLencIu de
redImensIonumIenLo.
RedIm Preserve x ( InLNúmeroDeEIemenLos )
PIRAÐRI$
Ari9me9icos
^ ExponencIucIón
¯ MuILIpIIcucIón
J DIvIsIón
DIvIsIón enLeru
Mod ResIduo enLero (Ejm: A Mod B)
+ Sumu
O ResLu
& ConcuLenucIón de cudenus
Compcrcció3
= ¡guuI
<> DIsLInLo
O Menor que
<= Menor o IguuI
>= Muvor o IguuI
¡Ike Compuru dos cudenus
¯ Cero o mus curucLeres (Ejm: cud ¡Ike "mu¯")
? CuuIquIer curucLer
# CuuIquIer digILo (o-¤)
|IIsLu| cuuIquIer curucLer en IIsLu
|IIIsLu| cuuIquIer curucLer que no esLu en IIsLu
¡s Usudo puru compurur dos vurIubIes de reIerencIu u objeLos
Lóicos
And "Y" IógIco
Or "O" IógIco
Xor "O" ExcIusIvo
NoL NegucIón
Purte A: Istroctorus de Control
Istroctorus de Control
¡us esLrucLurus de conLroI Ie permILen conLroIur eI IIujo de ejecucIón deI progrumu. Tenemos
dos LIpos de esLrucLurus de conLroI:
O EsLrucLurus de decIsIón
O EsLrucLurus de bucIe
Es9ruc9urcs de Decisió3
¡os procedImIenLos de VIsuuI BusIc pueden probur condIcIones v, dependIendo de Ios
resuILudos, reuIIzur dIIerenLes operucIones. EnLre Ius esLrucLurus de decIsIón que ucepLu VIsuuI
BusIc se IncIuven Ius sIguIenLes:
O [...The3
O [...The3...Else
O Selec9 Ccse
II...Then
Use Iu esLrucLuru II...Then puru ejecuLur unu o mus InsLruccIones busudus en unu condIcIón.
Puede uLIIIzur Iu sInLuxIs de unu Iineu o un bIoque de vurIus Iineus:
O 1[ co3dició3 %hen Se39e3cics
O 1[ co3dició3 %hen
Se39e3cics
End 1[
Condición normuImenLe es unu compurucIón, pero puede ser cuuIquIer expresIón que dé
como resuILudo un vuIor numérIco. VIsuuI BusIc InLerpreLu esLe vuIor como Troe o Iulse; un
vuIor numérIco cero es Iulse v se consIderu Troe cuuIquIer vuIor numérIco dIsLInLo de cero. SI
condición es Troe, VIsuuI BusIc ejecuLu Lodus Ius se39e3cics que sIguen u Iu puIubru cIuve
Then. Puede uLIIIzur sInLuxIs de unu Iineu o de vurIus Iineus puru ejecuLur unu senLencIu busudu
en unu condIcIón, Ios sIguIenLes dos ejempIos son equIvuIenLes:

Observe que eI IormuLo de unu únIcu Iineu de II...Then no uLIIIzu Iu InsLruccIón Ind II. SI se
deseu ejecuLur mus de unu Iineu de códIgo cuundo condición seu Troe, debe uLIIIzur Iu
sInLuxIs de bIoque de vurIus Iineus II...Then...Ind II.

II...Then...Ilse
ULIIIce un bIoque II...The...Ilse puru deIInIr vurIos bIoques de senLencIus, uno de Ios cuuIes se
ejecuLuru:
1[ co3dició3: %hen
bloque de se39e3cics :]
Else1[ co3dició3z %hen
bloque de se39e3cics z]] ...
Else
bloque de se39e3cics 3]]
End 1[
VIsuuI BusIc evuIúu prImero condición1. SI es Iulse, VIsuuI BusIc procede u evuIuur
condición± v usi sucesIvumenLe, IusLu que encuenLre unu condIcIón Troe. Cuundo encuenLru
unu condIcIón Troe, VIsuuI BusIc ejecuLu eI bIoque de InsLruccIones correspondIenLes v
después ejecuLu eI códIgo que sIgue u Ind II. OpcIonuImenLe, puede IncIuIr un bIoque de
InsLruccIones Ilse, que VIsuuI BusIc ejecuLuru sIn nIngunu de Ius condIcIones es Troe.
II...Then...IlseII es un cuso especIuI de II...Then...Ilse. Observe que puede Lener cuuIquIer
número de cIuusuIu IlseII o nIngunu. Puede IncIuIr unu cIuusuIu Ilse sIn Lener en cuenLu sI
LIene o no cIuusuIu IlseII.
Por ejempIo, Iu upIIcucIón podriu reuIIzur dIsLInLus uccIones dependIendo deI conLroI en que se
Iuvu IecIo cIIc de unu muLrIz de conLroIes de menú:


Observe que sIempre puede ugregur mus cIuusuIus IlseII u Iu esLrucLuru II...Then. SIn
emburgo, esLu sInLuxIs puede resuILur LedIosu de escrIbIr cuundo cudu IlseII compuru Iu mIsmu
expresIón con un vuIor dIsLInLo. Puru esLus sILuucIones, puede uLIIIzur Iu esLrucLuru de decIsIón.

$elect Cuse
VIsuuI BusIc proporcIonu Iu esLrucLuru $elect Cuse como uILernuLIvu u II...Then...Ilse puru
ejecuLur seIecLIvumenLe un bIoque de senLencIus enLre vurIos bIoques. ¡u senLencIu $elect
Cuse oIrece posIbIIIdudes sImIIures u Iu InsLruccIón II...Then...Ilse, pero Iuce que eI códIgo
seu mus IegIbIe cuundo Iuv vurIus opcIones.
¡u esLrucLuru $elect Cuse IuncIonu con unu únIcu expresIón de pruebu que se evuIúu unu vez
soIumenLe, uI prIncIpIo de Iu esLrucLuru. VIsuuI BusIc compuru eI resuILudo de esLu expresIón
con Ios vuIores de cudu Cuse de Iu esLrucLuru. SI Iuv unu coIncIdencIu, ejecuLu eI bIoque de
senLencIus usocIudo u ese Cuse:

Cudu listo_expresiones es unu IIsLu de uno u mus vuIores. SI Iuv mus de un vuIor en unu
IIsLu, se sepurun Ios vuIores con comus. Cudu bloque de sentencios conLIene cero o mus
InsLruccIones. SI mus de un Cuse coIncIde con Iu expresIón de pruebu, sóIo se ejecuLuru eI
bIoque de InsLruccIones usocIudo con Iu prImeru coIncIdencIu. VIsuuI BusIc ejecuLu Ius
InsLruccIones de Iu cIuusuIu (opcIonuI) Cuse Ilse sI nIngún vuIor de Iu IIsLu de expresIones
coIncIde con Iu expresIón de pruebu.Por ejempIo, supongu que ugregu oLro comundo uI menú
Idición en eI ejempIo II...Then...Ilse. Podriu ugregur oLru cIuusuIu IlseII o podriu escrIbIr
Iu IuncIón con $elect Cuse:

Observe que Iu esLrucLuru $elect Cuse evuIúu unu expresIón cudu vez que uI prIncIpIo de Iu
esLrucLuru. Por eI conLrurIo, Iu esLrucLuru II...Then...Ilse puede evuIuur unu expresIón
dIIerenLe en cudu senLencIu IlseII. SóIo puede susLILuIr unu esrucLuru II...Then...Ilse con
unu esLrucLuru $elect Cuse sI Iu InLruccIón II v cudu InsLruccIón IlseII evuIúu Iu mIsmu
expresIón.
tros Ijemplos

Es9rucurcs de Repe9ició3
¡us esLrucLurus de repeLIcIón o bucIe Ie permILen ejecuLur unu o mus Iineus de códIgo
repeLIdumenLe. ¡us esLrucLurus de repeLIcIón que ucepLu VIsuuI BusIc son:
O Do...¡oop
O ¡or...NexL
O ¡or EucI...NexL
Ðo...Loop
ULIIIce eI bucIe Ðo puru ejecuLur un bIoque de senLencIus un número IndeIInIdo de veces. Huv
uIgunus vurIunLes en Iu senLencIu Ðo...Loop, pero cudu unu evuIúu unu condIcIón numérIcu
puru deLermInur sI conLInúu Iu ejecucIón. Como ocurre con II...Then, Iu condición debe ser
un vuIor o unu expresIón que dé como resuILudo Iulse (cero) o Troe (dIsLInLo de cero).
En eI sIguIenLe ejempIo de Ðo...Loop, Ius sentencius se ejecuLun sIempre v cuundo
condición seu Troe:
Do While co3dició3
Se39e3cics
Loop
Cuundo VIsuuI BusIc ejecuLu esLe bucIe Ðo, prImero evuIúu condición. SI condición es
Iulse (cero), se suILu Lodus Ius sentencios. SI es Troe (dIsLInLo de cero) VIsuuI BusIc ejecuLu
Ius sentencios, vueIve u Iu InsLruccIón Ðo While v pruebu Iu condIcIón de nuevo.
Por LunLo, eI bucIe se puede ejecuLur cuuIquIer número de veces, sIempre v cuundo condición
seu dIsLInLu de cero o Troe. Nuncu se ejecuLun Ius sentencios sI condición es Iulse
InIcIuImenLe. Por ejempIo, esLe procedImIenLo cuenLu Ius veces que se repILe unu cudenu
desLIno denLro de oLru cudenu repILIendo eI bucIe LunLus veces como se encuenLre Iu cudenu de
desLIno:

SI Iu cudenu desLIno no esLu en Iu oLru cudenu, In$tr devueIve o v no se ejecuLu eI bucIe.
OLru vurIunLe de Iu InsLruccIón Ðo...Loop ejecuLu Ius sentencios prImero v pruebu Iu
condición después de cudu ejecucIón. EsLu vurIucIón gurunLIzu uI menos unu ejecucIón de
sentencios:
Do
Se39e3cics
Loop While co3dició3
Huv oLrus dos vurIunLes unuIogus u Ius dos unLerIores, excepLo en que repILen eI bucIe sIempre v
cuundo condición seu Iulse en vez de Troe.

Ior...Next
¡os bucIes Ðo IuncIonun bIen cuundo no se sube cuunLus veces se necesILuru ejecuLur Ius
sentencios deI bucIe. SIn emburgo, cuundo se sube que se vu u ejecuLur Ius sentencios un
número deLermInudo de veces, es mejor eIegIr eI bucIe Ior...Next. A dIIerencIu deI bucIe Ðo,
eI bucIe Ior uLIIIzu unu vurIubIe IIumudu contodor que IncremenLu o reduce su vuIor en cudu
repeLIcIón deI bucIe. ¡u sInLuxIs es Iu sIguIenLe:
or co39cdor = i3icicr %o [i3clizcr Step i3creme39o]
Se39e3cics
Next co39cdor]
¡os urgumenLos contudor, iniciur, Iinulizur e incremento son Lodos numérIcos.
Noto: El crume39o incremento puede ser posi9ito o 3ec9ito. Si incremento es posi9ito,
inicior debe ser me3or o iucl que [inolizor o 3o se ejecu9crE3 lcs se39e3cics del bucle. Si
incremento es 3ec9ito, inicior debe ser mcuor o iucl que [inolizor pcrc que se ejecu9e
el cuerpo del bucle. Si 3o se es9cblece Step, el tclor prede9ermi3cdo de incremento es :. AI
ejecuLur eI bucIe Ior, VIsuuI BusIc:
1. EsLubIece conLudor uI mIsmo vuIor que inicior.
z. Compruebu sI contodor es muvor que [inolizor. SI Io es, VIsuuI BusIc suIe deI bucIe. (SI
incremento es neguLIvo, VIsuuI BusIc compruebu sI contodor es menor que
[inolizor.)
¤. EjecuLu Ius sentencios.
q. ¡ncremenLu contodor en 1 o en incremento, sI se especIIIcó.
=. RepILe Ios pusos z u q.
EsLe códIgo ImprIme Ios nombres de Lodus Ius IuenLes de punLuIIu dIsponIbIes:

Ior Iuch...Next
EI bucIe Ior Iuch...Next es sImIIur uI bucIe Ior...Next, pero repILe un grupo de senLencIu
por cudu eIemenLo de unu coIeccIón de objeLos o de unu muLrIz en vez de repeLIr Ius senLencIus
un número especIIIcudo de veces. EsLo resuILu especIuImenLe úLII sI no se sube cuunLos
eIemenLos Iuv en Iu coIeccIón. He uqui Iu sInLuxIs deI bucIe Ior Iuch...Next:
or Eoch eleme39o 1n rupo
Se39e3cics
Next eleme39o
Por ejempIo, eI sIguIenLe procedImIenLo $ob ubre Iu buse de duLos BIbIIo.mdb v ugregu eI
nombre de cudu LubIu u un cuudro de IIsLu.

Tengu en cuenLu Ius resLrIccIones sIguIenLes cuundo uLIIIce Ior Iuch...Next:
O Puru Ius coIeccIones, elemento sóIo puede ser unu vurIubIe Vuriunt, unu vurIubIe bject
genérIcu o un objeLo mosLrudo en eI ExumInudor de objeLos.
O Puru Ius muLrIces, elemento sóIo puede ser unu vurIubIe Vuriunt.
O No puede uLIIIzur Ior Iuch...Next con unu muLrIz de LIpos deIInIdos por eI usuurIo porque
un Vuriunt no puede conLener un LIpo deIInIdo por eI usuurIo.
EI sIguIenLe ejempIo IubIIILu Lodos Ios Cuodro de %exto deI IormuIurIo:

Sclidc de u3c Es9ruc9urc de Co39rol
¡u InsLruccIón Ixit Ie permILe suIIr dIrecLumenLe de un bucIe Ior o de un bucIe Ðo. ¡u sInLuxIs
de Iu senLencIu Ixit es sencIIIu: Ixit Ior puede upurecer LunLus veces como seu necesurIo
denLro de un bucIe Ior v Ixit Ðo puede upurecer LunLus veces como seu necesurIo denLro de
un bucIe Ðo:

Ixit Ior v Ixit Ðo son muv úLIIes vu que, uIgunus veces, resuILu upropIudo suIIr
InmedIuLumenLe de un bucIe sIn reuIIzur mus ILerucIones o senLencIus denLro deI bucIe.
Cuundo uLIIIce Iu InsLruccIón Ixit puru suIIr de un bucIe, eI vuIor de Iu vurIubIe conLudor dIIIere,
dependIendo de cómo Iuvu suIIdo deI bucIe:
O Cuundo LermInu un bucIe, Iu vurIubIe contodor conLIene eI vuIor deI IimILe superIor mus eI
puso.
O Cuundo suIe de un bucIe premuLurumenLe, Iu vurIubIe contodor conservu su vuIor según Ius
regIus usuuIes deI uIcunce.
O Cuundo suIe unLes deI IInuI de unu coIeccIón, Iu vurIubIe contodor conLIene Nothinu sI se
LruLu de un LIpo de duLo bject v Impty sI es un LIpo de duLo Vuriunt.
Purte =: Controles Istúndur Adicionules
y Procedimientos
ConLroI Murco (¡rume)
EsLe conLroI permILe ugrupur oLros conLroIes puru durIe muvor IuncIonuIIdud u Iu InLerIuz. ¡os
conLroIes Botones de pción necesurIumenLe LIenen que esLur ugrupudos por eI conLroI
Murco. Puru ugrupur conLroIes, dIbuje prImero eI conLroI Murco v, u conLInuucIón, dIbuje Ios
conLroIes denLro de Murco.
Propiedcdes
CupLIon TiLuIo de murco.
EnubIed DeLermInu sI esLu IubIIILudo puru responder u Ius uccIones deI usuurIo.
Nume Nombre deI conLroI.
VIsIbIe DeLermInu sI eI Murco v Ios conLroIes que conLIene esLun vIsIbIes o no.
ConLroI CusIIIu de VerIIIcucIón (CIeckBox)
¡us cusIIIus de verIIIcucIón se uLIIIzun puru proporcIonur uI usuurIo opcIones de LIpo SIJNo o
VerduderoJ¡uIso. Cuundo eI usuurIo seIeccIonu unu opcIón (ucLIvu Iu cusIIIu), upurece unu
murcu de verIIIcucIón (u ) denLro de Iu cusIIIu.
Propiedcdes
CupLIon DescrIpcIón que ucompuñu u Iu cusIIIu.
EnubIed TrueJ¡uIse. DeLermInu sI esLu IubIIILudo puru responder u Ius uccIones deI usuurIo.
Nume Nombre deI conLroI.
VuIue o - UncIecked (Vucio, no murcudo)
1 - CIecked (Murcudo)
z - Gruved (GrIs, ¡ndeIInIdo)
VIsIbIe DeLermInu sI Iu cusIIIu esLu vIsIbIe o no.
Ete39os
CIIck Ocurre cuundo eI usuurIo Iuce cIIc sobre Iu cusIIIu.


ConLroI BoLón de OpcIón (OpLIonBuLLon)
EsLos conLroIes se uLIIIzun puru que eI usuurIo seIeccIone unu opcIón de un grupo opcIones. ¡u
opcIón seIeccIonudu LIene un punLo en eI cenLro.
Propiedcdes
CupLIon DescrIpcIón que ucompuñu u Iu opcIón.
EnubIed TrueJ¡uIse. DeLermInu sI esLu IubIIILudo puru responder u Ius uccIones deI usuurIo.
Nume Nombre deI conLroI.
VuIue TrueJ¡uIse, murcudo o no murcudo.
VIsIbIe TrueJ¡uIse. DeLermInu sI eI boLón esLu vIsIbIe o no.
Ete39os
CIIck Ocurre cuundo eI usuurIo Iuce cIIc sobre eI boLón.

Arreulo de Controles
Cuundo creumos un urregIo de conLroIes, Lodos Ios conLroIes que Iormun eI urregIo deben Lener
eI mIsmo nombre (PropIedud Nume), Iu propIedud Index esLubIece eI indIce de cudu conLroI en
eI urregIo, esLu propIedud comIenzu desde o.
Un urregIo de conLroIes es un grupo de conLroIes que compurLen eI mIsmo:
O TIpo de objeLo
O Nombre deI conLroI
O ProcedImIenLos de evenLo
Códio mEs [Ecil de escribir u mc39e3er
¡os urregIos de conLroIes Iuce que eI códIgo seu mus IucII de escrIbIr v munLener debIdo u que
soIo escrIbe un soIo procedImIenLo de evenLo puru Lodos Ios conLroIes perLenecIenLes uI urregIo,
eI purumeLro Index deI procedImIenLo de evenLo deLermInu desde que conLroI ocurrIó eI
evenLo.
Códio mEs e[icie39e
¡os urregIos de conLroIes Iucen que eI códIgo seu mus eIIcIenLe v mejorun eI rendImIenLo de Iu
upIIcucIón debIdo u que usu menos recursos deI sIsLemu que Ios conLroIes IndIvIduuIes.
¿Cómo se crec u3 crrelo de co39roles?
¡uego de creur v esLubIecer eI nombre deI prImer conLroI, LIene dos uILernuLIvus:
Método 1
1. CopIur eI prImer conLroI uI porLupupeIes.
z. ¡uego pegur eI conLroI de porLupupeIes en eI IormuIurIo. VIsuuI BusIc Ie pregunLuru sI
deseu creur un urregIo de conLroIes.
¤. RepILu eI puso z IusLu compIeLur eI urregIo.
Método ±
1. DIbuje eI sIguIenLe conLroI v esLubIezcu su nombre IguuI uI deI prImer conLroI. VIsuuI
BusIc Ie pregunLuru sI deseu creur un urregIo de conLroIes.
z. RepILu eI puso 1 IusLu compIeLur eI urregIo.
Ijemplo
¡u InLerIuz mosLrudu LIene un urregIo de conLroIes puru seIeccIonur eI reporLe, eI procedImIenLo
de evenLo es eI mIsmo puru cuuIquIer eIemenLo deI urregIo.

EI códIgo puru eI evenLo cIIc es:

Control Burru de Ðespluzumiento
Burru de DespIuzumIenLo HorIzonLuI (HScroIIBur)
Burru de DespIuzumIenLo VerLIcuI (VScroIIBur)
Son usuudos con IrecuencIu puru permILIr rupIdos despIuzumIenLos u Lruvés de unu IIsLu grunde
de ILems. Por ejempIo: urcIIvos, IndIcudores de posIcIón ucLuuI de unu escuIu de vuIores,
IndIcudores de voIumen en un sIsLemu de uudIo.
Propiedcdes
¡urgeCIunge De 1 u ¤z;6;. CunLIdud de cumbIo cuundo eI usuurIo Iuce cIIc en eI
despIuzumIenLo Iurgo.
Mux MuxImo vuIor de despIuzumIenLo cuundo eI boLón se encuenLru en Iu posIcIón mus uILu.
VuIor predeLermInudo: ¤z;6;.
MIn MinImo vuIor deI despIuzumIenLo cuundo eI boLón se encuenLru en Iu posIcIón mus buju.
VuIor predeLermInudo: o.
Nume Nombre ddeI conLroI.
SmuIICIunge De 1 u ¤z;6;. CunLIdud de cumbIo cuundo eI usuurIo Iuce cIIc en Iu IIecIu de
despIuzumIenLo.
VuIue VuIor ucLuuI en Iu escuIu de vuIores.
Ete39o
CIunge Ocurre cuundo eI usuurIo se despIuzu o se cumbIu eI vuIor de Iu propIedud VuIue.
ConLroI Cuudro de ¡IsLu (¡IsLBox)
Un conLroI ListBox muesLru unu IIsLu de eIemenLos enLre Ios cuuIes eI usuurIo puede
seIeccIonur uno o mus eIemenLos. SI eI número de eIemenLos superu eI número que puede
mosLrurse, se ugreguru uuLomuLIcumenLe unu burru de despIuzumIenLo uI conLroI ListBox.
¡u propIedud List es un urregIo que conLIene Ios eIemenLos de Iu IIsLu, v comIenzu con indIce o.
¡u propIedud ListCount esLubIece eI número LoLuI de eIemenLos de Iu IIsLu. ¡u propIedud
List1ndex conLIene eI indIce deI eIemenLo seIeccIonudo, eI cuuI es un número enLre o (prImer
eIemenLo) v eI número LoLuI de eIemenLos en Iu IIsLu -1 (ListCount - ). SI no se seIeccIonu
nIngún eIemenLo, eI vuIor de Iu propIedud List1ndex seru -1.
¡u propIedud Neu1ndex conLIene eI indIce deI úILImo eIemenLo uñudIdo u Iu IIsLu. EsLo puede
ser úLII sI deseu Iucer uIgo con eI eIemenLo uñudIdo, por ejempIo, que seu eI eIemenLo
ucLuuImenLe seIeccIonudo.

Propiedcdes
EnubIed TrueJ¡uIse. DeLermInu sI eI conLroI responde u Ius uccIones deI usuurIo.
¡IsL ArregIo con Ios eIemenLos de Iu IIsLu.
¡IsLCounL Número de eIemenLos de Iu IIsLu.
¡IsL¡ndex EIemenLo seIeccIonudo.
MuILISeIecL EsLubIece sI es posIbIe seIeccIonur vurIos eIemenLos o uno soIo.
Nume Nombre deI conLroI.
New¡ndex ¡ndIce deI úILImo eIemenLo uñudIdo uI Cuudro de ¡IsLu.
SeIecLed ArregIo de vuIores IógIcos puruIeIo v deI mIsmo Lumuño uI urregIo list, IndIcu que
eIemenLos Iun sIdo seIeccIonudos (True) de Iu IIsLu. Se uLIIIzu en Iugur de ListIndex cuundo
esLubIecemos Iu propIedud Moltiselect en 1 ó z.
SorLed TrueJ¡uIse. EsLubIece Ios eIemenLos se ordenun uIIubéLIcumenLe.
SLvIe EsLubIece eI comporLumIenLo deI conLroI.
TexL DevueIve eI eIemenLo seIeccIonudo en eI cuudro de IIsLu; eI vuIor de reLorno es sIempre
equIvuIenLe uI que devueIve Iu expresIón ¡IsL(¡IsL¡ndex). Es de sóIo IecLuru en LIempo de dIseño
v es de sóIo IecLuru en LIempo de ejecucIón.
Me9odos
Add¡Lem PermILe uñudIr nuevos eIemenLos u Iu IIsLu.
Remove¡Lem PermILe eIImInur eIemenLos de Iu IIsLu.
Ete39os
CIIck Ocurre cuundo eI usuurIo InLerucLúu con eI conLroI.
Ejemplos
Moestru en el Coudro de Texto txtGuseosu el elemento seleccionudo
PrIvuLe Sub IsLGuseosus_CIIck()
LxLGuseosu.TexL = IsLGuseosus.TexL
End Sub
Añude on noevo elemento ul Coudro de Listu lstGuseosus

Iliminu el elemento uctoul del Coudro de Listu lstGuseosus

ConLroI Cuudro CombInudo (ComboBox)
Un conLroI ComboBox combInu Ius curucLerisLIcus de un conLroI TextBox v un conLroI
ListBox; Ios usuurIos pueden InLroducIr InIormucIón en Iu purLe deI cuudro de LexLo o
seIeccIonur un eIemenLo en Iu purLe de cuudro de IIsLu deI conLroI.
Puru ugregur o eIImInur eIemenLos en un conLroI ComboBox, se usu eI méLodo AddItem o
RemoveItem. EsLubIezcu Ius propIedudes List, ListCoont v ListIndex puru permILIr u un
usuurIo Lener ucceso u Ios eIemenLos de un conLroI ComboBox. Como uILernuLIvu, puede
ugregur eIemenLos u Iu IIsLu medIunLe Iu propIedud List en LIempo de dIseño.
Propiedcdes
EnubIed TrueJ¡uIse. DeLermInu sI eI conLroI responde u Ius uccIones deI usuurIo.
¡IsL ArregIo con Ios eIemenLos de Iu IIsLu.
¡IsLCounL Número de eIemenLos de Iu IIsLu
¡IsL¡ndex EIemenLo seIeccIonudo.
Nume Nombre deI conLroI.
New¡ndex ¡ndIce deI úILImo eIemenLo uñudIdo uI cuudro de IIsLu.
SorLed TrueJ¡uIse. EsLubIece sI Ios eIemenLos se ordenun uIIubéLIcumenLe.
SLvIe EsLubIece eI comporLumIenLo deI conLroI.
TexL TexLo que conLIene eI conLroI.
Me9odos
Add¡Lem PermILe uñudIr nuevos eIemenLos u Iu IIsLu.
Remove¡Lem PermILe eIImInur eIemenLos de Iu IIsLu.
Ete39os
CIIck Ocurre cuundo eI usuurIo InLerucLúu con Iu IIsLu deI conLroI.
CIunge Ocurre cuundo eI vuIor de Iu propIedud Text es modIIIcudo.
Propiedcd S9ule
EsLu propIedud esLubIece eI comporLumIenLo deI conLroI ComboBox, v puede Lomur Ios
sIguIenLes vuIores:

Ejemplo
En Iu sIguIenLe InLerIuz se IIusLru eI uso deI conLroI ComboBox v Iu propIedud $tyle.


Moestru lu uuseosu seleccionudu por el osourio en lu etiqoetu lblGuseosu
PrIvuLe Sub cboGuseosus_CIIck()
IbIGuseosu.CupLIon = cboGuseosus.TexL
End Sub
Actoulizu lu etiqoetu lblGuseosu coundo el osourio modiIicu el control
cboGuseosus
PrIvuLe Sub cboGuseosus_CIunge()
IbIGuseosu.CupLIon = cboGuseosus.TexL
End Sub
Moestru el encoestudo seleccionudo por el osourio en lu etiqoetu lblIncoestudo
PrIvuLe Sub cboEncuesLudos_CIIck()
IbIEncuesLudo.CupLIon = cboEncuesLudos.TexL
End Sub
Moestru en lu etiqoetu lblCiodud el elemento seleccionudo del control
cboCiodudes
PrIvuLe Sub cboCIududes_CIIck()
IbICIudud.CupLIon = cboCIududes.TexL
End Sub
Procedimientos
ExIsLen dos LIpos de procedImIenLos con Ios que se Lrubuju en VIsuuI BusIc: Ios procedImIenLos
de evenLo v Ios procedImIenLos generuIes.
Procedimientos de Ivento
VIsuuI BusIc Invocu uuLomuLIcumenLe procedImIenLos de evenLo en respuesLu u uccIones deI
LecIudo, deI ruLón o deI sIsLemu. Por ejempIo, Ios boLones de comundo LIenen un procedImIenLo
de evenLo CIIck. EI códIgo que se escrIbu en eI procedImIenLo de evenLo CIIck es ejecuLudo
cuundo eI usuurIo Iugu cIIc en un boLón de comundo.
Cudu conLroI LIene un conjunLo IIjo de procedImIenLos de evenLo. ¡os procedImIenLos de evenLo
puru cudu conLroI son mosLrudos en un cuudro de IIsLu despegubIe en Iu venLunu de códIgo.
Procedimientos Generules
¡os procedImIenLos generuIes son procedImIenLos $ob o Ionction que son creudos puru que
IIeven u cubo Lureus especiIIcus, esLos deben ser Invocudos de muneru expIicILu.
Puru creur un procedImIenLo generuI, se debe ubrIr Iu venLunu de códIgo v Iucer cIIc en Iu orden
Aureuur procedimiento deI menú Herrumientus. TumbIén se puede creur un nuevo
procedImIenLo escrIbIendo eI encubezudo de procedImIenLo $ob, seguIdo por eI nombre deI
procedImIenLo, en unu Iineu en bIunco denLro de Iu venLunu de códIgo.
SI se LIene códIgo dupIIcudo en vurIos procedImIenLos de evenLo, se puede coIocur eI códIgo en
un procedImIenLo generuI v Iuego Invocur uI procedImIenLo generuI desde eI procedImIenLo de
evenLo.
Procedimie39os Sub
¡os procedImIenLos $ob no reLornun vuIores. Por ejempIo:

¡os procedImIenLos $ob son Invocudos especIIIcundo sóIo eI nombre deI procedImIenLo, o
empIeundo Iu InsLruccIón Cull con eI nombre deI procedImIenLo. Por ejempIo:
CuII SeIeccIonur(TexL1)
SI se empIeu Iu InsLruccIón Cull, se debe encerrur Iu IIsLu de urgumenLos enLre purénLesIs. SI se
omILe Cull, LumbIén se deben omILIr Ios purénLesIs uIrededor de Iu IIsLu de urgumenLos.
Procedimie39os Iu3c9io3
¡os procedImIenLos Ionction devueIven vuIores. En eI sIguIenLe ejempIo, eI procedImIenLo
Ionction recIbe un número v devueIve ese número uI cuudrudo.
PubIIc ¡uncLIon Cuudrudo(N As ¡nLeger) As ¡nLeger
Cuudrudo = N ¯ N
End ¡uncLIon
SI se deseu guurdur eI vuIor devueILo, se debe usur purénLesIs cuundo se Invoque u Iu IuncIón,
como se muesLru u conLInuucIón:
ResuILudo = Cuudrudo (=)
SI se omILen Ios purénLesIs, se puede Ignorur eI vuIor devueILo v no guurdurIo en unu vurIubIe.
EsLo puede ser úLII sI se quIere ejecuLur unu IuncIón v no se deseu eI vuIor devueILo. Por
ejempIo:
Cuudrudo =
Alcunce del Códiuo
Ademus de poder decIurur códIgo en un móduIo de IormuIurIo, LumbIén se puede decIurur
procedImIenLos en un móduIo de códIgo esLundur.
¡os móduIos de códIgo esLundur sóIo conLIenen códIgo de VIsuuI BusIc, v son un buen Iugur
puru uImucenur códIgo que no es especiIIco puru un soIo IormuIurIo. ¡os procedImIenLos
pueden ser decIurudos como Privute (prIvudos) o Poblic (púbIIcos).
¡os procedImIenLos decIurudos como Privute pueden ser IIumudos o Invocudos sóIo por oLros
procedImIenLos IocuIIzudos en ese IormuIurIo, móduIo o cIuse.
¡os procedImIenLos decIurudos como Poblic en un IormuIurIo se convIerLen en méLodos deI
IormuIurIo. EI procedImIenLo puede ser IIumudo desde cuuIquIer Iugur de Iu upIIcucIón
especIIIcundo Ios nombres deI IormuIurIo v deI procedImIenLo.
¡os procedImIenLos decIurudos como Poblic en un móduIo esLun dIsponIbIes puru Lodu Iu
upIIcucIón, v pueden ser IIumudos especIIIcundo eI nombre deI procedImIenLo.
EI sIguIenLe códIgo decIuru un procedImIenLo Poblic.
PubIIc Sub MIProc()
End Sub
SI se decIuru eI procedImIenLo en un móduIo de IormuIurIo, puede ser IIumudo con eI sIguIenLe
códIgo.
¡orm1.MIProc
SI se decIuru eI procedImIenLo en un móduIo esLundur, puede ser IIumudo con eI sIguIenLe
códIgo.
MIProc
SI se decIuru un procedImIenLo con eI mIsmo nombre en dos móduIos esLundur, se debe
especIIIcur eI nombre deI móduIo como se muesLru en eI sIguIenLe códIgo.
ModuIe1.MIProc
Lso del Ixuminudor de bjetos puru ver Procedimientos y Librerius de bjetos
Unu vez que se Iu uñudIdo códIgo u unu upIIcucIón se puede empIeur eI Ixuminudor de
objetos puru IIsLur u Lodos Ios procedImIenLos que Iun sIdo creudos, pusur rupIdumenLe u un
procedImIenLo especiIIco, o pegur unu IIumudu u un procedImIenLo denLro de unu venLunu de
códIgo.
EI Ixuminudor de objetos vIsuuIIzu Ius cIuses que esLun dIsponIbIes desde cuuIquIer IIbreriu
de objeLos u Iu que se Iu esLubIecIdo unu reIerencIu. Puru vIsuuIIzur eI Ixuminudor de
objetos presIone Iu LecIu de IuncIón I±.

Purte 6: Ðeporución, Vulidución de Ðutos
y Munipolución de Irrores
Cuundo desurroIIe upIIcucIones en VIsuuI BusIc, es ImporLunLe depurur eI códIgo escrILo v
munIpuIur Ios probubIes errores que puedun ocurrIr. TumbIén es ImporLunLe prevenIr en Io
posIbIe esLos errores vuIIdundo Ios Ingresos de duLos u Iu upIIcucIón.
Herrumientus de Ðeporución
VIsuuI BusIc proporcIonu IerrumIenLus InLerucLIvus puru IocuIIzur errores en LIempo de
ejecucIón v errores en Iu IógIcu deI progrumu. Se puede ucceder u Lodus Ius IerrumIenLus de
depurucIón empIeundo eI menú Ðeporución o Iu burru de IerrumIenLus Ðeporución. ¡us
IerrumIenLus de depurucIón en VIsuuI BusIc IncIuven:
Pu39os de i39errupció3 u expresio3es de i39errupció3
EsLubIece un punLo de InLerrupcIón puru deLener un progrumu en ejecucIón. Se puede
esLubIecer un punLo de InLerrupcIón en LIempo de dIseño o en LIempo de ejecucIón mIenLrus se
esLé en modo de InLerrupcIón.
Expresio3es de i3specció3
EmpIee Ius expresIones de InspeccIón puru exumInur unu vurIubIe o expresIón en purLIcuIur. EI
vuIor de cudu expresIón de InspeccIón es ucLuuIIzudo en Ios punLos de InLerrupcIón
Dpcio3es pcso c pcso
Use Ius opcIones puso u puso puru ejecuLur porcIones de códIgo vu seu unu InsLruccIón o
procedImIenLo u Iu vez.
Pilc de llcmcdcs
EmpIee PIIu de IIumudus puru vIsuuIIzur Lodus Ius IIumudus u procedImIenLos ucLIvus v rusLreur
Iu ejecucIón de unu serIe de procedImIenLos unIdudos.
Lc te39c3c i3medic9o
En modo de InLerrupcIón, se puede probur unu senLencIu ejecuLubIe escrIbIéndoIu en Iu venLunu
InmedIuLo. VIsuuI BusIc ejecuLu Iu senLencIu InmedIuLumenLe de modo que se puedu evuIuur eI
códIgo.
Lc te39c3c loccles
EsLu venLunu uuLomuLIcumenLe vIsuuIIzu Lodus Ius vurIubIes decIurudus en eI procedImIenLo
ucLuuI, junLo con sus vuIores.
Vulidución de Ðutos
Se puede prevenIr uIgunos errores en eI Ingreso de duLos v mejorur eI uso de unu upIIcucIón
vuIIdundo InIormucIón mIenLrus es Ingresudu u Ios cumpos de Iu upIIcucIón.
Res9ricció3 de Dpcio3es co3 Co39roles
Unu muneru de usegurur Ingresos vuIIdos es resLrIngIendo eI número de opcIones que un
usuurIo puede escoger. Por ejempIo, se puede empIeur un cuudro de IIsLu puru permILIr u Ios
usuurIos seIeccIonur un nombre de un producLo en un IormuIurIo. DebIdo u que Ios usuurIos
deben escoger un producLo de unu IIsLu predeIInIdu, no podrun Ingresur un nombre de
producLo no vuIIdo.
TumbIén se pueden usur boLones de opcIón puru un número pequeño de opcIones, o cusIIIus de
verIIIcucIón puru opcIones de LIpo booIeunus.
Uso de lc propiedcd McxLe39h
¡u propIedud MuxLenuth deLermInu Iu IongILud muxImu de unu cudenu en un cuudro de
LexLo. EI sIsLemu emILIru un sonIdo (beep) cuundo eI usuurIo LruLe de escrIbIr unu cudenu que
excedu Iu IongILud muxImu. SI se deseu vIsuuIIzur un mensuje de error, se necesILu InLercepLur Iu
LecIu oprImIdu en eI evenLo KevPress.
Uso de lc propiedcd Locled
¡u propIedud Locked deLermInu sI Ios usuurIos pueden modIIIcur Ios duLos en un cuudro de
LexLo. SI Iu propIedud Locked es esLubIecIdu u Troe, Ios usuurIos sóIo pueden ver v copIur Ios
duLos de un cuudro de LexLo.
Uso del Ete39o KeuPress pcrc Vclidcr Dc9os
Se pueden empIeur Ios evenLos KevPress, KevDown v KevUp puru vuIIdur duLos mIenLrus eI
usuurIo escrIbe. Se puede prevenIr que eI usuurIo Ingrese cIerLos curucLeres (por ejempIo, puede
IImILur eI Ingreso de duLos u vuIores numérIcos). Se puede LumbIén modIIIcur Ios duLos mIenLrus
son Ingresudos (por ejempIo, puede converLIr Lodos Ios curucLeres u muvúscuIus).
EI evenLo KevPress LIene Iugur cuundo eI usuurIo Ingresu un curucLer ASC¡¡ esLundur. EsLo no
IncIuve Iu muvoriu de Iu LecIus especIuIes, LuIes como Ius LecIus de IuncIón, Ius LecIus
dIreccIonuIes, o Iu LecIu DE¡ETE. Puru responder u esLus LecIus se debe empIeur Ios evenLos
KevDown v KevUp. EI sIguIenLe códIgo cumbIu Ios curucLeres u muvúscuIus mIenLrus eI usuurIo
escrIbe.
PrIvuLe Sub TexL1_KevPress(KevAscII us ¡nLeger)
KevAscII = Asc(Ucuse(CIr(KevAscII)))
End Sub
EI sIguIenLe códIgo prevIene que Ios usuurIos Ingresen sóIo vuIores numérIcos en un cuudro de
LexLo.

Puru vIsuuIIzur unu IIsLu de Ios vuIores ASC¡¡, busque A$CII en Iu uvudu de VIsuuI BusIc.
Vulidución de InIormución u Nivel de Iormolurio
Ademus de empIeur LécnIcus u nIveI de cumpo puru vuIIdur Ios duLos mIenLrus son Ingresudos,
se puede escrIbIr códIgo que vuIIde Ios duLos en Lodos Ios cumpos de un IormuIurIo uI mIsmo
LIempo. En esLu purLe deI curso se verun Ius LécnIcus de vuIIducIón u nIveI de IormuIurIo
soporLudus por VIsuuI BusIc.
Hcbili9c3do el ßo9ó3 Acep9cr
Unu Iormu de vuIIdur Iu InIormucIón deI IormuIurIo seriu Iu de usegurur que un usuurIo Iu
Ingresudo Ios duLos en Lodos Ios cumpos en un IormuIurIo unLes de que se Ie permILu conLInuur.
EsLo puede IIevurse u cubo desIubIIILundo eI boLón AcepLur en un IormuIurIo IusLu que eI
usuurIo Iuvu IIenudo Lodos Ios cumpos, como se muesLru u conLInuucIón.

Puru comprobur cudu LecIu oprImIdu en un IormuIurIo, se debe esLubIecer Iu propIedud
eyPreview de un IormuIurIo u Troe. EI IormuIurIo recIbe prImero eI evenLo deI LecIudo v
Iuego Io recIbe eI conLroI.
EI sIguIenLe códIgo IubIIILu eI boLón AcepLur Iuego de Ingresur duLos en Lodos Ios cumpos.

Vclidcció3 de Todos los Ccmpos de u3 Iormulcrio
Unu muneru sencIIIu de vuIIdur Lodos Ios cumpos de un IormuIurIo uI mIsmo LIempo es
ponIendo eI códIgo de vuIIducIón en eI evenLo CIIck deI boLón Aceptur. En esLu cuso, Iu
upIIcucIón Ie permILe uI usuurIo compIeLur eI Ingreso de duLos en Lodos Ios cumpos deI
IormuIurIo v Iuego vuIIdurIos. ¡u upIIcucIón esLubIece eI enIoque en eI prImer cumpo que
conLIene Ios duLos IncorrecLos.
EI sIguIenLe códIgo vuIIdu Lodos Ios cumpos numérIcos deI IormuIurIo mosLrudo unLerIormenLe.

Uso del Ete39o DueruU3locd
EI evenLo QuervUnIoud LIene Iugur jusLo unLes deI evenLo UnIoud cuundo eI IormuIurIo es
descurgudo. EI evenLo QuervUnIoud permILe deLermInur como Iue InIcIudo eI evenLo UnIoud v
cunceIur esLe evenLo. Es úLII cuundo un usuurIo no Iu compIeLudo eI Ingreso de duLos u un
IormuIurIo, o cuundo se quIsIeru pregunLur uI usuurIo sI deseu grubur cumbIos reuIIzudos unLes
cerrur eI IormuIurIo.
EI evenLo QuervUnIoud LIene Ios sIguIenLes urgumenLos:
O EI urgumenLo Cuncel cunceIu eI evenLo UnIoud. SI Cuncel se esLubIece u Troe Iu upIIcucIón
permunece como esLubu unLes de que se InLenLuru Iu descurgu.
O EI urgumenLo LnloudMode IndIcu como Iue InIcIudo eI evenLo UnIoud.
Vulores qoe se poeden obtener
EI urgumenLo LnloudMode (modo_desccrc) devueIve Ios sIguIenLes vuIores:

EI sIguIenLe códIgo cunceIu eI evenLo UnIoud v pregunLu uI usuurIo unLes de cerrur eI
IormuIurIo.

Notos:
O Cuc3do se cierrc u3 obje9o D1orm, el ete39o DueruU3locd ocurre primero pcrc el
[ormulcrio MD pri3cipcl u despues e3 9odos los [ormulcrios secu3dcrios MD. Si 3i33
[ormulcrio cc3celc el ete39o DueruU3locd, ocurre el ete39o U3locd primero e3 9odos los
demEs [ormulcrios u despues e3 u3 [ormulcrio MD pri3cipcl. Cuc3do u3 [ormulcrio
secu3dcrio o u3 obje9o orm se cierrc, el ete39o DueruU3locd de ese [ormulcrio ocurre
c39es que el ete39o U3locd del [ormulcrio.
O Cuc3do u3c cpliccció3 se cierrc, puede u9ilizcr los procedimie39os de ete39o
DueruU3locd o U3locd pcrc es9cblecer lc propiedcd Concel c %rue, de9e3ie3do el
proceso de cierre. Si3 embcro, el ete39o DueruU3locd ocurre e3 9odos los [ormulcrios
c39es de que se desccrue 3i3u3o de ellos u el ete39o U3locd ocurre co3[orme se
desccrc ccdc [ormulcrio.
Munipolución de Irrores en Tiempo de Ijecoción
No ImporLu Io bIen que se dIseñe unu upIIcucIón, Ios errores en LIempo de ejecucIón sIempre
ocurrIrun. ¡os usuurIos oIvIdun poner Ios dIscos en Ius unIdudes, sIsLemus se ejecuLun con pocu
memorIu, v urcIIvos no se encuenLrun donde se supone deberiun esLur. AñudIendo códIgo de
munIpuIucIón de errores eIecLIvo u unu upIIcucIón, se creun upIIcucIones mus robusLus.
E39e3die3do el Proceso de Mc3ipulcció3 de Errores
EI proceso de munIpuIucIón de errores InvoIucru Ios sIguIenLes pusos.
1. HubIIILur Iu InLercepLucIón de errores que especIIIcu IucIu donde se bIIurcuru Iu ejecucIón
cuundo ocurru un error.
z. EscrIbIr eI códIgo de munIpuIucIón de errores.
¤. SuIIr deI códIgo de munIpuIucIón de errores.
¡u InsLruccIón n Irror GoTo IubIIILu Iu InLercepLucIón de errores v especIIIcu IucIu donde
suILuru Iu ejecucIón cuundo ocurru un error. SI ocurrIeru un error en LIempo de ejecucIón, Iu
ejecucIón suILuru IucIu Iu eLIqueLu especIIIcudu por Iu InsLruccIón n Irror GoTo. EI
munIpuIudor de errores ejecuLu eI códIgo de munIpuIucIón de errores seguIdo por unu
InsLruccIón Resome que IndIcu donde deberu conLInuur eI proceso.
EI sIguIenLe códIgo muesLru como empIeur Ius InsLruccIones n Irror GoTo v Resome.

En eI códIgo o ruLInu de munIpuIucIón de errores, se empIeun Ius propIedudes v méLodos deI
objeLo Irr puru verIIIcur que error ocurrIó, borrur un vuIor de error o desencudenur un error.
Lcs Propiedcdes del Dbje9o Err
¡u propIedud Nomber es un enLero que IndIcu eI úILImo error que Luvo Iugur. Puru deLermInur
que error Iu ocurrIdo, se verIIIcu eI vuIor de Irr.Nomber. En uIgunos cusos, se puede corregIr
un error v permILIr conLInuur eI proceso sIn InLerrumpIr eI usuurIo. En oLros, se deberu
noLIIIcur uI usuurIo de un error, v Lomur uIgunu uccIón busudu en Iu respuesLu deI usuurIo.
¡u propIedud Ðescription es unu cudenu que conLIene unu descrIpcIón deI error.
¡u propIedud $oorce conLIene eI nombre deI objeLo upIIcucIón que generó eI error. Es úLII
cuundo se empIeu AuLomuLIzucIón. Por ejempIo, sI se Lrubuju con MIcrosoIL ExceI v generu un
error, MIcrosoIL ExceI esLubIeceru Irr.Nomber uI códIgo de error upropIudo v esLubIeceru
Irr.$oorce u Ixcel.Applicution.
Los Me9odos del Dbje9o Err
EI méLodo Cleur esLubIece eI vuIor de Irr.Nomber u cero. BusIcumenLe, eI méLodo Cleur se
empIeu borrur expIicILumenLe eI objeLo Irr después de conLroIur un error.
EI méLodo Ruise generu un error en LIempo de ejecucIón. Por ejempIo, se podriu empIeur esLe
méLodo puru probur eI códIgo de munIpuIucIón de errores.
Err.RuIse =¤ 'ArcIIvo no enconLrudo
Dpcio3es de lcs 3s9rucció3 Resume
¡u InsLruccIón Resome se empIeu puru especIIIcur donde conLInuuru eI proceso de unu
upIIcucIón Iuego de munIpuIur un error. ¡u sIguIenLe LubIu IIsLu Ios Lres LIpos de InsLruccIones
Resome dIsponIbIes en VIsuuI BusIc.
Instrocción Ðescripción
Resome Regresu u Iu InsLruccIón que generó eI error. EmpIee Resome puru repeLIr unu
operucIón Iuego de corregIr eI error.
Instrocción Ðescripción
Resome Next Regresu u Iu InsLruccIón InmedIuLumenLe sIguIenLe u Iu que generó eI error.
Resome lí3ec ¡u ejecucIón conLInúu en Iu Iineu especIIIcudu en eI urgumenLo obIIguLorIo Iineu.
Noto:
O Si u9ilizc u3c i3s9rucció3 #esume e3 o9ro si9io que 3o sec u3c ru9i3c de mc3ipulcció3 de
errores, ocurre u3 error.
Ðeshubilitundo lu Munipolución de Irrores
Puede ser dIIicII depurur códIgo que LIene IubIIILudu Iu munIpuIucIón de errores. VIsuuI BusIc
puede ejecuLur eI códIgo de munIpuIucIón de errores cuundo se quIeru Ingresur uI modo de
¡nLerrupcIón v depurur Iu upIIcucIón.
VIsuuI BusIc proporcIonu opcIones puru desIubIIILur Iu munIpuIucIón de errores en eI momenLo
de Iu depurucIón.
O Puru cumbIur como serun munIpuIudos Ios errores:
1. En eI menú Herrumientus, Iugu cIIc en pciones.
z. En Iu IIcIu Generul, debujo de Interceptución de errores, Iugu cIIc en Iu opcIón
deseudu v Iuego en Aceptur.
¡u sIguIenLe LubIu descrIbe Ius opcIones de munIpuIucIón de errores dIsponIbIes debujo de
Interceptución de errores en Iu IIcIu Generul.


Compilución de onu Aplicución
Unu vez IInuIIzudu Iu creucIón de unu upIIcucIón, se puede creur eI urcIIvo ejecuLubIe puru Ios
usuurIos. EsLu purLe deI curso descrIbe como compIIur un provecLo.
Crecció3 de u3 Archito Ejecu9cble
Creur un urcIIvo ejecuLubIe en VIsuuI BusIc es un proceso sencIIIo.
1. En eI menú Archivo, Iugu cIIc en Generur <NombreProyecto>.exe
z. ¡ngrese eI nombre puru eI urcIIvo ejecuLubIe.
¤. Puru uñudIr InIormucIón especiIIcu de versIón:
En eI cuudro de dIuIogo Generur proyecto, Iugu cIIc en eI boLón pciones. En Iu IIcIu
Generur escrIbu Ios números de versIón v eI LexLo de InIormucIón de Iu versIón , v Iuego Iugu
cIIc en Aceptur.

Ademus deI urcIIvo ejecuLubIe, se debe de proporcIonur dIversus D¡¡'s v oLros urcIIvos u Ios
usuurIos. Se deberiu creur un progrumu de InsLuIucIón que InsLuIe Iu upIIcucIón en Iu
compuLudoru deI usuurIo.
Il Asistente puru instulur uplicuciones de VIsuuI BusIc Iuce sencIIIu Iu Lureu de creur
dIscos o unu curpeLu de dIsLrIbucIón puru unu upIIcucIón. ¡os usuurIos pueden Iuego ejecuLur eI
progrumu de InsLuIucIón en sus compuLudorus puru InsLuIur v regIsLrur Ios urcIIvos upropIudos.
Purte ¬: Controles Istúndur Avunzudos
y Acceso u Ðutos
ConLroI Cuudro de ¡IsLu de UnIdudes (DrIve¡IsLBox)
Un conLroI DrIve¡IsLBox permILe uI usuurIo seIeccIonur unu unIdud de dIsco vuIIdu en LIempo
de ejecucIón. ULIIIce esLe conLroI puru mosLrur unu IIsLu de Lodus Ius unIdudes vuIIdus deI
sIsLemu de un usuurIo. Puede creur cuudros de dIuIogo que permILun uI usuurIo ubrIr un urcIIvo
de unu IIsLu de un dIsco en cuuIquIer unIdud dIsponIbIe.
Propiedcdes
DrIve DevueIve o esLubIece Iu unIdud seIeccIonudu en LIempo de ejecucIón. No esLu dIsponIbIe
en LIempo de dIseño.
¡IsL ConLIene Iu IIsLu de conexIones de unIdud eIecLIvus.
¡IsLCounL DevueIve eI número de conexIones con unIdudes de dIsco.
¡IsL¡ndex DevueIve o esLubIece eI indIce deI eIemenLo seIeccIonudo ucLuuImenLe en eI conLroI.
No esLu dIsponIbIe en LIempo de dIseño.
Ete39os
CIunge Ocurre cuundo eI usuurIo seIeccIonu unu nuevu unIdud o cuundo se cumbIu Iu
conIIgurucIón de Iu propIedud DrIve medIunLe códIgo.
ConLroI Cuudro de ¡IsLu de DIrecLorIos (DIr¡IsLBox)
Un conLroI DIr¡IsLBox muesLru dIrecLorIos v ruLus de ucceso en LIempo de ejecucIón. ULIIIce
esLe conLroI puru mosLrur unu IIsLu jerurquIcu de dIrecLorIos. Puede creur cuudros de dIuIogo
que, por ejempIo, permILun u un usuurIo ubrIr un urcIIvo desde unu IIsLu de urcIIvos de Lodos
Ios dIrecLorIos dIsponIbIes.
Propiedcdes
¡IsL ConLIene unu IIsLu de Lodos Ios dIrecLorIos.
¡IsLCounL DevueIve eI número de subdIrecLorIos deI dIrecLorIo ucLuuI.
¡IsL¡ndex ¡ndIcu eI indIce de Iu ruLu de ucceso ucLuuI.
PuLI EI vuIor de Iu propIedud PuLI es unu cudenu que IndIcu unu ruLu de ucceso, como C:\Ob o
C:\WIndows\SvsLem.
Ete39os
CIunge Ocurre cuundo eI usuurIo Iuce dobIe cIIc en un nuevo dIrecLorIo o cuundo se cumbIu Iu
conIIgurucIón de Iu propIedud PuLI medIunLe códIgo.
ConLroI Cuudro de ¡IsLu de ArcIIvos (¡IIe¡IsLBox)
EI conLroI ¡IIe¡IsLBox encuenLru v muesLru Ios urcIIvos deI dIrecLorIo especIIIcudo por Iu
propIedud PuLI en LIempo de ejecucIón. ULIIIce esLe conLroI puru mosLrur unu IIsLu de Ios
urcIIvos seIeccIonudos por LIpo. Puede creur cuudros de dIuIogo en Iu upIIcucIón que, por
ejempIo, permILun uI usuurIo seIeccIonur un urcIIvo o un grupo de urcIIvos.
Propiedcdes
¡IIeNume DevueIve o esLubIece eI nombre de un urcIIvo seIeccIonudo.
¡IsL ConLIene unu IIsLu con Ios urcIIvos deI dIrecLorIo expundIdo ucLuuImenLe que coIncIden
con Iu propIedud PuLLern. No se IncIuve Iu ruLu de ucceso.
¡IsLCounL DevueIve eI número de urcIIvos deI dIrecLorIo ucLuuI que coIncIden con eI vuIor de Iu
propIedud PuLLern.
¡IsL¡ndex DevueIve o esLubIece eI indIce deI eIemenLo seIeccIonudo ucLuuImenLe.
PuLI EI vuIor de Iu propIedud PuLI es unu cudenu que IndIcu unu ruLu de ucceso, como C:\Ob o
C:\WIndows\SvsLem.
PuLLern DevueIve o esLubIece un vuIor que IndIcu Ios nombres de urcIIvo mosLrudos en un
conLroI ¡IIe¡IsLBox en LIempo de ejecucIón.
Ete39os
CIIck Ocurre cuundo eI usuurIo presIonu v sueILu un boLón deI ruLón en un conLroI ¡IIe¡IsLBox.
ConLroI ¡mugen (¡muge)
EI conLroI ¡muge se uLIIIzu puru mosLrur un gruIIco. Un conLroI ¡muge puede mosLrur un gruIIco
desde un mupu de bILs, un Icono o un meLurcIIvo, usi como un meLurcIIvo mejorudo, un
urcIIvo JPEG o urcIIvos G¡¡.
Propiedcdes
PIcLure DevueIve o esLubIece un gruIIco que se mosLruru en eI conLroI. TumbIén se Ie puede
usIgnur un gruIIco devueILo por Iu IuncIón ¡oudPIcLure.
SLreLcI TrueJ¡uIse. DevueIve o esLubIece un vuIor que IndIcu sI un gruIIco cumbIu su Lumuño
puru ujusLurse uI de un conLroI ¡muge.
Comentorios
El co39rol 1moge u9ilizc me3os recursos del sis9emc u cc9uclizc co3 mEs rcpidez que u3
co39rol !ictureBox, pero sólo cdmi9e u3 subco3ju39o de lcs propiedcdes, los ete39os u los
me9odos de !ictureBox. Use lc propiedcd S9re9ch pcrc de9ermi3cr si el rE[ico se escclc
pcrc cjus9crse cl co39rol o ticetersc. Au3que puede coloccr u3 co39rol 1moge de39ro de u3
co39e3edor, u3 co39rol 1moge 3o puede cc9ucr como co39e3edor.
Ionción LoudPictore()
Curgu un gruIIco en un objeLo PIcLure, un conLroI PIcLureBox o un conLroI ¡muge.
Iormuto:
¡oudPIcLure(NombreDeArchitoGrE[ico)
TumbIén se puede usur Iu IuncIón LoudPictore() puru usIgnur un Icono u un IormuIurIo o uI
punLero deI ruLón mosLrudo en punLuIIu.
Ijemplos de lu Ionción LoudPictore():
'EsLubIece eI Icono deI IormuIurIo
SeL ¡orm1.¡con = ¡oudPIcLure("M¡¡CONO.¡CO")
'EsLubIece eI punLero deI ruLón
Screen.Mouse¡con = ¡oudPIcLure("M¡¡CONO.¡CO")
Screen.MousePoInLer = ¤¤
Creución de on visor de imúuenes

Il códiuo puru los controles es el siuoiente:

Control Temporizudor (Timer)
Un conLroI Timer puede ejecuLur códIgo u InLervuIos perIódIcos producIendo un evenLo TImer.
EI conLroI Timer, InvIsIbIe puru eI usuurIo, resuILu úLII puru eI procesumIenLo de Iondo. No
exIsLe nIngún IimILe prucLIco en cuunLo uI número de conLroIes Timer ucLIvos que se puede
Lener en VIsuuI BusIc =.o ejecuLundose en WIndows ¤= o en WIndows NT.
Propiedcdes
EnubIed TrueJ¡uIse. AcLIvu o desucLIvu eI conLroI. SI se desucLIvu eI conLroI Timer,
esLubIecIendo EnubIed u ¡uIse, se cunceIuru Iu cuenLu uLrus esLubIecIdu por Iu propIedud
¡nLervuI deI conLroI.
¡nLervuI DevueIve o esLubIece eI número de mIIIsegundos enLre Ius IIumudus uI evenLo TImer de
un conLroI Timer. ¡os vuIores udmILIdos puru mIIIsegundos son o, que desucLIvu eI conLroI
Timer, o de 1 u 6==¤=. EI muxImo, 6==¤= mIIIsegundos, equIvuIe u poco mus de un mInuLo.
Ete39os
TImer Ocurre cuundo Iu LrunscurrIdo un InLervuIo preesLubIecIdo puru eI conLroI Timer.
Ijemplo de oso del control Timer

Minimizu el Iormolurio y uctivu el control temporizudor Timer1
PrIvuLe Sub cmdEsLubIecer_CIIck()
¡orm1.WIndowSLuLe = 1
TImer1.EnubIed = True
End Sub
Terminu lu ejecoción de lu uplicución
PrIvuLe Sub cmdSuIIr_CIIck()
End
End Sub
Compuru lu horu uctoul con lu horu inuresudu en el coudro txtHoru cudu seuondo
y moestru el mensuje estublecido en cuso de qoe seun iuoules, desuctivu el control
temporizudor y restuoru lu ventunu u so tumuño normul.

Lso del control Ðutu
En VIsuuI BusIc puede uLIIIzur eI conLroI Ðutu puru creur upIIcucIones de buses de duLos puru
unu grun vurIedud de IormuLos de buse de duLos. EI conLroI Ðutu InLerucLúu con eI moLor de
buse de duLos MIcrosoIL JeL v permILe creur upIIcucIones prepurudus puru duLos con Iu minImu
cunLIdud de códIgo posIbIe.
Vistu Generul del Acceso u Ðutos
AnLes de Lrubujur con Iu IuncIonuIIdud de buse de duLos desde VIsuuI BusIc, se debe enLender Ius
cupucIdudes de ucceso u duLos, usi como, Iu LermInoIogiu empIeudu.
pciones de Acceso u Ðutos en Visoul Busic
EsLu purLe deI curso enumeru Ius dIversus opcIones que VIsuuI BusIc proporcIonu puru ucceder u
duLos.
Uso del Mo9or de ßcse de Dc9os Microso[9 1e9
¡os objeLos de ucceso u duLos - DuLu Access ObjecLs (ÐA) v eI conLroI Ðutu usun eI moLor de
buse de duLos MIcrosoIL JeL puru ucceder u buses de duLos. EI moLor de buse de duLos JeL puede
ucceder u Ios sIguIenLes ¤ LIpos de buses de duLos.
O Buses de dutos Jet
EsLus buses de duLos son creudus v munIpuIudus dIrecLumenLe por eI moLor JeL. MIcrosoIL
Access v VIsuuI BusIc empIeun eI mIsmo moLor de buse de duLos JeL.
O Buses de dutos de Método de Acceso $ecoenciul Indexudo (I$AM)
¡os IormuLos de esLus buses de duLos IncIuven BLrIeve, dBuse, MIcrosoIL VIsuuI ¡oxPro, v
Purudox.
O Buses de dutos computibles con ÐBC (pen ÐutuBuse Connectivity -
Conectividud Abiertu de Buse de Ðutos)
EsLus buses de duLos IncIuven Ius buses de duLos cIIenLeJservIdor que conIormun eI esLundur
ODBC, LuI como MIcrosoIL SQ¡ Server. ¡u muvoriu de buses de duLos que soporLun ODBC
pueden ser uccedIdus empIeundo VIsuuI BusIc.
D9ros me9odos de Acceso c Dc9os
¡os oLros méLodos de ucceso u duLos soporLudos por VIsuuI BusIc IncIuven:
O Il control riuen de Ðutos Remoto (Remote Ðutu $oorce)
EsLe es un conLroI que empIeu ODBC puru ucceder u buses de duLos ODBC LuIes como MIcrosoIL
SQ¡ Server v OrucIe. EI conLroI riuen de Ðutos Remoto sóIo esLu dIsponIbIe en Iu edIcIón
EmpresurIuI de VIsuuI BusIc.
O Librerius ÐBC
EsLus IIbrerius permILen que se IIume u Iu InLerIuce de progrumucIón de upIIcucIones (AP¡) de
ODBC dIrecLumenLe v esLun dIsponIbIes como un producLo sepurudo.
O Librerius $QL de Visoul Busic
EsLus IIbrerius proporcIonun un enIuce dIrecLo u MIcrosoIL SQ¡ Server, v esLun dIsponIbIes
como un producLo sepurudo.
EnLendIendo Ios ConcepLos BusIcos ucercu de Ius Buses de DuLos
¡u muvoriu de sIsLemus de buses de duLos empIeun eI modeIo de buse de duLos reIucIonuI. EsLe
modeIo presenLu Ios duLos como unu coIeccIón de LubIus. Unu LubIu es un grupo IógIco de
InIormucIón reIucIonudu. Por ejempIo, Iu buse de duLos NepLuno conLIene unu LubIu que
uImucenu u Ios empIeudos, v oLru uImucenu Ios pedIdos de unu compuñiu IIcLIcIu.
¡u buse de duLos NepLuno.mdb es unu buse de duLos de ejempIo IncIuIdu con MIcrosoIL Access.

Ilementos de onu Tublu
¡u buse de duLos NepLuno conLIene un número de LubIus que ugrupun Iu InIormucIón. EsLus
LubIus IncIuven PedIdos, CIIenLes, v EmpIeudos.
En unu buse de duLos JeL, Ius IIIus de Iu LubIu son denomInudus regIsLros, v Ius coIumnus
cumpos.

Lc Clcte Pri3cipcl
Cudu LubIu debe de Lener unu cIuve prIncIpuI, que es un cumpo (o unu combInucIón de cumpos)
que es únIco puru cudu regIsLro en Iu LubIu. Por ejempIo, eI cumpo ¡dEmpIeudo es Iu cIuve
prIncIpuI puru Iu LubIu EmpIeudos.
Unu LubIu puede LumbIén Lener cIuves Ioruneus, que son cumpos que Iucen reIerencIu u unu
cIuve prIncIpuI de oLru LubIu. Por ejempIo, en Iu buse de duLos NepLuno, Iu LubIu PedIdos LIene
un cumpo IIumudo ¡dCIIenLe. EsLe cumpo es unu cIuve Ioruneu porque Iuce reIerencIu u un
cIIenLe de Iu LubIu CIIenLes. En vez de dupIIcur Lodu Iu InIormucIón deI cIIenLe por cudu pedIdo,
sóIo se Ingresu Iu cIuve prIncIpuI deI cIIenLe u quIen perLenece eI pedIdo, como Iu cIuve prIncIpuI
es únIcu por cudu cIIenLe, Iuv un soIo cIIenLe por cudu pedIdo, v un cIIenLe puede Lener mucIos
pedIdos. En LérmInos de unu buse de duLos, Iu reIucIón enLre Iu LubIu CIIenLes v Iu LubIu PedIdos
es unu reIucIón deI LIpo uno-u-vurIos.
Reis9ros
Un regIsLro conLIene InIormucIón ucercu de un soIo Ingreso en unu LubIu. GeneruImenLe, no se
deseu que dos regIsLros en unu LubIu Lengun Ios mIsmos duLos. Por ejempIo, un regIsLro en Iu
LubIu EmpIeudos conLIene InIormucIón ucercu de un únIco empIeudo.
Ccmpos
Cudu cumpo en unu LubIu conLIene unu purLe de Iu InIormucIón. Por ejempIo, Iu LubIu
EmpIeudos IncIuve cumpos puru eI ¡d deI empIeudo, ApeIIIdos, Nombre, eLc.
3dices
¡os indIces de unu LubIu de unu buse de duLos son IIsLus ordenudus que son mus rupIdus puru Ius
búsquedus que Ius LubIus en si. Puru IubIIILur un ucceso mus rupIdo u unu buse de duLos, Iu
muvoriu de buses de duLos empIeun uno o mus indIces. Por ejempIo, Iu LubIu EmpIeudos LIene
un indIce puru Iu coIumnu ¡dEmpIeudo.
Trubujundo con el Control Ðutu
EI conLroI Ðutu de VIsuuI BusIc permILe escrIbIr upIIcucIones de buses de duLos muv eIIcuces
con muv poco códIgo.
En esLu purLe se uprenderu u generur upIIcucIones de buses de duLos con eI conLroI Ðutu v eI
objeLo Recordset usocIudo. TumbIén se uprenderu como eI AsIsLenLe puru ¡ormuIurIos de
DuLos puede consLruIr unu upIIcucIón que IncIuve eI conLroI Ðutu.
Tener Acceso u Ðutos con el Control Ðutu
EI conLroI Ðutu ImpIemenLu eI ucceso u duLos medIunLe eI moLor de buse de duLos MIcrosoIL
JeL. EsLu LecnoIogiu proporcIonu ucceso u mucIos IormuLos de buse de duLos v permILe creur
upIIcucIones que munejun duLos sIn necesIdud de escrIbIr códIgo.
Puru creur unu upIIcucIón de buse de duLos que empIee eI conLroI Ðutu, se sIguen Ios sIguIenLes
pusos:
1. AñudIr eI conLroI Ðutu uI IormuIurIo v esLubIecer Ius propIedudes puru especIIIcur Iu buse
de duLos v Iu LubIu desde Iu cuuI se obLendrun Ios duLos.
z. AñudIr conLroIes enIuzudos u duLos uI IormuIurIo, v esLubIecer Ius propIedudes puru
enIuzur Ios conLroIes uI conLroI Ðutu puru que Ios duLos puedun ser mosLrudos.
Uso de ConLroIes EnIuzudos u DuLos
Cuundo un conLroI que Iu coIocudo en un IormuIurIo se enIuzu u duLos, se muesLrun
uuLomuLIcumenLe Ios duLos de Iu buse de duLos en eI conLroI enIuzudo. SI un usuurIo cumbIu Ios
duLos de un conLroI enIuzudo, dIcIos cumbIos se ucLuuIIzurun uuLomuLIcumenLe en Iu buse de
duLos en cuunLo eI usuurIo se despIuce u oLro regIsLro. MucIos conLroIes InLrinsecos o esLundur
de VIsuuI BusIc permILen ser enIuzudos u duLos, como es eI cuso de Ios conLroIes CheckBox,
Imuue, Lubel, PictoreBox, TextBox, ListBox, ComboBox v Ios contenedores LI.
¡u sIguIenLe IIusLrucIón es un ejempIo de un IormuIurIo que conLIene un conLroI Ðutu v dos
conLroIes enIuzudos.

Istublecer lus Propiedudes del Control Ðutu
¡os sIguIenLes pusos descrIben como conecLur un conLroI Ðutu u unu buse de duLos.
1. EspecIIIcur Ius buse de duLos u Iu cuuI se quIere ucceder esLubIecIendo Iu propIedud
ÐutubuseNume uI nombre de Iu buse de duLos.
z. Puru especIIIcur que regIsLros recuperur, esLubIecer Iu propIedud Record$oorce uI
nombre de Iu LubIu denLro de Iu buse de duLos, o u unu cudenu SQ¡.
Noto: Pcrc ccceder c u3c bcse de dc9os dßcse, Pcrcdox, o ß9riete, se debe es9cblecer lc
propiedcd DotoboseNome c lc ccrpe9c que co39ie3e los crchitos de lc bcse de dc9os, u lc
propiedcd Connect cl 9ipo cpropicdo de bcse de dc9os.
Inluzur Controles
Después de esLubIecer Ios vuIores de Ius propIedudes puru eI conLroI Ðutu, es necesurIo enIuzur
uI conLroI Ðutu conLroIes IndIvIduuIes v después especIIIcur qué cumpo de Iu LubIu mosLruru
cudu conLroI.
1. En LIempo de dIseño, esLubIecer Iu propIedud Ðutu$oorce deI conLroI enIuzudo u duLos
uI conLroI Ðutu.
z. En LIempo de dIseño o en LIempo de ejecucIón, especIIIcur que cumpo se deseu mosLrur en
eI conLroI enIuzudo esLubIecIendo Iu propIedud ÐutuIield.
¡u propIedud ÐutuIield puede ser esLubIecIdu en LIempo de dIseño o en LIempo de ejecucIón.
Usur Ius PropIedudes v MéLodos deI ConLroI DuLu
Puru especIIIcur Ios duLos que se deseun recuperur, se debe esLubIecer Ius propIedudes
ÐutubuseNume v Record$oorce de un conLroI Ðutu. Ademus, se pueden esLubIecer Ius
sIguIenLes propIedudes v méLodos.
Lc Propiedcd Co33ec9
EsLu propIedud especIIIcu eI LIpo de buse de duLos u ubrIr. Puede IncIuIr urgumenLos LuIes como
un nombre de usuurIo (user ¡D) v unu conLruseñu.
Lc Propiedcd Exclusite
¡u propIedud Ixclosive deLermInu sI se LIene o no un uso excIusIvo de Iu buse de duLos. SI esLu
propIedud se esLubIece u Troe, v Iuego se ubre sIn probIemus Iu buse de duLos, nIngunu oLru
upIIcucIón podru ubrIrIu IusLu que seu cerrudu.
Lc Propiedcd RecdD3lu
EsLu propIedud deLermInu sI se puede o no ucLuuIIzur o grubur cumbIos en Iu buse de duLos. SI
no se LIene pIuneudo Iucer cumbIos en Iu buse de duLos, es mus eIIcIenLe esLubIecer Iu propIedud
Reudnly u Troe.
Lc Propiedcd Recordse9
¡u propIedud Recordset es un objeLo que conLIene eI conjunLo de regIsLros devueILos por eI
conLroI Ðutu. EsLu propIedud conLIene u su vez propIedudes v méLodos que pueden ser usudos
puru Lrubujur con Ios regIsLros devueILos.
Lcs Propiedcdes ßDIAc9io3 u EDIAc9io3
EsLus propIedudes deLermInun que uccIón Lomuru eI conLroI Ðutu cuundo Ius propIedudes BI
o II deI recordseL Lomen como vuIor Troe.
Por ejempIo, sI Iu propIedud IIAction deI conLroI Ðutu es esLubIecIdu u vbAcLIonAddNew, v
se empIeu eI conLroI Ðutu puru despIuzurse, unu vez que se puse eI úILImo regIsLro, eI conLroI
Ðutu uuLomuLIcumenLe ejecuLuru eI méLodo AddNew de modo que se puedu uñudIr un nuevo
regIsLro.
El Me9odo Re[resh
EI méLodo ReIresh renuevu eI objeLo Recordset. SI se cumbIu Iu propIedud Record$oorce
en LIempo de ejecucIón, se debe Invocur uI méLodo ReIresh puru renovur eI recordseL.
EI sIguIenLe códIgo muesLru como empIeur eI méLodo ReIresh.
DuLu1.RecordSource = "SE¡ECT ¯ ¡ROM EmpIeudos " & _
"WHERE |¡dEmpIeudo| = " & LxL¡dEmp.TexL
DuLu1.ReIresI
Il bjeto Recordset
En unu upIIcucIón de buse de duLos, Ios usuurIos Lrubujun con eI conLroI Ðutu puru despIuzurse
enLre regIsLros denLro de Iu buse de duLos. ¡os usuurIos pueden Iucer cIIc en Ios boLones deI
conLroI Ðutu puru uvunzur o reLroceder regIsLro u regIsLro o puru Ir dIrecLumenLe uI prImer o uI
úILImo regIsLro.
¿Due es u3 Recordse9?
Todo eI conjunLo de regIsLros uI que Iuce reIerencIu un conLroI Ðutu se denomInu conjunLo de
regIsLros o Recordset. EI Recordset se uImucenu en Iu memorIu, LrunsIIrIéndose uI dIsco sI es
necesurIo.
Puru munIpuIur eI Recordset, se empIeu Iu propIedud Recordset deI conLroI Ðutu. EI
Recordset conLIene eI regIsLro ucLuuI. ¡u InIormucIón deI regIsLro ucLuuI es mosLrudu por Ios
conLroIes enIuzudos. Se puede cumbIur Iu posIcIón deI regIsLro ucLuuI IucIendo cIIc en eI conLroI
Ðutu o escrIbIendo códIgo que empIee méLodos deI objeLo Recordset.
De9ermi3cr los lími9es de u3 Recordse9
SI uLIIIzu códIgo puru cumbIur Iu posIcIón deI regIsLro ucLuuI, debe comprobur Ius propIedudes
II v BI deI objeLo Recordset puru deLermInur eI InIcIo v eI IInuI deI mIsmo. Cuundo se
despIuce uI regIsLro II o uI BI, se ejecuLuru Iu uccIón IndIcudu por eI vuIor de Iu propIedud
BIAction o IIAction.
Por ejempIo, se puede esLubIecer Iu propIedud IIAction puru uñudIr un nuevo regIsLro
uuLomuLIcumenLe. SI se esLubIece Iu propIedud IIAction u II, nIngunu uccIón seru
Lomudu cuundo se despIuce uI regIsLro II. Cuundo se despIuce pusundo un regIsLro Ios
regIsLros BI o II, se producIru un error en LIempo de ejecucIón.
En Iu sIguIenLe IIusLrucIón se muesLru cómo Ius propIedudes BI v II deLermInun Ios
IimILes deI objeLo Recordset.

Puru empIeur eI objeLo Recordset de un conLroI Ðutu deLermInudo, se debe especIIIcur Iu
propIedud Recordset deI conLroI DuLu, como se muesLru en eI sIguIenLe códIgo.
DuLu1.RecordseL.MoveNexL 'Mueve eI regIsLro ucLuuI uI sIguIenLe
¡I DuLu1.RecordseL.EO¡ TIen
DuLu1.RecordseL.Move¡usL
Uso de Ius PropIedudes v MéLodos de un RecordseL
ULIIIce Ios méLodos v Ius propIedudes deI objeLo Recordset puru recuperur InIormucIón deI
conjunLo de regIsLros, despIuzurse por Ios regIsLros v ugregur, ucLuuIIzur o eIImInur regIsLros.
Lcs Propiedcdes ßDI u EDI
¡us propIedudes BI v II deI objeLo Recordset IndIcun sI Iu posIcIón deI regIsLro ucLuuI es
unLes deI prImer regIsLro o después deI úILImo regIsLro denLro deI conjunLo de regIsLros. SI no
Iuv regIsLros en eI recordseL, enLonces eI vuIor de Ius propIedudes BI v II es Troe.
El Me9odo AddNeu del Recordse9
Puru ugregur un nuevo regIsLro u un recordseL, se empIeu eI méLodo AddNew. Cuundo se
ejecuLu eI méLodo AddNew, VIsuuI BusIc IImpIu Ios conLroIes enIuzudos v esLubIece Iu
propIedud IditMode deI conLroI Ðutu u dbEdILAdd.
EI nuevo regIsLro no seru uñudIdo u Iu buse de duLos IusLu que seu ejecuLudo expIicILumenLe un
méLodo LpduteRecord o Lpdute, o IusLu que eI usuurIo se muevu u oLro regIsLro.
EI sIguIenLe códIgo muesLru como ugregur un nuevo regIsLro u un recordseL.
PrIvuLe Sub cmdAgregur_CIIck()
DuLu1.RecordseL.AddNew
El Me9odo Updc9eRecord del Co39rol Dc9c
EI méLodo LpduteRecord se empIeu puru grubur eI regIsLro ucLuuI u unu buse de duLos. EI
sIguIenLe códIgo muesLru como grubur eI regIsLro ucLuuI v ucLuuIIzur Iu buse de duLos.
PrIvuLe Sub cmdGrubur_CIIck()
DuLu1.UpduLeRecord
El Me9odo Cc3celUpdc9e del Co39rol Dc9c
EI méLodo CuncelLpdute se empIeu puru cunceIur un méLodo AddNew o Idit v renovur o
reIrescur Ios conLroIes enIuzudos con duLos deI recordseL.
Por ejempIo, sI un usuurIo Iu modIIIcudo Ios cumpos de un IormuIurIo, pero Loduviu no Ios Iu
ucLuuIIzudo, eI méLodo CuncelLpdute reIrescuru Ios cumpos con Ios duLos orIgInuIes deI
recordseL.
SI un usuurIo seIeccIonu un boLón Aureuur de un IormuIurIo, v Iuego decIde no ugregur eI
regIsLro, eI méLodo CuncelLpdute cunceIuru Iu operucIón v vIsuuIIzuru eI regIsLro ucLuuI.
EI sIguIenLe códIgo muesLru como cunceIur Iu ugregucIón o edIcIón de un regIsLro.
PrIvuLe Sub cmdCunceIur_CIIck()
DuLu1.CunceIUpduLe
El Me9odo Dele9e del Recordse9
Puru eIImInur un regIsLro de unu buse de duLos, se empIeu eI méLodo Ðelete. EI regIsLro
eIImInudo permuneceru como eI regIsLro ucLuuI IusLu que eI usuurIo se muevu u un regIsLro
dIIerenLe, como se muesLru en eI sIguIenLe códIgo.
PrIvuLe Sub cmdEIImInur_CIIck()
DuLu1.RecordseL.DeIeLe
DuLu1.RecordseL.MoveNexL
¡I DuLu1.RecordseL.EO¡ TIen
DuLu1.RecordseL.Move¡usL
End ¡I
End Sub
Noto: Lc bcse de dc9os Nep9u3o 9ie3e de[i3idcs relcs de i39eridcd re[ere3cicl que impide3
elimi3cr reis9ros relccio3cdos.
Lso del Asistente puru Iormolurios de Ðutos
EI AsIsLenLe puru ¡ormuIurIos de DuLos es unu uLIIIdud de VIsuuI BusIc que generu IormuIurIos
de duLos sImpIes que empIeun eI conLroI Ðutu. Se puede empIeur eI AsIsLenLe puru ¡ormuIurIos
de DuLos puru consLruIr rupIdumenLe IormuIurIos puru unu upIIcucIón de buse de duLos.
Puru curgur eI AsIsLenLe puru ¡ormuIurIos de DuLos, se empIeu Iu orden Administrudor de
Complementos deI menú Complementos.
Lso de los Iventos del Control Ðutu
EI conLroI Ðutu proporcIonu Lres evenLos que puede uLIIIzur puru mejorur Iu upIIcucIón de buse
de duLos: VuIIduLe, Error v ReposILIon. DIcIos evenLos permILen omILIr purLe deI
comporLumIenLo predeLermInudo deI conLroI Ðutu.
Uscr el Ete39o Vclidc9e
ULIIIce eI evenLo VuIIduLe puru comprobur Ios duLos unLes de guurdur un regIsLro en Iu buse de
duLos. EsLe evenLo se produce jusLo unLes de que VIsuuI BusIc escrIbu en Iu buse de duLos Ios
cumbIos procedenLes de Ios conLroIes enIuzudos v de que vueIvu u coIocur eI punLero deI
regIsLro ucLuuI en oLro regIsLro de Iu buse de duLos. Puede uLIIIzur eI evenLo VuIIduLe puru pedIr
uI usuurIo que conIIrme Ios cumbIos reuIIzudos.
Sintoxis
EI evenLo VuIIduLe LIene Iu sIguIenLe sInLuxIs:
Privute $ob Ðutu1_Vulidute (i3dex As Inteuer, cc9io3 As Inteuer, scte As Inteuer)
El Argumento Action
EI urgumenLo cc9io3 IndIcu Iu operucIón que provocó eI evenLo VuIIduLe. EI evenLo VuIIduLe se
produce como resuILudo de reuIIzur Ius operucIones sIguIenLes:
O MoveIirst, MovePrevioos, MoveNext, MoveLust
O AddNew
O Lpdute
O Ðelete
O Iind
O EsLubIecer Iu propIedud Bookmurk
O Cerrur Iu buse de duLos
O Descurgur eI IormuIurIo
Puru cunceIur cuuIquIeru de esLus uccIones, usIgne uI urgumenLo cc9io3 eI vuIor
vbDuLuAcLIonCuncel.
El Argumento Sooe
EI urgumenLo scte IndIcu sI vu u guurdurse o no eI regIsLro. SI scte es Troe, Ios duLos
enIuzudos Iun cumbIudo. Puru cunceIur Iu uccIón de guurdur puede usIgnur u scte eI vuIor
Iulse.
EI sIguIenLe códIgo pIde uI usuurIo que conIIrme Ios cumbIos IecIos u Iu buse de duLos. SI eI
usuurIo responde No, Ios cumbIos serun cunceIudos.

Uscr el Ete39o Reposi9io3
ULIIIce eI evenLo ReposILIon puru modIIIcur Iu upurIencIu de un IormuIurIo o reuIIzur unu uccIón
necesurIu cuundo se despIuce u un nuevo regIsLro.
EsLe evenLo LIene Iugur cuundo VIsuuI BusIc despIuzu eI punLero deI regIsLro ucLuuI u oLro
regIsLro de Iu buse de duLos. TumbIén se produce Iu prImeru vez que se ubre Iu buse de duLos.
odi[icor lo oporiencio de un [ormulorio
Puru cumbIur Iu muneru en que un IormuIurIo muesLru InIormucIón busundose en eI regIsLro
seIeccIonudo en ese momenLo Iuv que uLIIIzur eI evenLo ReposILIon. Por ejempIo, puede
modIIIcur eI LiLuIo deI conLroI Ðutu de Iormu que se muesLre eI regIsLro número 3.
Puru ver eI número deI regIsLro ucLuuI, uLIIIce Iu propIedud AbsolotePosition deI objeLo
Recordset. EI número de regIsLro es reIuLIvo u cero, por Io que eI prImer regIsLro es eI o.
EI sIguIenLe códIgo muesLru como vIsuuIIzur eI número deI regIsLro ucLuuI.
PrIvuLe Sub DuLu1_ReposILIon()
DuLu1.CupLIon = "RegIsLro Nº" & DuLu1.RecordseL.AbsoIuLePosILIon + 1
End Sub
%rotor los combios ol desplozorse o un nueoo registro
Cuundo un usuurIo se despIuzu u un nuevo regIsLro medIunLe eI conLroI Ðutu, puede que Ios
duLos deI IormuIurIo Lengun que presenLurse de unu Iormu dIsLInLu en eI cuso deI nuevo
regIsLro.
Por ejempIo, es posIbIe que en un IormuIurIo que muesLre regIsLros de empIeudos Iuvu
dIsLInLus opcIones dependIendo de si Ios empIeudos son IIjos, LemporuIes o sI Lrubujun por
Iorus. Cudu regIsLro mosLruru Iu InIormucIón sobre un empIeudo dIsLInLo, cuvus opcIones
pueden no ser Ius mIsmus puru Lodos Ios regIsLros. Puru que se seIeccIone Iu opcIón correcLu
puru cudu regIsLro, escrIbu códIgo en eI evenLo ReposILIon.
EI códIgo sIguIenLe uLIIIzu eI evenLo ReposILIon puru modIIIcur Iu upurIencIu de un IormuIurIo.

EsLu IIusLrucIón muesLru eI IormuIurIo busudo en eI códIgo unLerIor.

Uscr el Ete39o Error
EI evenLo Error LIene Iugur cuundo un usuurIo InLerucLúu con eI conLroI Ðutu v se produce un
error de ucceso u duLos. ULIIIce eI evenLo Error puru ugregur LruLumIenLo de errores
personuIIzudo uI conLroI Ðutu.
Por ejempIo, sI un usuurIo modIIIcu un cumpo v después Iuce cIIc en eI conLroI Ðutu puru
despIuzurse uI sIguIenLe regIsLro, eI conLroI Ðutu ucLuuIIzuru eI regIsLro ucLuuI. SI se produce un
error de ucceso u duLos durunLe Iu ucLuuIIzucIón, se producIru eI evenLo Error.
¡os vuIores de Ios cumpos enIuzudos no cumbIun Lrus producIrse un error. EI usuurIo puede
corregIr Ios vuIores v Iucer cIIc en eI conLroI Ðutu puru LruLur de ucLuuIIzur nuevumenLe eI
regIsLro.
ostror un mensoje de error personolizodo
SI no coIocu códIgo puru LruLur errores en eI evenLo Error v se produce un error cuundo un
usuurIo InLerucLúu con eI conLroI Ðutu, VIsuuI BusIc muesLru eI mensuje de error v eI progrumu
conLInúu ejecuLundose.
SI no deseu que se muesLre eI mensuje de error esLundur, puede usIgnur uI urgumenLo Response
eI vuIor o v mosLrur un mensuje de error personuIIzudo como se muesLru en eI sIguIenLe códIgo.

Lso de Controles Inluzudos u Ðutos ActiveX
Ademus de Ios conLroIes enIuzudos InLrinsecos, VIsuuI BusIc oIrece vurIos controles ActiveX
enIuzudos u duLos. En esLu purLe deI curso se descrIben uIgunos conLroIes AcLIveX enIuzudos u
duLos uvunzudos.
Uscr el Co39rol DßGrid
EI conLroI de cuudricuIu enIuzudu u duLos (conLroI ÐBGrid) permILe que Ios usuurIos de su
upIIcucIón de buse de duLos Lrubujen con vurIos regIsLros u Iu vez.
ostror múltiples registros
ÐBGrid es un conLroI AcLIveX que muesLru unu serIe de IIIus v coIumnus que represenLun
regIsLros v cumpos de un objeLo Recordset. Cuundo usIgne u Iu propIedud Ðutu$oorce deI
conLroI ÐBGrid un conLroI Ðutu, eI conLroI ÐBGrid se IIenuru uuLomuLIcumenLe de duLos v se
esLubIecerun uuLomuLIcumenLe sus encubezudos de coIumnu u purLIr deI conjunLo de regIsLros
deI conLroI Ðutu.
AI conLrurIo que Iu muvoriu de Ios conLroIes enIuzudos u duLos, eI conLroI ÐBGrid Ie permILe
ver v modIIIcur vurIos regIsLros sImuILuneumenLe.
En Iu sIguIenLe IIusLrucIón se muesLru un IormuIurIo que uLIIIzu un conLroI ÐBGrid puru
presenLur regIsLros procedenLes de Iu buse de duLos NepLuno.

O Puru uñudir el control ÐBGrid u on proyecto
1. Hucer cIIc en Iu orden Componentes deI menú Proyecto.
z. En Iu IIcIu Controles, seIeccIonur MicrosoIt Ðutu Boond Grid Control, v Iuego
Iucer cIIc en Aceptur.
EI conLroI ÐBGrid LIene vurIus propIedudes que especIIIcun cómo se comporLu eI conLroI. Por
ejempIo, sI usIgnu u Iu propIedud AllowLpdute eI vuIor Troe, un usuurIo puede modIIIcur Ios
duLos deI conLroI. TumbIén puede esLubIecer propIedudes puru coIumnus IndIvIduuIes deI
conLroI ÐBGrid.
Puede cumbIur eI LiLuIo de Iu coIumnu, cumbIur eI cumpo de duLos uI que se enIuzu Iu coIumnu,
ugregur vuIores predeLermInudos, eLc.
O Puru estublecer propiedudes de colomnus
1. OprImu eI boLón secundurIo deI ruLón sobre eI conLroI ÐBGrid.
z. Hugu cIIc en Iu orden Propiedudes.
¤. Hugu cIIc en Colomnus.
Puede cumbIur eI LiLuIo de Iu coIumnu, cumbIur eI cumpo de duLos uI que se enIuzu Iu coIumnu,
ugregur vuIores predeLermInudos, eLc.
Puru esLubIecer Ios encubezudos de Ius coIumnus deI conLroI ÐBGrid, Iuego de IuberIo
enIuzudo u un conLroI Ðutu, oprImu eI boLón secundurIo deI ruLón sobre eI conLroI en LIempo de
dIseño, v Iuego Iugu cIIc en Iu orden Recoperur cumpos.
btener g estoblecer el texto de lo celdo octuol
ULIIIce Iu coIeccIón Colomns deI conLroI ÐBGrid puru recuperur eI LexLo de Iu ceIdu
seIeccIonudu ucLuuImenLe en LIempo de ejecucIón. Por ejempIo:
MsgBox DBGrId1.CoIumns(DBGrId1.CoI).TexL
Puru cumbIur Iu InIormucIón deI conLroI DBGrId, cumbIe eI objeLo RecordseL usocIudo. Por
ejempIo, sI eI conLroI ÐBGrid esLu enIuzudo uI recordseL DuLu1, se ejecuLuriu eI sIguIenLe
códIgo:
DuLu1.RecordseL.EdIL
DuLu1.RecordseL.¡IeIds("NombreProducLo") = "DIsco duro"
DuLu1.RecordseL.UpduLe
Usor el eoento Be[oreUpdote
EI evenLo BeIoreUpduLe LIene Iugur unLes de que se muevun duLos desde un conLroI ÐBGrid uI
búIer de copIu deI conLroI Ðutu. Puede vuIIdur Ios duLos v cunceIur Iu ucLuuIIzucIón sI es
necesurIo.
Uscr el Co39rol MSIlexGrid
EI conLroI M$IlexGrid proporcIonu curucLerisLIcus uvunzudus puru Iu presenLucIón de duLos
en unu cuudricuIu. Es sImIIur uI conLroI ÐBGrid uunque, cuundo se enIuzu u un conLroI Ðutu,
eI conLroI M$IlexGrid muesLru duLos de sóIo IecLuru. Puede uLIIIzur eI conLroI M$IlexGrid
puru combInur IIIus o coIumnus de InIormucIón v usi ugrupur Iu InIormucIón reIucIonudu.
En Iu sIguIenLe IIusLrucIón se muesLrun regIsLros ugrupudos por ¡d. de pedIdo en Iu LubIu
DeLuIIes de pedIdos.

O Puru combinur celdus
1. EsLubIezcu Iu propIedud MerueCells u un vuIor dIIerenLe u cero.
z. EsLubIezcu Ius propIedudes urregIo MerueRow() v MerueCol() u Troe puru Ius IIIus v
coIumnus que desee combInur.
Por ejempIo, puru combInur Ius ceIdus en Iu LubIu DeLuIIes de pedIdos, uñudu eI sIguIenLe códIgo
uI IormuIurIo donde se encuenLru eI conLroI M$IlexGrid.
PrIvuLe Sub ¡orm_¡oud()
MS¡IexGrId1.MergeCeIIs = IIexMerge¡ree
MS¡IexGrId1.MergeCoI(o) = True
End Sub
Uscr el Co39rol DßCombo
Puede uLIIIzur eI conLroI de cuudro de IIsLu enIuzudo u duLos (ÐBList) o eI cuudro combInudo
enIuzudo u duLos (ÐBCombo) puru presenLur uuLomuLIcumenLe unu IIsLu de vuIores de un
RecordseL. EsLo resuILu úLII puru proporcIonur vuIores vuIIdos uI usuurIo.
btener in[ormoción de uno toblo de búsquedo
TumbIén puede uLIIIzur esLos conLroIes en upIIcucIones de "LubIu de búsquedu".
Por ejempIo, puede presenLur unu IIsLu de nombres de cuLegoriu vuIIdos (en vez de ¡d.) v uLIIIzur
eI ¡d. correspondIenLe cuundo eI usuurIo ugregue o modIIIque duLos.
¡u IIusLrucIón sIguIenLe muesLru un IormuIurIo que uLIIIzu eI conLroI ÐBCombo puru presenLur
nombres de cuLegorius de Iu LubIu ProducLos.

Estoblecer propiedodes del control DBCombo
Puru deLermInur eI vuIor que se presenLu en eI conLroI ÐBCombo, usIgne u Iu propIedud
Row$oorce un nombre de conLroI Ðutu v u Iu propIedud ListIield un nombre de cumpo.
EI cuudro combInudo enIuzudo u duLos conLIene Lodos Ios vuIores de ese cumpo. Puru
deLermInur qué cumpo de Iu buse de duLos se ucLuuIIzu cuundo un usuurIo cumbIu un vuIor,
esLubIezcu Ius propIedudes Ðutu$oorce v ÐutuIield. Puru esLubIecer Iu reIucIón enLre Iu LubIu
que conLIene Ios vuIores de búsquedu v Iu LubIu que se esLu modIIIcundo reuImenLe, esLubIezcu
Iu propIedud BoondColomn.

Juime swuldo Montoyu Gozmún

¡ugur v IecIu de nucImIenLo: Sun SuIvudor, 16 de juIIo de 1¤86.
CenLro de esLudIos: UnIversIdud CuLóIIcu de OccIdenLe
ILLp:JJwww.unIco.edu.sv
Curreru: ¡ngenIeriu en SIsLemus ¡nIormuLIcos.
CIudud: SunLu Anu.
Puis: EI SuIvudor.
¡ecIu de envio deI Lrubujo: z¤ de ocLubre de zoo=.

,7E6:001472:,74804.:90402F94/4$46:0,7E6:001472:,7480;:0;,, 24897,7  ;03948 &30;039408:3,,..O36:00870.434./,54704-094 &30;03944.:770 80/85,7, .424 708:9,/4/0,3907,..O3/0:8:,74.4304-094 %,2-F35:0/0/85,7,780/0-/4,, 00.:.O3/0.O/4 803903.,8 4.424708:9,/4/0,3907,..O3/049744-094.4304-094 /054800/47/00;0394 !,7,:31472:,7490302485470025400;03944,/6:080 /85,7,.:,3/480.,7,01472:,74400;0394.5,7,:3-49O3/0.42,3/4 80/85,7, .:,3/480,.0..84-70F  ":F5,50.:2503,857450/,/08 2F94/480;03948 %4/,,5.,.O330.089,:3,39071,/0:8:,74 ,5,790;8:,,97,;F8/0,.:,0:8:,74 3907,.9,.43,,5.,.O3 48-46:08-E8.48/0.43897:..O3/0:3,39071,/0:8:,74843 481472:,74848.4397408 '8:,,8.:9,9F.3.,8/05747,2,.O3;8:,5,7, /80N,7,8,5.,.4308  

!,7,/80N,7089,;039,3, 472:,74 /0.43:394/04-0948/0'8:,,8.800..43,248 :34-094954472:,74 472 :04,,57450/,/42-70 ,20 0,83,2480 ;,47172397,/,,,57450/,/%J9:40,83,2480;,4703;03/48,089O3 $8902,8  03974/01472:,7480.44.,348.4397408 !,7,6:00:8:,745:0/,3708,7:3/,94 547 00254 ,.4397,80N, .44.,24803,;039,3,:3.43974954:,/74/0%094 %094  ,.4393:,.O3089,-0.02488:57450/,/42-7003994397,80N, 8:57450/,/ !,8847/,708:3  ,89078.4 5,7,6:00/,943708,/480,70025,,/4547,89078.48 8O403,5,39,, 5,7,6:034805:0/,;8:,,7  !,7,4-903070-49O33708,7800..43,248:3.4397495449O3/042,3/4 422,3/:9943 4.44.,24803,;039,3, :04.,2-,2488:857450/,/08,, 57450/,/42-700,83,248.2/3708,7 ,,57450/,/%J9:40,83,248 3708,7 

$0/080,6:0.:,3/40:8:,74,,..030-49O325,7 80-4770.:,6:07/,946:00 :8:,74,,3708,/40348:,/748/0%094 6:005:394/03807.O380:-6:0030 .:,/7499&8:,74 !,7,6:008944.:77,/0-02485747,2,700;0394,.07*./0 -49O3/0.42,3/4.2/25,7  0;0394/0-000.:9,7/48803903.,75,7,.,2-,7,57450/,/%094/0.,/,:34/048 .:,/748/09094 :043;4.,7,2F94/489,-0.073146:0 /0.:,/74/09094 99&8:,74  3947343907,/4/008,7744   

 :,3/4803.,'8:,,8. 80.70,:35740.943:0;4.43:31472:,74 /0'8:, ,8..4389,/0488:0390800203948 ,77,/0038 !708039,48.42,3/486:080:8,35,7,97,-,,7.43'8:,,8. /02E8/0482038 089E3/,77.;4 /.O3 '07 '039,3,:/, .4390304974820385,7,90307 ,..084,1:3.43080850.J1.,8/05747,2,.O3 .424!740.94 472,94405:7,.O3  ,77,/0077,2039,8 !07290:3,..084/70.94 844:3.. ,2:.,8/0,84507,.43082E8170.:03908:9,/,8 /:7,3900/08,7744/0,5.,.4308  :,/74/0077,2039,8

43903094/48484-0948.43974086:0805:0/03,N,/7,481472:,7485,7,.70,7 ,5.,.4308  80N,/47/0472:,748 :3.43,.424:3,;039,3,03,6:0805:0/0507843,,70/80N4/0,39071,/0:8:,74 ;039,3, /0:3,,5.,.O3  547,/47/0!740.948 89,/048,7.;48 1472:,748 2O/:48 09. /05740.94,.9:, &3!740.9408:3, .40..O3/0,7.;486:0:9,5,7,.43897:7:3,,5.,.O3  '039,3,/0!7450/,/08 89,48;,4708/0,857450/,/08/01472:,744.43974800..43,/46:05:0/03807 24/1.,/48/:7,3900/80N4/01472:,744.43974  '039,3,/0O/4 :3.43,.424:30/9475,7,08.7-70.O/4 803903.,8 /0,,5.,.O3  -903.O3/0:/,/0$8902, '8:,,8.574547.43,:3,;,70/,//070.:78485,7,,:/,70,03.4397,7,31472,.O3 6:030.0890.:,3/48003.:0397097,-,,3/4/03974/00394734/0/08,7744  :/,03J30, '8:,,8.574547.43,:3,,25,,:/,03J30, ,7.;4/0:/,.4390302:.4 .O/4/0002546:0805:0/0.45,7/70.9,20390,:3,,5.,.O3  ,,:/,/0'8:,,8.088038-0,.439094 !,7,0250,7,,:/,8038-0,.43909403 ,;039,3,/0.O/4 08.7-,,5,,-7,5,7,,.:,/080,31472,.O3 :045708430  !4700254 8/080,31472,.O3,.07.,/0,803903., 503 08.7-, 5035708430  -74803!,39,, /02E8/0,,:/,8038-0,.439094 0
# /0'8:,,8.3.:0:3,;078O303 J30,/0,/4.:2039,.O325708,5,7,'8:,,8. !,7,,..0/07,48-74803!,39,,  ,,..03-74803!,39,,/03974/0203:/,/0'8:,,8.  ,'039,3,/0O/4 ,;039,3,40/947/0.O/4/0'8:,,8.574547.43,/02,307,,:942E9.,31472,.O3 700;,390,20//,6:0803708,.O/4 !4700254 88008.7-00342-70/0:3.43974  80:/4/0:35:394 ,857450/,/082F94/485,7,080.43974807E324897,/48 ,:942E9.,2039003:3.:,/74/089, :04805:0/008.407,57450/,/42F94/4/080,/4 5,7,.42509,7,803903.,  :,3/4803708,0342-70/0:3,1:3.O303,;039,3,/0.O/4 '8:,,8. ,:942E9.,20390574547.43,01472,944839,8/0,1:3.O3  O2480,N,/03.4397408,1472:,74 !,7,,N,/7.4397408,:31472:,749030248/482F94/48 F94/4

.44..5../45470.5.O3.74  472:.84-700./45.:.43488:039089F72348 %F7234013..8.08.248../.039483.O3/080..089../08.9.7.O/46:08000.9:..7403./4-0./.7.O3  !7450/..424.731472...43.:.74 . /43/0..0:3.43.743907.94 .9.N4 9J9:4 .  F94/48.O3  !747.:20394/03974/0:3.8:50747/070.897.O3574..2.745:0/008973/.. 03.08.:9.0/203948.030.O3  -0948&39F72340307..4244..7-794/48481472:.5.7./0 8:...:.430870.0748..2039.57207.:.43897:0./0..3 5.71.0..0:8:.70.0/:7.8547:31472:. 30.7E089.1472:.447 09.5470./74/0/E446:0:8.43484-0948/0.08.8.N.:9.5.43'8:./.0..0 .5..43974.7..2.2./0.74 :3403..74 1070/0.3.6:05:0/0507843.%0303/40./7.439740880:-./04974 :04.08.O3/0:8:..20//.424:3.439746:0 /080.4708/0:34-094 9./74/0077.574547.74&31472:..74  F94/4   .740:8:....:.J30.39071.O3.424:3..O/4 8:0:31:4/013/4.44.3/40830.00.O3 4397408#05708039.74.0394808.O3  %0254/000...05:39074..439746:0/080...8    &-6:005:39074/04:80 :3..039.0.43974086:01472./74/0077.0803.743907.O3802420394030.7: 84-7001472:.7.O3 .424:3/4./.:7703./43/0/080....:203942950   %F7234013.8 48.087E1....7.43974 480.43974    $:0900-49O3/04:80  8948.037085:089.2..5.790/0.:.77..:.43486:00:8:.7J.4249.43.5.:.03948:..7E0.2039.848903/420397.O3 .7487..2..05747.74  %072344J.4203.43974    #0.24803907.8. 6:00:8:.3/4:35747.2..O37E1. 39071.3030./:..:8./0'8:.2.7-0.03.84880705903.2039./03974/0 1472:.8-0 .43974.O3 09.74 &3 1472:.6:024./0848.4-9030731472.548.748.086:3. ..2.43974./04-09489.43.5.:.744./485470:8:.8/0:8:../7030:.-.43086:0:34-0945:0/070..5470.9745.8.424-494308 .8:50747 6:07/. .O34.03948 :890/ 08./4.039484.839071.784-708J2824  .././748/0 0/./748/089.4...O3 %0254/0/80N48024203940306:080.5747./74/0077.74.086:3.03974/0 1472:...../0/4.2039045:0/0807.. 431472097..03948$43.N. 5747.2..3/4574..434..O/4708543/0  ":F08:35740...84:3472:.43974030:.

..:.857450/.39071.43974084-094884-70:31472:.7.7. /  !.400.3/480.74 :04/0.:.7.4397408089E3/..5.7574547.4254303908/0.7.4800...3/44./0'8:..O380 ...6:071472:.848    &890/.2.48/05740.84.08  45.039..774./48547 .424.20390 ..89.07 6:08:.0/203948$:-:3.8..8439030..484-0948 :8..2.4/0!740./08/0484-0948/0.70.7/.7.3.8439030574.:001472:.74  O/:4089E3/..  :..-5#0..425:0894547488:03908.  #0.8J./080390254/0/80N4 408.O/45.94 ..794/4848/02E8.-0./-:..43.:8.43./494/4848.43.70.:3.425430703:3..94 %4/4848.857450/..:9..9408825020390:3.2-F3805:0/03 .70..O3  7.484-09489.40850..7.94089E.4954/0 4-094  45.845..5.03940301472:..75./480307.74  45.43.2950803:.5.43.O3 !740.-08 ./013.:8.740.05740..06:080:./094/4848.5..:3.  O/:4/0.O3'8:.49038O308.079705740.48.75.8485.43497485740.4/0 !740./23897./0:8:.7.:.7.O3 '8:.080:20394/094/4848./0007/05:7..5.80.4397408.07.-0 00  49...8.43..80/.4305740.7342-708.85./.39071../48547 ./08/0484-0948 !:0/0 089.O3 $43:8.945.-0.O3  472:./080390254/000./.08./48 . .3/4..N..48/0.:9..47083..3/4./74-0948../47....25708./48 4.O3-3.74974 954/0...7.945:0/0.9436:05:0/038073..7..42509./057450/..7 /0-0:04.:770:30.7:3.4.  %54/0.9.5.:.O/46:080 00.2-F35:0/0..7..3/4.425.8070/08090 5.7 -.0.:.7.748419:497.O/480.1472:.084/0.74 13/0.74:4-09484-7001472:.4308!7410843..08..O3 4397408 !07843.70./.:9..31472.70..-0..07.:7848 70843903031472.948 &35740.80 .70.547..:3.484-0948...O384-70.7.94 .7.74 80089.4308/00394734 89.43..03.857450/.7-03/4.42431472.7.9403:3 ..7.4308/0342-708089E3/../08/0:33:0.43.7.O3/0.O3/0:3.83.7..80 2F94/4857450/.3/4/08.O3    89.74 172 173.7    70.7.48 %54/0.35747.O3 574.9:.74 484-094884-7001472:.5:0/0/08..797.48 4.8.43.49038O308.2E81E.39071.8  45.8025708.3/4.24/1..

/.5.O/4.42.8.480.705740.7..4    70.2039...:.:04/0089.7.7 .48 .4240.O3454748.400.O/46:08000.:7775..7-7./.03948 :.20394 %.:770384-70:3.43.O3/0389..7:35740..40703906:01.7.:039020390.3/4.77.42.480.O3/0'8:..:.7/05:7.:3-49O3/0..48342-708/0484-0948 484-0948/0-030.8../083.94 ..85.7/08:5740..3/40..424/02037..:348..01472:.90.1472:.89.O3804170.43084.  .N.7:3.7.-0   70.7/.5.400.94170.-0:8.70.7/.7 !740.9.O3/0954 /04-094 .O35.039484..94    :.08:30..0 .7.:9..7.078:....5.7.N.430870..42.7:3.7.400./..:9.O3 .7E037085:089../.0:3.5740./0391.7  00/02037.7./0 077.78:5740..74.7.94 .5..48 .3/40.3/4/10703908 .O/403 05740../.O3.40390254 /000..N.-0.O3 0-/4..071.07.7..43085..4-094 .94..:348/0 484-094850729/485474'8:.42..9480:..:9.4 :./.4397408..05740.94 5:0/0:8.7077470824/1.94 4314720.7342-708.00.7.-0/0503/0/049748.742O/:4/0.085.03946:05:0/0 4.3/4    8.3/43..7.425479.6:08:...3..8/0/05:7./0.:9.O/4 :.85.:9.03948 480.70..:7703.43:357014.703.70:3342-70:8.7.807080/0/..3/4:.3/40307.7.42509.8077.4314720 ..03.4203/./.. '-7:3  / ..08.O/4    !74-..2-F35:0/0:8.43974:4-094 !4700254 .7/.857450/.7/.O/45.2039.08706:07/48547.70.7.7:3.0  43.43.48 9.4393:.03..78:.

 .

20394 .43:394 3./.7./09J9:4/020342-70/0..:348002548  $0.4-7723:7.342-70 3.7...4770423:7.E/0.O3/0.4309J9:4/020313.43903/423::/../47/0203 7./.  !701488:07/485.03.23:7.7.90723:472.:03.0990307:3.70./.43903/4 .3/4:357014..94.0/0.4308/0342-7085.71.3/.43.7E../47/0203 7.94.:03.72:.43.08948..096:09.5./09J9:4/020342-70/0.4/0. 3..907 :/.48.43974.43.4397408 48570148/0.. 472.92..3...7.8:0390.43088:003:8..43...548.8./47-77 7...43.7.4397408/0203 46:0. 9.7E.03.-.43.2038 ..43974..747704 $0.23: .5..4397408/0203880 /0-030903/072E8..

3.497403.:2039..20/4/0.-..3/480:8.4348.9484-90307 708:9..439740884-7001472:.77.3...O3039700:8:.74  47/07$90894/0-47/0/01472:./:3948  472:.3:34:394.7.:.7483907...3708..43974/0203/4.8.5943%09403.745.74  . /02E8  48342-708/0./09J9:4/01472:.O3/0342-708 94/4848202-748/0:37:54/02038 /090723.089../08 ..74.447447/0143/4/01472:.748  1472:.!7450/..O3 48 :8:./4802:0897./48  !7450/.5.9./08/0'8:.42:3.5.74080573.03.039.486:0 089E3.43.203904800203948/0203.74  439744%7:0.70/.3.7.

80 090723.43974  3.890304340.:./74/0..-0/%7:0.

4308/0:8:...O3/01472:.708543/07..74089E232./4  019%45&-.4346:0802:0897..74  ...74  .8.:9943%7:0../45.8089E.3/401472:.:.80 090723.7.43.-9.

80 090723.2.890304340-49O3..7  3:9943%7:0.

890304340-49O332.7  .2042-70/01472:../44232./4  . 2.2.74 3472..80 090723./43.74  3/4$9.9089./01472:.

:.3/4. ./7. .:.5.74  4397408E8...7445.:.9.24897.:770.:.1472:.039.90 .43974  :94$0%7:0..2039.43.9:.079003...:770.4308..703:3.7 49748.N.74  !7450/./48/0:3.780  F94/48 /0 ./74/0 077.:8:.74  $4.077.5.74345:0/024/1.:31472:.43903/4/01472:.24897.:770../0807.4397408.:8003970.:31472:...48  4348.3/401472:.43974080301472:.3/:9943  4397496:09.-0  $0:9.039.74800.3/4:31472:.74-9030748708:9.4397408 48:8:.9.790946:00:8:.73897:.9.74  $094.74089E.74  #01708.:770.7..-0 :..01472:.7..O3 !:0/0 ./08 3203930..43.74  0....:.0.3/480.2039./0.3/4 422..3.203905.8 397048..9.003146:0.O39030248 96:09.O3/09094/03974/0.5.3.74/0.7480.  ..:9. ./74/0%094 %094 49O3/042..7485:0/034507.7.0.:.43974082E8..74  &34../0:.84-7001472:..42:308.5:394/0/08.03948 .3/401472:...7./0391.:9.7.7 0307..../ ..8-001472:..3/4./ .  4.:770.90 .0./.

.9094 6:0.80 090723.809.:942E9.20390...2.N4/0.:89.439030  .4397480.

O345..740574547..6:0.43974   43974:.:0.-0...5.5..:8:.430/.7..0./4 5470:8:..7.-0/%7:0..6:00:8:./74/0%094 %09-4  $0:9.43974  .030.439745:0/0807.2042-70/0.5943%0946:02:0897.948..7../08 3.O3.74  !7450/.N45.2-.09094/0.74 90946:0802:0897.2.0.O30 /0.31472.43974  43989..5..1:0390 08949.

/485470:8:.-0.7.476:0/090723..1:03908 08949..80.N45.439745:0/0708543/07.0:3.2.03948 0307.74  43989.43974  4.0.0/%7:0.80 89.09094/0.-0.0.

0003146:0.2-.20390.:8 .7.808548-024/1.-0.4390300.3/-:9943  !072906:0.90.80.O33.:.03948 .-0.:.080.43974  !./08 .:770.439749030003146:0  4894.7E.-0.:770..8847/.7.:8:0.09094030.7.43974  :93089..43974  4397449O3/042.0.43974  %09%0946:070.:3..0.0:8:.:.9:.439745:0/0.907:9.7090946:070.3/4.43974  .7.3/4 422.43974807E.8-05.20397.4907230:3574.8/09094  .080.084  !7450/.-0003146:0  043 .43974  $094.5.2042-70/0.729508J30.4390302:0897.74  .4397470.4.3..43974  494./45...:9..09094/0.0%7:0.43974  '8-089.709094030.5.3/40:8:.43974507/0003146:0  F94/48 #01708..:770.059.50729/..03989.0 39077:25.3/40.439:/2E2.4390300.30 ..:770.80 090723.3/40.:.:8 .74570843.090946:0.20390.

$  .90.7E.7E8:0.4240-49O3.080-49O380..425479..0./.06:0805708430.74 803.4....-0..0394.80 89.70301472:.3..

0090946:02:0897.:9%7:0.-0.594389.0-49O3  01..

7.2.74  43989.1:0390 08949.N45./4030 1472:.4240-49O3570/090723.0.-0.09094/0..80 89.425479.-0.2042-70/0-49O3  '8-0%7:0.7E.43974  .080-49O380.

/0803%0254/080N4 :3.8:0390J30../48 :.8.48./085:0/03807089.7.57450/./ 570/090723./..0./0./ 80089.2-46:080 .7..57450/.-0. 57450/.9.O3 805:0/008.57450/./570/090723.07:4-903070../.0./0:3.1:0390/0:3.7. 096:09./48  89.3/480.5.70.O/4 089..3079.-0.../.6:07.:.$0089.84-700-49O3  F94/48 $094.O/4089.43.74/07.47/0:3.0./74/09094 -.:.:. 57450/././74/09094 .0. %094.039.03-49O380./0.00..:./74/0909408.-0.O/4089.47/09094 $8042900342-70/0./08  %..8 57450/..80390254/0/80N4 !.5943/0:3.:770.4397408  89. -90303/4!7450/.42:3085.039../085.0003146:0./08 /80N.096:09.857450/...74  .8-05.:8:0.88:03908J30.8/0.9O384-70:34-094 :04.9.:.57450/..4397408800.57450/.096:09.O3 390254/000./..-0.:..O3'8:.57450/.-49O3  89.07./570/090723.03/4!7450/.7-7.5943/0.7.7.O/45.. 80/0-03089./08800250.-0.:3/..9.39071.:.7..7.089../.57450/.  99.57450/.3/4  $800..9../4800.2:3/4 89././%09/0.-0.:.4397408 4-0948 ..:.8 57450/.43.9.:3.857450/.. 57450/..80 89.43.-0./0803%0254/00./807E.-0.0/07..74/0:3./08 8O48024897.94/4848.9. .43974 ./ .3079.0.8909.0/0.-0. 890.08./057450/../0:3.089..-0.0.7E3./0803%0254/00. 99. 439 4/%7:0 89./086:0843.2-F3805:0/04-9030702824708:9.80/0:8:./%09 ..-0.3.../74/09094/0:3./08  4572.080-49O3807E.7484-0948.3./499./74/0909499..O3 .$0089./%09/0.03948 ..03!7450/./057450/./404-094:04570843.-0.009094..5943 .0.-0.03/4!7450/..-0.07089.94/4848.0:8:./057450/.-0.03/4!7450/./08 !.-0../08570/090723.039.57450/.3./.5.03.2..  99.

9..O303047/03/09.74802:0.030.4308/0 90.57450/.5/4.4974 5:8.0574.5943./4 !4/02486:9.4974.O35.42././403.43974/047/03/09.-$94580.0/203948/0.57450/.:../0.-:..7047/03/09./.90.2-..:9.47/0089.47/03036:080.5943 8005:0/0./48  %0.0800./%.74570843.4397441472:.89.3/4.43974.7./484 3.3.:.-:.74  ":9.-0.1...3.43974080301472:.7...4397408843347./%.43.7.74  !..:..O/46:08008.4397470.43974/0089./0.20390 570843.7-.248/0:3. 3/$:- 7/03/0%.%..084 !.43974.-77.O3/048.-7E003146:0./0..9.57450/.../4... % %0.3/4..:343974 $0.48.57450/.3/490303:3574.90.90.:942E9.O3089.0394.O3.44. .0847E5/4/0-0708. !4700254 48-494308/0.:36:0 0././4803:3.907/0 .0394.8$973 842-7099.7E..74 ..43974..%.43...-:..030574././08/0 .20390574..0/20394/00.. 57450/.0/203948/00.0394 48574.7:3.7..90$:-.0.../.-3/0/0.7.3.43974./4 /07..O/42:0897.-:.-0.%..039../%.57450/.039. ..0/20394/00.-0.9..7:3.:.8./0.90.7.808:02.O3  2842-70.44..%.7:3.390/0089008J2-44  !470025480 ..0/20394 /00.6:048.497403 047/03/09.02488:57450/.20 %09 !74.47/0.9:./4-0./4 ./448.307.4397408/08.0394037085:089.06:0804572..4-903070..-:.O38 089.084#.-003....:..-3/034089E33.-$94503..0394 '8:.43974 ./74/089.7/0:3..0./0.7:3..47/0:3.0394 5.O/4 ...3/4.-:.O3  :..43:39414/0574...4.3 .43974086:0345:0/034-9030703146:0 ../%.-0.0394.42.7./0.O/45.03...4397484324897.:/4803047/03/09.03.3/40:8:.08948.O3 472.!:0/00250.74 089.74.43/0484397408 47/03/09.-  49.:.0/203948/00.90./.80 &3.42...5.03:3-49O3/0.43974086:0903001472:...43974088..9O34/088902./.-0390254/000...../4 . 089./03.-:..O308047/03036:0:3:8:./0390254/0 00.3/40:8:...439749030.47/03 O/4/0203'07  .3  803/43 032074/0.  844..3/4/0.0/0:3.83.2. 800.2.43974/047/03/09.708:0390.0/203948/00.70.-:.57450/.7.-:..390303/48:548.439749030:3.8-08 3490303.3/4  !.O308:...4397408/0:31472:.8.O/4  8:0390.:3-49O3/0.2/   !7.0850../0850.- !47428O3 047/03/09.2/ *.0847E5/45..

08.09038O3/0......5...07E.08.43..-08030E2-94/01472:.O/46:008.O/46:008../.7403:3.447085.79/4./.07./04974..:...-:.439740884-7001472:.084 .4397480.7448..4.-0...O3 890.74 .8.90./03.039.5..4390307.43:3. /10703.4390303 /0.O3 /024/46:05:0/01E.425.7.424.4397496:09.7 482O/:48089E3/.5.831...74 89482O/:48.70.7.0/203948/00../.703970048  ..O3/0.    89.O3 !:0/0 ./0O/4 O/408:39F72340307.7-003:3.0/203948/0 0.7.45. .20390 .O39030:32O/:4/01472:./.857450/.20390.4397408 9.08.3.6:00.8J&8:...8803903.75.7574.8...01472:.5.4390307. 003146:08024.4 4.4397408  0.084/0.0/2039480307.7.47/0.70/9.47/047/03/09.57450/..& 8:..5943/0.4397496:09.5745./..0394574.3/45:80% %0.7.7:3.7./0137.74  9094/0.74843 ..4708/0.8'8:./0 ..2.43087E1.03945476:034.74  !74.-77:3. :3/..O/403'8:..0845./0.08030.7-7 24897.43974    89.4397496:09.6:0:890/08.8/0:31472:.-7.03.4240.4#.43974:.750..57450/.7./48 .3.594308.'039.43 497482O/:48/0...423.7.7.07.5..4397496:09..&8:.748:8.03./0O/4 0/947/0909408844:30/947$...8/08.-08 45:0/03./6:00/04974..O/4 9.57450/..85.08030E2-94/01472:./4 08948843:..O32034703:3.4397496:09.O/408547428O35-.74038:.5943/0.08 .43974/0-/4.2.1472:.0847E5/4 /0-07E089.8:03902.70.0/203948/00.304/0472:.43903034-0948  .0/2039480307.75:0/03.O3574.7481472:.7/..4390303 O O O 48.57450/.07E.2O/:4/08:.8..3.345:0/070.748 O/:48/0472:.7..43974  :.0394574.7.0../74/0%094 349030.5.7..74.-0.748038: ./48031472.5./0../0O/480:8.424:32O/:4/01472:.90.7-003.O/4/08:..90.O/4547.6:01E./0..790..039.84..0/203948 9548..7.307...'039..74  :348.4309038O3#  O/:4889E3/.74 80/080...7-0  ./.3.94/.5.80 08..7./..-0..74  49.5943  !.4308/0574./0.8.0 4974..0848.94-3..7.-7003146:0  !.:3.5.4397408   446:0:3.8../085.

43./485..039..0/203948 805.0394..2-F34 5:0/0.7.84./48 547:3.07/10703908 5.3.7.06:003./4 .4397424897.434.O3/0'8:.5.3/4 :9.03.805...0342-70/04-094800.077.5..4301472:.8...3./0./0.282490254 .0/20394 89./7489.039.8O3 08/00203'039.7.5:0/0:9.2E81E.-0.J30./0.745.7906:09030003146:0 2824..7.7:3.3/4./47.0  49O3'07O/:4425094 89.5.70.790849..:9.0030./74 -094 !74./0.94/4848574.3/4./0 -0948 :0897./08:85../4030...-0.7:3../.0/20394 /00.10.:..94/48480.7.:.77.3./45..8O3.0394 03.8.5:0/000./7.039./0.-.70.805.7.77../75.74  :.84.7.8..7..439030 :./7.20390 !:0/003943./4..7.7908:507474310747/0.08../..42.77./.039.37J./74 -094 :.0/2039480701070..:..24897../094/48484-0948.6:08:.8/00/.3./0O/4.039.O/4800/90:3574.248:30.3/4O/4 &80.06:003.0880/085.:3./0007  $../.  49O3'07!74../48.42./74 -0945.0394870.31472.3.907J89....O/4.03948 :0897.3.0394  .897./070.  .0574.O/480.039.3/4800..084./0.O/403 /485.89.5. .01472:./0.O/403.7.43.'039.:.:34/04974  /9./0.430800./7489.O36:0..744...0/20394.O/480903.O/4802:0897./0/.7908 .3..07..3.7908/08:.

E/.5O897410 /024/46:094/409094 6:0.8 1:3.42039./74/0038.:/./0.78.42.43.9078:-7. 10..37J.7E...0308:039000254 84..9.:2039.00.43930../. 803903.7E.8.7E..O3..03708.O/4830.O/4 8949./0203/.3/45.907/0.8:.80.37J.74803.O/403:.7403.3/4..37J.803903.O3/0J30.0329508J30.&80...%.2.90..8/0:3..8...8800. ..943 * 038./4 * 080.O/4:80.O/4 9.O3/0.8 .4240897:..5.4308.37J.70./10703.7E.4393:.5../7:3..7.907807E347./7/4.2E81E.5.24808:0390 00254  :.7.O3 '0.O36:9.-./0.78.O3/0J30.44.43/. 3 ..430..7..O35.4/0.-40.-4 0.748..82E882508/04-9030731472.00 .0 42039.N..O/4507290.../.907/0.80.43./.8705099.3408.7....039.42.9:7.907. .:04/0:3085.08. 80:8.7408:9...8./08/00:8:..4.7E...:3..3. * .2480 8:039000254  .../403.2-F3.425703/070.O3/0J30.0890.43903/.8 '0.8..E/08:8 J2908 ..7E:3.O3 $01472.78..7/00903/07802.7E.949..425703/07204746:0.7 $19 %..089.20390  .3/4 3:.37J.4035:470850.8 894./0203/. &3.08 !.07.54890747 &3.06:0..:3./..:.8J30.748 ....0/0397.75.7908/08:.424 802:0897.O3/0803903./00075476:0089E .5.4393:.42039.20390/03974/0.80.81472.82.803903.907/04393:.

774 7   4:3./748/02038.70510  '.4/048 .43.43.O3/0. 5708O3/0.4708 .1..3.50729708942.42-3.1:3.24/./09J9:480.:3.0342-70/0. 5708O33:2F7.....O3825045.1.7:20394-:994385:0/0...439094/0:/.6:0802:0897../0-0 942.3907.:3../09J9:4/0. 574547.8430884-700.:.5.03:324/482507E5/4/0..7E.3.0030..94 84 574259 -:99438( 990( 0510 ../.:.J30...04170.2...4346:0 80.47086:0 0850. 7   4:3.-:9943808  %90 5..1.7.:.8:27488:03908./48 $574259.74/..080:8:.7 00894/0.907/0. 7 7   03970.9.3/4:3 .6:0...30320740954/048-4943086:080570903/0324897.4348 ././03.90708:9..6:0/0391.8:2.4/0:/. 5708O33:2F7.75.5.08  $8042900890./4./048....O35.43./../74/02038./02E8/0:3.:..7E.77.7/0.030.7089./74/0/E44 $800850.-.24897.47708543/0390 $800850.79008.7.43909  43909 5./45.94/0.03.0-494308.2-F380 /0-00850.438:9.47708543/0../03..8:0390  :99438 5.    472. 5:0/0805.748547 31472.47570/090723./0488:03908.90708/07094734/0.0/0J30.:..//0-49O3570/090723..1.7.43909(  1472.O384.1:3.7/107039089548/02038.43.:947...7./74/0/E44 .1.90708 8030..7.7.O3 !74259#06:07/4 5708O3/0.77.7.4708 .907/07094734/0.7..:.O3  0510 5.7.0/0J30./74/0/E44  $804290990 03.32074/0.:9.48:8:.4389.2346:08:5747.4389.../03...43909 9.-.20390 /0./039/.6:080:9.7.2-F380/0-0 0850.0510 9.0./057425908/0.7 .//0.774 .7 !:0/0:8..748:9.7:20394 0./0:/...5742. .7.44.6:0705708039...902.6:008:..7:203948 !.O384  48. 439:/2E2..:/.. 5708O3/0. J30.7.02038./4 5470.3.7085:089.43.83..

.7947:54   /090723.7-00320740954/048-49430824897.:70/029.33207485./74/02038.:.08 :.08  '.7:54  49.:0948  49.4-903070./.4389.43342-70  02548 .7:20394 /0-03.42.4708 .7.0/08:8.4713.  572077:54/0.47708543/0390 4:9.89.//0.4297./0 . 24/.:.3908.80850.470870.7:20394-:99438 80:9./47/0.6:07:.$/080./.434 0907.1...8...7-000894/0.'8:.7:203948.20390:332074/0./74/0/E44080:3/47:54     /08.7/0.7.:.78003..85:0/0 :9.077:54    /090723.3/4808:2.8282.:.3.394 0342-70/0.O/403. /08..0-49O3570/090723./40..4708/0.84.8. !479./48030 .

4242038.03:3-49O3/0.:.43909(  1472../057425908/0.0030.6:0802:0897.1:3./74/0/E44 08507.90708 8030.20390/0 .4/0 .75.7:203948./. :3.:0./74/0/E44  .3.94 35:94 574259 990( /01.7-.:.5742.43903/4/0.79008.:390944.430.:9( 548( 548( 0510 ./0488:03908.7./74 /09094    472.74 08.:.O335:4.439:/2E2.:32038.O335:942:0897..O3 !74259#06:07/4 5708O3/0.003:3..0:3954$973..94/0../03..6:00:8:.O335:4   ..43342-70 !.1:3.4389.

43../4 .745:0/0 ..-0.:.0/0J30..3..90708:9.0.3.038039/447439.059.6:0802:0897.7..6:008032074/0.4389.:.77.6:075..-..3900:84/0089..88:03908.7:203948./89..39.0.0/0J30./74/09094./74/0/E44  $4290990 03...90708/07094734/0.2-F3 /0-07E0850.7...48. $804290548 0 ./4/01472:.7.907/07094734/0.-.J4  548 5.079.4/0. 5708O33:2F7. /08/00 -47/08:50747/0.39/.O/480.$/080.. 5708O3/0./0...070089./0:/.3908!70/013/../74/09094.7.5./.43342-70  4389.J30. 803903.7-720/../74/0/E4480.4247085:089.0.1.1.5./3/4$9.2-F3/0-07E0850.20390:3907.43..:.86:05:0/0380:8....7 ./..030. 5708O33:2F7.748 $0:8:.. 3/4$9.:.703.:..O/403:..39./74/0/E440-47/06:07/4/0. 5708O3/0.0397.748:9..9:7./47/0...03./02E8/0:3..9-0 !4700254 .70.780 0510  42039.3..74.77.90/0:31472:...4389.47708543/0390 $800850.48 !:0/0.07843085489074708/0'8:.7/0./09J9:480.1.8.:70/029../03.43909 9.1.:.074   49.0342-70/0.:0.  0510 5..:9 802:0897..1:3..3.O3/0.8. .0. 574547./03./45470 .7..:/.5..5742.8./0./09J9:4/0.43.:.3/4:3 .20/ .8 '8:. $804290548 0 ./.43.//0.3908  !4700254 5...:9 5. .803 .4389.7.0.44.6:080:9.774 .3908570/013/../74/0/E440-47/06:07/4/0..47708543/03904:9..425.. 172397.83.47439..790/08:.47083:2F7.6:0/0391./48 $574259.6:00850./74/0/E4480. 5:0/0805.74172397.434.4389.7E.42.2...43909  43909 5..089. 570/090723.807J..-.0:3.. .57450/. 7   7  03970 ./89.42-3.39.90.902.5.039700 -47/06:07/4/0.39085:0/03.8 .43..5. 5708O3/0.7.8:0390  %90 5.076:08:.:947.. 5708O33:2F7.20390  548 5.7.282.0..4297.3908 /02E8 48.:348.90708/0439:/ ./03.7:203948 /0-03./000708...6:00850.1.3./.O3  01.:./74/0/E44 $800850. 7  4:3.4389....:.4708/0089.907/0.6:0802:0897.43.038039/447439./03.7E.. ./.7.2E8 1E..4/0:/.43.03./.7E5.7.44.9..032.3907.7.774 7  :3..039700 -47/06:07/4/0.0510 9.O/480..439094/0:/.O3/048.7.2-.1. 8::84507297E6:08: . $4290/01..J30.

/..:31472:.36:0  20397.7.:0397.304/0472:..:..4.:31472:.039480:9..089.7408.-0.334089E../4.8.7.86:048497481472:./4 0320247./ 0..-08.. 472./4.7434089E.74 $01472:..74 $4 0254 72397.7.F8/0../ ./../08/0 1472:.O3 ..:942E9./ 4.:770.97..303F 4.7./403./42-700472:.20247.3.3.748 472.5.4..4.O3089E..425:089.O3:8.7./4/0503/0/046:0/080.74.0/0.07   F94/4$4 :0897.4.748 :.20390.02F94/4$401472:.:3.94 4.3/401472:.2420394/000.5.:9.248.0/01472:./484.7481472:.20390  472.74/0.03944..07.7.20390802:0897../48..74 48.O/4  2F94/441:3./0:3.74.857450/...5..8..7E.702F94/4 $4 '8:.03944.20247..  472..7.. 8948:.43974086:08003.74 0254 4.547.:.:.3901. 50743442:0897.01472:.3/4803./72397.3/480 :8.20390 08900.74  02548 .:942E9.77.:9.. $4 $03903.94 42-700472:.. .748/0-0380724897.3/4 '8:.803903.

..748000.497. &80.00.07.:9..42.08  3908/0/08..0 0.5:394/0/08.3/480.077.7.0394 3480/08.039480/0803.7/0203439744:3..&34.7.3/4:31472:.70107780.7E01472:.-0./ $089.3/4077.9:.747089...94 &34.7.74.7./03.7.:31472:.-0.   &34.780 8900. !7.7.:770.0.../0:31472:.6:048.05.7:31472:.0394&34.4.43.7.9:./0 3/$:- .94 42-700472:.8030.:3.  0254 08.74  $:0703.01472:./ .:31472:.1472:. 20247.74/020247.4708473.5.08.7:20394.-7. 803903.%7:00308900..01472:.8 57450/.5476:0 :3:8:.:..3.84803486:0.&34.03039003./  .90$:-..744.  472.08.7 .3900.30.:9...74 /0 0254 17237084 /0 $03903.7.:.70./. F94/4/0 .08905.74./08.748 .74 5074344/08.74089E..7.7..9. 472.8:8./42-700472:..745:0/080730.0394&34.:9.2/077.74./ 472*&34./08../ 08./020247.74 42039.7420/.

O3 /08.5.7:20394894/02F94/4$4/090723.0...4349748 1472:. 89.5.3/90723.44 4/.030203077.:.7 089.077..:8:..:.4244/.5..3330.3/413.3.7.7.3.77.3/3480 /0803.7.743907./08 !.7./4  &31472:.803903.7E20974.O3.5.:../485..O3.801472:.0394/0481472:.42444/.7.O34:8...90.7408/08.72038507843.282.8 :0403.7.2039.7.3/409241472:.74/0..O3836:048572074880.00..00. .O3/0..-70.O3 $05:0/013.803903.746:080.6:03480.70.748  02548  /947/02038 89.43..748 :.../4 $ ..0390/0.3.O3/0:3.-70.-.0.3.5..8:.748/0./03.2-.282.4244/.7  .94/48481472:./08.3/ ..748/0 .47/89394/0 .7.2039.3/40390254/0/80N4 .7.2039.7484/.O3/0..07425/06:001472:..6:07.  02548  3...801472:.0844/...47/03/947/00384030-49O306:.077.3/4.507290.O3/08.708 01472:..74..3708..5.O3/01378:8 57450/....746:080.-0../4  0254  472:./48  ....803903. 507290.077./0077. 345072906:00:8:.....497481472:..7 08:30390746:0/090723.5..5..7.89.7480/08.8 089E3/.0.5.-70.08 &31472:..07.....7480.7480.

78003./74/0/E44  ./0.700/947/0203834/0-003.!..54/073708.O/4  5.4308/0. 49.7.4397.039.:.3.

/74/0077./.8. 8 548-0../74/0077.8.4397408 ... /0'8:.059.:./74/0077.7/0'8:.2039.:.030..8.43.7.0/..08 %.8.0.574547.N.08..43974.0.07.9.48:0390   30203!740.8 :.24897.03 ./7:3./03/44397408/.4397408./03/4.0 .:7 :04.85.8  .:./74/0077.70.43.7 ./74/0 /E444254303908    3..0.2-F308548-0./7E0.9.1.7908  !.25.034254303908 '8:.9.2039.4257.:.8./74/0077.2039..4397408.43.4397408.439746:0/080...N.7E0.2039..94 .:.3.7 '8:.4397408397J380.O357410843.43974..9..907.8..  N..43903048....N..8..2039.484089E3/.

.43974%44,7 

&3.43974%44-,7.439030:3,.40..O3/04-0948:9943:9,/485,7,.70,7:3,-,77, /0077,2039,8,84.,/,,:3,,5.,.O3  42039,748 472,20390 :3,-,77,/0077,2039,8.439030-4943086:0.47708543/03,00203948/0 203/0:3,,5.,.O3 574547.43,3/4:3,39071,7E1.,,:8:,746:0050729090307 ,..084,,81:3.4308.42,3/480250,/48.432E8170.:03.,0308,,5.,.O3  .43974%44-,70507290.70,7-,77,8/0077,2039,8,70,3/44-0948:9943,:3, .40..O3:99438.,/,4-094:99435:0/090307909445.43,4:3,2,03  574547.43,/48547:3.439742,089,84.,/4 !:0/024897,7:3,2,0303:3-49O3 .43,57450/,/2,0424897,79094.43,57450/,/,5943 4,2-48 5,7,.,/,4-094 :9943 390254/0/80N45:0/0,70,74-0948:9943,.43974:9,3/4,!E3, /057450/,/08/0.43974%44-,7 390254/000.:.O3 5:0/0,70,746:9,7-494308 /0,.40..O3:9943820/,390482F94/48//#024;0  !,7,5747,2,70.43974%44-,7 ,70:0.O/4,0;0394:9943.5,7,6:0708543/, ,-49O3800..43,/4 %,2-F35:0/0/090723,70.425479,20394,,5,703.,/0.,/, 4-094:994320/,390,57450/,/$90 !4700254 8,.:,974-4943088008,83,0 0894:994374:5 8O48054/7E570843,7:34/0048,20348:34089,7E802570 570843,/4  ,1,./,//0:84802047,.438/07,-0203905747,2,3/4/08.75.4308%44%5%09/0 .,/,4-094:9943 !,7,24897,731472,.O384-70077,2039,8 ,57450/,/$4%58 /0-0089,-0.0780,%7:0  439742,089 

&3.439742,089.439030:3,.40..O3/04-0948892,0 ,.,/,:34/048.:,08 805:0/0,.077010703.,20/,3908:J3/.048:.,;0 .439742,08934089E .43.0-/45,7,:9,7403849,74 834.4245:394/0,2,.03,20394.0397,5,7, 574547.43,7.O24/,203902E0308,49748.4397408  42039,748 !:0/0:8,70.439742,089.43.:,6:07.439746:0,830:34-094!.9:70,:3, 57450/,/!.9:70  8548-0,70,72E0308/0/107039089,2,N48,.439742,089 507494/,880 ,:89,3,28249,2,N4 9,2,N4/0484-0948/0892,0089E/090723,/4547:34/0 488:03908;,4708
O O 

;,47/0,857450/,/082,0/92,009,3908/0,70,7,:3,2,03  ,8/20384308/0,57207,2,03,70,/,  

4,33:3,29,.O303.:,394,9,2,N4/0,2,03 5074032074949,/02E0308 6:0805:0/0.,7,7089E29,/4547,.,39/,//020247,/8543-0 

:7,3900/80N4/05747,2,5:0/0,70,72E030820/,390,1.,0307,/0.:,/74 /0/E44!7450/,/08/0.439742,089 390254/000.:.O35:0/0,70,7 2E030820/,39002F94/4//5,7,,.40..O3892,08  49,48.4397408%44-,702,0891472,35,790/07:54/0.4397408.9;0 ,/.43,08.7484193/4842243439748  ,7.;4 %  !,7, :8,748038:,5.,.O3/0-0,70,70,7.;4 % ,5740.94 :,3/4 /897-:,8:,5.,.O3 389,00,7.;4 % 03,.,7509,$89024$8902 035,9,1472,8.433/48% /0.7484193/48/0:8:,74  39071,/095084.:203948  :9504.:203939071,80   -094472 &31472:,7408:3,;039,3,6:0,.9,.424143/4/0:3,,5.,.O3080.439030/47 /01472:,7486:0903038:57450/,//089,-0./,,%7:0 !,7,.70,7:34-094 472 0,70,71472:,74030203!740.94 :04/0,70,74903, 03.:039,48:0390
O

&3,,5.,.O38O45:0/090307:34-094472 5074;,7481472:,74880.:3/,748   $:31472:,7480.:3/,7490302038 ,-,77,/02038/01472:,7480.:3/,74 70025,,7E,:942E9.,20390,,-,77,/02038/04-094472.:,3/40 1472:,7480.:3/,74089F,.9;4  &31472:,7480.:3/,74232,/48024897,7E.424:3.434030472  &34-0944728O45:0/0.4390307.439740803:!.9:704 .4397408 507843,,/486:0903,3:3,57450/,/3 !,7,.44.,749748.439740803:3 472 5:0/0/-:,7:3.:,/74/02,030301472:,74/085:F8/-:,749748 .4397408/03974/0.:,/74/02,03 !:0/0:9,702F94/4!7395,7,24897,7909403 :3.:,/74/02,03/0:3472 5074345:0/0:8,708902F94/45,7,24897,79094 0304725745,20390/.4  &34-094472345:0/080724/,  481472:,74880.:3/,74880/80N,3/01472,3/0503/0390/0472 5074 802570089E3.43903/480304720390254/000.:.O3 

O

O O

O O 

472:,7480.:3/,74 &31472:,74.43903/4/03974/0:31472:,7403:3,,5.,.O3.4339071,/0 29508/4.:203948  !,7,.70,7:31472:,7480.:3/,74 089,-0.,8:57450/,/ /,%7:0  !7450/,// 0;:0;04089,-0.0:3;,476:03/.,8:31472:,74/0-024897,780.4241472:,74 80.:3/,74/03974/0:31472:,74 8/08O40.9:7,0390254/000.:.O3 48 ;,4708,/29/485,7,,57450/,//843 ',4708.75.O3 %7:01472:,740880.:3/,748024897,7E/03974/01472:,74572,74 

,80 !70/090723,/4 1472:,74340880.:3/,74  42039,748 &9.0089,57450/,/,.70,7:3,,5.,.O3.4339071,/029508/4.:203948  3 90254/000.:.O3 481472:,7486:0903,3089,-0./,,%7:0089,57450/,/80 24897,7E3/03974/0:31472:,74 481472:,74880.:3/,7485:0/03 2,2,780 232,780/085,,780 802570/03974/01472:,74572,74 :,3/4 97,-,0.431472:,74880.:3/,748 903,03.:039,48:0390
O O

O O

O 

390254/000.:.O3 .:,3/4:31472:,7480.:3/,74802,2, 8:9J9:480 .42-3,.430/01472:,74572,74  390254/0/80N4 481472:,74880.:3/,748802:0897,3/0,282,1472,6:0 0708948O48024897,7E3/03974/01472:,74572,740390254/000.:.O3 .434 /0:31472:,7480.:3/,7403,;039,3,!740.9408/89394/048.4348/049748 9548/01472:,748  481472:,74880.:3/,748345:0/0380724/,08  03947344507,9;4.7484193/48.43974,09,2,N4,548.O33.,08/048 1472:,74880.:3/,748 ,203486:048089,-0.,0850.J1.,20390030 574.0/20394/00;03944,/  $80,.07010703.,,:31472:,7480.:3/,74,3908/0.,7,701472:,74 572,74 F89080.,7,7E,:942E9.,20390 $302-,74 880,.07010703.,,1472:,74 572,74,3908/0.,7,7:31472:,7480.:3/,74 01472:,7480.:3/,74 3480.,7,7E  !,790%5480,948 4389,3908 ',7,-08

%548/0,948 &3954/0/,94/090723,,3,9:7,0,/0/4234/0;,47086:05:0/0942,7:3,;,7,-0  ,84507,.4308036:05:0/05,79.5,70085,.4/020247,6:030.089, ,9,-, 8:03902:0897,489548/0/,948 3.:03/409,2,N4/0,2,.03,2039403907;,4 
%54/0,94 %,2,N4/0 2,.03,20394 -90 -908 -908 -908 #,34 

90 440,3 39007 43 039074,74  $30 .42,149,390

 

, %7:04,80  
,     
,    

-908 

 , 
  
5,7,;,470830,9;48    
,  5,7,;,47085489;48

390.149.42.8O38250  4:-0 .570.

2.8O3/4-0  :7703. -908 ... 570. 039074.08.  0.

          835:394/0.2. .

0320742E8506:0N4/89394/0 .2../0834/0.07408 ..43548.    . /070.4308.

9. -908 :./0. .. $973 439:/1.. 24308 -908 -908   ...03907.20390 /003074/0 ..74 :9..  ..48        .43320748  '.9 $973 439:/..39 .7.4...948 28243907.90708  -908  439://0.470830.-0  -908 -908  -908  439://0.        .. .7..    5..48   .02-70/0 :.   . .6:077010703.002039408028246:003907.9 08/0 ../03.90 -0..47085489.7.:3954$973/0439:/.39 ./03.3/4%50  2074706:07/4547 3907.7..7./.45. .5742..7.  '.954 -0./03./.473:2F7.4/0:39544:-0 08/0.4/0.6:07..   5.7.4/08: 4800203948 954/0/.43.89.7.-0  439://0. 013/45470 :8:.

3/0.3.43.3.O3 34:34507..8.48.8.574547..5.:3.2.9439007  '..E.0797:3.E/485.3.6:0.2.8'03//.7..8  -807.2./47/0 :.00..35.  43..-08 .:.7.O35.803903.43.7.:5...439030:3.-08 &9.07979548/0/.70107780.3.43.0797 .3:3706:894949.7.94/0/08934480574/:.396:0.97400203948/0 /.47086:0805..948706:0703 -908/020247.:7703..7.43.-0 ./.9480850.8:03909..8 !.948  !4700254 48/.03.0 .946:0../020247..078O3  49.7..82..7.3.348574548/... .7..2.97 2E8032074/0-9086:04.978:2..476:0 ./4.../47/0..8  $05..03.5..:5.7.:48.4708/09548/0/..43. :9.948 '8:.7.E/4/0954/0/.3.-08 .:.975478J84.6:0:9.7.7.3.7485.7..:.8'03//.3..7.7..J1.8  0.3.-7./2038O3/02.0954/0 /.81:3.O3/0/.75....83.4.0.4389./.'03//./00025408:34507.9482E848-90830..4!4747.4308/0.0:3.7.O3/0.08.70303907.0797:39544303:3 39007 0954/043/0-0/0089.97706:070-9082E8 6:0.4-908 484.:3.../..03.97:3/203843.7.83..3.:.94895439007/0/48-908..-0890303:3342-70 ..8.81:3.2E8.390.439030.7./0.5.43..-.7.47 80.08/0..-0 :3954/0/.O3 .1:3.8.43...83.8.2:0897.-0 .7E:307747 !4700254 839039..2.8.34..7.-0880:9.83.4308/0.7.70.2..078O3/0-03807.O3/0:3.-0.06:00834:.47 .94 6:0/090723.  ./.:7 !..7.8'03//.4-9086:0706:0703 48/.O3.7  2.97.1:3./0 -9085.6:07954/0/.7.948/0:3.:34 4.97 &3954'..4708902547..:7 47.7.94803.4!47$02.2.49.078O36:05:0/0:9.../0.48 !4700254 5.-05:0/0 .974 -9085.2039470...80/0/.O3/0'..20390/:7.70708:9....:507.47.

..-0/0:3574...7.7.20/.28O408903 20397..7..0/20394  0.-008/0.808 843 -0..4..74828248342-708/0.....08.-003. 490305476:F/0.:3..7.0/20394 /08.5747.4308 :348 002548/09548/04-094/0'8:.7.3/490723.0/203948/02O/:4  0.0/20394084... 4..7.497.43....803903./0..-0089F/8543-05.7E.O32 574547..7.7./0342-70/0.:257...431.0302824..-0 803.948/013030954/031472..-06:0.7..8 ../405J...43080342-70 6:05:0/0:9.0/07/0.8. !4700254 54/7J...-0 /02E8 0.8.7.1.0/0:3574.O3  0..03.4308/0:32O/:4/01472:.4 574.07 7010703.9...8..9..3897:.7:3..07.7-7:3.81472./..08  342-70/0:3.2.9.0/20394 89.-0803 /893948574..43488:03908706:8948 O O O O 0-0..74 09.70.:7:35:3944:3..7..7:3.9.7..7.803903..7.....-08 O O O 0.7.47/0 ...0.O325J.7.0$9.7.:9.. 1:3..8:.-7.4203.:497.097.43:3.7.0 6:00803907.....-089.9 472%094  ...-0/0-0...7..948424/1.0/2039408/0.707747088:908030 .7..43903074-0948/0'8:.8.7..7:3.-0 !4700254 8:543.5.-0.-0/0:3574.7.390.-0 20/..:5.0574.-08954( .0/20394 .00...7.:942E9.70...O24/4 5:0/0574..5....907/0/0.-086:080/0.7.:3.0!:-...7.7.7..45.8 2342-70 ......7.7..4/08/006:0805:0/0.90708  0-08073.74 /0.....7..-0:3574.7 489548/0/.70.7:3.4.0/20394 1472:...390..20390 :36:008..-0 :348002548/09548/0/.20390:3.7../0.7.7.2-F35:0/03.47.303:3574. ..7..7.O3 .08....780547548-08...O3/43/034.948843$973 39007:7703..7.43.3908/0:9.7.0574..74 089E3/. :-07.8:0390 839.7.390.8954/0.7 345:0/090307.3908/0:9.O30.-020/.O3/0954       4/0-00.-04..7.94/4848 574.0/2039420/..7.7. .3/4:3342-70.7..0/20394 :.E:8:.5.43807..-7.0/20394/08/04974 574..6:0.4248.08-05.7.7%025'./0..5.794089.94/..8...34 $0/0.O/488006:. .084..06:0089F.907J89./039.20507290/01370954/0/.  .O36:0.805072903:9..80.  45:0/03.4/0..8.8/0/0.5.....944/04-094 /0....3.2.1:3.7.  '8:.:36:0 9072300574.7.80 03.3902.-0.4308.47/0:3..88000.0/203948835704..390...7:3.06:0.

.9.20390 .8 :.808025706:003.7.48 5074340348.903/4010.780/0342-7003.  .7.803903..9.424:3.8.7...8.:3.J '8:.7.-0%025'.3.45..-09030:3. 5479.744089E3/..8.. O 3./40.3.80 /0 1472:..0307..7.08/02O/:4/0.05J.-08 .3/4'8:.2039..7.7.9.7.4.0/0:3.J30..8 0./0.4 345:0/0.-003:3574.76:0 ...7../.......05J.:9.7.4825020390.7.7..03..7.70..03.439030.4574..424.-08 .70.89.7.70.8....-0/0130036:F5..7.9.02E80307. 907./0. ./.1.-0..8.:.43080 342-70  0..7.70.089..3/4.8 0-07J...7:3.7.4..803903.O30.7.074 :.9...7908/0....0/0...7..0/203948/028242O/:443.-0.1. 08.:3.70..794077O30.:..077O30.20390 %025'.42480..0:..:4..7442O/:4089E3/. !.O/4/0/.0/20394 .-03:0.06:.O3/0.394 /0.3:..O/484370.5.%02'.20390/080.7'8:.07E802570...04.7 2..8'....9.03./405J.03.7./4%025'.O3/0.47089E /8543-05.424.7.:3.7.8..794/01472..47/0..7..3......3897:.3.434./0.07.7 59435.0.7.0/0.0.6:0..7.903482O/:483:0.:845. 89438079.7574-02.2-.20390.-0834 /0... 5943 5..482O/:48089039080305740.O3#.O35J. 5.7.-7J.:0397.6:00.434.1:3.3. .-0.:3342-70 3:0.0/203945:0/090307.O30302O/:4/01472:.0.20390 59435.7870./407747085.94  $:-07.9.0/203948/094/..80.9 4-03  30203077.7..-03:0..431:7.  89./48 54746:0903/7E6:0../0.05072900850.8...20390.. 57207..089.3/4/0.574.-0  !.70.:942E9.94/4848574.7.-00890390 54746:0..-08 5:0/0..74  8030.43:3.08. .0/0:3.. 5.94/.-7J.7.3.7.:03970:3342-706:03480.07:...0844 24/1...08 8302-.7:3. !074.1:3..O3 '8:.4308 .-08/01472.7..O3 0. . 5..94/4848 574..0/20394 8O40.8.43080307.-08706:07/.70.../947.7.7..

.3..3.3..85..902 507408570107-0:8.3908 ..854794/48482O/:48 !.497482O/:48 :9.7.O3 :..0/20394  '.7.424. :3.../.0 574.7E3/4../.7.43080307...7.7.O/480.0/02O/:4089E/8543-05...89.7.....90 5476:0.7.0.7.88000..... 5.9039%025839007 3..-084...024$9.94/4848574.5.570/090723..803:32O/:4 01472..7...09. 573.O30.... !4700254  48.03030574.2E81E..7.3.-08:9..7.O3  20397./4 $0..2-F3./.9..43..8..../10703..0/20394 .-0.434...320/.8..8.80.7.O30.-7.0/02O/:4 34.7.9003..08 $0/0...-085-.3 /0..7.08/0./.0:3574.7.7.-08..7.7.O2480/0..7.-08.8.8..43!:-.0/203948/0.-7.7..390.-0..0/203948/02O/:4 5074345.7.:9.7.0503/03/4/0.0!:-.5.7.8.0/0 2O/:4/0.424././0.7.-085-.39%025839007 49..880/0..80.425703/07  '.7.0/0574.4708/0.076:0:3.303.0!7.573./0..7.0/203948O48070.8 48.4397.4328O40890320397.08/0:32O/:4  4389.3.0/203940306:080....8 .803:3574.8. 4 :32O/:4   '..7.:9.7.43080307.-08:9.-085-.88000.434.7.O3 0...0/20394 8O403.0890320397.7.8..-084.3.-08:9.7.8089E3/8543-08 5.54/02O/:4 !4700254 !:-.4708/0.43080307.9..-08.. :3.-7.7.08.7...5.54/02O/:4 !4700254 !7.-08/0.-09030..5.43$9.0/20394 4..0/02O/:4089F/8543-05.03970!7..8.O/4/0497482O/:48 700.08 ./.86:0.0/0 2O/:4 .7.8.6:094/.94/4848 574...45:0/0/0.803:3574.7!7.0.80.06:00.

43:3./2.3908 &3.8..08/070.3908954(05708O3 .4/010.72:./48 47J03085.O343895:0/0705708039.8.:770.7:3.488302-.0   5:0/06:00.8547'8:.7.47. 3897:.902E9.83.848 5:0/02047./4708/0 ..430.43080305708O3 &3.7.870.4389../44-.5.86:0 5.497.4389..7.9.1:3.2../.4389..85470:8:..-0 05708O3089E.8:0390 !:-..-0 ..39008:3342-7082-O.425:089.7:3..4  308948.//0.7480/0.3908 O O 4389..4389.20390.8839007 4389.7:20394342-70*.39008.39/.. 3897:.. ...07E6:00..85.03:3.9.-0 345:0/0 24/1.E/4 .70:3..4389..  ..574547..!7.0-/.07../..390882-O.70.8282.46:08:899:0.39086:070.7.309..4. 4389.7.547.7J.43:2F7...70.$.390.203:/4...:3.4.7:3.O/41.:3320744:3.8843.78:2..43./0.8.7.7 320748 6:0 5478J28248 3490303:3831.7342-708/0.O3/08:85745.4389.47/.4244. :36:0:3..74 345:0/0:9.4389.!./0..3904.4389..7.3908 .4389./03.473:0.4708.7.O/4/0503/.3908397J380.:07/..8.7.439030..39070.4389.O/4..43.84/013/.4389./03.4389..8547088902.320/..3903203948 :9.079483207486:0708:903/1J.6:034.4.43!  !:-.8.4389.839..84/013/./.39008:3342-70831.39084507..90(4389342-70*.O34389  70.

.

3..7 %4.7.3.3908039F72348/0.43!  .8.4389.79.  203:/4 .2-F35:0/0807:3.8.3908570.  50749.2.72E8/0:3.43!  &3.0/0.907./0137.43!4-:3/.$4.7.05708O3/0.:84/0137 .43.44.$8902.3908/013/.42.4342-70.309...424708:9.2-F3././4:3320744:3.0742E80-0 !47 00254 $9.44.8  13:2!07843.4389.43!.O3/0./03.3897:./4/070.O343895.39003:3.%039$:- ..4389.3908/0./03.43!45:3/.05708O36:0/F.J30.!...43./03.8030.4389. !:-.43. $05:0/0:9.8 ..4389..4308 !:0/03.4/0834:...7..8 4389../0.9.43'07843    4389.06:0/013.  08:3320744.74 .20390/013/..032. !:0/0.4390307.7.1:3.05708O3345:0/0.8805. .8.4389..4389.!.O/45.4389.:36:0.3908 5:0/0..309.8.8..8 !:-.7.85470:8:...

&3.8.703970/4842E8.390/04389.43./0.43..4389..:..O30..:.4389.446:0/0.8.7. ....:/./03974/0 574.39003.8 .0/20394 /0.O3 /0..7..447010703..-0800.70..70.39085-.4389..O3 0..80..O343899030:.8 282..3..0!:-.390/8543-00394/.. 4805:0/03/0.80...7..08/02O/:4  !.7..06:0:3.4 .43.5.4389..74  .4308 0307.3/48090303/4842E8.3897:.8 O O O !.5.O3 30O/:4 !:-.7.8.3908 $0574/:.:3.:.4389.708 42408548-0/0137...3906:08O4089..870.:.. 34089.3908 /0-07E90307.7:3.4389.497.7..7.0:3.0/20394  !.803:32O/:4/0.../.5.43  8543-00394/..7:3.4389.94/4848574.8.70.4389.08/0:32O/:4089E3/...7:3.390/8543-05..03.08089E/013/.O3 /0..3908039F72348/0497.03:3574.804/0 1472:..7../02O/:4 /0..39085-.031:3.-7.3.7.-0.9. !4700254 30O/:4 !:-../45..7./0.0.O/46:0089E1:07.43080307.0/203948/0:32O/:4 507434 5.O3/0.7.4389...7.E70.77010703.5..7.4389.E70..70.07:3.7.7.4389.

42O/:44 ...3.O/4  3'8:.7 !..-0880/0-03/0137802570.70.7010703...89.4 708973.7.....-084-.8./003903/07 .4.7.O3/0:3 ..8.2.39085-.5..4 '8:.70.8.O/4.8.:..70.7.9..08 9.7..03.7E:307747.....390307.3.8.8.-085:0/03903070..7.7.O3 4 5:0/000.3908'.0307.7.8 5:0/03.6:0708:0.7.032E8/1J..20348 .:9..:8...-084-..-08 ...O32:/1J.0.7.3/439039000..:9./0:3.:.2-F3.5.07O.07.5..08:0390 .7.42-708/04389.0548-0 .4389. 8543-00394/.:33..08 5-.8..8.43085.8....O3 $80574/:.0:3.94/..2034732074 548-0/02O/:48  43.43020347.

....343.43..438:008.08.748 :./0 .74 894.O3.43 5  4389.8. 3:3..3908 342-70/0...7.2-F3..5.78025706:080.N4/05740..04-.-08   &3.08 6:03480/0-07J.7.3/4..032.-084-./.4389...:./403.7:5.446:094/4848...O/4 30.:../74/0/E44 .0/0 :3..439://0342-70/0.70..3.84-70.O24/.:2039.4308/0-034507.03:32O/:4089E3/./0.7..O347.8.:9/.0/02O/:4880/0.7.6:0.7.78O4..5.8..0/0.41472:.894/.390/057014/0954 83.425.7/02.-08 89480.8..0808.8.203900.4203.//070.7.7403:32O/:4/01472:.3./ .O3/0.3..00..4389.7E.8..35.8./0.78O484-70484-09486:080085.947/0 839.059.8 .74 70850.4/1.7-7..8.8.90307.57E.8 ..7089.9..4770.7/0'8:.8.3. 33:3.8/0'8:.09.0880/0-03:8.:2039..-09030..8 :36:0...:9.7.O3  0.42O/:4.O/424/:.-7.7 48574.43.-084-.O32:0897.7.8  &3.07 7E5/.O/4 /0.8..:3...7.5..390880/0-008.7-03/4:357014/0.8.0390254/0 00..1472.0/03.5./0.3/434089..:/..5.7./01472.3.9.030390/0.424!:-..9.3.43974080.05.46:03/6:08:13..:.424!-.:2039.097..9.:8. ..8.0/02O/:46:0.7...8547 1:3./.548-0 !47 00254 8..94 9.0/203948 1:3.7 .7:./4.7.74 &3.-084-....745.7.7.3908089E3/..4254303908908232.9.9F.:03 .7-7032.0.-08 20//.:.O3/0'8:..797/.7.497.7.0/0..9.424 !7.097.880/0.7.4308/..2O/:4:3342-70831.7403:3 2O/:4/01472:.3  !70148/0.7..:..3..0...574/:.4770.08.6:0:8.:..2.343907.9003:32O/:4089E3/.8238.40703./0/E4403:33.948039701472:.-08/03..20390  49./.8.-09030.08 08.803:33.434.3.

-0  %548/0/../48 54700254 ..4243.3:3.3/.7.748 057014805:0/0..-08/0-030..477.7:3570145.7.31472.8.O30.2.7.203900397039439../ /02E8 48 342-708/01:3.431:8O3 330.8089E3/.-08/05747.O3/0954/0/..8 .3/480:803.74%25170390..O3  907.7.7.80:7.7..7.-70..8282.7/03974/0:35740. 842-70&8:.9:7.78:954/0/..0/2039480/0-008.742-70.:3.90254/05747.9480.7-7032...7.7.7.4203/.748 8070.3..9706:0706:0/0./.-08.8.48342-708/0.948/0:3.-08706:07/.5747.0/203948 .6:0.8.4389.439:/30.45..4.70.74%025 3.7.. .75.O35476:070/:.2.4389.-0   42-708/08.-08 0.7.39.7.7.7..-08.8.94574..8.-08077..'  :.2..907085:0/03807/1J.0.842-70&8:.4308/0-030250.08.3908 80 /0-0380:7..5..7094/. 48 342-708/0.0...:.:03.42-70&8:..7.8.0/0:3.948/0.7.7-78:1:3.43.-08 !4700254  '.43170..407039080394/.794/.8.3.8.:8.7.7.08.20390 030850.75. 5.0032074/0 0774708/0-/48.342-708/0..7..439:/7.7.-0 30307.3/.7.5..948  5..08/0007035.83472..:0754/0:3342-70/0.432E8/0..7.:.-08574.43:3..-08 &80488:039085701485.9.  .O3 59435.342-7086:080:803.3.8..9:7../0'8:..86:05.43.O3/0.7..07-4 .780/06:080..-70.  .7.3/.4308 .9F72348.7.74%25170390.1.7.390 !...70954/0/.25..3897:./74/0 /E44 5..43.0/0.:..7.48/0...6:048342-708903.7 ./947/0.-04574.8/0-090307..45.7..974 077...7E44  !.7.947./08.8 238.759.

:8.7.032074 3/.3/0.74 8:008079/.48 .8 $439548/0/..7.423 0-0/0.439548/013/485470:8:.4:3..8..-08/0:39540390/013/45470:8:.O3 0./03423../2038O3  0254  770483E2.7:3 84432074 03.0748.-08 #0897484897:.:4.8 242-7007704 2038O3 2038O3   8%540./2038O3.. 70.94 '8:.848003903/06:0/..43./0.-7.43: 807E1E..4203.20390:3.%50  $39.90708 $08948570148.9..%548/013/485470:8:.78003.5..7.70807.3..8  0254  7704/0'.74  %548/.9:7.7.80.7.424570145.-.:34 /0089489548:357014/09708..748/..2-F308548-03/..08/0:32O/:4 $0:8./.7.74 3:35740./4 %.0  $39.-08 &3.948/013/485470:8:..705J.43:394/0.432:.. /20384308 /0.74 8-E8..7.O3/000203948/02824954.948/0 9548002039..08.074.74 !4700254 :.947...7../48-./485470342-70.423 48 00203948843/0391. 8054/7J.845479..423:3J3/..7..89.40..7:5./.08/0'.8/20384308805:0/03/.3/4..770408:3..7.3/480089F97..43080307.49F7234/0.89..43:3342-70.8.489548/013/485470:8:.434.2039003.O3.7..:.

0880/080.3907472039080507/03 5476:0 .4708.8.:8.7..O3 :95.5..94/00020394 $80 /080..7704 5074.:.507290/0./4.7704 48.48 )54303..7..803903.43..77048 /08:039024/4 2  839007   #0/2 8989./48..0890954/089:.:3.570807..003.03...0 39207400203948  !# #$ 792F9..0!70807..430803..002039408703..4708/0-0248:8.-7..89:.3/48070/203843.8.O3 ././0 70/203843....7:3..07443:/0503/03/4/0954/0/..4308'8:.2..2420394/0/80N434808.7.-0 8:8/20384308 !.20394  #0/2!70807.4308/0.748.. 894:39  :.

9070389.O3 :.6:07.. O #089. 0425.90708 2./48.7.   :.6:07/J94   89.O3/0.7E.7. 43./03....903.... 4/#08/:4039074 24/  $:2.7.8 07442E8. ..8 425.8O3 . ..8O303907.:./02./03..907 :.6:07.474:..7E.(. 89394 O 03476:0 03474:.

4 47 .39075709..J30.8O3 897:.7.94/..8O36:0.:9.42E83897:.9:7...O3 488:03908/4800254884306:.7.9:7.7.839..7/48.0890...5.07408.059.4:3-46:0/0. %030248 /489548/00897:.473:2F7.424708:9.6:07.424%7:04.8/0.4397405072903.4-0948 O.8080.8 1..43974 O O 897:./4:3.48 3/O.8/0-:.O33472..8.7.:8.9:7.9076:034089.7.00.-.:.80897:.7.4 '8:..8/0/0.8/00.88:03908 O O O 1 %03 1 %03 80 $00..8803903.9:7.%7:0.8..O3 50745:0/0807.7.4/89394/0.6:0705708O36:0/F .9:7./45.43974.8O3 48574.8/0/0.803.47.:9.85.-08/07010703.:03.9:7..(.074 $ .0897:.4.473:2F7.43/.5:0/03574-...803:3.:.00..:./48 70. .8/0:3.8/0.8.7.0389..8..8/043974 ..9..9:7.8..O3  !:0/0:9.2039008:3.2.7:3..80 1 %03 &80.43/.425..6:07.86:08:03.790897:.-7.J30..438/07.43/.O3%03$03903.0/203948/0'8:.00.8.4 490./.:.O3 !.O3/05747.7..7:3.43/. 03:3.0 %03 !:0/0:9.'8:.80:3 . 8&8.4308 3970.4 7 O.:9.4/0.8.9:7..0 897:..473:2F7./..43/.701:4/000.425.4308-.7.03908 .8J30.43/...8 3/1 43/.8/0:3.1 %035..8/043974 897:.80897:.7/107039084507.7839.8 O O 1.9:7..O3%03 $03903.8J30.O308%7:0 '8:.4308 /0503/03/4/048 708:9.803903. 89.7E..

.20390 5:0/03.:9.430808%7:0  1 %03 80108:3.0:3-46:01 %0 805...J30.8.8((  80 -46:0/0803903.:9.06:001472.80839030703.4.3/4.43/.O33/1 $80 /080.:..7/8939.81 %03 3/1   1 %03 80 &9.8.E:8:.43/.:.3.3/403.8J8:.43/..43974036:080 .801  !4700254 .6:07 32074/0./0137.4308/0503/03/4/0...43/.O3%03 -46:0/0803903.89.43/..O3%7:0 '8:.430880 6:0'8:.94/0:3.7E 1..72E8/0:3.0./01 %0334:9.:7:3-46:0/0 3897:.J30.7E8333:3.572074.O3%03 -46:0/0803903.3897:.7 .06:05:0/090307.574.. -807..E:8:.43/.:.O/46:08:0.43/.08.4397408/0203 ..7...840850.0-46:0/03897:.00..7.O354/7J../0..00.748-46:08/0803903.:7:3.O3....6:003.3/1  5.0./01 %03 80  -807.8.83(( 3/1 '8:.8.O/4.4308..O3%7:0 :..97/0.. !:0/03.:0397.00..43/../0:3.8J30.O3 $08.801433:3.8( 801.E:8:./0..0880 00.0.:9.:9.:.O380.:9..80 '8:.7.0/0.5.8.8/0-46:0/0.8.:03970:3.20390 .0.%7:0 /0-0:9.2..47708543/03908 /085:F800.8 9030434. 839.43.. :3..8 :34/048...70.:039.

/008.7.$00../0882.06:08025705:0/0.573.282..3..7..80 .4708/0.43:3./.:..748-46:08 ..804170.790/48.0548-/.574547. 05708O3./4.8.0897:..9:7.9:7..43:3.801:3.05708O3/057:0-. $. 00.089...8.0897:.80.9...:3...1 %03 $3 02-.7800.4348.20390 ...9.889:.72E8.:3..8.74 089.43.9.3/4.425.43.9.05708O3 . '8:.3897:.803903.9:7.7.0708:9.0897:..E:8:.O31 %03 80 5074..801.9:7.424..7..2E80-0.80 '8:.9:7../..85:0/0708:9.47/89394 !.06:00.7.9073.3/4..:.8801.70.9:7.6:0800..0897:.:9.845.080.4308  .54/0.9 .20390:3-46:0/0803903.$00.0 84.7..0-46:0/0 803903./4/0089.8O3   $00..O/4 80.:9.708.80/0.839.84...43.1 %03 805.0897:.9.803970..7-7..425.4308 5:0/0:9./0/0..  -807. 00.$00.0897:./03.

08.7-7 .4703:3.42.43..70. .:9.9.4708 $.07442E8 3897:. 80805.43.8.43.O3.47/0.43.00.80  .4708.2E8.43..89.... !4700254 8:543..42.7E0 -46:0/03897:.6:0.*05708430808:3./0. '8:.7497. 8O48000.43./.O3030002541 %03 80 !4/7J./0:34.8.89.3/4./03..57207.-46:0/0803903....80808333.05708O3/057:0-.E:8:.439030.1:3.8 .:9.43. 89..4308 $2E8/0:3...348.4974.4308/0./. 45.70.05708O3/057:0-.203 /.2E8/0:3./0057084308 .43$00..801454/7J.84..8 3897:./0.E:8:.89.4308.43.80. ./4.7..

573. 5..059.O33:2F7.390803. 0897:.7:3.9.O3 ..06:0.9:7.05708O36:0/F.06:0..803903.:7...9:7.08 .801 $O45:0/08:899:7:3./090723.O/4 70509/.7:3.9:7.$00..074 4%7:0 /89394/0.8/0#0509.7:3-46:0/0803903.7.20390 ..43/.843 O O O 4 445 47 09 47.397:.1 %03 80.:3.O34-:.800...80 ..O3 4244.0897:.:.:. 09 4 445 &9.43/.78.282.:9.7.:770.3897:..74 .1 %03 805:0/00.05708O3.9:7./4.4397.$00.0897:.9:7..9:7.00-:.:3. !470..O36:0. .:9..-807.8/070509. 05708O3  974802548  897:.8:3320743/013/4/0.05708O3 /107039003.045../..4 445 5074...:3.43 :3./.431 %03 ./.0.O38010.80897:..42E8J30.474:3.0.0897:.8.:3.O31..00.4393..'8:.803903.7.00507290300.00..9.808.087:.54/0..8.9:7./..80897:.O3/0-0807 :3.8/070509.424708:9..8/0...074  .

:9.43/./..O308.74 ..3/434808.O3/085:F8/0.88.08.43/..8 $08%7:0 /89394/0.0-:..O3 89.:3.4248003.8803903./...:0. 70509.0.8. .O3 $03903./0893434089E03.308:039000254/04 445 ..:9.702039.7..470/:.0/20394..8./03.3802570.O3 . /08934/03974/0497..808.3897:.8000.3897:.390/0.497./0.O3.43/.7E00.:039..O34 44500.7.:E39.:9.8/48.O3/0-:.00.089.09.394 0-:..0802570 .:0./03.00.:03970.7..8803903.8 4 $03903..43/.0/0%7:0   47 09 48-:.8 4450.0890-:.O3 80.43.0.0805:0/000..8 ../03.39.39.04 5720740.43/../8939..-0.0..%7:0 40./0 /08934  $..:9.8:0390 ..:.:9.3E4.088030.O3 $. .8.9.:..94/..0  97.8.O3/03:0.08 802570.:...3/4..8003.O34057:0-.-0../4/0.....7.20348:3.8.047 09 /10703.00./0-:.2.43/.:.3..8803903.00.43/.8.8:3 32074/090723...857207457:0-.0.7.O308 . 3$97/0..3/4 .3/4.047:9..3-03..7./..20390 !4700254 0890574.04  0-:.0744%7:0 :3.839..0 348000...00..8/48..7.074 808.6:0732074/0.8.80 .8/0-:.O380.....0 ..:.:9.08 0820470070-:...0.705903/40-:.7.8803903.43/./476:03.43/.:.0 $302-.3/4808.O380.0.:9.:..497..43/.:.4  !479.08:.0841:3.80 3.:9.8 803903.0594036:07059030-:.88000.-06:080.086:08070590:3.8 445 :.39074708 0.3/4'8:.8803903.O3/0 803903./03.3908.4703.:9.439.8803903.074 '8:./03..

O/42572048342-708/094/.0 $3480089.. 09 -:.0/20394$:-..439.81:03908/05.7:203943..-0..03..:90 0../47082.70203940830.203909834808.7.08 894708:9.48  49.   89.0 342-70/0.8.848.:0754/0-:.75.439..476:013.002039437:54 $03903....1.80/0/..839.O3 0.:9.0.8.8..8.47./47( 48.:9.8/0-:..7/0-08072.7:203948.7    4257:0-.9. 090882..8803903. 09 47.4430.7.047.439.70203945:0/08075489.8    3./74/089.8...2.439.39.7020394085489.O3/04-09484/0:3..  890...-0..9.8..7/0-0807203474:..7$9053..40.703.70-:.8 090020394 !4700254 08:0390574.70203940830.047../47 3..6:013.7020394( $03903.948-4 2/-.0/0-:..8 :3320740850.0020394/0:3..9.70.439./8543-08  47.6:J./.4 3.9703.8/0-:.6:08000.-70.:9.0  $ 3....474:.74348000./47.:.4 '8:.4257:0-..9../4/0.   .40.8803903..7E3.0 $ 3.439.4  3..7    0.702039408  00.1.4 $3..439.047 09 507470590:37:54/0803903.2824./473.0850.476:03.-:.047 '8:.-.7020394 8800850..:3..702039.8.O    #0590485.702039484394/483:2F7.0/0705097.0.8 09.8803903./47034033./4/03..7 13.7 $408 '8:..-0.-.:E3948 00203948.0$905 0./4708203476:0 13.47570/090723..6:013./. 547.7%413.

03.42480.0/0:3-:..0.-0 -0.:039.897:.803903.:3.439.9 03F7.30.7/70.7 320/.72E8907.08.2.08./.47803.7.7.04  947948432:908.43807.-0.4:34-09424897.8 /0.O395.7.079.47/0J2908:507472E80 5../74/0%094/01472:.8:8:.O3905072908..7..:3-:.74 /03974/0:3-:.047.0..08 708:9..%03.0474/0:3-:.0 0.0...745476:0 :3'.40.70.4390300..08.0 .9475:0/0.7/0:3-:.6:0 .97/09548/013/485470:8:.08 00203948O45:0/0807:3..0  .97./0:3.08/0.30../4/0-:.74  8:039000254.8.9:7../4030.7.7.870897.:.9:7.439.0.3.7.7.9.3/4:9.908803.../47..0  :..42480.047945:0/0.8.3897:./47.84  :.43088:03908./47/1070  /0503/03/4/0.8:.-0.3897:.23...747.5.-0.39 :3.7..94/4848:.O24.9..20390/0:3-:.8/03974/0-:..20390/0:3-:.39345:0/0..8.08.5745.839.079.04 .3/4:9./47/04-0948  !..-0'.8.8 70.70.05702.-9.7.3/490723.439..39  45:0/0:9.74  $....4390307:3954/013/45470:8:.7./043974 .8.3/48.-0'.7. 09./48.43084803903.43:3..8....4308 00203948O45:0/0807:3.0 O O :.47/0.08370.39.20390 ..5.82. 09 O O O !....39.74/03974/0 :3-:.

7..43974085.7445.749748../0'071.43974.O330.20390903036:0089.80.4397408 /-:05720740.8089E.O3 0.8.2042-70/0.7.471:3.4  !7450/...7..7.43974086:0.O :.7.7.8.39  !.439030089E3.702..7.7.43./08 ../.40.4397408/03974/0.7.74  ..94 -0..3908/013.43.43974 .4  3.439030493880 97.-9.94'.4 .7:5../.7.7..43974507290.7./47.448.7:5.7.5943%J9:4/02.43974  '8-0090723.-0/090723.4 7.439./0:3. 48 .8./0:3954/0/.O380:9.3/48..7.4393:..9259808:3954/0/.0.8.08.7:5.-0.43.4308/0:8:.4   .071.7/.8/0.O3 /-:048 .4308/0954$..39071./45..08 !74.20   890.O3 .574547.8-08434  43974.708543/07.0/203948 43974.9./485470./.35.790439740889E3/..:8:.7.4 !.7.4397408494308/0 5.

/074.44 '07/.

O36:0.3/40:8:.8.594308.9. 2.. ./0...7.84 :..N.70..-0/%7:0...74800.071..  3.425...:3.75.8./08 .O3 ....8.5. /03974/0.0:3.45.43...  !7450/...O3 .

.03948 .0/ .3/40:8:.80 090723..-9./4   7.0/ '.0/ 78 3/013/4  '8-0090723.:.74  .  .43974  './45..8.8.2042-70/0....:0  &3..708543/07.8..8-0434  .8.7.. .J4 342./4   0..0.8089E.:770..089E.0..84-70.4308/0:8:.7..7.74.

O3800.430:3.43.45../08 . 45./.O36:0.75.45.N.  4397449O3/0 5.35.O3  3.-0/%7:0.594308.O3/0:37:5445..7.6:00:8:.439740880:9.74800.03974  !7450/.O3 5943:9943   8948.425....9030:35:394030.4308 .

708543/07.80 090723.4308/0:8:.:0%7:0...-9..7.8.2042-70/0.74  ./45.43974  '..8089E.

/44342.80 2./4  '8-0%7:0..7...7.

7704/0-0390307 02824342-70 !7450/.4397403 0.74.80 090723.0/0.:770.57450/.:./. .70./.3/40:8:.-0.7704/0.248:3.0.3/4.8-0434  .03948 ../08/0  .80-49O3089E.30.84-700-49O3   7704/04397408 :...7704 089.4397408 94/4848..43974086:01472.57450/././3/0089..00J3/.20 .4203.

0570:39.7704/0.O3/0-/4.84.2E81E.24897.05.:77O0 0.5479.7704/0.03945.9030:3.O/480.6:070020394/0.42509.7704  0254 ..7704  05.43974085079030..5.0/203948/00.5008    :0450..8.0/20394 /00./.4397408 :04/0..4397408    #059.-0.7E8/080./008.43974 !74.6:0 84408.70.439744..43974083/./08/06:0..0390 48.05.8:342-70:.9073.03908.43974 '8:..2034870.:.43974.43974086:0..94/4848.43974 9030/48.7:3.7057207.7704/0.7E209743/0/0574.8..4397408.43974089.0394  O/42E801.7-72.390307 48.800.7-72.5.0394 O/42E81E.. ..9.70.06:00.7704  F94/4   -:008:0390.7704/0./:.790302824 O O O %54/04-094 42-70/0.0/20394/00.70.7.039408028245..7:3./057207.39071.:3.8 F94/4   45.7704/0.4397408.0/20394/00.42509.707054790 0574.7.439740808:37:54/0.6:048.89.7./008.03902047.7E8 /080.7089.50080301472:.O/480.70.2E801..7704   .30703/20394/0..4397408    #059.:7848/088902.70.43974/05479.77048/0.0394/090723.70.070342-70/057207..08  O2480.43.036:00.70.89.5.84.77048/0.74 '8:.7-0:3844574.43974085.-0.425.6:0:8.&3.0570:39. .390307/0-/4.

./4  3J324..:0  43974:..2-..47570/090723.30 .47/0/085.3/0 /09028 !4700254..480.03.20394.:..7..:0397.O32E8-...O3./48.00./0:3.9:../08 ./0...10../4708/0..3/40:8:.2039447439..74.7  .:770..2-4.97.77..:03.030 /085.20394  '.3/40-49O38003.//0.4708  ..3/40-49O38003...48 3/.57450/.74  .7..74.20394  ./74/089.0394 .08  43974.39/.3/40:8:./0.7  $43:8:.300..08.0.74.548. '$...:0'..20394..548.0.0.74.7./4  .20394'079.:.O/45...:0397. 894   .  '.03.0394.7./4708/0548.:/4  !7450/.203948.47570/090723./'.:.89.47/0/085.39/./0085.08./0 /085.43170.O32E8.E24...300.77..5072977E5/48/085. .  './0.03. .9.47.03.:.:.3/40:8:.2-4..5.43974  $2./0085.77.20394...F8/0:3.//0.4708  3/. $.../0085.4:20303:388902.2042-70//0.47/0.7480/085.9:..70..

..  894:39  $3480800.. 8945:0/0 80798/080. 3330020394 0. .89.4390300J3/./894:39089.0320746:05:0/0 24897.4./893/0807E   ./4 0.N..-0./08 3.20390:3.43.780 80.43974894  .77046:0....0/09240020394./0/085...:3.43.20390800.&3.439748942:0897.57450/.4390300J3/.-0/%7:0.57450/.0  .0032074949.4203.89. .//4 54700254 6:080.89.07.89.N.7E./8908:3.:.-./00020394803..20394.43.00020394 .4390304800203948/0./03/0.//4..4300020394.89.57450/.70.47/0.08:33207403970  57207 0020394 032074949./ 893/0./4   !7450/.:./000203948/0...43.0/00020394800.57450/.57450/.080:8:.43J3/.9:.77.745:0/0 800.7:3442E800203948 $032074/0002039488:507./0002039480397048.:942E9.

.4708O../4  :9$00..-0.6:0 00203948.7/0893/0..43.7.903O  $4790/%7:0.80 090723..43./74/089.03:.8.0248.0/09240020394.  893/0020394800.38/4800.770489 3/.7.:.748002039484:34844  .:.-0.43974708543/0.43.2./:9800..485..57450/.  $00..74  897704.43974  03/03/.0808548-0800..80..434800203948/0.3/4 089.04/028249.89./48 %7:0 /0.//4.89.N4.989.  894:392074/000203948/0.4308/0:8:. $0:9.N..2042-70/0.90/7704/0.89.

/4030..43974  %090..89.425479.000020394800.0390.47/0709473408802570 06:.:.00.  .:0.20394/0.:./74/089.0.048002039488047/03...43.9:7.6:0/0.20390  $9089.9:7./73:0.0390254/0/80N4 08/08O40.N.-F9.3.0.1.0390254/000.05708O389 893/0 8/08O40.-0..80 89.4800203948..:0.O3  F94/48 //902!07290.-0.

43974 89448:8:.43974  02548 :0897.700203948.0902 89.-0.8/0:3./4 !7.4397442-44...7. %0989..03948 . .4397442-44 424.8048./0.3/40:8:../7442-3.4800203948/0:3..#024.507297.7490307.74023./4 42-44   &3.:770.9073.4397442-44 80:8./74/089.8048..:.89./08 3.9.43.70.084.743907.790/0.43.8  43974:.9:.89.70020394803:3.:3 :8:.90$:-89..-0/%7:0.8.7:3002039403.O303.0902!07290023.43974%094:3.:.5.857450/.731472.5.20/.9.:.42-3./0:..  99../74/089.8  23.70.430.  .. 5:0/0 ..02F94/4//9024 #024.790/0.030:./0:33:0.43974  !.57450/....:.700203948/0./0889 894:39893/05.00020394800.7.907J89.00020394.40020394.7...8*.8 %09 3/$:- N./890390254/0/80N4  !7450/..390.8048.7485:0/033974/:.8048../74/089./74/090944 800.89.8048./74/0%09499.89.8048.

43.  894:392074/000203948/0.89.434800203948/0.80 090723.4308/0:8:..43974  ..8..43974708543/0.2042-70/0. 893/0020394800.89./4  .80...74  897704.

//4.  $4790/%7:0..03/03/.0/09240020394.:.N./74/089.

:.1./$90 89.43974  F94/48 //902!07290.4800203948.N..20394/0.3/40.3/40:8:.43974  %09%0946:0.425479.57450/.03948 .0:84/0.:770.89.30 .:770.80:897.57450/..4708  0254 3.:.89.9.80 89.4397442-44 5:0/0942.748 8:03908.-0.57450/.0848002039488047/03.43.-0..47/0.  .. .700203948/0.-0.20390  $9089.-F9.89../73:0.743907../%090824/1.8:039039071.4390300..20394/0.  #024./4  !7450/./$90   .00.0902!07290023.3.00.4397442-44./089..425479./0.43974  .

.-4:/.7424/1.0/203948 8903/489548/0574..  -:/.43.:089. :0897.43486:08097.-:/..8 %09 3/$:- :0897.8048..8048./4 .-4.  -3..30  -.9:./.8.-4.90$:-.:942E9.0394037085:089.8 %09 3/$:- .4.8*.90$:-.8.20390574.8048.03.-.3.-4:/.-4.8048.:089.-43.003...43.:089./00020394800.5470:8:.-3. ../08*.7403.7403./45470:8:./4 !7.03'8:.-.-4..-4:/...039448574.5943.0/203948 /00.42.08  !74.  -..43.0./4 /07..5943..-4.8048. !7.0/203948/00.:089.5943./4800.48574.3/490303:3574.-43.43974 .. .43974 ./4/0.-.90$:-.096:09.0/2039480307.:089.8048.8*.0/20394 ../08 %09 3/$:- !74.9O34/088902. !4700254 48-494308/0.4308/0 90..8 !7./ ..096:09.:.0394 '8:.8048.0/203948/0.096:09.90$:-...5943.8048.0/203948./08 !7./48*..8048..096:09.800.3/40:8:../48 %09 3/$:- :0897..8048.

/4803:3.1:3. 80/0-003..008032074.7:203948039705.424802:0897...05J.0394.O3..7:3.9.1:3..J1..47/0./48/02.7..O3 #08:9.0/2039408.80:/45470342-70/0 574.:043...7F39088 $80 4290..$00.943 48574..7.3.7F39088 805:0/0347..574.70...:9.2039./0.4..-003./7.43:39414/0574.1.0394 5.0/203948$:- 48574.-77.:094 !47 00254 :.03-.0800..307.7/.3/4803./7.4.0394 48574./4 ..3.94370.0/20394 03:3.0/203948:3.O33480/080.46:0./0850.70...0/20394/00./00./...03:3-49O3/0..943/0.:.3/4  ..7:203948  !74.O/4.430342-70/0574../403.0/20394/0 0.47/0.039..:0..0/203948/00.7F39088.7./08/00574.0/20394/0203077..O3.943 $80/080. .O/403 :3574.:.07.3897:.2-F3805:0/0.0/2039480307.7.0394 805:0/0..08 48574.8 %.2-F380/0-034297485./4  3/:3./7./74/089.70.-0:332074/0.75.../480850./4   $8042903485.03.7-03/4003./4/0574.:0.3/4.3/40:8:.:09434:.89.70./.0..0394.J30.-0  8945:0/080798806:07000.0/20394 4 0250.7-.039.:.4.0394  !74.4397484324897.44.89.7403:3.03.0/203948$:-4:3..47/0./4:.6:0 0.08843574.7574./0.0/203948/00.7 %09  $800250. 9..42.80850.70/0/47/0.077.4708 !4700254  48574.O/46:08008.0/203948:3./485../7.039..0/203948$:-34709473.943:.70.O/4  $809030.0/2039480307.03.O/4  !74./7.7F39088.0/203948$:-8433.7/.7.7:33:0.8 08948/0-038073.:.3897:.0/203940307..7:3574.0/203940307.030574.3./4 839007 839007 :. 80/0-0.0/20394$:.:094 80/0-0:8.3.-49./4  !:-.4/03974/0..3/48O40342-70/0574..4393:.O3  .70.:3.0/203948/00.9436:0843.4 574.:.0/20394 !4700254 ....0/20394 :3.4708 308:039000254 0574.0/203940307.70.748574./0.74./0.7.47/03 70.-0.  !.:9./4 ./0.439749030:3.O/4/:5.43.3.

7.7..8/0 -0948 &3.:3./480850./47/0 4-09485...J1.43.O/4  .4 450../4843...7..6:080.7../4.5.0/203948/0.74 9.4308:0390 .8.:3574.:.424!7.8:.0/2039484..0/20394!:-./48 4!:-..7.7.2.2-F3805:0/0/0./48.089.O/4.424802:0897.7.1.J1.4302824342-7003/482O/:48089E3/.70342-70/02O/:4.74 48574.0/20394  48574.  !:-..7010703../48....0/203945:0/0807..7.74 2O/:44.O/4/0'8:.O/4089E3/./48.23.89.8.4308:0390 .0/20394/03974/0:3.7.03:32O/:4089E3/8543-085.7  482O/:48/0.03:31472:.23.7:3./47/0 4-09485708430.7..94/4848574.N...//4.7...5..:3574./0 .74 574.0/2039403:32O/:4/01472:.23.8./..O/4/0.424!:-...:3 574.2./4.70.O3  .O/4  !74..74 5:0/0807.20390.70..:.4. 5-.039.70. ..O/46:034080850..7 574../4/08/0.4390303../01:3.77E5/.2.1.5.O/4089E3/..78O4.74/0574.3/448342-708/01472:.3/40342-70/0574.2.2.0/203948 5:0/03807/0..38/4.  3/$:- $80/0..23.8086:0089E3/8543-08/08/0.0574.-0. 843:3-:03:.7.7.3..0574.0/203940850..06:080. $80/0.07!74.80  48574.0/203948-707J.O3805:0/00250.$:-!74.O/403:32O/:4/01472:.1./488O454749748 574.45.8:./48.O/4  4/:0 !74.O/4  472 !74.424!7.424!:-.0/20394803:32O/:4/0./48030801472:..0/20394.94/. &84/0.6:07:.O3 0850.7 80/0-0 0850.O3 5:0/03807.7 5. $80/0.:3574.0/20394  8:0390.7.../47/0 -09485.07903032F94/48/0 1472:...2./47/04-0948..7/0./4:3.:38441472:./48 5.7.0/2039486:0.7480.0/203948/0.0308:0390.7 5:0/0807.48  48574...0/0O/4 /02E8/054/07/0.90 57.0/203948/0.0/2039403:32O/:4089E3/.7..03.7.. !.905:0/03807.2.90. /04-0948.6:07-707J...3.7.7.

70..7.805:7.O3/0774708 :.-0.:..O34 574.O303'8:.O3/0... $05:0/0...O/408.3/448370848/0/.O308.2.8../.:03 !:3948/039077:5.7 .80..07:35:394/039077:5.7:3..87..320/.0/203948.9..0/20394.O3 '8:.O35.O35.O30390254/0/80N440390254/000.O3 ./0.9.-0.05708O3/03850.7.8 2500!.2..3. !.0.O3  57084308/03850.O3 $05:0/0 089.35:.O/4.037034 548-0089480774708.O3057084308/039077:5.7.85.7547.47/0.845.748574-.8:.948..2.2039..94/.79.77..35:.:9..O3 '.8./.8/005:7.94 .84 &80./48  .O3 5./0.7740.3897:.8...O3077470803.8.2.:...O320397.430803'8:..O3 89..-0405708O3035.5.:.34.7...:.85.8077.0300././.3..:3.8070/0574.794/./403485:3948/039077:5.8970..... 0825479..8.O3/0:3.0/203948.00.23.948 .0  !.O34.8./05747./090307:35747.7.574547..8/0 /05:7.84.3/4/08.2039.077.43.O.2-F30825479.83907.79005:7.43085.5./.3/..43085..390/05:7.4308/0.4.O30250.2..0/07./0077.:.845.574.5.2039.2039.7.2039.794 2..O3  077./.O3 2500.0:35:394/039077:5..880 089F0324/4/039077:5.-.8/0/05:7.84.-0807747086:05:0/..7  ....00.390570.707747080390254/0 00.5.039.:777 %.9:.8057084308/03850..8.3/4020305:7..8 077.

 90...7-F3/4./.0/.80 :8:..839007  08.57450/.43086:0:3 :8:..4572/..7.2548/0.748/.:. 3454/7E33708.8:..320/..071..94/.880/0-00250.03.7-494308/045./03.94803:3..7.3907.7:3342-70/0 574/:.....O/4  ./48 54700254 5:0/0.7-0  !7.507297.57450/..3./4.90$:-%09*0!7088 08../03.8/0 .748 /0-0308.7.08...039.8 8433708.7..'.890.8.48.7.3/40:8:.E/480870897303/4032074/045.8../.4308.20390/024/46:0805:0/.:3.907$089E3/.:.O3/0..O3 ...07..4308/0954-440..O/4.0/007747 8030..94 '8:..94/0:3.7:3.0.307.7408.90/008..3.90708.2.0376:00:8:.O3/0 5...089.70 ./4.E/4  %..89.43.:...80:8:./0.948/0:3.:9.07948..748800.08 89.O3 .7485:0/0324/1.48 :8:..570/013/.3.80 7 08.47083:2F7.90708..8.7.8..74 08.7370848.-08/0.7.2.748/.O3  #0897.7037084/0/.. 320/.743708.8083708.90.5./.57450/./74/089..039/090723.803903.059.079794/4848.0297E:3843/4 -005 .4.48 $05:0/09.8 /70..7.8/01:3.90.039480!7088 0430&55.03940!7088  &84/0.0/08089..80:7.708543/07..089.:.O35.3/431472..5.% !./74/09094  &84/0.8.0/20394 .4308 4.08 9.434397408 &3..90708 54700254 5:0/0 29.7480.324/4/039077:5..7-0 $05:0/0570.7480././0:3.7 89434 3.8.2.:./..3/40:8:.80850.:942E9.94820397.7437080..439:/2E2.:348077470803037084/0/.748 /.43..407 !4700254 805:0/00250.:.848:8:.45.039.9403:31472:.7..00.48..2.7:3342-70/0:3574/:.745:0/008.803903.9434.037.:0.0300... $80/080./4.2-F3805:0/03:8.820397.:9./.57450/..:.3.0/ .-0.-008.:332074506:0N4/045./0.5.7-7:3./.47J.7./74/0 9094 88902.948 $05:0/030250.57450/.O320397.8  &84/0.9:.948 $05:0/0570.20390.039.7:3..4708  '.2-F324/1.94820397.:./.9.../.45.03:3.7/.407:3574/:.O3 805:0/0574-.948.8:.7./74/0 9094 $..43.8. 3/$:-  .7497.00.6:048:8:.7.03940!70889030:.890..7.439:/2E2..438:8.7E..039 .2-.03940!70885.424..9482047. &.7488O45:0/03.O35.7:32038.8  0..70:84/0:3.74 0-/4.6:0 0...8030574.:..7.. :394.08 4.03948 0430&5 8:0390.0//090723.%7:0 48:8:.890..

3.7470.0/0:31472:.47083:2F7.7.703:31472:.-9.O3./0.8:0390..059..O/4570..7/.74.../4 :04470.7.790/0.89.-4/08.4393:..8547'8:.07.0394/090.42574-./048.:..03..8.0-49O3.-00./ 0!70.74./74/0 9094   !.4708$ -:86:0$03.8/0.O3.2548  ..  '.5.7.059.74../448/.O/4.4572/.0/0.0/01472:.8.9480394/4848.  ..:78480..7:04/03708.0306:048:8:./048/.254803:31472:.8:./..9480394/4848.74 80/0-0089.90./.74807J./..%7:0 1472:.9480394/4848.74.3/40-49O3.059.03:31472:.2548/0:31472:.3./.7.89.-057207400.76:0:3:8:.O/46:0..0/0472:./494/4848.3908/06:080050729. 3708.:/.7-7....-9.O3/01472:.7:3..79F.31472.7  8945:0/00.43974  8:0390.O3   !.74...2545.3/4049O3.2824 90254 3089.74 /02E8/00250....424802:0897.6:00 :8:./..-0..780.7483708038O4.7 &3..748/./0.O3/031472../48  805:0/008./0'8:..88433708.07E3.3..74./.8..4803:3.1472.3.-9...74 845479...57450/.4393:.94820397.80:7..7.89F.2548 ..

7.0394&34..7./0.43903048/.3/4806:807.5.3.O30507290.74.701472:.:.9480394/4848./4../9030:../48.42509.48/01472:.94/4848./0-49O3.84 .7037084/0/./4 0./400.948  8:0390./507290/090723..0003146:003057207.2548/0:31472:..:..74  0.2-4870./.74 4.7.4770.:3 1472:..307.0394..O3/0%4/4848.7424897./ . .O/4/0.4241:03..3/401472:.O/4.O3089.0394":07&34.5..7434.2546:0 .7:203948 ..28249025408 54303/40..0394 89.42509.2548/0 1472:.9483.948.748/080./4037084/0/.74 &3.3908 ...2.0394&34.0.2548/0:3472:./.-..794/4848.3908/00.....25483:2F7.7..-0.74:04.0394":07&34..748 . '.:8:.803../.570:39.O30300.708900.:.7408 /08./././9030488:03908.7 3089.3/4:3:8:./ 0.7:894..:8:.0394":07&34..74.059./.39074720390   &84/0.077.0394":07&34.7.

./03/4.5.74573.35:.74. /0.:34-094472 00.1472:.3908/06:08039039.3908/06:080/08.7.:0397.5.O3 425479.O3/077470803%0254/00.88000.0394&34.74 80.4241:03./.  .//00801472:.9.0394&34..47086:0805:0/034-90307 .35:. :..7../085:F80394/48481472:./.5.3908/0.3..7:20394&34.00.:8:..35:./4.0.748 .43082E874-:89.00.3.0394&34.0/203948/00.3.07.7:20394..3...7 N. 00.:3/..70 1472:...:770.4354.077.077.0.:0.748 $333 1472:.0.70.O380..0394&34./ 4.7:20394&34. 5:0/0:9.:777E3 48:8:.3...35430748/8.3/4:31472:.. 20247.74   49.48348003.0394&34..%7:0 /090303/40 574../.077.0394":07&34./5.O3802570 4.74.084/0.0394":07&34.-.089...:3/.744.3.O/4/0 2.8:3/.5..O/4.-0.4708  8:0390.4.7..O O .//01472:.57450/.7:033:34/004800.748/085:F803:31472:./4.424089.0394":07&34.4803./400.431472080 /08./4/03/..74  :..3/480.8  3903/03/40!74.748574..0770 $302-.0394&34.0488:03908.0394 ":07&34../5720740394/4848 /02E81472:./4. .O3 5072.30..:../570:39.8 O O :.O3 4807747080390254/000.084/0./  '.74880.74  .O3/00774708010.:9.O3/0774708 .4-036:080/80N0:3.0..3.:77000.0 1472:..077.7.74 00...7.080089.3/43/0808:5430/0-07J.74573..5.0.:./4/0 24/4*/08.3/4:3.:7705720745.3089./08 88902.5.0.00.-0.744:34-09447280./ $.:770 .O3 80.39086:000.7.0./08./4&34.:7700394/48481472:.0394":07&34..3.5.%7:0.:3.7484..7.

.O3.1.:.943  ..:...071.O3-..O/4/02.7./47/0077470800.748419./:2-0708:30390746:03/.-9.0848339077:2570:8:..35:...7.83897:.43.7/0.O3 377474%4  2..1.071.0089.:3./43/0/0-07E.574. 00.3907.7E.488:039085.059.O3/00774708 800250.7.:9..:348.-0.9..O3/00774708  .0.7:307747  .O3 !4700254 88097.../.:77/4 80.3897:..:3077470390254/000.O/4/02.084/02.:77.3897:.O3/0077470880:/4547:3.7.3/44.5.0 55.4308 377474%4#08:20   30../08.:.O3/00774708    $./03.4240250.748419.57450/.O3#08:206:03/..7 !.57450/.4:.47707 :307747507297..O3 .848    .O3/007747086:00850.47/0077474/0803.74/0:307747 942.O/42:0897../.:8:.00.:.848 805:0/0.-.7-70.3/4800250.0..O3/007747080850.35:.O/4/007747.7085:089.5745..857450/.4393:.059..-0.439030:3..9...O3/007747  ..8!7450/.4393:./0:8:.:77O -477.:77.547.....O3 377474%4.03./03.:942..07E 77 $4:7..O36:00307O007747 89 .:.4:.35:.7E.35:.O/447:93.084  8:0390.6:0..O3/007747083.3907.07E77 :2-07.0924077476:09:.7594308:3.35:.76:0077474..7..0850.74 349748 80/0-07E 3491.00.74  ../43/080-1:7.00307.:307747 $4.0.-9../4089..../43/0 8..:7707../090723.7:3.4390300342-70/04-094./08/0 -09477 .0..70574.:.:307747    8.7.70574./082F94/48/0 4-094775.3/44..:3 07747 ./$4:7.O38...4.57450/.7E../08.7 6:007747.:.47/077 :2-07 3.3.35:.7.8.096:09.1..O3 .75.O/4/02.9.. 3897:../02.

2.O3  '8:.780 0250...70890 2F94/45.424807E32.059.7:307747 .074 E8.24/4/0 39077:5.43..70.O3 /080.O/46:09030.O3 #08:20#0708.7.O3 #08:2009#0708.7/43/0../4 5.  49.5.-477.4/03907.4897089548/03897:.084/0:3./05:7.574-.:770:307747  08.89.0850. 4507.7.83897:.2039.O3#08:20800250.2.O3:04/02.O3:04/0..45.6:00307O007747  #08:20J30.-.8.45.O3 !4700254 8054/7J.35:.7......O/4/02..35:.48F94/48/0 -09477 2F94/40...705J.9./48480774708   30203077.O3  O !. .059.35:.4393:.0307.-.3897:.3897:../05:7.35:.3897:.00..03.8:03909..4308    3...O3#08:20 .7-0..:3077470390254/000.7:93.-0.1./08..35:.:.-9.7:307747  2F94/4#...O3/0077470803.:3.35:..20390 02F94/40./.O3#08:200349748946:03480.7E0574.  ..5.3/4806:07. 5:0/000..7089.2-.7.70.O3/00774708 .O3/05:7.J30..O36:00307O007747 2500#08:205..47707007747  3897:../02.9474J30..03.8 .203908:0390..O3... /0-.O3/00774708  77 #.3897:.O3/00774708.7.800307..  3897:.7..7  .7.4397.O3320/.8:03909.7:203944-..00.8.0850.43085.3/4.059.O3/0 0774708 4...4308 #08:20/8543-0803'8:..9.7..:3.35:.:0403....O/4/02..03 5.2039004-09477/085:F8/0.35:.80 7..O3/00774708 '8:.8.-9.O308.:9.:.574547.0250...75.0307.1.4393.35:..:.1.O3/007747080302420394 /0./08./.-9..43974.O308.47/077 :2-07.5./.O3/00774708/8543-08/0-.4308/02.030.75.705097:3.O3/0774708 !:0/0807/1J..7.1..7..845. O $:9.4308/0.3708.4/0 3907.43403.

/0.708.013.-003'8:.7.1.J1.748 89.O30850.425.5..:9....790/0.4308 3.70.030307...48 :8:.  425.O3/0:3.:9..O3/0:37..7. .030-49O3 5.084803.7:35740./.059..7-.7...424..70.4 ..5.40. 0307..5...:./731472.7-0.O3/0:3.94  70...078O309094/031472..7:3.0.O3 805:0/0.N..7...400.94 00   370800342-705.742-70!740.-05.48320748/0.O3/0.078O3 :04.7   .:784/08.94 .O3 &3.-0    !.-0 70.8.7....:9.75740.:9.70..400..4    302037...400.03.7...078O3 30..08:3574./74/0/E440307.

/.57450/..O3/0..748 $0/0-07J./08 89439030:3.0/0.078.0/00020394800../74/089./0.:8:.24897.:3/..:3...04089.43.-0.7../48 .947487:9./0.3.7.../08/0/8.8/0.48.400.7509..:3/.0803.89..:0.  !.O/4  43974:.020/.74800./0..0032074/08:-/70.7.0894   &3./0:8:.2.:0..0J3/.94748/8543-08  !7450/.8.03948 .94748  894:390.6:07:3/../010.9.../0389.5745..89..0.//8543-0  !7450/..:0.8/0 88902..70.084 .7./0.7:9.7.E/.0032074/0..5.:8:.43:3/..03948 .389.00. .7.20390030..74800.:./08 7.:3.07E76:.4.O3038:8./4.439745.439745./70.084.:9.6:03/.7.-77:3.00J3/.48.7.3:0./0:3:8:.7.403.4304308/0:3/.89..:.7:3.:.9:./0/70.7:9./7.0 0890.084./08.94748/0/70..9.-77:3.74.7:3.5./0:3/8.431:7.:./47.9.8  894:390..-0.390.70 5747..89.:9.94748 !:0/0.70.O303.:0..48 :8:.:.2-.484:3.70. ./0389..3/40:8:.:770.0390254 /000..7.424 -4 3/48$8902  ..  893/03/.439747.7 /8./070.:3/.74..748./!.O35.O3 &9../094/..908:3.4/08/0:3.9:../0/897-:.0894507290.2...-0 80/0-0/0574547.9474...8 849748..7.O3 &9.89.8:3/.4 /0:3..48/094/48 48/70.4397478942:0897..43.85.7485:0/03:0400./4.74  88903905.57450/./748/0/E44 6:0 54700254 50729.:.//0/8.0390254/000.43974  4089E/8543-00390254/0/80N4  .9:./02E8/0./08 7.7/.:3:8:.389.24897.O36:0389./0&3/.4304308.425:9.7..425:9..E/./094/4848/70..3.8../03..94748 7894   &3..47/0./800.70.7..4  893/00..70.O3 4089E/8543-0 0390254/0/80N4  89439030./0./48  !.0.43.0840390254/000.770897.3/480.30 .7:3.7.7:35747..O3 48:8:.5..74 !:0/0.7.43..3./47.790439740889E3/..04089..:.4308/0'8:.:3.00890./748/0/E446:050729.948 43974:.43.:./74/089.89.

947405.7.920/...7./0-98 :3.439742.908:3.43.94740850.7.990730.:0./0..7.74..7:37E1.O3 &9.5.7.4 &3.0:3./!.57450/.439742.04089.-0.43974 %.48  !7450/..7./!.3/480.O34.7..476:03/.99073 4803.74800.47/0..7.5.89.47/0.48342-708/0..%7:0./!.-0.48 0894   .430.43974089403.:0.7.46:08024897./74/089.../048 ..7:3./4803:3 ...48800.390./4.7...-0.44:37:54/0.6:03/.04089..4397408940390254/000.9:.24897.4800./4  89439030:3.43..0/00020394800.7:37E1.:8:./08 !.43.9:.:3.4/70.4 /08/0:32.48/0/70..3/40:8:.0   ....1:3. .6:0. 57450/....7:9..4344:3209.42047../4547./03 .9474.48.4/0../0.0032074/0.9O303:3.9:.:094547..00J3/.2-F38005:0/0 .439745.:0./07.424897. 57450/./03.7:3.O3/0..424 -4 3/48$8902  !..57450/.48/0/70.99073  893/00.084  894:390.8:09..3/40:8:.48  !7450/.04089.3.200..1.:0.00890..2-.20390  !.080:9.83..:.7.3//4.43.24897./!.:.43.9:700.O/4  43974:./08 0./4 :3 .424:3209..7. .:.203906:0.0/4-0..74570843.:0.:0.9.94744.:0397.7./03.O3  .431:7..70.57450/.7.7:37E1./!.:.30 .O36:0 547 00254 50729.48/0/70.9:70  $9709.4 ..5.04089.:3-49O3/07.:770.03:33:0.:770./748/0/E4403.4348.:.43..7:9.90390254/000.439740894  439742.:.03 2./!.7.43.89..8J.../48547954 !:0/0.0:37E1.03948 .00342-70/0:3.7E030.05:0/024897.-0.084 .4!4.2:0897.

0:9..7:3.748 .0345:0/0.424.04089.7.0. 5.439742./0:3..439030/47 :3./$9709.0:3.857450/.439030/47  .7.780..9:.078.5.:89.7807E1...2034870.0394848 2F94/48/0!.9:704 &80..80 0....44.9:.48008./090723.8:9.57450/.432E87.:89.2-.5/06:0:3 .-0.. :36:05:0/0.:7848/088902.439742.7.4.439744.439742./290:38:-.0/03974/0:3 ..476:03/..9:704 50748O4...:0.780./08 480.2.439742.N4 5.0  42039.43:394/0..8:37E1.43974!.7..

:31472:.  02548/0.7003 4:80!43907 70..7./!.47E1.O34.:3.94 4.:37E1.43974080808:0390  . 5:39074/07.1:3.9:7044:3.9O324897.9:70 :3.7003 4:80.4  %.1:3.9:70  89.434/01472:.2-F3805:0/0:8.005:39074/07./!.7.434..9:70      89.83.7.434..39.434.-0.9:70 5.0  472.-0.O3/0:3.439742.9:70 42-7007..O34.744./!.48.O/45.9:70      $.74 $09472 .9O3 $.00.7./!.9:70  .847/02E0308  .O34.43974!.403:34-094!./!./4035./!.7:3.

74 708:9..7.48574/:.32074/0.9.3907.08.0394%207  .8-05.4397408%207.394.8.-0/%7:0.7.:9E3/480033/484033/48%  !7450/..43974%2075:0/000.O/4.95.:.486:0805:0/0 9030703'8:.:9./47 %207   &3.9. 00.03/4:30.0574.48507O/.7./08 3.43974%02547.0:8:..403.43974%207 3.20394/0143/4 4 0890333J29057E.

9.0394%207/0 :3.07*.01472:.4/08.2/89..90 %207 3.-0/.80 ..:77/4:33907.42E8/0:323:94  ..43974%207  0254/0:84/0.38..  472 3/4$9.:770.9.97E8089...7.-0.0. 2E24 280:3/48 06:.97./29/485.43974 $80/08.-0./ 3907.04089.80 80..54.03/43.74.9..0032074/0280:3/4803970./0.-0.:0./45..9..0.-0.0..280:3/48843 6:0/08.90$:-.8..3/4.43974 %207 4/0.43974902547.43974%207 48.2...43974%207  32.3.57450/./.4708..9./47%207 !7.0.4570089..7.547.:039.-0/%7:0 3/$:- .03948 %207 .8.7E...43974  3907.-0..0.0../.0.:.0.0.43974%207  089.

..7.-..5:0/0:9.084.1:3.030.43974.9.39/./0.//0-./.084$0./...488:039089548/0-.94809  O .8.43974 902547.43.748419095.808/0/../. /..088'8:..948843.948/0F94/4/0.948 24947/0-..//01472.7.808/0/.70/..47.8-.  3/ 3/$:- 425.948 .808/0/./749947..948095:0/0 .. :3.N43472.-.  5.94809 89./4 $  .O/4548-0  '89.084.948  &84/04947/0..948  O .43974.43.0/07.35:.:03..4308/0.80/0/.43086:0'8:..80/0/.8.948 3908/097.5.3708.....5.790/0..7*.74841909507290..748419 .948 .80/0/./.30282424947/0-.9./.43024947/0 -.98  0..0250. .3907.9:.9.948.8.039.:7.948.0089.0/07. 80/0-003903/07.84/06:080.8 .9.3/0..2J32.9..O3/0.7.9.80/0/..9072344J.7.%0723.084.948/0-.4308/0-.3.9.2/$.2.084.:.00.5.424 .80/0.3024947/0 -..5..70.948..70...70.088 -0.  3'8:.82.0250.948.80/0/...:8.90$:-.808/0/..80:3/4 2:0897.0.948/08/0'8:.8/70.43974.5...7.9.7.8..7..0/07./08/0.94803'8:.3.. 89..8J./477089.3:.7....7..02038.85..43.:78403:207.   &84/0.9485.0307./.845..808/0/..74841909 484-0948/0.08 /08.43974././403..7.70.80/0/.078.2039054702494709 ././.43085705...8:9.5.7.808/0/.43.574547..47./.43.:...948 .//0.O3 !7./.5..8/.-0...8..

7.9.:03970.43  503.9.9483.948.808/0/.808/0/./-079.80 ..481472.948/0089.9-08.748419'8:.948  89.0 /.9483.:03.9  430.9.808/0/.0390.425.8-.808/0/.8-./.948.804330.4!74  !.80/0./4  O ./0.8-.

 .07 7./088902.80/0/.40.48/..4850//48/0:3.2.39071./4  3903/03/44843.424:3.94./4  O -707J.0/70.2.08:37:54O.0//.0/.8.-.. 89..-.8./476:0.088  ...9480250...0/05747.O370..748419.43974 703/0.7.7.439746:00250.0 .948059:34 2/-08:3.808/0/.O3/09.8  89../.948845479.80/0/.20390089E3/8543-08.07.480250./0.NJ.5.03.084.8-707J.3..948./.07 .948#024948O4089E/8543-003.7  9.850729036:080..8/0-.3/4'8:.O3/0.3024/04/0-.9.948/0002543. 890 24/045708039..43..43.8-707J.03.9.424:3574/:.2..80/0/.808/0/.:03 O ...424./0-..808/0/.80/0/.2.48.9..948 .948059:34.80250.424.43974 703/0.748419$"$07../0'8:.-.7.9486:0845479.43.8.20.07 089E3/8543-08 .9...424:3574/:.94870.8$"/0'8:.431472.-.3:303..439030:3.. !4700254 ..948#02494 #02490..8 &3.  O -707J.47J.O3 25708..9.948 9.0/07.425...0  89008:3.-..807.43..  97482F94/48/0. 5..05948E8.8.8574547.94805.084.6:0 ..948 48497482F94/48/0.30089E3/.....8.$4:7.08.1.4308 ! /0 /70.748419$"$07.47J.7./48 497.3  5:0/03807.808/0.:/.4/0 31472.-./48547'8:.94805.2.-.748419 $"$07..

 .843/03423.5.250.. 0203948/0:3./0-0/090307:3.O3/0.80/0/./408.42-3...-./.4:23.0 573.254 4:3...-.:03!0//48 03908 250..86:0.-.94809 .-.81.0573.0!73.5. 6:008:3.3.80/0/./..5. .439030:332074/09.70897403.-....8/0. !4700254 0..87089748 ./.7:5.254/250.9..-.9.-..9.31472.2548  6:0083.83./48  .8 9.9....45.7..2548   .7.-.5.948059:34.%.8 .O3 89./48  3:3.8.-..

1472:.08147E30...8 6:0843.9482:01..9.0//00250.3/.948.O3..472:.948 .-.!0//48 08:3... ..9.94884389.5.380724897..-..2039003.4308/0-.43903031472../..-..5.:3....08 !4700254 .748003.O303970..9.94820/..430..80/0 .40250.948    N.848   N. 03.....2..43974.9.85..6:035079030./4 %.43086:02.0573.2502039.O/4  3089.-./0:33.948.0/0/:5.-.948/0-..O3.5703/07E./48  &84/043974083.80/0/...43974.0147E30./48./0...9488330.4397403..547../085.9:.5.43974. 083.037010703....574547.5.-.948/0:3./48.-0.1472:.808/0/.25486:0.90.5.08 .390024947/0-.74 089..0390547.43903031472.0842E87E5/4.2:.79080. 250.847/03.07.03908 3.:942E9.48 /.70..344J.5703/07E..-..084.432:54./4  .4397408.9480250..07. .9./70.50//4  8O4803708.89. !4700254 03.804-903/7E348/./48.O3/0954:34 . 9..0 4-094#0.948030.O3 !4700254 .9485:0/0..80/0/. 2.9.07..7.439030:3. .9.808/0/.424088903905.2548 .-.748/0 .-.9.-...5..7E3../.948 802:0897.4397403.50//4 :3.254./0'8:.47J.5.9.O3/0..948/0.9.25408:3..50729008.0050//4 ..-.!0//489030 :3.7.80 /0/..7.4:23..-...9486:0025000.//008.:3844.05.7:3.7:3.0.O/4  !.&3.748.80/0/.43974.80/0/./4/0390 890.9485:0/.9./.9.7..903.-9.-..-..43974.-.790/0.-0.2-./..08 48J3/.9.70.  %0307.7.-.O36:03...7-7.30.7.0307..9.84.0390 ..5./489030 :3J3/.0390547..7.5.0390/0.8 -86:0/.857450/.31472.4308/0-./4  %7.9./0-.48 50//48 39F72348/0:3./.-. 0307.0573.3/4.2039048/...250./483.0573.:./4 50/48 42-70 09. 808:03488:03908 5..5.03905:0/0903072:.5:0/09../085.86:0.-.08/0:3.948 ..439740803./0:3.1.748419 09 89.:3 .80/0/.2-F390307.4.9.9..8.31472.9./..70.80/0/./4 $:3:8:.43974.47/809.:0..:3./7.7.  3/.20390 3480 /080.44...-.43043974././0497.48....9.-.-.948 :..948 !4700254 :370897403.03908.74089.2-F380.70.07.43897:7:3.. .3:3442E8J3/.424..43043974..25403:3.3/4:3./08/0.0390.43974.6:048/..74....084.80/0/.857450/.25485.948059:34 ..2-4880.808/0/.7.948./0:38443708403:3.439746:0./..07010703.34828248/.9...08/.8038J !.948507290.250.481472.9.5.948.:942E9.7./403:31472:.80/0/.9..O3/0-..3 ..-.084.7 .-.794/.0850.5476:0./250..:00.43..7-7.86:08432E87E5/..7.948.6:0/48708974803:3./4 /..748  #089748 &3708974...

:.9.806:070.!7450/.439030:3..-.O3 0850./03.748/..948    850.!./4330. 57450/.0748.4397408397J380.-.9./08F94/48/043974./4 4970..7-03.8!7450/./085.0./..954.80./48   89.8:0390:897.948/.9.342-70/0.07..0850.-.7.-../.80/0/..76:0708974870.80 !./48.7 80/0-0089../4/0-.7 /0'8:./4330.-0.80/0/.4397403.4708/0.43974.07..07. 0830./4089.7.:507...9486:080/080.0 ../..4  2.80/0/.7.:.7.57450/.0 80/0-0089.-0.-0.43974    390254/0/80N4 089..0.43903048.703 0.948 .20.8!7450/.-0.0/5:0/0807089..7480/085.80../08 .7././.7509.08/085:F80850.-0.9.94803..03/4.$4:7.948 .9.857450/..43974..9.4974708974 :.6:0.948.43974.9.O3  &8.-0..9 ..76:F.48.4397403..9.5745. 342-70/0.1.    390254/0/80N440390254/000.370./ .80/0/.20#0.430..07.9.80/0/.57450/.80..848/08.9:704 %094 894 42-4448.9.254/0..7 089.0390254/0/80N440390254/000./.8.746:0.507290380703.9.:3.948  3.948 4.43974080.-0. !.43974.. 57450/./082F94/48  .9./4.25480/080.-0.1.47/$4:7.0850.484089E3/.$"  49.-..:3.07..-.43974.0/07089.80/0/..7:3.9.-0 !.3940:8:.424.-0.7.9.-.20. 488:039085.857450/././#0.O308:300254/0:31472:.9..-.1.:507..:3.0/0:3.9.0/  .57450/.84/048.948 .9.1./48 .9.08. /02E8 805:0/03089.1.47/$4:7.7.439740803.8 8:0390857450/.439030/4708   .24897.7.-0.8-..57450/.03/4..7403..0/0.43974.:.-..7E ./03974/0.57450/.24897.-..0.80/0/./.48/0.:..74397408 085:F8/0089./:./.43974083/.76:0.7 .424080./08/043974.07.948    !.0/07.

9.2-4803.47/$4:7.47%7:0  !4700254 8.43974../08 .!7450/.57450/../08  4 /070./#0.04-094#0.O3 80/0-03.:0948  ..../../48 * #/250.943 ...747.89.9./48 5.80/0/.5.7034.497.4.57450/.:7.057450/.5.0$% # 250. #0.. 89..57450/.2.//090723.7.43487089748/0./.43974.07010703..N.43974.7.%7:0 :0480.780 039707089748/03974/0.7470974.47/80994203.6:080.9.702F94/4#01708  .80/0/.2039000.-.572074.47/809 %4/40.0/090723.08089.8809030434:3:840.-..!7450/.47/80980.9:.9.0...08.-../8.7./#0.7..74 :807 :3.5./082F94/486:05:0/03807:8.424./#0.2-4803./.:942E9..57450/.47/809  8:0390.8.430.-.74897..O354/7E.857450/.57450/...943 89.780 :3.7070.47/$4:7. #01708  -094#0.-0.O3/0-...47/809 #0.077.:..857450/.5.7E02F94/4//0/024/46:0805:0/./08/090723.57450/../ 3..8:./4( 99/25 %09 .3817F3/480.-.6:0.%7:0  .:8.:9.07.7E0./085.7./085.O3942.43974.89.20247.943//0  800250.7485:0/03.. 97.08.43974.5../ 3 89.9.8805:0/0434.9.80N.:8./0850.:09485470 .  .!7450/.47/80908:34-0946:0.948 082E801..07.7:2039489.800924708974 0.80/0/.943/0.-.0 0390254/000.43974.7/70.3.-./ .424 :3342-70/0:8:..47/809 ./4.47/809 3:3.9.7..948 48:8:..948.-..3.57450/.07.30..  .:.././80089.1.3/4.O/42:0897.0954/0-.03.7.43:394/07089748/0.57450/.80/0/.. 924708974  ":F08:3#0..948 $089./7:33:0.70897445.9.7..4808 30..36:0.06:0805..9..80/03423.-7083574-02.-77 !:0/03..43974.439030.0.74  . .9.4 708974  F94/4#01708 2F94/4#01708703:0.-0.8!7450/../#0.0390089.948 $ 348090305.-77.4397.20390.0348-494308/0 .80/0/..0/07708974.43:394/07089748.7.97.4390300.47/809 $80.0 .03.2-.43:394/0 70897484#0./. 57450/.948 48:8:.4/0..948 33:3.:3.:8.-0.4240250.43974 .9.-./ #0.2F94/4#017085.80/0/.80/0/.

/..9.9:.7..7 ./02824 :.708974803070.9:.05.47/809/0:3.7.57450/./#0.857450/.9.43974.857450/.43:394/07089748 /085.731472.7E..O3/0708974.7.439740803.8!7450/.8:0390:897.70#0./.4708974 .7./090723./48 $05:0/0..  #0.43974..47/809 .43974 .42574-.943  !4700254 805:0/0089..:.O3/0708974.O/46:0025002F94/48/04-094#0..8!7450/.030../08   /04-094#0./08   ..43974.548.9:.07.O3/0708974.47/8095.7. .47/8093/..009 :0.47/809/0.9435.  8000..47/809 03943.47/809 4.70.9.!...548.9. #0.548.47/809.4013..08 ..57450/.77089748  ...:9.47/809 4..857450/.943.:.0482F94/48..9:.748J2908/0:3#0.348 J2908/04-094#0.080.O3  3.O/4  ...O33/.03/4.408..31472../#0.47/8095..00708974.3/4:370897448 7089748 4  80574/:.47/809  %03 .O24.-0. /0-0.857450/.2-.47/809 &9.  33:3.9:.47/809 800250./ .4390300708974.7./08  /04-094#0.0.O3/0 .7./4 80/0-00850.35:..O/45.708974 4./08F94/48/0:3#0.0.0824897.2-.57450/.47/0.70.9434 .20390 $80089../..O3/0708974.38..74023.:507.O3802:0897. 57450/..89 &84/0.424802:0897..9:.3/480/085.9.2../08  08%7:0  F94/4//0/0#0.7.47/0.. #0./090723./08/04-094#0..47/809/0.47/809   !.0250.7.:942E9.5470..3908/0572077089744/085:F8/0924708974/03974/0.9.43:394/07089748 $34 .O3807E 942.708974  :.9:. #0.47/809 $:9./ .1..0.704-094#0..7E:3077470390254/000.3/480 /085.0308:0390./7:33:0.857450/.7-03/4.-0.57450/.8./  .8:0390 1.0.N.7.3/480/085.9.780547487089748.../08  /090723..47/809  090723.54748 .703.. .

90$:-..0&5/.47/809 //0 F94/4&5/.90800250.74800.47/809  !4700254 8:3:8:.9.9.5.89..9.90 4.9.89.:9..439740803. #0...43../48089.-.7/0:31472:.0&5/..7:32F94/4//04/97034.89 3/1 3/$:- .0308:0390.7..7*.2/7./48.3.  .948473.74 701708.0.6:00:8:.90701708.. .90$:-.N.023.74 507494/.74.948. 2F94/4&5/.:3-49O370.9.3..90 F94/40090/0#0.-...7*.9.3.8:.70. 2F94/4..  .2/23.5.47/809  !7.J.O3/0:3708974  !7..7..-.:3708974 /1070390 .7*.43974.4708974.O/42:0897.90#0.47/809 800250.80/0/.:370.O/4  !7.47/809 4.9:.3.9:.7.90#0.48.7..O/42:0897.0&5/.9.6:080.47/ F94/4.90/043974.948  !7..43/.2548/0:31472:.25.0.9.3448.70..47/809  $:3:8:..470897434807E.70.90.948 800250.80/0/.3.9:..9...9.../4 02F94/4.O340/.0../45072.74 :04/0.7.O/42:0897.:3..80/0/.948  8:0390.748.47/4&5/.30.9:..4974708974  8:0390.9:.4240708974.O3.8.4507.-.24/1./-/9//  3:0.0&5/.20390:3 2F94/4&5/.  .:9.  .4348/.2/70.-0.....3.7.6:00:8:../448.90#0..7E0708974.424802:0897.-.7.424.70 708974 02F94/4..:370.00.424.2/..4708974..2548..//4.948/070.70.02F94/40090 708974 023.0.89..02F94/4//0 '8:.//94/0/0.!. #0. . #0.7E..90$:-.4247.47/809 4.0.7:33:0.70708974.74802:0.47/809  %03 ../034.  8:0390.7E48.90#0.47/809 !..0&5/.3.7:33:0. #0. 57450/. #0.90$:-.9..08/0 70..439740803.80/0/.70708974.47/809 0090 .3./405J.7:3708974/0:3.02F94/4//0 :.47/800250.3/480 00.9:.7*.07E.74802:0.47//043974.-.009 1..-.3. &5/.0.

43088:03908 O O O O O O O O 4..948 8900.905.43974.870.43974.746:0.//0'8:.830.8:0390839.6:025/03 023..7 077..7:203948.480.:..0394'.-.7. $05:0/00250././4/0.90$:-.0394'..-.07..90 3/0839007 .2-48574.9.4:8 4./4 !.20394570/090723.90 &9.2-.. ../442.0.905.75.472:.80/0/.7.03948507290342975.80/0/.3908/06:0'8:..47/03/23897.08.:.790/0 ...9:./48  &84/088903905.80/0/...000./.748 /0.:0.0..9..7..7/..948  !.9.472:.948 800250./0089.7.O00..7..7:20394.74 !.97080..-.0 .8.425479.75:0/0..7.7804340708974 $8.80 /0/.9.0394'..2-4870.948825086:00250.:3.008%7:0 48/./.5.701472:...7088903905.948.0/03908/048.:8:..0789 4...7/.4.O3/0:.7...748/0.8.7.3.748 /0/.0  7:20394$./48/06:0.7.472:.943 .:9/.6:00307.3.7.8 0./.748/0.7/.00.7.0394'.-0./48.7:20394..439740803.943.7.7-..0!70..203901472:./47/0 4250203948/02034250203948  &84/048.7485.80/0/.43897:77E5/.43974.909030.9.948 08.039486:05:0/0:9.7708974870...0839007  7:20394..5.*'..44.-.57450/.948 88903905..7.2047.03../4/070.009 4...80/0/.7.8/03907/..7.7.1472:.80/0 /.47 ..0394'./...0.O36:0574.43.90 0090 3/ 89.8 !7...7.748/.49.94848 .94808:3.039480574/:..948 03./7010703./.-.03/..7088903905.90 7747#0548943 .90 0.3.9430.3.47 ../48  $39./.8.034974708974/0.748/0.9485..0.4507.7:370897403..50/7 ..943839007 8.7.9433/.O3/0-.89 //0 &5/.472:.7..0:894.424708:9.948 !:0/0:9.  &8.O3/0-.948'.700.43..0394'.30.574547.42574-.948059:349030/013/.9080 574/:.9.8.4308 .03948/043974.43172048.83..705:39074/0 708974..70.8.80  .7.6:07.3908/0:..84507./.-..

43974.O/40300. /8939.  !7./085. #0.. 5:0/06:048 /.31472.80/0/.7.24/1.36:05708039.780/0:3.5.3/4'8:.0..084897.8:.85.O3 30.47/809 32074/07089740870..3547 47..O3-.8282.03949030:...780.-../48   &8./0:31472:..2-480.948/01472:.O/48:0390:9.7.94/48487089748 !.74 !.74  .3900..4308/0503/03/4/08J480250.8 ..000.4..8.0394#05489435.4708974 :.70897424897.7.:.31472.-.5..5.2-F380574/:.:33:0.470897420/.845.6:0:9.6:0802:089700708974320743  !.0.1472.0394#05489435.3.9./4030802420394../..*#0548943  .2-..74708543/04 48.430.. .9.4308 5:0/0334807..43.742:0897..7.80/0/..0394#0548943  .57450/.7...3/4:3:8:.703../0:31472:...:8:.9:.948 %..708974 08.746:02:089707089748/00250.70.8E3/480030708974 800.:.9./48./0:31472:./-84:90!48943/04-094 #0./8939.8:0390.7480/085.7..48.0394#0548943 !4700254 5:0/0 24/1.9:..948 $0 :8:.80/0/.030.4770.2-48.2-48807E3..4708974  8900.2.:33:0.5943#08974  .7.-70.0.6:080800..9.9.90$:-..709J9:4/0..845. 5.0..43172048...24/1.07032074/0708974.7032074/0708974. :9.074 54746:0057207708974080  8:0390.703.:33:0.47/809 -84:90!48943  3/$:- %7.424./48843148 902547.036:0:31472:.08..948  4/1..7:3.45.7.-.06:080.748.700.4 708974  !4700254 08548-06:003:31472:...7.57207../01472.3/480/085..0394#0548943 &9..43974.05:39074/0708974./085.00.:...74903.307.O/45/0.O/42:0897.7.9.O3.9:.74470./..-.7E..4974 708974/0.7.7.84/03:0.703../4/89394 .9.9.O384-70:30250.7-..7.746:0..

/4030./..9.9...9:.397.:3.03947747  48.7E00.8574/:.20394/00774708 507843.203900 708974  4897.7...3/4:3:8:.8:0390708974 0..030.0:307747.. '8:..430.4708.../.0/007747089E3/. $80574/:.084..43974.7.  !4700254 8:3:8:.2:0897.70.3/4:3 :8:.O/4...2-.707747080300.9.44.6:0802:0897002038..O/45.5.80574/:.0:3 07747/0..7:32038.4770748. /085.97..0308:0390.745:0/0 .0 .:. 89.43974.7.0/00774705747.424802:0897.43974./48.03947747 0..43974.0:3 07747/0.9.9..07.4708/048.8.01472:..948/:7.254/085:F8.039477479030:.00.9.02038.390747   &8.030.000..97..7.9.4393....7/0..780:307747 :8:.74-.039477475.9..7.084.797..948 &9.390.9.9../4.7.O/4   &84/043974083.O3 80574/:.7424/1.7 5:0/0.0/007747507843..430.0/007747507843../4 $34...2..7:32038..O32:0897.. ..43974.0.7:20394#0854380 0.948.9:.73:0.743907.70.9./4834.:9E3/480  $34/080.:897.9:.7E0708974.83.43974.:.8...47 24897.780.9:....0394774780574/:.254803.9.5...743907./4..

/.03.7.746:0.94897.4397408 800.43974.425479..948..439747/9030..6:08003..47J.0757450/../048.9.  O !.57450/.3./.0. /.948 .9.8:0390:897.70439747/  .8070/01.4:23.4:23.-0..9.:.94880 089.9.  .748.43974.439747/5.47/809 :.7.7.$4:7./4&5/..5.57450/.43.745:0/024/1...N./:..748708974882:9E30.94    3.-.83.7295087089748 7/08:3.790/0..3 7089748.:78480/08.439747/ 5072906:048:8:.83/..4:23./7J.948...439747/0507290 .06:02:0897.-0..7../48..4397408.900..439747/.-0.47%7:0 :3:8:.0  4897..089.08/0 ../085.43:394/07089748 /0.1.:942E9.748419.7.0/0 .7E./70.:35740.5..003...  ./48.7.948 0..439740803.0/03908/0.746:0:9..709J9:4/0.439747/:3.O2480..07.43.8.07E3.2-../.7-03..948 3089.0 03.4708570/090723.-.70.8 ./48  &8.43974/0. 5708039.80/0/...4:23.2.03.2-F35:0/0089.9../48397J380.03.:942E9.254/0/.. . 0..439747/  !:0/0.4:23.7..:31472:.203908:803.948/0.77089748574.059.1.439740803..48 '8:.4397..3/4./02E8/048.7.797/0.8./08/0.20390  3.07.O3802:0897.4:3/7/43974 :04 ..:3../.43974.9.0757450/./48/0.:348.47/034254303908/0203!740.20390/0/.4:23.43974 %.0.../48.70.0724/1.:.80/0/.857450/.948059:34   O !.7487089748..4397408.-0.5.03./086:00850.4170..2-...:3.3..7  .439747/8003./48 09.43974 !47 00254 8.748/08: .9.86:0705708039./.O3/0-.2548/0:34-094#0..830.748 /.94   .

254/0/..  3.37089748.7.7J.42-3.47/809 &5/..:.4:23...85..3..700../48 09.709094/0. #0.:3..7.0/.4:23../.70..7043974$07/  . !:0/0.43974.O3808 30.948/08/0:3..0-49O380. #0.948 03:3..03..7:5.2-.70.O3 !4700254 847/ 4:238 7/ 4 %09 !./.84.3908/06:0802:0.9.0-49O380.9O384-700.-0.8  !:0/0.31472. 882.439747/ :04/0.8:0390:897.47/809../.43974$07/2:0897.47/03#0..9:..9.:3.439747/.90 &8.  0..:3/..5708039.47/03!7450/.43..709J9:4/0.90 0. !:0/0:9.O3/0/.84.2548  -90307089.7.7.9.8/031472..43974$07/574547.:9.909030:.O3/0..7..439747/ .43974.034:23.8J.203900390254/000.9.O/4 ..9.2-.-0.039401470&5/.43..O370.907J89...8.../..:507.7:5..439747/5./4.948/08O40.71.3/48003...:.08.40.4:23...948..74/07. 8000.9.439747/089E03..439740390254/0 /80N4 :04.-.7.3.948..O3802:0897.9O384-700..70..70.6:08003. #0.4708570/090723..7..8./7J..439747/    ..O34:238/0..70.:36:0 .08/050//48  .748/.  !.47/809 /9 .4:23.7.0.9:.47/809./4..7.-0.4/:74 .74/07.9... &9.:...7.439747/.94 8./48/0.7.0.03.-074 03. 09.47/809 0/8 42-70!74/:.:507.039401470&5/.3/.  572. -107/0.43974.0709094/0.074803./4 !47 00254 80../0.7...74  &8.8/0..089..:3/..0/.08:0390 .../08    .9:. .. 4572. 800..O3.9.2-.31472.9:7./.  ./48547/ /050//403.7.43974$07/ 5.45.:.2-004-094#0.43.

.7.57450/.7704070#4 0704 .5.7./08.74  -9030731472..8   89.857450/.N.7.-. %./.74/43/08003.O38:03902:0897..:./4..0.803.42-3.0../4.:3.4708/0:3 #0.7.7  !4700254 5.89.-.47/1070390.4:23.81.948  .-.948 89 40.08/050//48 .42-3. O !.70.074    89./..0/.8/0.7..7.704397442-4  !:0/0:9...4708.7.0/.3/40:8:..E/48 03.948  .5708039.8..47/809 894708:9.42-3.1472:.746:0:9.7 0/ .439740803.7 342-708/0../74/089.43974$07/  !7.O3/0:3.  !4700254 5:0/05708039.:0397.95.:942E9.5708039.../07008.-.08:0390.0/0/ :9.-0.948 42-4 5.09.20390:3..9047J..2-F35:0/0:9.43.E/48.7:3.9047J.:.90$:-472*4.7.574547./.9.9..8 .47708543/0390..9.%7:05.42-3.708948..7.89.-0.86:0/0800.70:0424/16:0/.O/4 .:8:./74./4 03..74.4397442-45.4308/09./0-86:0/.:31472:.:.:897../0.7../0342-708/0./0-86:0/.03.!74/:./  $07/ 0700810070700 $07/ 0704 %7:0 3/$:- &8.43974/0.

./4.078/.. 6:0.710.9.-. /090723.-0.20 8..57450/.4397442-4 !..-.0. 89.$4:7./0390 995..20394$..74../0 ./..254  .:2E3  :.43903048..0/ !./44394.-0.857450/.4397442-4 .9./08/0..9.7..3$.42-3.:..254/0..2-.57450/...254 !./890/:3342-70/0.57450/.9:.47  089.7./47 /0:4/0  03974/0089:/48&3..20390 089..-.:3.O303970..9O.-0.70.76:F.948..0:3342-70/0.43903094/4848....4708/0080./08./090723.089.0757450/.7./.43974.:.476:0805708039.70./4:3/4:23   ..3/4:3:8:.3/470.80/0/.9./403.4708/0-86:0/.6:080089E24/1. .../ #4$4:7..030./74.07..-0./03.9.830.94880.

.

/003.39.831472E9.7707.4 0/: 8../47  0. .J4/097. :3.30307J..3.48  :/.-./$.9:-70/0    .4/04.03$8902.J8$.  !..