You are on page 1of 24

www.monografias.

com

Programa calculadora para subnetear en Visual Basic 2005 y 2008


Jaime Montoya - webmaster@jaimemontoya com ! 2 "#digo en $orm! %b "#digo en Modulemetodospublicos %b 3. Programa en &jecuci#n '()*+ El programa completo (tanto el que fue creado originalmente en Visual Basic 2005 como el que fue convertido a Visual Basic 2008), incluido el c digo fuente, arc!ivo msfl"grd.oc" # documento $ord se encuentran disponi%les para descargar en !ttp&''www.(aimemonto#a.com'networ)ing'su%neteovisual%asic.p!p Este programa fue originalmente creado en Visual Basic 2005, # luego e(ecutado en Visual Basic 2008, simplemente generando la conversi n que ofrece Visual Basic 2008&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

*rimeramente, este programa requiere del o%(eto +le",rid. *ara incorporarlo, copiar el arc!ivo msfl"grd.oc" en la carpeta "+,-indows,system en $indows Vista, o "+,-indows,.ystem/2 en $indows -*. Este arc!ivo tiene las siguientes propiedades&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

.uego, para que Visual Basic 2008 tenga acceso a este recurso, se de%e !acer lo siguiente& /ools 0 1!oose /ool%o" 2tems3

1lic en la pesta4a 156 1omponents, luego clic en Browse3 # %uscar el arc!ivo "+,-indows,system,ms0l1grd oc1 en $indows Vista o "+,-indows,.ystem/2,ms0l1grd oc1 en $indows -*, que se de%e !a%er u%icado a!7 previamente. 8l !a%er encontrado el arc!ivo, !acer clic en 5pen.

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

Este es el arc!ivo que de%e aparecer con un c!eque una ve9 se !a#a encontrado # a%ierto mediante el %ot n Browse3&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

:acer clic en 5;. "#digo del Programa 2utili3ando el programa 4ue 0ue con%ertido a Visual Basic 20085

Cdigo en Form1.vb
2mports <#stem./e"t *u%lic 1lass +orm= *rivate <u% /e"tBo"octeto=>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"octeto=.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"octeto= serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8. Gim numdigitosocteto= 8s 2nteger ? .en(/e"tBo"octeto=./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"octeto=. 2f numdigitosocteto= ? H 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# tres d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es 255, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% /e"tBo"octeto=>;e#Lp(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#Event8rgs) :andles /e"tBo"octeto=.;e#Lp End <u% *rivate <u% /e"tBo"octeto=>/e"t1!anged(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles /e"tBo"octeto=./e"t1!anged End <u% *rivate <u% /e"tBo"octeto2>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"octeto2.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"octeto2 serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8.

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

Gim numdigitosocteto2 8s 2nteger ? .en(/e"tBo"octeto2./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"octeto2. 2f numdigitosocteto2 ? H 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# tres d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es 255, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% /e"tBo"octeto2>/e"t1!anged(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles /e"tBo"octeto2./e"t1!anged End <u% *rivate <u% /e"tBo"octetoH>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"octetoH.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"octetoH serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8. Gim numdigitosoctetoH 8s 2nteger ? .en(/e"tBo"octetoH./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"octetoH. 2f numdigitosoctetoH ? H 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# tres d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es 255, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% /e"tBo"octetoH>/e"t1!anged(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles /e"tBo"octetoH./e"t1!anged End <u% *rivate <u% /e"tBo"octeto@>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"octeto@.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"octeto@ serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8. Gim numdigitosocteto@ 8s 2nteger ? .en(/e"tBo"octeto@./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"octeto@. 2f numdigitosocteto@ ? H 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# tres d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es 255, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% /e"tBo"octeto@>/e"t1!anged(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles /e"tBo"octeto@./e"t1!anged End <u% *rivate <u% /e"tBo"mascara>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"mascara.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"mascara serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8.

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

Gim numdigitosmascara 8s 2nteger ? .en(/e"tBo"mascara./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"mascara. 2f numdigitosmascara ? 2 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# dos d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es H0, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% /e"tBo"mascara>/e"t1!anged(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles /e"tBo"mascara./e"t1!anged End <u% *rivate <u% /e"tBo"numdesu%redes>;e#*ress(B#Val sender 8s 5%(ect, B#Val e 8s <#stem.$indows.+orms.;e#*ressEvent8rgs) :andles /e"tBo"numdesu%redes.;e#*ress 2f (8sc(e.;e#1!ar) 0? @8 8nd 8sc(e.;e#1!ar) A? 5B) 5r 8sc(e.;e#1!ar) ? 8 /!en C.os Dnicos caracteres que se permitirE introducir en el /e"tBo"numsu%redes serEn los nDmeros del 0 al F (8<122 del @8 al 5B) # el retroceso de espacio o %ac)space para %orrar nDmeros introducidos, que es el 8<122 8. Gim numdigitosredes 8s 2nteger ? .en(/e"tBo"numdesu%redes./e"t) C*ara contar cuEntos d7gitos !a# en el /e"tBo"numsu%redes. 2f numdigitosredes ? H 8nd (8sc(e.;e#1!ar) A0 8) /!en C<i #a !a# tres d7gitos, #a no se podrE escri%ir otro, pues el mE"imo que se puede escri%ir es FFF, pero siempre se podrE usar la tecla Bac)space. e.;e#1!ar ? IJ CBorra el d7gito que se !a digitado. End 2f Else C<i la tecla presionada es diferente de un d7gito o de la tecla Bac)space. e.;e#1!ar ? IJ CKeempla9a la tecla digitada con el valor de nada para que no se puedan introducir caracteres invElidos. End 2f End <u% *rivate <u% Buttonsu%netear>1lic)(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles Buttonsu%netear.1lic) Gim tempnumerode!osts 8s <tring CLsada para el mMtodo de la %ur%u(a simple. Gim tempnom%resu%red 8s <tring CLsada para el mMtodo de la %ur%u(a simple. C2f 1t#pe(/e"tBo"octeto=./e"t, 2nteger) ? 0 5r Val(/e"tBo"octeto2./e"t) ? 0 5r Val(/e"tBo"mascara./e"t) A 8 5r Val(/e"tBo"mascara./e"t) 0 H0 5r Val(/e"tBo"numdesu%redes./e"t) A = 5r /e"tBo"octeto=./e"t ? IJ 5r /e"tBo"octeto2./e"t ? IJ 5r /e"tBo"octetoH./e"t ? IJ 5r /e"tBo"octeto@./e"t ? IJ 5r /e"tBo"mascara./e"t ? IJ 5r /e"tBo"numdesu%redes./e"t ? IJ /!en 2f Val(/e"tBo"octeto=./e"t) ? 0 5r Val(/e"tBo"octeto2./e"t) ? 0 5r Val(/e"tBo"mascara./e"t) A 8 5r Val(/e"tBo"mascara./e"t) 0 H0 5r Val(/e"tBo"numdesu%redes./e"t) A = 5r /e"tBo"octeto=./e"t ? IJ 5r /e"tBo"octeto2./e"t ? IJ 5r /e"tBo"octetoH./e"t ? IJ 5r /e"tBo"octeto@./e"t ? IJ 5r /e"tBo"mascara./e"t ? IJ 5r /e"tBo"numdesu%redes./e"t ? IJ /!en 6sgBo"(IGirecci n 2*, mEscara de su%red invElida, o cantidad de su%redes invElida.J) Else C<i los datos introducidos son vElidos. Gim nom%resu%red(FFF) 8s <tring Gim numerode!osts(FFF) 8s <tring Gim contadortotalde!osts 8s 2nteger C*ara contar el nDmero total de !osts que se desean (al sumar todos los !osts de cada su%red), # luego poder evaluar si el nDmero no es demasiado alto, es decir si !a# capacidad de ofrecer esa cantidad de !osts. Gim ma"imo!ostsdisponi%les 8s 2nteger C1iclo para introducir nom%res de las su%redes # cantidad de !osts para cada su%red. +or i 8s 2nteger ? = /o Val(/e"tBo"numdesu%redes./e"t) nom%resu%red(i) ? 2nputBo"(INom%re de la su%redJ O <tr(i)) numerode!osts(i) ? 2nputBo"(INDmero de !osts de la su%redJ O <tr(i)) contadortotalde!osts P? Val(numerode!osts(i)) ma"imo!ostsdisponi%les P? 2 Q (H2 R mascara(Val(numerode!osts(i)))) Ne"t C/e"tBo"ipsrequeridas./e"t ? contadortotalde!osts

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

C/e"tBo"ipsdisponi%les./e"t ? ma"imo!ostsdisponi%les C/e"tBo"ipsenredoriginal./e"t ? 2 Q (H2 R Val(/e"tBo"mascara./e"t)) R 2 C/e"tBo"porcenta(etotalreservado./e"t ? <tr(6at!.Kound(Val(/e"tBo"ipsrequeridas./e"t) S =00 ' Val(/e"tBo"ipsenredoriginal./e"t), 0)) O ITJ C2f Val(/e"tBo"ipsrequeridas./e"t) 0 Val(/e"tBo"ipsenredoriginal./e"t) /!en 2f contadortotalde!osts 0 (2 Q (H2 R Val(/e"tBo"mascara./e"t)) R 2) /!en 6sgBo"(I.a cantidad de !osts requeridos es ma#or a la cantidad de !osts disponi%les.J) CBorra resultados. $it! 8"6<+le",rid= +or fila 8s 2nteger ? 0 /o .Kows R = .Kow ? fila +or columna 8s 2nteger ? 0 /o .1ols R = .set>/e"t6atri"(fila, columna, IJ) C*or estar dentro de los +or anidados, con esto se ponen valores <tring Empt# en todas las celdas, de modo que no apare9ca nada # queden todas las celdas limpias # sin resultados de cElculos !ec!os anteriormente. Ne"t Ne"t End $it! /e"tBo"ipsrequeridas./e"t ? IJ /e"tBo"ipsdisponi%les./e"t ? IJ /e"tBo"ipsenredoriginal./e"t ? IJ /e"tBo"porcenta(etotalreservado./e"t ? IJ /e"tBo"porcenta(esu%neteadoreservado./e"t ? IJ Else /e"tBo"ipsrequeridas./e"t ? contadortotalde!osts /e"tBo"ipsdisponi%les./e"t ? ma"imo!ostsdisponi%les /e"tBo"ipsenredoriginal./e"t ? 2 Q (H2 R Val(/e"tBo"mascara./e"t)) R 2 /e"tBo"porcenta(etotalreservado./e"t ? <tr(6at!.Kound(Val(/e"tBo"ipsrequeridas./e"t) S =00 ' Val(/e"tBo"ipsenredoriginal./e"t), 0)) O ITJ C/e"tBo"porcenta(etotalreservado./e"t ? <tr(6at!.Kound(Val(/e"tBo"ipsdisponi%les./e"t) S =00 ' Val(/e"tBo"ipsenredoriginal./e"t), 0)) O ITJ /e"tBo"porcenta(esu%neteadoreservado./e"t ? <tr(6at!.Kound(Val(/e"tBo"ipsrequeridas./e"t) S =00 ' Val(/e"tBo"ipsdisponi%les./e"t), 0)) O ITJ C6Mtodo de la %ur%u(a simple para ordenar las su%redes de ma#or a menor, en %ase a la cantidad de !osts por su%red. +or i 8s 2nteger ? = /o (Val(/e"tBo"numdesu%redes./e"t) R =) +or i2 8s 2nteger ? = /o (Val(/e"tBo"numdesu%redes./e"t) R =) 2f Val(numerode!osts(i2)) A Val(numerode!osts(i2 P =)) /!en tempnumerode!osts ? numerode!osts(i2) tempnom%resu%red ? nom%resu%red(i2) numerode!osts(i2) ? numerode!osts(i2 P =) CGeclaraci n destructiva. Nom%resu%red(i2) ? nom%resu%red(i2 P =) CGeclaraci n destructiva. Numerode!osts(i2 P =) ? tempnumerode!osts nom%resu%red(i2 P =) ? tempnom%resu%red End 2f Ne"t Ne"t C8 partir de aqu7 se da el proceso de su%neteo. CGim mascara%ase 8s 2nteger ? Val(/e"tBo"mascara./e"t) CGim mascaranueva 8s 2nteger C5%teniendo las mEscaras de su%red de cada una de las su%redes introducidas anteriormente, # los respectivos saltos o incrementos, as7 como tam%iMn los valores de cada octeto para cada red. Gim mascarasu%red(FFF) 8s 2nteger Gim ultimo%it(FFF) 8s 2nteger Gim incremento(FFF) 8s 2nteger Gim octetoincremento(FFF) 8s 2nteger C*ara conocer el octeto en el que se aplicarE el incremento, que podr7a ser el octeto =, 2, H o @.

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

Gim octeto=red(FFF) 8s 2nteger C*ara octener la direcci n de red del octeto =. Gim octeto2red(FFF) 8s 2nteger C*ara o%tener la direcci n de red del octeto 2. Gim octetoHred(FFF) 8s 2nteger C*ara o%tener la direcci n de red del octeto H. Gim octeto@red(FFF) 8s 2nteger C*ara o%tener la direcci n de red del octeto @. Gim octeto=%roadcast(FFF) 8s 2nteger C*ara octener la direcci n de %roadcast del octeto =. Gim octeto2%roadcast(FFF) 8s 2nteger C*ara o%tener la direcci n de %roadcast del octeto 2. Gim octetoH%roadcast(FFF) 8s 2nteger C*ara o%tener la direcci n de %roadcast del octeto H. Gim octeto@%roadcast(FFF) 8s 2nteger C*ara o%tener la direcci n de %roadcast del octeto @. CGim octeto=redinicial(FFF) 8s 2nteger C*ara o%tener la direcci n del octeto = del primer !ost utili9a%le de la su%red. CGim octeto2redinicial(FFF) 8s 2nteger C*ara o%tener la direcci n del octeto 2 del primer !ost utili9a%le de la su%red. CGim octetoHredinicial(FFF) 8s 2nteger C*ara o%tener la direcci n del octeto H del primer !ost utili9a%le de la su%red. CGim octeto@redinicial(FFF) 8s 2nteger C*ara o%tener la direcci n del octeto @ del primer !ost utili9a%le de la su%red. CGim octeto=ne"tred(FFF) 8s 2nteger C*ara o%tener la direcci n de red siguiente en el el octeto =. CGim octeto2ne"tred(FFF) 8s 2nteger C*ara o%tener la direcci n de red siguiente en el el octeto 2. CGim octetoHne"tred(FFF) 8s 2nteger C*ara o%tener la direcci n de red siguiente en el el octeto H. CGim octeto@ne"tred(FFF) 8s 2nteger C*ara o%tener la direcci n de red siguiente en el el octeto @. 5cteto=red(=) ? Val(/e"tBo"octeto=./e"t) octeto2red(=) ? Val(/e"tBo"octeto2./e"t) octetoHred(=) ? Val(/e"tBo"octetoH./e"t) octeto@red(=) ? Val(/e"tBo"octeto@./e"t) Cocteto=redinicial(=) ? Val(/e"tBo"octeto=./e"t) P = Cocteto2redinicial(=) ? Val(/e"tBo"octeto2./e"t) P = CoctetoHredinicial(=) ? Val(/e"tBo"octetoH./e"t) P = Cocteto@redinicial(=) ? Val(/e"tBo"octeto@./e"t) P = +or iH 8s 2nteger ? = /o (Val(/e"tBo"numdesu%redes./e"t)) mascarasu%red(iH) ? mascara(Val(numerode!osts(iH))) C5%teniendo los incrementos o saltos. 2f mascarasu%red(iH) 0? = 8nd mascarasu%red(iH) A? 8 /!en ultimo%it(iH) ? 8 incremento(iH) ? 2 Q (ultimo%it(iH) R mascarasu%red(iH)) octetoincremento(iH) ? = Else 2f mascarasu%red(iH) 0? F 8nd mascarasu%red(iH) A? =U /!en ultimo%it(iH) ? =U incremento(iH) ? 2 Q (ultimo%it(iH) R mascarasu%red(iH)) octetoincremento(iH) ? 2 Else 2f mascarasu%red(iH) 0? =B 8nd mascarasu%red(iH) A? 2@ /!en ultimo%it(iH) ? 2@ incremento(iH) ? 2 Q (ultimo%it(iH) R mascarasu%red(iH)) octetoincremento(iH) ? H Else ultimo%it(iH) ? H2 C2f mascarasu%red(iH) 0? 25 8nd mascarasu%red(iH) A? H0 incremento(iH) ? 2 Q (ultimo%it(iH) R mascarasu%red(iH)) octetoincremento(iH) ? @ End 2f End 2f End 2f C8plicando los incrementos correspondientes o manteniendo los valores de los octetos segDn corresponda. 2f octetoincremento(iH) ? = /!en octeto=red(iH P =) ? octeto=red(iH) P incremento(iH)

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

octeto=%roadcast(iH) ? octeto=red(iH P =) Else octeto=red(iH P =) ? octeto=red(iH) octeto=%roadcast(iH) ? octeto=red(iH P =) End 2f 2f octetoincremento(iH) ? 2 /!en octeto2red(iH P =) ? octeto2red(iH) P incremento(iH) octeto2%roadcast(iH) ? octeto2red(iH P =) 2f octeto2red(iH P =) 0 255 /!en CGe%ido a que cada octeto soporta un nDmero mE"imo de ======== %inario 255 decimal, entonces si se pasa, reiniciar en cero # sumarle uno al octeto anterior. 5cteto2red(iH P =) ? 0 octeto=red(iH P =) P? = octeto2%roadcast(iH) ? octeto2red(iH P =) octeto=%roadcast(iH) ? octeto=red(iH P =) P = End 2f Else octeto2red(iH P =) ? octeto2red(iH) octeto2%roadcast(iH) ? octeto2red(iH P =) End 2f 2f octetoincremento(iH) ? H /!en octetoHred(iH P =) ? octetoHred(iH) P incremento(iH) octetoH%roadcast(iH) ? octetoHred(iH P =) C2f octetoHred(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto H, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el tercer octeto, # restarle = el segundo octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? 255 C octeto2%roadcast(iH) V? = CElse C<i el tercer octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al tercer octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? octetoHred(iH P =) R = CEnd 2f 2f octetoHred(iH P =) 0 255 /!en CGe%ido a que cada octeto soporta un nDmero mE"imo de ======== %inario 255 decimal, entonces si se pasa, reiniciar en cero # sumarle uno al octeto anterior. 5ctetoHred(iH P =) ? 0 octeto2red(iH P =) P? = octetoH%roadcast(iH) ? octetoHred(iH P =) octeto2%roadcast(iH) ? octeto2red(iH P =) P = C2f octetoHred(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto H, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el tercer octeto, # restarle = el segundo octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? 255 C octeto2%roadcast(iH) V? = CElse C<i el tercer octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al tercer octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? octetoHred(iH P =) R = CEnd 2f

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

End 2f Else octetoHred(iH P =) ? octetoHred(iH) octetoH%roadcast(iH) ? octetoHred(iH P =) C2f octetoHred(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto H, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el tercer octeto, # restarle = el segundo octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? 255 C octeto2%roadcast(iH) V? = CElse C<i el tercer octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al tercer octeto de la direcci n de su%red actual. C octetoH%roadcast(iH) ? octetoHred(iH P =) R = CEnd 2f End 2f 2f octetoincremento(iH) ? @ /!en octeto@red(iH P =) ? octeto@red(iH) P incremento(iH) octeto@%roadcast(iH) ? octeto@red(iH P =) C.as siguientes condiciones 2f anidadas son para encontrar las direcciones de %roadcast para cada uno de los octetos, que ser7a la direcci n 2* inmediata anterior a la siguiente direcci n de su%red. *or e(emplo si la siguiente direcci n de su%red fuera =F2.=U8.0.0, la direcci n de %roadcast actual serE la 2* inmediata anterior a =F2.=U8.0.0, es decir& =F2.=UB.255.255. 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 8nd octeto2red(iH P =) ? 0 /!en octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255 octeto2%roadcast(iH) ? 255 octeto=%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 /!en octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255 octeto2%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) V? = Else C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. octeto@%roadcast(iH) ? octeto@red(iH P =) R = End 2f End 2f End 2f C2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. C octeto@%roadcast(iH) ? 255 C octetoH%roadcast(iH) V? = CElse C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. C octeto@%roadcast(iH) ? octeto@red(iH P =) R = CEnd 2f

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

2f octeto@red(iH P =) 0 255 /!en CGe%ido a que cada octeto soporta un nDmero mE"imo de ======== %inario 255 decimal, entonces si se pasa, reiniciar en cero # sumarle uno al octeto anterior. 5cteto@red(iH P =) ? 0 octetoHred(iH P =) P? = octeto@%roadcast(iH) ? octeto@red(iH P =) octetoH%roadcast(iH) ? octetoHred(iH P =) CBroadcast actual del octeto H es igual al octeto H de la red siguiente. C.as siguientes condiciones 2f anidadas son para encontrar las direcciones de %roadcast para cada uno de los octetos, que ser7a la direcci n 2* inmediata anterior a la siguiente direcci n de su%red. *or e(emplo si la siguiente direcci n de su%red fuera =F2.=U8.0.0, la direcci n de %roadcast actual serE la 2* inmediata anterior a =F2.=U8.0.0, es decir& =F2.=UB.255.255. 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 8nd octeto2red(iH P =) ? 0 /!en octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255 octeto2%roadcast(iH) ? 255 octeto=%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 /!en octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255 octeto2%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) V? = Else C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. octeto@%roadcast(iH) ? octeto@red(iH P =) R = End 2f End 2f End 2f C2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. C octeto@%roadcast(iH) ? 255 C octetoH%roadcast(iH) V? = CElse C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. C octeto@%roadcast(iH) ? octeto@red(iH P =) R = CEnd 2f End 2f Else octeto@red(iH P =) ? octeto@red(iH) octeto@%roadcast(iH) ? octeto@red(iH P =) C.as siguientes condiciones 2f anidadas son para encontrar las direcciones de %roadcast para cada uno de los octetos, que ser7a la direcci n 2* inmediata anterior a la siguiente direcci n de su%red. *or e(emplo si la siguiente direcci n de su%red fuera =F2.=U8.0.0, la direcci n de %roadcast actual serE la 2* inmediata anterior a =F2.=U8.0.0, es decir& =F2.=UB.255.255. 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 8nd octeto2red(iH P =) ? 0 /!en C200.0.0.0 octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

octeto2%roadcast(iH) ? 255 octeto=%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 8nd octetoHred(iH P =) ? 0 /!en octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) ? 255 octeto2%roadcast(iH) V? = Else 2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. octeto@%roadcast(iH) ? 255 octetoH%roadcast(iH) V? = Else C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. octeto@%roadcast(iH) ? octeto@red(iH P =) R = End 2f End 2f End 2f C2f octeto@red(iH P =) ? 0 /!en C<i la siguiente direcci n de su%red tiene un I0J en el octeto @, entonces la direcci n de %roadcast de la su%red actual de%erE tener I255J en el cuarto octeto, # restarle = el tercer octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.8.0, la direcci n de %roadcast de la su%red actual serE =28.=00.B.255. C octeto@%roadcast(iH) ? 255 C octetoH%roadcast(iH) V? = CElse C<i el cuarto octeto de la siguiente direcci n de su%red no tiene un I0J, entonces simplemente restarle = al cuarto octeto de la direcci n de su%red actual. E(emplo, si la siguiente su%red es =28.=00.H0.=28, la direcci n de %roadcast de la su%red actual serE =28.=00.H0.=2B. C octeto@%roadcast(iH) ? octeto@red(iH P =) R = CEnd 2f End 2f CWa que se !an reali9ado todos los cElculos requeridos en el proceso de su%neteo, se tienen todos los valores necesarios almacenados en varia%les # s lo falta mostrarlos en pantalla, que es lo que se !ace de aqu7 en adelante. Gim fila, columna 8s 2nteger 8"6<+le",rid=.Kows ? (Val(/e"tBo"numdesu%redes./e"t)) P = CEl nDmero de filas en el +le",rid serE igual al nDmero de redes mEs =, pues se necesita una fila de enca%e9ados. 8"6<+le",rid=.1ols ? 8 C<on oc!o columnas # cada una con los siguientes enca%e9ados& INom%re de la redJ, IGirecci n de redJ, I6Escara de su%redJ, I:ost inicialJ, I:ost finalJ, IGirecci n de %roadcastJ, I:osts requeridosJ, I:osts utili9a%lesJ. 8"6<+le",rid=.+ore1olor ? 1olor.Gar)Ked CEsta%lece el color predeterminado de las letras. $it! 8"6<+le",rid= C*ara no estar poniendo por e(emplo 8"6<+le",rid.set>1ol$idt!(0, 0) # as7 sucesivamente, no estar repitiendo a cada rato I8"6<+le",rid=.J +or columna2 8s 2nteger ? 0 /o B .Kow ? 0 C*ara que lo que se !ace en este ciclo tenga efecto para la fila cero (que es la de enca%e9ados). .1ol ? columna2 C*ara que se va#a avan9ando de acuerdo con las iteraciones del ciclo +or, en la columna que corresponda. C.set>1ol8lignment(columna2, 6<+le",rid.i%.8lignment<ettings.fle"8lign1enter1enter) C<e esta%lece la alineaci n del contenido de la fila de enca%e9ados. .1ell+ore1olor ? 1olor.Gar)Blue C<e esta%lece el color de letra para la fila de enca%e9ados. .set>1ol$idt!(columna2, =B50) C<e esta%lece el anc!o de las celdas de la fila de enca%e9ados. Ne"t

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

+or fila= 8s 2nteger ? = /o .Kows R = C*ara no involucrar la primera fila, se comien9a de = # no d 0. .Kow ? fila= +or columna= 8s 2nteger ? = /o .1ols R = C*ara no involucrar la primera columna, se comien9a de = # no de 0. .1ol ? columna= .1ell+ore1olor ? 1olor.Gar)1#an C*or estar dentro del +or anidado, cam%ia el color de letra de todas las celdas a a9ul oscuro (e"cepto la primera fila # la primera columna). .set>1ol$idt!(columna=, =B50) C*or estar dentro del +or anidado, le da un anc!o de =H00 a cada columna (e"cepto a la primera columna). C.set>1ol8lignment(columna=, 6<+le",rid.i%.8lignment<ettings.fle"8lign.eft1enter) C<e esta%lece la alineaci n a la derec!a de todas las celdas. Ne"t Ne"t C<e le ponen los respectivos t7tulos a cada columna. .set>/e"t6atri"(0, 0, INom%re de la redJ) .set>/e"t6atri"(0, =, IGirecci n de redJ) .set>/e"t6atri"(0, 2, I6Escara de su%redJ) .set>/e"t6atri"(0, H, I:ost inicialJ) .set>/e"t6atri"(0, @, I:ost finalJ) .set>/e"t6atri"(0, 5, IGirecci n de %roadcastJ) .set>/e"t6atri"(0, U, I:osts requeridosJ) .set>/e"t6atri"(0, B, I:osts utili9a%lesJ) CGesde acE se programan las impresiones de los resultados del su%neteo. +or fila2 8s 2nteger ? = /o (Val(/e"tBo"numdesu%redes./e"t)) .set>/e"t6atri"(fila2, 0, nom%resu%red(fila2)) CNom%res de las redes. .set>/e"t6atri"(fila2, =, <tr(octeto=red(fila2)) O I.J O <tr(octeto2red(fila2)) O I.J O <tr(octetoHred(fila2)) O I.J O octeto@red(fila2)) CGirecciones de las redes. .set>/e"t6atri"(fila2, 2, I'J O mascarasu%red(fila2)) C6Escaras de su%redes. .set>/e"t6atri"(fila2, H, <tr(octeto=red(fila2)) O I.J O <tr(octeto2red(fila2)) O I.J O <tr(octetoHred(fila2)) O I.J O <tr(Val(octeto@red(fila2)) P =)) CGirecciones de los !osts iniciales utili9a%les de las su%redes. .set>/e"t6atri"(fila2, @, <tr(octeto=%roadcast(fila2)) O I.J O <tr(octeto2%roadcast(fila2)) O I.J O <tr(octetoH%roadcast(fila2)) O I.J O <tr(Val(octeto@%roadcast(fila2)) R =)) CGirecciones de los !osts finales utili9a%les de las su%redes. C.set>/e"t6atri"(fila2, @, nom%resu%red(fila2)) CGirecciones de los !osts finales utili9a%les de las su%redes. .set>/e"t6atri"(fila2, 5, <tr(octeto=%roadcast(fila2)) O I.J O <tr(octeto2%roadcast(fila2)) O I.J O <tr(octetoH%roadcast(fila2)) O I.J O octeto@%roadcast(fila2)) CGirecciones de %roadcast de las su%redes. .set>/e"t6atri"(fila2, U, numerode!osts(fila2)) CNDmero de !osts requeridos. .set>/e"t6atri"(fila2, B, <tr(Val(2 Q (H2 R Val(mascarasu%red(fila2)))) R 2)) CNDmero de !osts utili9a%les. Ne"t End $it! Ne"t C/e"tBo"=./e"t ? mascara(Val(numerode!osts(=))) C/e"tBo"=./e"t ? mascarasu%red(=) C/e"tBo"2./e"t ? mascarasu%red(2) C/e"tBo"H./e"t ? mascarasu%red(H) C/e"tBo"@./e"t ? mascarasu%red(@) C/e"tBo"5./e"t ? mascarasu%red(5) C/e"tBo"U./e"t ? mascarasu%red(U) C/e"tBo"B./e"t ? mascarasu%red(B) C/e"tBo"8./e"t ? mascarasu%red(8)

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

C/e"tBo"F./e"t ? mascarasu%red(F) C/e"tBo"=./e"t ? <tr(octeto=red(=)) O I.J O <tr(octeto2red(=)) O I.J O <tr(octetoHred(=)) O I.J O octeto@red(=) C/e"tBo"2./e"t ? <tr(octeto=red(2)) O I.J O <tr(octeto2red(2)) O I.J O <tr(octetoHred(2)) O I.J O octeto@red(2) C/e"tBo"H./e"t ? <tr(octeto=red(H)) O I.J O <tr(octeto2red(H)) O I.J O <tr(octetoHred(H)) O I.J O octeto@red(H) C/e"tBo"@./e"t ? <tr(octeto=red(@)) O I.J O <tr(octeto2red(@)) O I.J O <tr(octetoHred(@)) O I.J O octeto@red(@) C/e"tBo"5./e"t ? <tr(octeto=red(5)) O I.J O <tr(octeto2red(5)) O I.J O <tr(octetoHred(5)) O I.J O octeto@red(5) C/e"tBo"U./e"t ? <tr(octeto=red(U)) O I.J O <tr(octeto2red(U)) O I.J O <tr(octetoHred(U)) O I.J O octeto@red(U) C/e"tBo"B./e"t ? <tr(octeto=red(B)) O I.J O <tr(octeto2red(B)) O I.J O <tr(octetoHred(B)) O I.J O octeto@red(B) C/e"tBo"8./e"t ? <tr(octeto=red(8)) O I.J O <tr(octeto2red(8)) O I.J O <tr(octetoHred(8)) O I.J O octeto@red(8) C/e"tBo"F./e"t ? <tr(octeto=red(F)) O I.J O <tr(octeto2red(F)) O I.J O <tr(octetoHred(F)) O I.J O octeto@red(F) End 2f End 2f End <u% *rivate <u% +orm=>.oad(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles 6#Base..oad C/e"tBo"octeto=.+ocus() C*ara posicionar el cursor en el /e"tBo"octeto= cuando se cargue el formulario. End <u% *rivate <u% Buttonlimpiar>1lic)(B#Val sender 8s <#stem.5%(ect, B#Val e 8s <#stem.Event8rgs) :andles Buttonlimpiar.1lic) $it! 8"6<+le",rid= +or fila 8s 2nteger ? 0 /o .Kows R = .Kow ? fila +or columna 8s 2nteger ? 0 /o .1ols R = .set>/e"t6atri"(fila, columna, IJ) C*or estar dentro de los +or anidados, con esto se ponen valores <tring Empt# en todas las celdas, de modo que no apare9ca nada # queden todas las celdas limpias # sin resultados de cElculos !ec!os anteriormente. Ne"t Ne"t End $it! /e"tBo"octeto=./e"t ? IJ /e"tBo"octeto2./e"t ? IJ /e"tBo"octetoH./e"t ? IJ /e"tBo"octeto@./e"t ? IJ /e"tBo"mascara./e"t ? IJ /e"tBo"numdesu%redes./e"t ? IJ /e"tBo"ipsrequeridas./e"t ? IJ /e"tBo"ipsdisponi%les./e"t ? IJ /e"tBo"ipsenredoriginal./e"t ? IJ /e"tBo"porcenta(etotalreservado./e"t ? IJ /e"tBo"porcenta(esu%neteadoreservado./e"t ? IJ End <u% End 1lass

Cdigo en Modulemetodospublicos.vb
6odule 6odulemetodospu%licos

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

X/eniendo ordenadas las su%redes de ma#or a menor (en %ase a la cantidad de !osts de cada su%red), se comien9a a su%netear. X*u%lic %andera 8s Boolean ? /rue X*u%lic potencia 8s 2nteger ? 0 X*u%lic su%indice 8s 2nteger ? = *u%lic +unction mascara(B#Val numerode!ost 8s 2nteger) 8s 2nteger Gim %andera 8s Boolean ? /rue Gim potencia 8s 2nteger ? 0 $!ile %andera ? /rue 2f ((2 Q potencia) V 2) 0 (numerode!ost) /!en %andera ? +alse potencia V? = End 2f potencia P? = End $!ile mascara ? H2 V potencia X.os H2 %its que componen los cuatro octetos de 2*v@ menos el nDmero de %its que se usarEn para !osts (que se almacena en la varia%le YpotenciaY). 2f numerode!ost ? 2 /!en X*orque con el proceso anterior, si el parEmetro Ynumerode!ostY valiera 2, entonces la mEscara dar7a 2F con los cElculos anteriores, lo cual ser7a incorrecto. mascara ? H0 End 2f End +unction End 6odule

Programa en Ejecucin
<i se introducen valores invElidos, aparecerE el siguiente mensa(e&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

:acer clic en <u%netear luego de introducir la direcci n 2* # la mEscara de su%red, as7 como tam%iMn el nDmero de su%redes. 8parecerE entonces la ventana emergente para introducir los nom%res de cada una de las su%redes # el nDmero de !osts para cada una de dic!as su%redes&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

El programa reali9a el su%neteo V.<6 correspondiente, # los resultados son los siguientes&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

2gualmente se puede reali9ar el su%neteo para mEs redes, tantas como se necesite o desee, # si las redes son tantas que no se alcan9an a visuali9ar todas en la pantalla, la respectiva %arra de despla9amiento aparecerE automEticamente para navegar en la ta%la de resultados. El programa presenta tam%iMn resultados del su%neteo, inclu#endo !osts requeridos, !osts disponi%les en espacio su%neteado, !osts disponi%les en red original, porcenta(e de espacio total reservado # porcenta(e de espacio su%neteado utili9ado. 8l !acer clic en el %ot n .impiar, todos los resultados desaparecen # se pueden introducir nuevos valores para un nuevo su%neteo. .os resultados del programa se comparan con los generados mediante el sitio we% !ttp&''www.vlsmVcalc.net', # se comprue%a que los resultados son e"actamente los mismos&

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

www.monografias.com

8utor& Jaime Montoya we%masterZ(aimemonto#a.com www.(aimemonto#a.com 28 de noviem%re de 2008 :untsville, 8la%ama, L<8

*ara ver tra%a(os similares o reci%ir informaci n semanal so%re nuevas pu%licaciones, visite www.monografias.com

You might also like