Fbinario = I1f(Value Mod 2 = 0, "0", "I") _
& Fbinario
value \= 2
Loop
Fbinario ~ Value.ToString() & Binario
End Set
End Property
End Class
Como puede ver, practicamente toda la logica del componente se encuentra
alojada en los métodos de asignacién de las propiedades. La conversion de de-
cimal a binario es una simple divisién sucesiva entre dos, formando el ntimero
binario con todos los restos de esas divisiones y el ultimo cociente. El proceso
inverso, la conversién-de binario a decimal, se cfecttia elevando la base, que es.
2, al exponente que corresponda a la posicién de cada digito. Para este fin se
utiliza el método Pow() de la clase Math.
La propiedad Chars del tipo String permite acceder individualmente a
cada uno de los caracteres de una cadena, utilizando un indice compren-
dido entre 0 y el numero de caracteres existentes menos 1. El métodoGet-
NumericvValue( ) delaclaseChar, como puede suponer, obtiene el valor
numérico del caracter entregado como parametro, convirtiendo el Char en
un Double sobre el que podemos operar matematicamente.
Finalizado el desarrollo, el siguiente paso seré compilar el proyecto con el
fin de obtener un ensamblado, en este caso una biblioteca de enlace dinamico,
con el cédigo IL del componente. Esa biblioteca podemos alojarla en un reposito-
rio comun donde tengamos todos nuestros componentes 0 los componentes de
terceros.
Instalacién del componente
Indistintamente del tipo de aplicacién que hayamos iniciado, para utilizar
nuestro componente Convertidor desde Visual Basic NET lo primero que
tendremos que hacer sera instalarlo en el Cuadro de herramientas. Con este fin
pulsamos sobre él con el botén secundario del ratén, desplegando el ment aso-
ciado, y elegimos la opcion Personalizar cuadro de herramientas. Aparece un
cuadro de dialogo en el que existen dos paginas. Abrimos la titulada Compo-
nentes de .NET Framework y pulsamos el botén Examinar para localizar la
biblioteca donde se encuentra el ensamblado del componente:
A partir de este momento el componente ya aparecera, como puede verse
en la figura 15.3, en la lista de componentes que podemos agregar al Guadro de
herramientas. Lo seleccionamos y cerramos el cuadro de didlogo pulsando elbotén Aceptar. Normalmente el componente aparecera en la pagina que tenia-
mos abierta, al final de la lista de componentes que existiese en ese momento
(véase figura 15.4). No tenemos mas que pinchar sobre él ¢ insertarlo donde nos
convenga.
Componentes COM Conborentes d.NET Famawok |
“TTespano de nombres [nombre de ensambiado |
yam Wiedons-Fome System \Wedows Forms (1.0.2411.0)
SptenwWndorsFoms System. WradowsfForms(.0.2411.0)
Sytemiindons Fors ‘System. Wndows Forms (1.0.241.0)
Syatom Web. Sperm. Web (10.2411 0)
Ghetabacss. Wadows ons Cwtabecsons Wedows.foms (1.0.0) +
cretiDecoons. eb CrataDeceors ve (9.1.0.0) i
Blamonvacse — SytemviebuLwebconves Siten.web (1.024110) ‘
loca SyenvindonsFoms Stem WndowsFoms 1.02411.) +
loc SyenwebulWebcantos Syten.vieb (1.024110) {
owas Seren webULWebcontos _Ssten.web (1.024110) ic
ai ais z sacl I
converter
(gy one: Todos os Momas todos ates)
Verstin: 1.0.749,30075 (Verstn comercial)
Figura 15.4. El componente ya en el Cuadro de herramientas
Este procedimiento sera el habitual siempre que pretendamos usar el com-
ponente de forma visual, como vamos a ver en el punto siguiente. Si tan solo lo
necesitamos para crearlo desde el codigo de nuestro programa, bastaria con
afadir una referencia al proyecto utilizande la opeién Agregar referencia del
menti asociado a la carpeta Referencias, en la ventana del Explorador de solucio-
hes. También podemos necesitar la insercion de una sentencia Imports al ini-
cio del codigo para importar el ambito en que se encuentra el componente.Uso visual del componente
Habiendo iniciado un proyecto, ya sea basado en formularios Windows 0
formularios Web, y atadido nuestro nuevo componente al Cuadro de herra-
mientas, su uso es practicamente ideéntico al de cualquier otro componente que
hayamos pedido usar en los diversos ejemplos que se han desarrollade hasta
ahora. Haciendo doble clic sobre el componente, 0 bien arrastrandolo hasta el
contenedor, insertaremos una copia.
“nese Momento habremos creado un ob
jelo a partir de la clase Convertidor, un componente.
Observe que en la ventana Propiedades aparecen las propiedades que ha-
biamos definido en nuestra clase. En la figura 15.5 puede ver como hemos alte
rado la propiedad Valor y obtenido su equivalente en Binario. Logicamente
también podemos efectuar la operacién inversa, modificando Binario para
obtener el resultado en Valor. Dado que el componente no tiene interfaz de
usuario, podriamos introducir en el formulario un par de cajas de texto para
habilitar la conversion en ejecucion, Fl cédigo se limitaria a una simple asigna-
cion a Valor y lectura de Binario o viceversa
‘rete Elles oe Broyeda Gonarar Depurar Cotge Herramientas Vegtana Aude Wi epoorer
f- s- OO LBB Oo BB, nang + arn
«SOP dant oe tle
jc e's Ree
8 Ginko de beramincs 2% fo) | Cena > Fam TS | ¢
oto
Cenpeneias Forni
Wow ome
Pr renrenzo:
iS ingatin
Bl recone
Ktosre
Wf conervery
us Toe
Shs
Se naan
i overrieosba
DB savertepawg
BB Feniion
Di cooveng
7 prtoniog
Bi renmrevenoaty
[d PrintPrevencontrot
9 ered
LB Prnbacamane
HD ropesenebaoo
G cyranesonvense
eb atcoe
2) cone Weanmnien
Ved
ee
Figura 15.5. Podemos utilizar el componente Convertidor de forma visual
A pesar de que el componente Convertidor aparece en el Cuadro de he-
rramientas y podemos crearlo y manipularlo mediante un disenador, lo cierto
es que su comportamiento como componente atin deja que desear. Al modifi-
caren la ventana Propiedades el valor de la propiedad Valor la conversion no