tag:blogger.com,1999:blog-72686936796987409012024-03-04T23:06:53.608-08:00Mouse .NetBlog que trata sobre la tecnologia .NET con ejemplos de programas, videotutoriales, codigo fuente, descargas, utilidades, etcMousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-7268693679698740901.post-29916121509242368962011-06-19T07:56:00.000-07:002011-06-19T07:56:37.600-07:00Encriptación por el método Bifido en .NET<div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIl43zhF6jtAeRZ5NuWwh_vLLULHciP6VV5Sqf2iuR8Tk1dRI9IgSGNk34LDqMp3zhcS_Dj22ea2x5PGnTZKz-oGgrdOcgE1I8WmP57ixovbrALo2ynhbYywkCyxwoI3tG8uEBv0mL0eI/s1600/lengua+bifida.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIl43zhF6jtAeRZ5NuWwh_vLLULHciP6VV5Sqf2iuR8Tk1dRI9IgSGNk34LDqMp3zhcS_Dj22ea2x5PGnTZKz-oGgrdOcgE1I8WmP57ixovbrALo2ynhbYywkCyxwoI3tG8uEBv0mL0eI/s320/lengua+bifida.jpg" width="320" /></a></div><br />
El método Bífido es un cifrado fraccionario. Es decir que cada letra viene representada por una o más letras o símbolos, y donde se trabaja con estos símbolos más que con las letras mismas.<br />
<br />
El método comienza con la utilización de un alfabeto ordenado o desordenado (depende del grado de dificulad que se le pretenda dar en su descifrado) en una matriz 5x5.<br />
<br />
En este ejemplo utilizaremos la siguiente matriz: </div><div style="text-align: justify;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9WVtQQ8TFcEeVA4F-_fJ-biCnz9kHh0TXx9SrhDHwuRSIqRacb5dK4FuoW4EucWcwGW7ckE4Kjh5AthKnEnn6tvnft-1SYWt-FLwATKyut9PUZJhpYyRalHlvVKRSgCMKFyZ2wEaIRQM/s1600/bifidonet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9WVtQQ8TFcEeVA4F-_fJ-biCnz9kHh0TXx9SrhDHwuRSIqRacb5dK4FuoW4EucWcwGW7ckE4Kjh5AthKnEnn6tvnft-1SYWt-FLwATKyut9PUZJhpYyRalHlvVKRSgCMKFyZ2wEaIRQM/s320/bifidonet.jpg" width="320" /></a></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Al ser una matriz de 5x5 nos vemos obligados a cifrar de la misma forma la I y la J. El contexto nos permitirá distinguir cual de las dos letras se pretendía cifrar.</div><div style="text-align: justify;"><br />
Para cifrar el texto en claro se escriben los equivalentes numéricos de cada letra, utilizando sus "coordenadas".<br />
<br />
Por ejemplo: HOLA MUNDO, genera las siguientes coordenadas (f,c) 233431113245331434, y para proceder con la encriptacion la cadena de coordenadas resultantes es dividida en dos:</div><div style="text-align: justify;">233431113<br />
245331434</div><div style="text-align: justify;"><br />
y se forma una nueva cadena de coordenadas 22 34 35 43 33 11 14 13 34 las cuales formaran el nuevo mensaje encriptado <b>GOPS NADCO</b>.<br />
<br />
Este método altera la frecuencia de los caracteres a diferencia de lo que ocurre por ejemplo con los cifrados monoalfabéticos. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">La siguiente clase, hecha en vb.net realiza los pasos anteriormente descritos, esta comentada y creo que facilmente entendible</div><div style="text-align: justify;"></div><div style="background: none repeat scroll 0% 0% rgb(255, 255, 255); height: 1600px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Public</span> Class Bifido
<span style="color: green;">' @web http://www.jc-mouse.net</span>
<span style="color: green;">' @author Mouse</span>
<span style="color: blue;">Dim</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">)</span> <span style="color: blue;">As</span> Char
<span style="color: blue;">Dim</span> <span style="color: black;">mensaje</span><span style="color: black;">()</span> <span style="color: blue;">As</span> Char <span style="color: green;">' se guarda todo el mensaje</span>
<span style="color: blue;">Dim</span> abc <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">"ABCDEFGHIJKLMNOPQRSTUVWXYZ"</span>
<span style="color: blue;">Public Sub New</span><span style="color: black;">()</span>
<span style="color: green;">'la matriz esta formada por 25 letras, donde el caracter I=J</span>
<span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) =</span> <span style="color: #a31515;">"A"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: #a31515;">"B"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: black;">3</span><span style="color: black;">) =</span> <span style="color: #a31515;">"C"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: black;">4</span><span style="color: black;">) =</span> <span style="color: #a31515;">"D"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">) =</span> <span style="color: #a31515;">"E"</span>
<span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) =</span> <span style="color: #a31515;">"F"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: #a31515;">"G"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: black;">3</span><span style="color: black;">) =</span> <span style="color: #a31515;">"H"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: black;">4</span><span style="color: black;">) =</span> <span style="color: #a31515;">"I"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">) =</span> <span style="color: #a31515;">"K"</span>
<span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) =</span> <span style="color: #a31515;">"L"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: #a31515;">"M"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: black;">3</span><span style="color: black;">) =</span> <span style="color: #a31515;">"N"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: black;">4</span><span style="color: black;">) =</span> <span style="color: #a31515;">"O"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">) =</span> <span style="color: #a31515;">"P"</span>
<span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) =</span> <span style="color: #a31515;">"Q"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: #a31515;">"R"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: black;">3</span><span style="color: black;">) =</span> <span style="color: #a31515;">"S"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: black;">4</span><span style="color: black;">) =</span> <span style="color: #a31515;">"T"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">) =</span> <span style="color: #a31515;">"U"</span>
<span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) =</span> <span style="color: #a31515;">"V"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: #a31515;">"W"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">3</span><span style="color: black;">) =</span> <span style="color: #a31515;">"X"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">4</span><span style="color: black;">) =</span> <span style="color: #a31515;">"Y"</span> <span style="color: black;">:</span> <span style="color: black;">matriz</span><span style="color: black;">(</span><span style="color: black;">5</span><span style="color: black;">,</span> <span style="color: black;">5</span><span style="color: black;">) =</span> <span style="color: #a31515;">"Z"</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">Public Function</span> <span style="color: black;">Encriptar</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> texto <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
texto <span style="color: black;">=</span> <span style="color: black;">Limpiar_Texto</span><span style="color: black;">(</span>texto<span style="color: black;">)</span>
<span style="color: blue;">Dim</span> pos_matriz <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> encriptado <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> fila <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
<span style="color: blue;">Dim</span> col <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
<span style="color: green;">'para cada caracter se extrae el par de numeros correspondientes de la matriz</span>
<span style="color: blue;">Dim</span> <span style="color: black;">c</span><span style="color: black;">()</span> <span style="color: blue;">As</span> Char <span style="color: black;">=</span> texto<span style="color: black;">.</span><span style="color: black;">ToCharArray</span><span style="color: black;">()</span>
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> c<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span>
pos_matriz <span style="color: black;">=</span> pos_matriz <span style="color: black;">+</span> <span style="color: black;">getposicion</span><span style="color: black;">(</span><span style="color: black;">c</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
<span style="color: blue;">Next</span>
<span style="color: green;">'Ahora se realiza el proceso de encriptacion </span>
<span style="color: blue;">Dim</span> <span style="color: black;">x</span><span style="color: black;">()</span> <span style="color: blue;">As</span> Char <span style="color: black;">=</span> pos_matriz<span style="color: black;">.</span>ToCharArray
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> x<span style="color: black;">.</span>Length <span style="color: black;">/</span> <span style="color: black;">2</span> <span style="color: black;">-</span> <span style="color: black;">1</span>
fila <span style="color: black;">=</span> <span style="color: blue;">Integer</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span><span style="color: black;">x</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
col <span style="color: black;">=</span> <span style="color: blue;">Integer</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span><span style="color: black;">x</span><span style="color: black;">(</span>i <span style="color: black;">+</span> x<span style="color: black;">.</span>Length <span style="color: black;">/</span> <span style="color: black;">2</span><span style="color: black;">))</span>
encriptado <span style="color: black;">=</span> encriptado <span style="color: black;">&</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>fila<span style="color: black;">,</span> col<span style="color: black;">)</span>
<span style="color: blue;">Next</span>
encriptado <span style="color: black;">=</span> <span style="color: black;">Reconstruir_Mensaje</span><span style="color: black;">(</span>encriptado<span style="color: black;">)</span>
<span style="color: blue;">Return</span> encriptado
<span style="color: blue;">End Function</span>
<span style="color: blue;">Public Function</span> <span style="color: black;">Desencriptar</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> t <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
t <span style="color: black;">=</span> <span style="color: black;">Limpiar_Texto</span><span style="color: black;">(</span>t<span style="color: black;">)</span>
<span style="color: blue;">Dim</span> pos_matriz <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> tmp1 <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> tmp2 <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> band <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span> <span style="color: black;">=</span> <span style="color: blue;">True</span>
<span style="color: green;">'para cada caracter se extrae el par de numeros correspondientes en la matriz</span>
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> t<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span>
pos_matriz <span style="color: black;">=</span> pos_matriz <span style="color: black;">+</span> <span style="color: black;">getposicion</span><span style="color: black;">(</span>t<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>i<span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">))</span>
<span style="color: blue;">Next</span>
<span style="color: green;">'como la cadena de numeros se encuentra encriptada, se procede</span>
<span style="color: green;">'a su nuevo ordenamiento</span>
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> pos_matriz<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: blue;">If</span> band <span style="color: blue;">Then</span>
tmp1 <span style="color: black;">=</span> tmp1 <span style="color: black;">&</span> pos_matriz<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>i<span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">)</span>
band <span style="color: black;">=</span> <span style="color: blue;">False</span>
<span style="color: blue;">Else</span>
tmp2 <span style="color: black;">=</span> tmp2 <span style="color: black;">&</span> pos_matriz<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>i<span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">)</span>
band <span style="color: black;">=</span> <span style="color: blue;">True</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Next</span>
pos_matriz <span style="color: black;">=</span> tmp1 <span style="color: black;">+</span> tmp2
tmp1 <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> fila <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
<span style="color: blue;">Dim</span> col <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
<span style="color: green;">'ahora que ya se tiene a la cadena de numeros con el orden original</span>
<span style="color: green;">'se procede a reconstruir el mensaje</span>
<span style="color: blue;">Dim</span> <span style="color: black;">x</span><span style="color: black;">()</span> <span style="color: blue;">As</span> Char <span style="color: black;">=</span> pos_matriz<span style="color: black;">.</span>ToCharArray
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> x<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span> Step <span style="color: black;">2</span>
fila <span style="color: black;">=</span> <span style="color: blue;">Integer</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span><span style="color: black;">x</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
col <span style="color: black;">=</span> <span style="color: blue;">Integer</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span><span style="color: black;">x</span><span style="color: black;">(</span>i <span style="color: black;">+</span> <span style="color: black;">1</span><span style="color: black;">))</span>
tmp1 <span style="color: black;">=</span> tmp1 <span style="color: black;">+</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>fila<span style="color: black;">,</span> col<span style="color: black;">).</span>ToString
<span style="color: blue;">Next</span>
tmp1 <span style="color: black;">=</span> <span style="color: black;">Reconstruir_Mensaje</span><span style="color: black;">(</span>tmp1<span style="color: black;">)</span>
<span style="color: blue;">Return</span> tmp1
<span style="color: blue;">End Function</span>
<span style="color: green;">'obtiene la posicion de filas y columnas correspondientes al caracter </span>
<span style="color: green;">'pasado como parametro en la matriz</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getposicion</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> c <span style="color: blue;">As</span> Char<span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: blue;">Dim</span> posicion <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> band <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span> <span style="color: black;">=</span> <span style="color: blue;">False</span>
<span style="color: blue;">If</span> c <span style="color: black;">=</span> <span style="color: #a31515;">"J"</span> <span style="color: blue;">Then</span> <span style="color: green;">' Caso especial</span>
<span style="color: green;">'se añade automaticamente con la posicion del caracter I</span>
posicion <span style="color: black;">=</span> <span style="color: #a31515;">"24"</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">1</span> <span style="color: blue;">To</span> <span style="color: black;">5</span>
<span style="color: blue;">For</span> j <span style="color: black;">=</span> <span style="color: black;">1</span> <span style="color: blue;">To</span> <span style="color: black;">5</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>c <span style="color: black;">=</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>i<span style="color: black;">,</span> j<span style="color: black;">))</span> <span style="color: blue;">Then</span>
posicion <span style="color: black;">=</span> i <span style="color: black;">&</span> j
band <span style="color: black;">=</span> <span style="color: blue;">True</span>
<span style="color: blue;">If</span> band <span style="color: blue;">Then Exit For</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Next</span>
<span style="color: blue;">If</span> band <span style="color: blue;">Then Exit For</span>
<span style="color: blue;">Next</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Return</span> posicion
<span style="color: blue;">End Function</span>
<span style="color: green;">'encargado de limpiar el mensaje extrayendo solo las letras y</span>
<span style="color: green;">'guardando los caracteres especiales para rearmar el mensaje despues</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">Limpiar_Texto</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> t <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
t <span style="color: black;">=</span> t<span style="color: black;">.</span>ToUpper
<span style="color: green;">'descompone el mensaje en un array de caracteres</span>
mensaje <span style="color: black;">=</span> t<span style="color: black;">.</span>ToCharArray
<span style="color: blue;">Dim</span> tmp1 <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: green;">'extrae solo las letras validas</span>
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> mensaje<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: blue;">Dim</span> x <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> abc<span style="color: black;">.</span><span style="color: black;">IndexOf</span><span style="color: black;">(</span><span style="color: black;">mensaje</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
<span style="color: blue;">If</span> x <span style="color: black;"><> -</span><span style="color: black;">1</span> <span style="color: blue;">Then</span> <span style="color: green;">'es una letra valida</span>
tmp1 <span style="color: black;">=</span> tmp1 <span style="color: black;">+</span> <span style="color: black;">mensaje</span><span style="color: black;">(</span>i<span style="color: black;">)</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Next</span>
<span style="color: blue;">Return</span> tmp1
<span style="color: blue;">End Function</span>
<span style="color: green;">'reconstruye el mensaje con las palabras encriptadas/desencriptadas</span>
<span style="color: green;">'añadiendo los caracteres especiales que no son alterados</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">Reconstruir_Mensaje</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> texto <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: blue;">Dim</span> r_mensaje <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> count <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: blue;">Dim</span> k <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> mensaje<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: blue;">Dim</span> <span style="color: black;">t</span><span style="color: black;">()</span> <span style="color: blue;">As</span> Char <span style="color: black;">=</span> texto<span style="color: black;">.</span>ToCharArray
<span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> k
<span style="color: blue;">Dim</span> x <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> abc<span style="color: black;">.</span><span style="color: black;">IndexOf</span><span style="color: black;">(</span><span style="color: black;">mensaje</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
<span style="color: blue;">If</span> x <span style="color: black;"><> -</span><span style="color: black;">1</span> <span style="color: blue;">Then</span>
r_mensaje <span style="color: black;">=</span> r_mensaje <span style="color: black;">&</span> <span style="color: black;">t</span><span style="color: black;">(</span>count<span style="color: black;">)</span>
count <span style="color: black;">=</span> count <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">Else</span>
r_mensaje <span style="color: black;">=</span> r_mensaje <span style="color: black;">&</span> <span style="color: black;">mensaje</span><span style="color: black;">(</span>i<span style="color: black;">)</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Next</span>
<span style="color: blue;">Return</span> r_mensaje
<span style="color: blue;">End Function</span>
<span style="color: blue;">End</span> Class</pre></div><br />
Su implementacion desde consola para la encriptacion tenemos:<br />
<br />
<div style="background: none repeat scroll 0% 0% rgb(255, 255, 255); height: 160px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: blue;">Dim</span> bifido <span style="color: blue;">As</span> Bifido <span style="color: black;">=</span> <span style="color: blue;">New</span> Bifido
<span style="color: blue;">Dim</span> s <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> bifido<span style="color: black;">.</span><span style="color: black;">Encriptar</span><span style="color: black;">(</span><span style="color: #a31515;">"Copyright 2011 - jc Mouse Bolivia "</span> <span style="color: black;">&</span> vbCrLf <span style="color: black;">&</span> _
<span style="color: #a31515;">"Algoritmo de Encriptación Método Bífido"</span> <span style="color: black;">&</span> vbCrLf <span style="color: black;">&</span> <span style="color: #a31515;">"All rights reserved"</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>s<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadKey</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span></pre></div><br />
y la salida en pantalla<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV9ZfhEB9LNJ2xClZW_Jp-FmcdPNWYMXAEVJYLo6CnTkJ0wSUD_C_xIj4kXssAzg0VI059vBMQR8o1g75eWxh2URm23jnZKQCIcdN0QJpRdGoyjXcv0hpAXwNKvI6NsxvG6dXfFyYsmGM/s1600/vbifidoconsola.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV9ZfhEB9LNJ2xClZW_Jp-FmcdPNWYMXAEVJYLo6CnTkJ0wSUD_C_xIj4kXssAzg0VI059vBMQR8o1g75eWxh2URm23jnZKQCIcdN0QJpRdGoyjXcv0hpAXwNKvI6NsxvG6dXfFyYsmGM/s320/vbifidoconsola.jpg" width="320" /></a></div>Para desencriptar, solo utilizar el metodo apropiado ( <i>desencriptar()</i> ) y listo<br />
<div style="text-align: justify;"><br />
</div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com2tag:blogger.com,1999:blog-7268693679698740901.post-9915054603648288732011-06-08T20:39:00.000-07:002011-06-08T20:46:37.274-07:00Crear Themes para ASP.NET [*.skin]<div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpsT2RtQVUsUd5Qb8OSXCvGMQR4LmUKdCi8iOJuKyvl6-xa0jObwGCjkp97nboZ0kGm9Uj09sqykTgqPT1d-MG8SXPZGP6aEs6fJF24sbti_qj72AmunsdfDSE_5AGH-PVW81agukXs5o/s1600/Mouse+mask+themes.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpsT2RtQVUsUd5Qb8OSXCvGMQR4LmUKdCi8iOJuKyvl6-xa0jObwGCjkp97nboZ0kGm9Uj09sqykTgqPT1d-MG8SXPZGP6aEs6fJF24sbti_qj72AmunsdfDSE_5AGH-PVW81agukXs5o/s1600/Mouse+mask+themes.gif" /></a></div>Visual Studio nos permite crear Themes (Temas) para las paginas web de ASP, con estos Themes podemos personalizar la interfaz de nuestro WebSite ya que aplicamos un standar al tamaño, fuente, color, alineación, etc de los controles como Labels, Button, Panel, Calendar, etc, ademas de que nos ayuda a agilizar el trabajo de construcción del sitio web asi como su posterior mantenimiento.</div><br />
<div style="text-align: center;"><object height="363" width="445"><param name="movie" value="http://www.youtube.com/v/YJFLtM-m_Gk=es_ES&fs=1&color1=0x0000FF&color2=0x80FFFF&border=1&autoplay=0&showinfo=0&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YJFLtM-m_Gk&hl=es_ES&fs=1&color1=0x0000FF&color2=0x80FFFF&border=1&autoplay=0&showinfo=0&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="363"></embed></object></div><br />
<div style="text-align: justify;">Los Themes son similares a las hojas de estilo CSS ya qye ambos trabajan con los atributos de los controles y se aplican a cualquier página donde se llame al Theme o la Hoja de Estilo. Sin embargo, los SKIN se diferencian de las hojas de estilo por:</div><br />
<ul><li style="text-align: justify;">Los Themes a diferencia de los CSS pueden definir muchas propiedades de un control o una página, no sólo un conjunto específico de propiedades de estilo.</li>
<li style="text-align: justify;">Los Themes pueden incluir archivos auxiliares, tales como gráficos, que no se pueden incluir en una hoja de estilos CSS.</li>
<li style="text-align: justify;">Los Themes pueden incluir imagenes y hojas de estilo independientes de la aplicación web</li>
</ul><div style="text-align: center;"><b> Codigo Fuente</b></div><div style="text-align: center;"><a href="http://link.jc-mouse.net/?id=SKNASPXNET" target="_blank"><img alt="Click para descargar" border="0" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgbWpHnKUNIlSBZ68j_5fDqNYUU4EJjVNaMQeL_QPUxyDKaWqr3YuIWocvTekH_lwm9sLXCgr1k7nGFScN4J1umbnop6c6jNWglLfFiisEV8ZaLq61eIAvR5mtokbKF3LajEdgnRqmz3M/s1600/button.png" width="200" /></a></div><br />
<ul></ul>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com2tag:blogger.com,1999:blog-7268693679698740901.post-83600096307168321282011-06-08T06:36:00.000-07:002011-06-08T06:36:34.385-07:00Sesiones en ASP.NET<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIFg-kLQsICRtiAt2LaEMzW9LBxraG_pQQNF5O1Xv4tzawnkTkhI06H5_XjLMC7l1F-f10ftLVTfDsc8exfvEyfA9YbrLUXf_WOzkiVIt4ryG4nLajSIKiEHCfxYGfKeaUto4pxC4RjxE/s1600/mouse_hamburguesa.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIFg-kLQsICRtiAt2LaEMzW9LBxraG_pQQNF5O1Xv4tzawnkTkhI06H5_XjLMC7l1F-f10ftLVTfDsc8exfvEyfA9YbrLUXf_WOzkiVIt4ryG4nLajSIKiEHCfxYGfKeaUto4pxC4RjxE/s320/mouse_hamburguesa.jpg" width="320" /></a></div><br />
<div style="text-align: justify;">Videotutorial bastante facil de seguir y realizar donde se explica una forma sencilla para el manejo de sesiones (Session) en ASP.NET utilizando el lenguaje de Visual Basic.</div><br />
<div style="text-align: justify;">Para este ejemplo se diseña una pequeña tienda on-line donde el cliente va agregando productos al carrito de compras y al final puede ver una lista de todos los productos que eligio.</div><br />
<div style="text-align: justify;">El manejo de sesiones para utilizarlos como contenedores de datos (en este caso nombres de productos) es el uso mas habitual que se le da a las variables de Session, claro, en estas variables no se debe almacenar nunca cadenas de conexion, password, o datos personales y privados de los usuarios ya que estas podrian ser modificadas o robadas por otras personas.</div><br />
<div style="text-align: center;"><object height="363" width="445"><param name="movie" value="http://www.youtube.com/v/PPRw3aIwN90=es_ES&fs=1&color1=0x0080FF&color2=0xFFFFFF&border=1&autoplay=0&showinfo=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PPRw3aIwN90&hl=es_ES&fs=1&color1=0x0080FF&color2=0xFFFFFF&border=1&autoplay=0&showinfo=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="363"></embed></object> </div><b>Nota:</b> en el minuto 4, donde dice "Si variable sesion no existe, entonces la crea", debe decir, "Si la variable de sesion no existe, crea un ArrayList vacio", error de dedo ;)Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-45133202972244995752011-06-04T17:18:00.000-07:002011-06-04T17:18:36.254-07:00GridView con imagen en ASP<div style="text-align: justify;">En este videotutorial se muestra la forma de colocar una imagen en un control GridView en Visual Studio, Se utiliza una base de datos en MySQL, pero el tutorial tambien es valido para SQL como para una base de datos Access.</div><br />
Solamente se utiliza una tabla, que puede ser creada en cualquiera de las base de datos mencionadas, su estructura es la siguiente:<br />
<br />
<div style="background: none repeat scroll 0% 0% rgb(255, 255, 255); height: 340px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: green;">-- </span>
<span style="color: green;">-- Base de datos: 'dbimagenes'</span>
<span style="color: green;">-- </span>
<span style="color: green;">-- --------------------------------------------------------</span>
<span style="color: green;">-- </span>
<span style="color: green;">-- Estructura de tabla para la tabla 'timagenes'</span>
<span style="color: green;">-- </span>
<span style="color: blue;">CREATE TABLE</span> timagenes <span style="color: black;">(</span>
Nombre <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">60</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span><span style="color: black;">,</span>
Foto <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">60</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span>
<span style="color: black;">)</span>
<span style="color: green;">-- --------------------------------------------------------</span>
<span style="color: green;">-- </span>
<span style="color: green;">-- Datos de la tabla "timagenes"</span>
<span style="color: green;">-- </span>
<span style="color: blue;">INSERT INTO</span> timagenes <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: #a31515;">'Juan Melo Machuca'</span><span style="color: black;">,</span> <span style="color: #a31515;">'/juan.jpg'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> timagenes <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: #a31515;">'Benito Camela Suavecito'</span><span style="color: black;">,</span> <span style="color: #a31515;">'/benito.jpg'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> timagenes <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: #a31515;">'Ana Liza Melchoto'</span><span style="color: black;">,</span> <span style="color: #a31515;">'/ana.jpg'</span><span style="color: black;">);</span></pre></div><br />
Tambien necesitaras tres imagenes 'juan.jpg', 'benito.jpg' y 'ana.jpg'<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZxj0PYUKtbdTP7Eu2Q7F7q2XDhhdxqtySvI_qUaiXMmRKjxFlcNFSWFr9lzdvGx2W7mTF9ZA_9GH6-2EYVWR4ePGj6s2lAjJv0CYw1z3P2mJHSCcSbODLNmuLbqZ3yC_R0s7SEKnT8NA/s1600/gridview+con+imagen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZxj0PYUKtbdTP7Eu2Q7F7q2XDhhdxqtySvI_qUaiXMmRKjxFlcNFSWFr9lzdvGx2W7mTF9ZA_9GH6-2EYVWR4ePGj6s2lAjJv0CYw1z3P2mJHSCcSbODLNmuLbqZ3yC_R0s7SEKnT8NA/s1600/gridview+con+imagen.jpg" /></a></div><br />
<br />
<div style="text-align: justify;">El Video es sumanente sencillo de seguir, ademas de corto, si tiene algun problema en seguir el video, presione "pausa", no me gusta hacer videos demasiado largos donde mas de la mitad se pasa uno hablando de anecdotas personales o de cosas que no tienen nada que ver con el tutorial como vi en otro lado, sin más palabras, el video.</div><br />
<div style="text-align: center;"><object height="363" width="445"><param name="movie" value="http://www.youtube.com/v/mKqYd_yX5TY=es_ES&fs=1&color1=0x0000FF&color2=0xFFFFFF&border=1&autoplay=0&showinfo=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mKqYd_yX5TY&hl=es_ES&fs=1&color1=0x0000FF&color2=0xFFFFFF&border=1&autoplay=0&showinfo=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="363"></embed></object> </div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-54406870817261938342011-05-06T15:01:00.000-07:002011-05-06T15:01:14.049-07:00Los diferentes lenguajes y la compilación<div style="text-align: justify;">Un lenguaje utilizado para escribir programas para computadora permite la comunicació Usuario-Máquina. Unos programas especiales llamados traductores traductores <i>(Compilador, Interprete)</i> convierten las instrucciones escritas en lenguajes de programación en lenguajes escritos en lenguaje máquina (0-1 bits) que ésta pueda entender.</div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIgMitYeq2PUSq41n4jXZcxpzbnpix8KhTGZ7-KxdHyZL5xamg91mHgw6nGF6yV3G8VSWlimD0ZSjCfq65En977tKFKdg2YwfMe4cDBE1Dtu-F3aFoYrRuVunRxWq9nQ7D7QPLdFAcCw/s1600/lenguaje+maquina.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLIgMitYeq2PUSq41n4jXZcxpzbnpix8KhTGZ7-KxdHyZL5xamg91mHgw6nGF6yV3G8VSWlimD0ZSjCfq65En977tKFKdg2YwfMe4cDBE1Dtu-F3aFoYrRuVunRxWq9nQ7D7QPLdFAcCw/s1600/lenguaje+maquina.jpg" /></a></div><div style="text-align: justify;"><b>Lenguaje Maquina.</b> Utiliza cadenas que son cadenas binarias <b>(Serie de caracteres de 0 y 1)</b> escritas en código de máquina o código binario, que son directamente intelegibles por su ordenador y puede obedecer inmediatamente sin traducción alguna.<br />
El codigo binario depende del hardware de la computadora.<br />
<br />
<b>Lenguaje Objeto.</b> Lenguaje o juego de instrucciones codificado a los cuales es traducido un lenguaje fuente por medio de un compilador, el lenguaje objeto es un lenguaje maquina directamente comprensible por su ordenador.</div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-05MTbBE8FSkuylQKf3_FVS9raJfOwFJ8y7c0MrGCFvHnT1P2rbVmM4gKfU8entmXWesuebW4AR8kQRNSFz8K1858z4jyfkhcZ2HJRbnBP7Rv-8U-Ayvb3DxHFh6wb2uZjHldUCXol3o/s1600/bajo+nivel.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="191" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-05MTbBE8FSkuylQKf3_FVS9raJfOwFJ8y7c0MrGCFvHnT1P2rbVmM4gKfU8entmXWesuebW4AR8kQRNSFz8K1858z4jyfkhcZ2HJRbnBP7Rv-8U-Ayvb3DxHFh6wb2uZjHldUCXol3o/s320/bajo+nivel.jpg" width="320" /></a></div><div style="text-align: justify;"><b>Lenguaje de Bajo Nivel.</b> Lenguaje básico o lenguaje en el cual cada instrucción se corresponde con un equivalente en codigo máquina, las instrucciones son una cadena de instrucciones alfabeticas.</div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibGlKTFIn6Ny447psxhNihH8J3i24P8LDD7oOcaiP7Mo_yds-24JOAgZ2FV3h9KDCOXPbZ_o8k92y4H_H1I8XHab3PyWNU5cDIsV7v5PPZ_yGy1OJKmvL6lD8DCTD9FaRdrqVepELbgD0/s1600/alto+nivel.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibGlKTFIn6Ny447psxhNihH8J3i24P8LDD7oOcaiP7Mo_yds-24JOAgZ2FV3h9KDCOXPbZ_o8k92y4H_H1I8XHab3PyWNU5cDIsV7v5PPZ_yGy1OJKmvL6lD8DCTD9FaRdrqVepELbgD0/s320/alto+nivel.jpg" width="320" /></a></div><div style="text-align: justify;"><b>Lenguaje de Alto Nivel. </b>Es un lenguaje natural, están diseñados para que las personas escriban y entiendan los programas de un modo más facil a los programas escritos en lenguaje máquina. El lenguaje de Alto Nivel es portable, es decir no dependen del hardware de la PC.<br />
<br />
<b>Lenguaje Fuente.</b> (Source Languaje) Un lenguaje de programación que no puede ser directamente procesado por el hardware de un ordenador y exige ser compilado y convertido en un programa objeto compuesto por instrucciones en lenguaje máquina que el ordenador pueda entender.<br />
<br />
<b>Compilación</b><br />
<br />
La traducción de un lenguaje fuente de Alto Nivel a programas ejecutables en lenguaje máquina suele implicar más de un paso de traducción, el proceso mismo de compilación puede comprender un cierto número de pasos que traducen progresivamente el lenguaje a varias formas intermedias antes de producir el programa final.<br />
<br />
<b>El proceso de traducción de programas de un lenguaje a otro equivalente, que realiza un compilador se conoce como "Compilación".</b></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-36024487899944618622011-05-03T18:25:00.000-07:002011-05-03T18:25:10.222-07:00Convertir Número a Letras en VBCuando se realizan trabajos donde se necesita mostrar al cliente un determinado monto de dinero, tipo factura, recibo, cheque, etc, el cliente desea ver el monto en numeral asi como en literal.<br />
<br />
Por ejemplo:<br />
<br />
<div style="text-align: center;"><b style="background-color: yellow;">877866,50 = ochocientos setenta y siete mil ochocientos sesenta y seis 50/100 Bolivianos</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZouHLIgze-1H4cOx2h2lfGLRCdci3yM3brBZ9HHzz5lRuWqbjTlOE6aW_6qqrkm9wKyTtyhyphenhyphenW4AsvvYST0DFJxIETtMWYP2mqbpy32GUEDLf80Cl5_iEDivdGlzVbrqPKPHHSQ_d9HEo/s1600/cheque+vb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZouHLIgze-1H4cOx2h2lfGLRCdci3yM3brBZ9HHzz5lRuWqbjTlOE6aW_6qqrkm9wKyTtyhyphenhyphenW4AsvvYST0DFJxIETtMWYP2mqbpy32GUEDLf80Cl5_iEDivdGlzVbrqPKPHHSQ_d9HEo/s320/cheque+vb.jpg" width="320" /></a></div></div><div style="text-align: justify;">Pues bien, la siguiente clase a la que llame <b>NumLetra.cs</b> realiza justamente esa operacion, esta extracomentada y trate de hacerla lo mas entendible posible. El proyecto en C#, lo llame <b>con_NumLetraC</b><br />
<br />
La logica que se utliza es la siguiente:<br />
<br />
La clase recibe un numero ej. 123456789,50<br />
valida este numero, si el numero no es valido devuelve NULL<br />
Si el numero es valido segun sea este unidad, decena, centena, mil o millon, va clasificando el numero y llama a sus procedimientos correspondientes, estas funciones, son utilizadas en cascada, osea:</div>nuestro numero de ejemplo es 123456789,50, entonces separa en 123456789 y 50, siendo 50 nuestra parte decimal.<br />
<br />
<div style="text-align: justify;">El numero entero, 123456789 es clasificado = es millon, entonces llama a la funcion getMillones, esta funcion a la vez divide el numero en miles y millones<br />
123456789 = 123 456789 donde 123 corresponde a millones y 456789 a miles<br />
entonces la misma funcion llama a las funciones getMiles, getCentenas, getUnidades, segun corresponda, al igual que la funcion getMiles, hace uso de getCentenas, getDecenas getUnidades, lo mismo getCentenas, hace uso de getDececas, getUnidades.</div><br />
Espero se entienda :)<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 1000px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Imports System<span style="color: black;">.</span>Text<span style="color: black;">.</span>RegularExpressions
<span style="color: blue;">Public</span> Class NumLetra
<span style="color: blue;">Dim</span> UNIDADES <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">() = {</span><span style="color: #a31515;">""</span><span style="color: black;">,</span> <span style="color: #a31515;">"un "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"tres "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuatro "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cinco "</span><span style="color: black;">,</span> <span style="color: #a31515;">"seis "</span><span style="color: black;">,</span> <span style="color: #a31515;">"siete "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ocho "</span><span style="color: black;">,</span> <span style="color: #a31515;">"nueve "</span><span style="color: black;">}</span>
<span style="color: blue;">Dim</span> DECENAS <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">() = {</span><span style="color: #a31515;">"diez "</span><span style="color: black;">,</span> <span style="color: #a31515;">"once "</span><span style="color: black;">,</span> <span style="color: #a31515;">"doce "</span><span style="color: black;">,</span> <span style="color: #a31515;">"trece "</span><span style="color: black;">,</span> <span style="color: #a31515;">"catorce "</span><span style="color: black;">,</span> <span style="color: #a31515;">"quince "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dieciseis "</span><span style="color: black;">,</span> <span style="color: #a31515;">"diecisiete "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dieciocho "</span><span style="color: black;">,</span> <span style="color: #a31515;">"diecinueve"</span><span style="color: black;">,</span> <span style="color: #a31515;">"veinte "</span><span style="color: black;">,</span> <span style="color: #a31515;">"treinta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuarenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cincuenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"sesenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"setenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ochenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"noventa "</span><span style="color: black;">}</span>
<span style="color: blue;">Dim</span> CENTENAS <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">() = {</span><span style="color: #a31515;">""</span><span style="color: black;">,</span> <span style="color: #a31515;">"ciento "</span><span style="color: black;">,</span> <span style="color: #a31515;">"doscientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"trecientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuatrocientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"quinientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"seiscientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"setecientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ochocientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"novecientos "</span><span style="color: black;">}</span>
<span style="color: blue;">Dim</span> r <span style="color: blue;">As</span> Regex
<span style="color: blue;">Sub</span> <span style="color: black;">NumLetra</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">Public Function</span> <span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> mayusculas <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: blue;">Dim</span> literal <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">Dim</span> parte_decimal <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: green;">'si el numero utiliza (.) en lugar de (,) -> se reemplaza</span>
numero <span style="color: black;">=</span> <span style="color: black;">Replace</span><span style="color: black;">(</span>numero<span style="color: black;">,</span> <span style="color: #a31515;">"."</span><span style="color: black;">,</span> <span style="color: #a31515;">","</span><span style="color: black;">)</span>
<span style="color: green;">'si el numero no tiene parte decimal, se le agrega ,00 </span>
<span style="color: blue;">If</span> numero<span style="color: black;">.</span><span style="color: black;">IndexOf</span><span style="color: black;">(</span><span style="color: #a31515;">","</span><span style="color: black;">) = -</span><span style="color: black;">1</span> <span style="color: blue;">Then</span>
numero <span style="color: black;">=</span> numero <span style="color: black;">&</span> <span style="color: #a31515;">",00"</span>
<span style="color: blue;">End If</span>
<span style="color: green;">'se valida formato de entrada -> 0,00 y 999 999 999,00</span>
<span style="color: green;">'if (Pattern.matches("\\d{1,9},\\d{1,2}", numero)) {</span>
r <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">Regex</span><span style="color: black;">(</span><span style="color: #a31515;">"\d{1,9},\d{1,2}"</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> mc <span style="color: blue;">As</span> MatchCollection <span style="color: black;">=</span> r<span style="color: black;">.</span><span style="color: black;">Matches</span><span style="color: black;">(</span>numero<span style="color: black;">)</span>
<span style="color: blue;">If</span> mc<span style="color: black;">.</span>Count <span style="color: black;">></span> <span style="color: black;">0</span> <span style="color: blue;">Then</span>
<span style="color: green;">'se divide el numero 0000000,00 -> entero y decimal</span>
<span style="color: blue;">Dim</span> Num <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">() =</span> numero<span style="color: black;">.</span><span style="color: black;">Split</span><span style="color: black;">(</span><span style="color: #a31515;">","</span><span style="color: black;">)</span>
<span style="color: green;">'de da formato al numero decimal</span>
parte_decimal <span style="color: black;">=</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">) &</span> <span style="color: #a31515;">"/100 Bolivianos."</span>
<span style="color: green;">'se convierte el numero a literal </span>
<span style="color: blue;">If</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">) =</span> <span style="color: black;">0</span> <span style="color: blue;">Then</span>
literal <span style="color: black;">=</span> <span style="color: #a31515;">"cero "</span>
<span style="color: blue;">ElseIf</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">) ></span> <span style="color: black;">999999</span> <span style="color: blue;">Then</span>
literal <span style="color: black;">=</span> <span style="color: black;">getMillones</span><span style="color: black;">(</span><span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">))</span>
<span style="color: blue;">ElseIf</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">) ></span> <span style="color: black;">999</span> <span style="color: blue;">Then</span>
literal <span style="color: black;">=</span> <span style="color: black;">getMiles</span><span style="color: black;">(</span><span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">))</span>
<span style="color: blue;">ElseIf</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">) ></span> <span style="color: black;">99</span> <span style="color: blue;">Then</span>
literal <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span><span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">))</span>
<span style="color: blue;">ElseIf</span> <span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">) ></span> <span style="color: black;">9</span> <span style="color: blue;">Then</span>
literal <span style="color: black;">=</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span><span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">))</span>
<span style="color: blue;">Else</span>
literal <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span><span style="color: black;">Num</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">))</span>
<span style="color: blue;">End If</span>
<span style="color: green;">'devuelve el resultado en mayusculas o minusculas</span>
<span style="color: blue;">If</span> mayusculas <span style="color: blue;">Then</span>
<span style="color: blue;">Return</span> <span style="color: black;">(</span>literal <span style="color: black;">&</span> parte_decimal<span style="color: black;">).</span>ToUpper
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> literal <span style="color: black;">&</span> parte_decimal
<span style="color: blue;">End If</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Function</span>
<span style="color: green;">' funciones para convertir los numeros a literales</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: green;">'1 - 9</span>
<span style="color: green;">'si tuviera algun 0 antes se lo quita -> 09 = 9 o 009=9</span>
<span style="color: blue;">Dim</span> num <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span><span style="color: black;">)</span>
<span style="color: blue;">Return</span> <span style="color: black;">UNIDADES</span><span style="color: black;">(</span>num<span style="color: black;">)</span>
<span style="color: blue;">End Function</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: green;">'99</span>
<span style="color: blue;">If</span> numero <span style="color: black;"><</span> <span style="color: black;">10</span> <span style="color: blue;">Then</span> <span style="color: green;">'para casos como -> 01 - 09</span>
<span style="color: blue;">Return</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>numero<span style="color: black;">)</span>
<span style="color: blue;">ElseIf</span> numero <span style="color: black;">></span> <span style="color: black;">19</span> <span style="color: blue;">Then</span> <span style="color: green;">'para 20...99</span>
<span style="color: blue;">Dim</span> u <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>numero<span style="color: black;">)</span>
<span style="color: blue;">If</span> u<span style="color: black;">.</span><span style="color: black;">Equals</span><span style="color: black;">(</span><span style="color: #a31515;">""</span><span style="color: black;">)</span> <span style="color: blue;">Then</span> <span style="color: green;">'para 20,30,40,50,60,70,80,90</span>
<span style="color: blue;">Return</span> <span style="color: black;">DECENAS</span><span style="color: black;">(</span>numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) +</span> <span style="color: black;">8</span><span style="color: black;">)</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> <span style="color: black;">DECENAS</span><span style="color: black;">(</span>numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">) +</span> <span style="color: black;">8</span><span style="color: black;">) &</span> <span style="color: #a31515;">"y "</span> <span style="color: black;">&</span> u
<span style="color: blue;">End If</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> <span style="color: black;">DECENAS</span><span style="color: black;">(</span>numero <span style="color: black;">-</span> <span style="color: black;">10</span><span style="color: black;">)</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Function</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: blue;">If</span> numero <span style="color: black;">></span> <span style="color: black;">99</span> <span style="color: blue;">Then</span> <span style="color: green;">'es centena</span>
<span style="color: blue;">If</span> numero <span style="color: black;">=</span> <span style="color: black;">100</span> <span style="color: blue;">Then</span> <span style="color: green;">'caso especial</span>
<span style="color: blue;">Return</span> <span style="color: #a31515;">"cien "</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> <span style="color: black;">CENTENAS</span><span style="color: black;">(</span>numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">)) &</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span>numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">))</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Else</span> <span style="color: green;">'se quita el 0 antes de convertir a decenas</span>
<span style="color: blue;">Return</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span>numero<span style="color: black;">)</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Function</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getMiles</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: green;">'obtiene las centenas'</span>
<span style="color: blue;">Dim</span> c <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">3</span><span style="color: black;">)</span>
<span style="color: green;">'obtiene los miles</span>
<span style="color: blue;">Dim</span> m <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">3</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> n <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: green;">'se comprueba que miles tenga valor entero</span>
<span style="color: blue;">If</span> m <span style="color: black;">></span> <span style="color: black;">0</span> <span style="color: blue;">Then</span>
n <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>m<span style="color: black;">)</span>
<span style="color: blue;">Return</span> n <span style="color: black;">&</span> <span style="color: #a31515;">" mil "</span> <span style="color: black;">&</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>c<span style="color: black;">)</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">Return</span> <span style="color: #a31515;">""</span> <span style="color: black;">&</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>c<span style="color: black;">)</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Function</span>
<span style="color: blue;">Private Function</span> <span style="color: black;">getMillones</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> numero <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: green;">'se obtiene los miles</span>
<span style="color: blue;">Dim</span> miles <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">6</span><span style="color: black;">)</span>
<span style="color: green;">'millones</span>
<span style="color: blue;">Dim</span> millon <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">6</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> n <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">""</span>
<span style="color: blue;">If</span> millon <span style="color: black;">></span> <span style="color: black;">9</span> <span style="color: blue;">Then</span>
n <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>millon<span style="color: black;">) &</span> <span style="color: #a31515;">" millones "</span>
<span style="color: blue;">Else</span>
n <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>millon<span style="color: black;">) &</span> <span style="color: #a31515;">" millon "</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">Return</span> n <span style="color: black;">&</span> <span style="color: black;">getMiles</span><span style="color: black;">(</span>miles<span style="color: black;">)</span>
<span style="color: blue;">End Function</span>
<span style="color: blue;">End</span> Class</pre></div><div style="text-align: justify;"> Esta clase, recibe un numero de 0,00 a 999999999.00 en formato String, el separador decimal puede ser un punto (.) o una coma (,), ademas tiene un parametro booleano <b>"mayusculas"</b> el cual sea verdadero (true) o falso (false), retorna el resultado en mayusculas o minusculas, esta clase no acepta numeros negativos ni tampoco numero mayores o iguales a mil millones, aunque claro trate de escribir esta clase para que sea facilmente comprensible y asi pueda ser ampliado o modificado segun sus necesidades.</div><br />
La forma de llamara a esta clase es:<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 400px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Module</span> Module1
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: blue;">Dim</span> NL <span style="color: blue;">As New</span> NumLetra
<span style="color: blue;">Dim</span> a <span style="color: blue;">As</span> <span style="color: blue;">String</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"123456789,50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"4524011.50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"999999999,50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"001000925,50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"0,50"</span><span style="color: black;">,</span> <span style="color: blue;">True</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"7,50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"69,50"</span><span style="color: black;">,</span> <span style="color: blue;">True</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
a <span style="color: black;">=</span> NL<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span><span style="color: #a31515;">"6969,50"</span><span style="color: black;">,</span> <span style="color: blue;">False</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">">"</span> <span style="color: black;">&</span> a<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadKey</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End Module</span></pre></div><br />
Y al ejecutar el proyecto tenemos:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr99HqddDXNXGSi-L7Kg1e2uplPGNcECV7cugh29y5GSjU7lF5jla9IUUgBNMzZ3IULZJk5QRjkHJYdcnRLn8xVN_o2rUCuNXfYyX6Cj2itIrQ810twrsiI3evTM50EG08xA2ALuBSoGM/s1600/number-letter-vb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr99HqddDXNXGSi-L7Kg1e2uplPGNcECV7cugh29y5GSjU7lF5jla9IUUgBNMzZ3IULZJk5QRjkHJYdcnRLn8xVN_o2rUCuNXfYyX6Cj2itIrQ810twrsiI3evTM50EG08xA2ALuBSoGM/s320/number-letter-vb.jpg" width="320" /></a></div> Puedes ver el proyecto original en java, desde <a href="http://jc-mouse.blogspot.com/">aqui</a>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com4tag:blogger.com,1999:blog-7268693679698740901.post-33219040260647459422011-04-25T14:31:00.000-07:002011-04-25T14:31:04.655-07:00Convertir Número a Letras en C#Cuando se realizan trabajos donde se necesita mostrar al cliente un determinado monto de dinero, tipo factura, recibo, cheque, etc, el cliente desea ver el monto en numeral asi como en literal.<br />
<br />
Por ejemplo:<br />
<br />
<div style="text-align: center;"><b style="background-color: yellow;">877866,50 = ochocientos setenta y siete mil ochocientos sesenta y seis 50/100 Bolivianos</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg16S0Q8i4YwPrIQuXL-71TRWU5-NpwI4ojCYA-NSIu8ly1xc1jx8BfhX3biF-o4Wt6EGcbgr46qHHlTghjbOdaBTeXIIlZRLcOafq4erPm9labb7NJ892GjWbSqFM0OgS3HBL8TkPj3n4/s1600/cheque+java.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg16S0Q8i4YwPrIQuXL-71TRWU5-NpwI4ojCYA-NSIu8ly1xc1jx8BfhX3biF-o4Wt6EGcbgr46qHHlTghjbOdaBTeXIIlZRLcOafq4erPm9labb7NJ892GjWbSqFM0OgS3HBL8TkPj3n4/s320/cheque+java.jpg" width="320" /></a></div><div style="text-align: justify;">Pues bien, la siguiente clase a la que llame <b>NumLetra.cs</b> realiza justamente esa operacion, esta extracomentada y trate de hacerla lo mas entendible posible. El proyecto en C#, lo llame <b>con_NumLetraC</b><br />
<br />
La logica que se utliza es la siguiente:<br />
<br />
La clase recibe un numero ej. 123456789,50<br />
valida este numero, si el numero no es valido devuelve NULL<br />
Si el numero es valido segun sea este unidad, decena, centena, mil o millon, va clasificando el numero y llama a sus procedimientos correspondientes, estas funciones, son utilizadas en cascada, osea:</div>nuestro numero de ejemplo es 123456789,50, entonces separa en 123456789 y 50, siendo 50 nuestra parte decimal.<br />
<br />
<div style="text-align: justify;">El numero entero, 123456789 es clasificado = es millon, entonces llama a la funcion getMillones, esta funcion a la vez divide el numero en miles y millones<br />
123456789 = 123 456789 donde 123 corresponde a millones y 456789 a miles<br />
entonces la misma funcion llama a las funciones getMiles, getCentenas, getUnidades, segun corresponda, al igual que la funcion getMiles, hace uso de getCentenas, getDecenas getUnidades, lo mismo getCentenas, hace uso de getDececas, getUnidades.</div><br />
Espero se entienda :)<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 900px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">using</span> System<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Collections<span style="color: black;">.</span>Generic<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Linq<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Text<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Text<span style="color: black;">.</span>RegularExpressions<span style="color: black;">;</span>
<span style="color: blue;">namespace</span> con_NumLetraC
<span style="color: black;">{</span>
<span style="color: blue;">class</span> NumLetra
<span style="color: black;">{</span>
<span style="color: blue;">private</span> String<span style="color: black;">[]</span> UNIDADES <span style="color: black;">= {</span> <span style="color: #a31515;">""</span><span style="color: black;">,</span> <span style="color: #a31515;">"un "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"tres "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuatro "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cinco "</span><span style="color: black;">,</span> <span style="color: #a31515;">"seis "</span><span style="color: black;">,</span> <span style="color: #a31515;">"siete "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ocho "</span><span style="color: black;">,</span> <span style="color: #a31515;">"nueve "</span> <span style="color: black;">};</span>
<span style="color: blue;">private</span> String<span style="color: black;">[]</span> DECENAS <span style="color: black;">= {</span><span style="color: #a31515;">"diez "</span><span style="color: black;">,</span> <span style="color: #a31515;">"once "</span><span style="color: black;">,</span> <span style="color: #a31515;">"doce "</span><span style="color: black;">,</span> <span style="color: #a31515;">"trece "</span><span style="color: black;">,</span> <span style="color: #a31515;">"catorce "</span><span style="color: black;">,</span> <span style="color: #a31515;">"quince "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dieciseis "</span><span style="color: black;">,</span>
<span style="color: #a31515;">"diecisiete "</span><span style="color: black;">,</span> <span style="color: #a31515;">"dieciocho "</span><span style="color: black;">,</span> <span style="color: #a31515;">"diecinueve"</span><span style="color: black;">,</span> <span style="color: #a31515;">"veinte "</span><span style="color: black;">,</span> <span style="color: #a31515;">"treinta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuarenta "</span><span style="color: black;">,</span>
<span style="color: #a31515;">"cincuenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"sesenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"setenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ochenta "</span><span style="color: black;">,</span> <span style="color: #a31515;">"noventa "</span><span style="color: black;">};</span>
<span style="color: blue;">private</span> String<span style="color: black;">[]</span> CENTENAS <span style="color: black;">= {</span><span style="color: #a31515;">""</span><span style="color: black;">,</span> <span style="color: #a31515;">"ciento "</span><span style="color: black;">,</span> <span style="color: #a31515;">"doscientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"trecientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"cuatrocientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"quinientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"seiscientos "</span><span style="color: black;">,</span>
<span style="color: #a31515;">"setecientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"ochocientos "</span><span style="color: black;">,</span> <span style="color: #a31515;">"novecientos "</span><span style="color: black;">};</span>
<span style="color: blue;">private</span> Regex r<span style="color: black;">;</span>
<span style="color: blue;">public</span> String <span style="color: black;">Convertir</span><span style="color: black;">(</span>String numero<span style="color: black;">,</span> <span style="color: blue;">bool</span> mayusculas<span style="color: black;">) {</span>
String literal <span style="color: black;">=</span> <span style="color: #a31515;">""</span><span style="color: black;">;</span>
String parte_decimal<span style="color: black;">;</span>
<span style="color: green;">//si el numero utiliza (.) en lugar de (,) -> se reemplaza</span>
numero <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Replace</span><span style="color: black;">(</span><span style="color: #a31515;">"."</span><span style="color: black;">,</span> <span style="color: #a31515;">","</span><span style="color: black;">);</span>
<span style="color: green;">//si el numero no tiene parte decimal, se le agrega ,00</span>
<span style="color: blue;">if</span><span style="color: black;">(</span>numero<span style="color: black;">.</span><span style="color: black;">IndexOf</span><span style="color: black;">(</span><span style="color: #a31515;">","</span><span style="color: black;">)==-</span><span style="color: black;">1</span><span style="color: black;">){</span>
numero <span style="color: black;">=</span> numero <span style="color: black;">+</span> <span style="color: #a31515;">",00"</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: green;">//se valida formato de entrada -> 0,00 y 999 999 999,00</span>
r <span style="color: black;">=</span> <span style="color: blue;">new</span> <span style="color: black;">Regex</span><span style="color: black;">(</span>@<span style="color: #a31515;">"\d{1,9},\d{1,2}"</span><span style="color: black;">);</span>
MatchCollection mc <span style="color: black;">=</span> r<span style="color: black;">.</span><span style="color: black;">Matches</span><span style="color: black;">(</span>numero<span style="color: black;">);</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span>mc<span style="color: black;">.</span>Count <span style="color: black;">></span> <span style="color: black;">0</span><span style="color: black;">) {</span>
<span style="color: green;">//se divide el numero 0000000,00 -> entero y decimal</span>
String<span style="color: black;">[]</span> Num <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Split</span><span style="color: black;">(</span><span style="color: #a31515;">','</span><span style="color: black;">);</span>
<span style="color: green;">//de da formato al numero decimal</span>
parte_decimal <span style="color: black;">=</span> Num<span style="color: black;">[</span><span style="color: black;">1</span><span style="color: black;">] +</span> <span style="color: #a31515;">"/100 Bolivianos."</span><span style="color: black;">;</span>
<span style="color: green;">//se convierte el numero a literal</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]) ==</span> <span style="color: black;">0</span><span style="color: black;">) {</span><span style="color: green;">//si el valor es cero </span>
literal <span style="color: black;">=</span> <span style="color: #a31515;">"cero "</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: blue;">else if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]) ></span> <span style="color: black;">999999</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//si es millon</span>
literal <span style="color: black;">=</span> <span style="color: black;">getMillones</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]);</span>
<span style="color: black;">}</span>
<span style="color: blue;">else if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]) ></span> <span style="color: black;">999</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//si es miles</span>
literal <span style="color: black;">=</span> <span style="color: black;">getMiles</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]);</span>
<span style="color: black;">}</span>
<span style="color: blue;">else if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]) ></span> <span style="color: black;">99</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//si es centena</span>
literal <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]);</span>
<span style="color: black;">}</span>
<span style="color: blue;">else if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]) ></span> <span style="color: black;">9</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//si es decena</span>
literal <span style="color: black;">=</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]);</span>
<span style="color: black;">}</span> <span style="color: blue;">else</span> <span style="color: black;">{</span><span style="color: green;">//sino unidades -> 9</span>
literal <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>Num<span style="color: black;">[</span><span style="color: black;">0</span><span style="color: black;">]);</span>
<span style="color: black;">}</span>
<span style="color: green;">//devuelve el resultado en mayusculas o minusculas</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span>mayusculas<span style="color: black;">) {</span>
<span style="color: blue;">return</span> <span style="color: black;">(</span>literal <span style="color: black;">+</span> parte_decimal<span style="color: black;">).</span><span style="color: black;">ToUpper</span><span style="color: black;">();</span>
<span style="color: black;">}</span> <span style="color: blue;">else</span> <span style="color: black;">{</span>
<span style="color: blue;">return</span> <span style="color: black;">(</span>literal <span style="color: black;">+</span> parte_decimal<span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span> <span style="color: blue;">else</span> <span style="color: black;">{</span><span style="color: green;">//error, no se puede convertir</span>
<span style="color: blue;">return</span> literal <span style="color: black;">=</span> <span style="color: blue;">null</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: green;">/* funciones para convertir los numeros a literales */</span>
<span style="color: blue;">private</span> String <span style="color: black;">getUnidades</span><span style="color: black;">(</span>String numero<span style="color: black;">)</span>
<span style="color: black;">{</span> <span style="color: green;">// 1 - 9 </span>
<span style="color: green;">//si tuviera algun 0 antes se lo quita -> 09 = 9 o 009=9</span>
String num <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">1</span><span style="color: black;">);</span>
<span style="color: blue;">return</span> UNIDADES<span style="color: black;">[</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">)];</span>
<span style="color: black;">}</span>
<span style="color: blue;">private</span> String <span style="color: black;">getDecenas</span><span style="color: black;">(</span>String num<span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">// 99 </span>
<span style="color: blue;">int</span> n <span style="color: black;">=</span> <span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">);</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span>n <span style="color: black;"><</span> <span style="color: black;">10</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//para casos como -> 01 - 09</span>
<span style="color: blue;">return</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>num<span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: blue;">else if</span> <span style="color: black;">(</span>n <span style="color: black;">></span> <span style="color: black;">19</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//para 20...99</span>
String u <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>num<span style="color: black;">);</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span>u<span style="color: black;">.</span><span style="color: black;">Equals</span><span style="color: black;">(</span><span style="color: #a31515;">""</span><span style="color: black;">))</span>
<span style="color: black;">{</span> <span style="color: green;">//para 20,30,40,50,60,70,80,90</span>
<span style="color: blue;">return</span> DECENAS<span style="color: black;">[</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">)) +</span> <span style="color: black;">8</span><span style="color: black;">];</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span>
<span style="color: blue;">return</span> DECENAS<span style="color: black;">[</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">)) +</span> <span style="color: black;">8</span><span style="color: black;">] +</span> <span style="color: #a31515;">"y "</span> <span style="color: black;">+</span> u<span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span><span style="color: green;">//numeros entre 11 y 19</span>
<span style="color: blue;">return</span> DECENAS<span style="color: black;">[</span>n <span style="color: black;">-</span> <span style="color: black;">10</span><span style="color: black;">];</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: blue;">private</span> String <span style="color: black;">getCentenas</span><span style="color: black;">(</span>String num<span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">// 999 o 099</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">) ></span> <span style="color: black;">99</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//es centena</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">) ==</span> <span style="color: black;">100</span><span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">//caso especial</span>
<span style="color: blue;">return</span> <span style="color: #a31515;">" cien "</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span>
<span style="color: blue;">return</span> CENTENAS<span style="color: black;">[</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> <span style="color: black;">1</span><span style="color: black;">))] +</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span>num<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">));</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span><span style="color: green;">//por Ej. 099 </span>
<span style="color: green;">//se quita el 0 antes de convertir a decenas</span>
<span style="color: blue;">return</span> <span style="color: black;">getDecenas</span><span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>num<span style="color: black;">) +</span> <span style="color: #a31515;">""</span><span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: blue;">private</span> String <span style="color: black;">getMiles</span><span style="color: black;">(</span>String numero<span style="color: black;">)</span>
<span style="color: black;">{</span><span style="color: green;">// 999 999</span>
<span style="color: green;">//obtiene las centenas</span>
String c <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">3</span><span style="color: black;">);</span>
<span style="color: green;">//obtiene los miles</span>
String m <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">3</span><span style="color: black;">);</span>
String n <span style="color: black;">=</span> <span style="color: #a31515;">""</span><span style="color: black;">;</span>
<span style="color: green;">//se comprueba que miles tenga valor entero</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span><span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span>m<span style="color: black;">) ></span> <span style="color: black;">0</span><span style="color: black;">)</span>
<span style="color: black;">{</span>
n <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>m<span style="color: black;">);</span>
<span style="color: blue;">return</span> n <span style="color: black;">+</span> <span style="color: #a31515;">"mil "</span> <span style="color: black;">+</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>c<span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span>
<span style="color: blue;">return</span> <span style="color: #a31515;">""</span> <span style="color: black;">+</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>c<span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: blue;">private</span> String <span style="color: black;">getMillones</span><span style="color: black;">(</span>String numero<span style="color: black;">)</span>
<span style="color: black;">{</span> <span style="color: green;">//000 000 000 </span>
<span style="color: green;">//se obtiene los miles</span>
String miles <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span>numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">6</span><span style="color: black;">);</span>
<span style="color: green;">//se obtiene los millones</span>
String millon <span style="color: black;">=</span> numero<span style="color: black;">.</span><span style="color: black;">Substring</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">,</span> numero<span style="color: black;">.</span>Length <span style="color: black;">-</span> <span style="color: black;">6</span><span style="color: black;">);</span>
String n <span style="color: black;">=</span> <span style="color: #a31515;">""</span><span style="color: black;">;</span>
<span style="color: blue;">if</span> <span style="color: black;">(</span>millon<span style="color: black;">.</span>Length <span style="color: black;">></span> <span style="color: black;">1</span><span style="color: black;">)</span>
<span style="color: black;">{</span>
n <span style="color: black;">=</span> <span style="color: black;">getCentenas</span><span style="color: black;">(</span>millon<span style="color: black;">) +</span> <span style="color: #a31515;">"millones "</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: blue;">else</span>
<span style="color: black;">{</span>
n <span style="color: black;">=</span> <span style="color: black;">getUnidades</span><span style="color: black;">(</span>millon<span style="color: black;">) +</span> <span style="color: #a31515;">"millon "</span><span style="color: black;">;</span>
<span style="color: black;">}</span>
<span style="color: blue;">return</span> n <span style="color: black;">+</span> <span style="color: black;">getMiles</span><span style="color: black;">(</span>miles<span style="color: black;">);</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span></pre></div><br />
<div style="text-align: justify;"> Esta clase, recibe un numero de 0,00 a 999999999.00 en formato String, el separador decimal puede ser un punto (.) o una coma (,), ademas tiene un parametro booleano <b>"mayusculas"</b> el cual sea verdadero (true) o falso (false), retorna el resultado en mayusculas o minusculas, esta clase no acepta numeros negativos ni tampoco numero mayores o iguales a mil millones, aunque claro trate de escribir esta clase para que sea facilmente comprensible y asi pueda ser ampliado o modificado segun sus necesidades.</div><br />
La forma de llamara a esta clase es:<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 400px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">using</span> System<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Collections<span style="color: black;">.</span>Generic<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Linq<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Text<span style="color: black;">;</span>
<span style="color: blue;">namespace</span> con_NumLetraC
<span style="color: black;">{</span>
<span style="color: blue;">class</span> Program
<span style="color: black;">{</span>
<span style="color: blue;">static</span> <span style="color: blue;">void</span> <span style="color: black;">Main</span><span style="color: black;">(</span><span style="color: blue;">string</span><span style="color: black;">[]</span> args<span style="color: black;">)</span>
<span style="color: black;">{</span>
NumLetra nl <span style="color: black;">=</span> <span style="color: blue;">new</span> <span style="color: black;">NumLetra</span><span style="color: black;">();</span>
String numero <span style="color: black;">=</span> <span style="color: #a31515;">"57.60"</span><span style="color: black;">;</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>nl<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span>numero<span style="color: black;">,</span><span style="color: blue;">true</span><span style="color: black;">));</span>
numero <span style="color: black;">=</span> <span style="color: #a31515;">"34557.70"</span><span style="color: black;">;</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>nl<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span>numero<span style="color: black;">,</span> <span style="color: blue;">false</span><span style="color: black;">));</span>
numero <span style="color: black;">=</span> <span style="color: #a31515;">"4357,60"</span><span style="color: black;">;</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>nl<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span>numero<span style="color: black;">,</span> <span style="color: blue;">true</span><span style="color: black;">));</span>
numero <span style="color: black;">=</span> <span style="color: #a31515;">"969.90"</span><span style="color: black;">;</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>nl<span style="color: black;">.</span><span style="color: black;">Convertir</span><span style="color: black;">(</span>numero<span style="color: black;">,</span> <span style="color: blue;">false</span><span style="color: black;">));</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadKey</span><span style="color: black;">();</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span></pre></div><br />
Y al ejecutar el proyecto tenemos:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiL89jonjy8xS0SJMMiAUKCv8vgA0uiYOX0sD1vW9Zy2WJfTkBvLcpT0oqCcsp2en4JeVLOofNL06U1QYwwdmLiCcmH1R7P015qSXBIwjw4eL4e1c5byntZ9zO9tsHmzswefCHlXQmPeo/s1600/numletracsharp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="55" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiL89jonjy8xS0SJMMiAUKCv8vgA0uiYOX0sD1vW9Zy2WJfTkBvLcpT0oqCcsp2en4JeVLOofNL06U1QYwwdmLiCcmH1R7P015qSXBIwjw4eL4e1c5byntZ9zO9tsHmzswefCHlXQmPeo/s320/numletracsharp.jpg" width="320" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com17tag:blogger.com,1999:blog-7268693679698740901.post-2148263300794622112011-04-20T14:21:00.000-07:002011-04-20T14:21:19.650-07:00Esquema de un compilador<div style="text-align: justify;">El proceso de traducción de un lenguaje a otro que realiza un compilador se conoce como compilación.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">El entorno en que se desarrolle el compilador y el lenguaje en que se implante puede afectar la velocidad y fiabilidad de la implantación del compilador.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">La traducción de un lenguaje fuente de alto nivel a un programa ejecutable en lenguaje maquina suele implicar más de un paso de traducción. El paso mismo de compilación puede compernder de un cierto numero de pasos que traducen progresivamente el lenguaje a varias formas intermedias antes de producir el programa objeto final.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1dF4rjDJjqDFKRiuKcT_TWak_dfNLpDKBlt08Mz6TR20fiBczFTqTi38RM5zTGu86uZY-8988HDUe2I1BObphBycUU-ysEgx2vD5MyeB2XAo3P7116FzmkLV3-Y8VyjBLd31J7fKo9Yw/s1600/esquema+compilador.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1dF4rjDJjqDFKRiuKcT_TWak_dfNLpDKBlt08Mz6TR20fiBczFTqTi38RM5zTGu86uZY-8988HDUe2I1BObphBycUU-ysEgx2vD5MyeB2XAo3P7116FzmkLV3-Y8VyjBLd31J7fKo9Yw/s320/esquema+compilador.jpg" width="320" /></a></div><div style="text-align: center;"><span style="font-size: x-small;"><b> (Imagen 1: Esquema de un compilador)</b></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitnowBfJGtfr83M6_VDrHdILMx8MprrpHMRmrNQ2UNBX3P-tEHl_dmg-YoxObjeredA6Br4DmTpMTuEZ5EB9q6MDPb_Fi70q4J8Bua_NvuBKgPwE2TATwpWU5YJiVm1e-V0wKY2Kr-56g/s1600/fases+compilador.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitnowBfJGtfr83M6_VDrHdILMx8MprrpHMRmrNQ2UNBX3P-tEHl_dmg-YoxObjeredA6Br4DmTpMTuEZ5EB9q6MDPb_Fi70q4J8Bua_NvuBKgPwE2TATwpWU5YJiVm1e-V0wKY2Kr-56g/s320/fases+compilador.jpg" width="320" /></a></div><div style="text-align: center;"><span style="font-size: x-small;"><b> (Imagen 2: Fases de un compilador)</b></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ83MUkWDmIKai5ixH5eL96a21LENGQ8BeYhzqtbPPn8OsxadrtSjXCWDucCCHHl2eipS6y9CS9l1WFeZJDnNMuZsAo11LvnXQG9uoD367MOfJlGsuIYf8aaaPT5UAaW3ix_yppJ12dpg/s1600/analisis+sintesis.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="73" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ83MUkWDmIKai5ixH5eL96a21LENGQ8BeYhzqtbPPn8OsxadrtSjXCWDucCCHHl2eipS6y9CS9l1WFeZJDnNMuZsAo11LvnXQG9uoD367MOfJlGsuIYf8aaaPT5UAaW3ix_yppJ12dpg/s320/analisis+sintesis.jpg" width="320" /></a></div><div style="text-align: center;"><span style="font-size: x-small;"><b> Imagen 3: Analisis y Sintesis</b></span></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-55748928141709454142011-04-09T15:15:00.000-07:002011-04-09T15:15:41.629-07:00Paso de parametros entre paginas en ASP.Net<div style="text-align: justify;">Para poder pasar parametros en diferentes paginas web, se puede utilizar el metodo de VS PostBackURL, para este ejemplo partiremos del siguiente sitio web<b> "wbSample1"</b> el cual consta de 2 paginas <b>"Default.aspx"</b> y <b>"Default2.aspx"</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzUhUk22Q_m14lDt4pbIupUCEMhS9HICwltoAKlhCRuV23RCnV-q6KNh0XR0xw8oNph5eRlHj0LkN0JP95m7oZhPJDNSWklw4h4g48yqq1HrC2d14gVj41nDsF39oBbtUVI3OvlPqYI7c/s1600/wbasp1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzUhUk22Q_m14lDt4pbIupUCEMhS9HICwltoAKlhCRuV23RCnV-q6KNh0XR0xw8oNph5eRlHj0LkN0JP95m7oZhPJDNSWklw4h4g48yqq1HrC2d14gVj41nDsF39oBbtUVI3OvlPqYI7c/s1600/wbasp1.jpg" /></a></div>Lo que harermos sera pasar un parametro de <b>"Default.aspx"</b> hacia <b>"Default.aspx"</b> utilizando <b>PostBackURL</b>.<br />
<br />
Default.aspx consta de un objeto TextBox = TextBox1 y de un Button = Button1<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXUr6dDnRCvDukcJRAn3aQzTghtpbmAnrkEgrtFb3Hh8SumD7bD8WZjllIon_3VjXLkLkWBFvGVkA-5xlIJ20Gpf31-dQZE-zC4vF8NwvOrpBMHODIV3v58QxTabGRPjPG5dBmoeYrWYc/s1600/wbasp2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXUr6dDnRCvDukcJRAn3aQzTghtpbmAnrkEgrtFb3Hh8SumD7bD8WZjllIon_3VjXLkLkWBFvGVkA-5xlIJ20Gpf31-dQZE-zC4vF8NwvOrpBMHODIV3v58QxTabGRPjPG5dBmoeYrWYc/s1600/wbasp2.jpg" /></a></div><div style="text-align: justify;">Seleccionando el Button1, en sus propiedades se busca la opcion PostBackURL y se desplegara la ventana para seleccionar la pagina destino, como nuestro proyecto solo consta de dos paginas, es facilmente idetificable, se selecciona la pagina "default2.aspx" y OK</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipJSQOnRGoGT-3YvqA4iCIALVa60dshe4JoVjOMR14uifCequNrMug1FD4ja6yUa2v-maQrEtVq-xZMypLgPDZs_QTQIp6knNylTDQG12mPW2e2BlU2YWji4JzHRIhQVmzDKVPKNyom4k/s1600/wbasp3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipJSQOnRGoGT-3YvqA4iCIALVa60dshe4JoVjOMR14uifCequNrMug1FD4ja6yUa2v-maQrEtVq-xZMypLgPDZs_QTQIp6knNylTDQG12mPW2e2BlU2YWji4JzHRIhQVmzDKVPKNyom4k/s320/wbasp3.jpg" width="320" /></a></div><div style="text-align: justify;">Eso es todo para el archivo "default.aspx", ahora se debe trabajar en el codigo de la pagina default2.aspx, en este ejemplo estamos utilizando el lenguaje Visual Basic</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Ingresa en el codigo de default2.aspx en el Page Load se debe escribir lo siguiente:</div><div style="text-align: justify;"></div><div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 350px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Partial Class Default2
Inherits System<span style="color: black;">.</span>Web<span style="color: black;">.</span>UI<span style="color: black;">.</span>Page
Protected <span style="color: blue;">Sub</span> <span style="color: black;">Page_Load</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> sender <span style="color: blue;">As Object</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> System<span style="color: black;">.</span>EventArgs<span style="color: black;">)</span> Handles <span style="color: blue;">Me</span><span style="color: black;">.</span><span style="color: blue;">Load</span>
<span style="color: green;">'si se carga esta pagina sin cargar previamente la primera sale "error"</span>
<span style="color: blue;">If</span> Page<span style="color: black;">.</span>PreviousPage Is <span style="color: blue;">Nothing Then</span>
Label1<span style="color: black;">.</span>Text <span style="color: black;">=</span> <span style="color: #a31515;">"Error: Usted no debe estar aqui..."</span>
<span style="color: blue;">Else</span>
<span style="color: green;">'Se toma el contenido del TextBox y se lo coloca en una variable</span>
<span style="color: blue;">Dim</span> Nombre <span style="color: black;">=</span> <span style="color: black;">CType</span><span style="color: black;">((</span>PreviousPage<span style="color: black;">.</span><span style="color: black;">FindControl</span><span style="color: black;">(</span><span style="color: #a31515;">"TextBox1"</span><span style="color: black;">)),</span> TextBox<span style="color: black;">).</span>Text
<span style="color: green;">'si no existen datos muestra el primern mensaje</span>
<span style="color: blue;">If</span> Nombre <span style="color: black;">=</span> <span style="color: #a31515;">""</span> <span style="color: blue;">Then</span>
Label1<span style="color: black;">.</span>Text <span style="color: black;">=</span> <span style="color: #a31515;">"Hola Anonimo bienvenido..."</span>
<span style="color: blue;">Else</span> <span style="color: green;">'sino muestra el saludo con el nombre</span>
Label1<span style="color: black;">.</span>Text <span style="color: black;">=</span> <span style="color: #a31515;">"Hola "</span> <span style="color: black;">&</span> Nombre <span style="color: black;">&</span> <span style="color: #a31515;">" bienvenido..."</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End</span> Class</pre></div><br />
<div style="text-align: justify;">Ahora solo ejecutamos el sitio web desde el servidor:<br />
<br />
Vemos como se carga la pagina, pero esta primera vez no colocamos nada en el TextBox, y presionamos el Button, entonces se carga la segunda pagina, pero como el TextBox estaba vacio nos muestra este mensaje <i><b>"Hola anonimo bienvenido...." </b></i><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhikCCJ4hG1BSAo2M2i4W3Cr17NINjFKdh07lejw42hbtNscVxZin55Tbq3IhZr258Z8Xr2JHC_Zxo0xkACHrZDoixK5pEZrwgdKeHV-nEZZEZ6VrQU_Vnifkl7Y0Vvj5taVwkGl0YEmC4/s1600/res1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhikCCJ4hG1BSAo2M2i4W3Cr17NINjFKdh07lejw42hbtNscVxZin55Tbq3IhZr258Z8Xr2JHC_Zxo0xkACHrZDoixK5pEZrwgdKeHV-nEZZEZ6VrQU_Vnifkl7Y0Vvj5taVwkGl0YEmC4/s320/res1.jpg" width="320" /></a></div>Para la segunda prueba, colocamos un nombre en el TextBox y presionamos el boton, esta vez si nos muestra el mensaje de bienvenida que queremos "Hola jc Mouse bienvenido..."<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7BtsLSdmqqP20_QV97C4qUX-tL5XiDoSsn5J4eDZcES9QBdHtguu0tOxOKbqi1tbm9ZoWqasUPSl3fJOgKn-kKNq6cp8rdETBlBQPcH7yQ4JoXtJZJkdD1qpiQvxhfEZYsKtrTrVcab4/s1600/res2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="129" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7BtsLSdmqqP20_QV97C4qUX-tL5XiDoSsn5J4eDZcES9QBdHtguu0tOxOKbqi1tbm9ZoWqasUPSl3fJOgKn-kKNq6cp8rdETBlBQPcH7yQ4JoXtJZJkdD1qpiQvxhfEZYsKtrTrVcab4/s320/res2.jpg" width="320" /></a></div></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com4tag:blogger.com,1999:blog-7268693679698740901.post-64838011310971879342011-04-06T12:43:00.000-07:002011-04-06T12:43:15.760-07:00Problema "Sucesión de ULAM"La siguiente se llama conjetura de <b>ULAM </b>en honor del matematico S.Ulam<br />
<ul><li>Comience con cualquier entero positivo</li>
<li>Si es par, dividalo entre 2; si es impar, multipliquelo por 3 y agreguele 1.</li>
<li>Obtenga enteros sucesivamente repitiendo el proceso</li>
</ul>Al final, obtendra el número 1, independientemente del entero inicial, Por ejemplo, cuando el entero inicial es 26, la secuencia será: 26,13,40,20,10,5,16,84,2,1.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDBSQnVQ1WqIyQ8xquP3m9jVYc2HC7GaUqwkUAgeYBnOycn85t96lUps43-R7kg40XYvvtjDhcUI_AXWq8mUuraO8WrRjPYYdhF5zaiTteohmN-Me6_tmdbRjXOhjri86KQwyKNdAqfEY/s1600/collatz_ulam.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjDBSQnVQ1WqIyQ8xquP3m9jVYc2HC7GaUqwkUAgeYBnOycn85t96lUps43-R7kg40XYvvtjDhcUI_AXWq8mUuraO8WrRjPYYdhF5zaiTteohmN-Me6_tmdbRjXOhjri86KQwyKNdAqfEY/s320/collatz_ulam.jpg" width="291" /></a></div><br />
<div style="text-align: justify;">Construya un diagrama de flujo y su codigo correspondiente que lea un numero entero positivo y obtenga e imprima la sucesion de ULAM (tambien conocido como Conjetura de Collatz)</div><br />
<b>Datos:</b><br />
N, es una variable de tipo entero, que representa el número que ingresa.<br />
<br />
<div style="text-align: center;"><b>Diagrama de Flujo</b></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWURmgbFsrq59DmvnaPmYipq8aqoMlsXkSbd-pI372AbLNd3K9mYCELdtREczpBxaeG4_6gv28bkl4YId43DvSnjl4P5mgs6nxqf3JhOyQiHJVj9niPCJjgEBODDRBM1AFc1F269idpHM/s1600/diagrama_ULAM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWURmgbFsrq59DmvnaPmYipq8aqoMlsXkSbd-pI372AbLNd3K9mYCELdtREczpBxaeG4_6gv28bkl4YId43DvSnjl4P5mgs6nxqf3JhOyQiHJVj9niPCJjgEBODDRBM1AFc1F269idpHM/s320/diagrama_ULAM.jpg" width="281" /></a></div><br />
<div style="text-align: center;"><b>Codigo Fuente Visual Basic</b></div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 400px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Module</span> problema_320
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingrese número : "</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> N <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: blue;">If</span> N <span style="color: black;">></span> <span style="color: black;">0</span> <span style="color: blue;">Then</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>N<span style="color: black;">)</span>
<span style="color: blue;">While</span> N <span style="color: black;"><></span> <span style="color: black;">1</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>N Mod <span style="color: black;">2</span><span style="color: black;">) =</span> <span style="color: black;">0</span> <span style="color: blue;">Then</span>
N <span style="color: black;">=</span> N \ <span style="color: black;">2</span>
<span style="color: blue;">Else</span>
N <span style="color: black;">=</span> N <span style="color: black;">*</span> <span style="color: black;">3</span> <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>N<span style="color: black;">)</span>
<span style="color: blue;">End While</span>
<span style="color: blue;">Else</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"N tiene que ser un entero positivo"</span><span style="color: black;">)</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End Module</span></pre></div>Resultado <br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGTFKutXTDAvVASgLUBGPWYPeCa_S2xx3khXdAgMyZSaLE-d57eePM-UliF_7gu8YgWPbGKzLM7IdHcqKC9BpO_WJF7NiuPuwJKgsLfOHEXLzYystpas1mgzWC5nrq4x98HN0watTeFI/s1600/collatz.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghGTFKutXTDAvVASgLUBGPWYPeCa_S2xx3khXdAgMyZSaLE-d57eePM-UliF_7gu8YgWPbGKzLM7IdHcqKC9BpO_WJF7NiuPuwJKgsLfOHEXLzYystpas1mgzWC5nrq4x98HN0watTeFI/s1600/collatz.jpg" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com5tag:blogger.com,1999:blog-7268693679698740901.post-74810020488033991062011-04-05T14:35:00.000-07:002011-04-05T14:35:57.849-07:00Problema "Rango de Calificaciones"<div style="text-align: justify;">Se tiene las calificaciones de un grupo de alumnos que presentaron un examen de computación. Haga un diagrama de flujo y su respectivo programa que calcule e imprima cuantas calificaciones hay en cada uno de los rangos:</div><ul><li>de 0 a 3.99</li>
<li>de 4 a 5.99</li>
<li>de 6 a 7.99</li>
<li>de 8 a 10</li>
</ul><br />
<b>Datos: </b>CAL1, CAL2, CAL3..... -1<br />
donde CAL es una variable de tipo real, que representa la calificación del alumno, el fin de la introduccion de los datos esta dado por el valor -1<br />
<br />
<div style="text-align: center;"><b>Diagrama de Flujo</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOD8yaEvGd465RF0fSDbZdwN32F7VjLOdtnT4w6BopYB294l1VNPDA_UijJhl-iqZ_hKLSoEoWEvHPLbrt33SenTbZC-Gt8Hi361Njf9v8KHtr3NpRx3mzrrOpnAN0tXyWpTB224jeeeA/s1600/problema320.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOD8yaEvGd465RF0fSDbZdwN32F7VjLOdtnT4w6BopYB294l1VNPDA_UijJhl-iqZ_hKLSoEoWEvHPLbrt33SenTbZC-Gt8Hi361Njf9v8KHtr3NpRx3mzrrOpnAN0tXyWpTB224jeeeA/s320/problema320.jpg" width="285" /></a></div><br />
<div style="text-align: justify;">donde RANGO1,RANGO2,RANGO3,RANGO4 son variables de tipo entero , son contadores, cuentan el numero de calificaciones que se encuentran entre los rangos dados respectivamente.</div><br />
<div style="text-align: center;"><b>Codigo Consola Visual Basic</b></div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 600px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Module</span> problema_320
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: blue;">Dim</span> RANGO1 <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: blue;">Dim</span> RANGO2 <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: blue;">Dim</span> RANGO3 <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: blue;">Dim</span> RANGO4 <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: blue;">Dim</span> CAL <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingresa Calificacion [para terminar -1]: "</span><span style="color: black;">)</span>
CAL <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: blue;">While</span> CAL <span style="color: black;"><> -</span><span style="color: black;">1</span>
<span style="color: blue;">If</span> CAL <span style="color: black;"><=</span> <span style="color: black;">3.99</span> <span style="color: blue;">Then</span>
RANGO1 <span style="color: black;">=</span> RANGO1 <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">If</span> CAL <span style="color: black;"><=</span> <span style="color: black;">5.99</span> <span style="color: blue;">Then</span>
RANGO2 <span style="color: black;">=</span> RANGO2 <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">If</span> CAL <span style="color: black;"><=</span> <span style="color: black;">7.99</span> <span style="color: blue;">Then</span>
RANGO3 <span style="color: black;">=</span> RANGO3 <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">Else</span>
RANGO4 <span style="color: black;">=</span> RANGO4 <span style="color: black;">+</span> <span style="color: black;">1</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingresa Calificacion [para terminar -1]: "</span><span style="color: black;">)</span>
CAL <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: blue;">End While</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"0...3.99 = "</span> <span style="color: black;">&</span> RANGO1<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"4...5.99 = "</span> <span style="color: black;">&</span> RANGO2<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"6...7.99 = "</span> <span style="color: black;">&</span> RANGO3<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"8...10.0 = "</span> <span style="color: black;">&</span> RANGO4<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End Module</span></pre></div><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOKnsTWWJ_7zoEZeEcQtfv4ypsNe_H1YCcQ-Y8lg2Xsli9HpG-YGoSdOhLK_sax0DRNZEFS98Bck3i7MOAsOVuwzHRJ9uu4_KJMqJqfJFhrGl7jjhbgeygcAhyphenhyphenfcLfKyJZnt1a6LRJlw/s1600/compro320.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXOKnsTWWJ_7zoEZeEcQtfv4ypsNe_H1YCcQ-Y8lg2Xsli9HpG-YGoSdOhLK_sax0DRNZEFS98Bck3i7MOAsOVuwzHRJ9uu4_KJMqJqfJFhrGl7jjhbgeygcAhyphenhyphenfcLfKyJZnt1a6LRJlw/s1600/compro320.jpg" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com1tag:blogger.com,1999:blog-7268693679698740901.post-39310255855200288012011-04-04T12:14:00.000-07:002011-04-04T12:14:13.772-07:00Problema "Aumento de Sueldos"Construya un diagrama de flujo y codigo correspondiente tal que dado como dato el sueldo de un trabajador, calcule su aumento según el siguiente criterio:<br />
<br />
<ul><li>SUELDO < 1000 BS = AUMENTO DE 25%</li>
<li>SUELDO >= 1000 BS y <=1500 bs = AUMENTO DE 21%</li>
<li>SUELDO > 1500 BS = AUMENTO DE 18% </li>
</ul><br />
Imprima el nuevo sueldo del trabajador<br />
Datos: SUELDO<br />
donde Sueldo es una variable de tipo real, que expresa el sueldo del trabajador<br />
<div style="text-align: center;"><b>DIAGRAMA DE FLUJO</b> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCwyz3vPdFvjU36-ylzDYILtpfSQBM9hiImiigWEMKsUQ5QGregW1Nrp7_UkrlY7wnqQou1x0BFflQcHWjiaAZXzK_VOerYgqYnkL0IhqB7_8xcDZU_bSoMjaFgf8UeRvZQkjFrl9N2A/s1600/problema2.8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKCwyz3vPdFvjU36-ylzDYILtpfSQBM9hiImiigWEMKsUQ5QGregW1Nrp7_UkrlY7wnqQou1x0BFflQcHWjiaAZXzK_VOerYgqYnkL0IhqB7_8xcDZU_bSoMjaFgf8UeRvZQkjFrl9N2A/s320/problema2.8.jpg" width="320" /></a></div>Explicacion de variables<br />
Sueldo: Variable de tipo real<br />
nsueldo: variable de tipo real, Almacena el nuevo sueldo del trabajador con el aumento correspondiente<br />
<br />
<div style="text-align: center;"><b>Codigo Consola Visual Basic</b></div><div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 340px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Module</span> Module1
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingresa el sueldo: "</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> sueldo <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: blue;">Dim</span> nsueldo <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>sueldo <span style="color: black;"><</span> <span style="color: black;">1000</span><span style="color: black;">)</span> <span style="color: blue;">Then</span>
nsueldo <span style="color: black;">=</span> sueldo <span style="color: black;">*</span> <span style="color: black;">1.25</span>
<span style="color: blue;">Else</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>sueldo <span style="color: black;"><=</span> <span style="color: black;">1500</span><span style="color: black;">)</span> <span style="color: blue;">Then</span>
nsueldo <span style="color: black;">=</span> sueldo <span style="color: black;">*</span> <span style="color: black;">1.21</span>
<span style="color: blue;">Else</span>
nsueldo <span style="color: black;">=</span> sueldo <span style="color: black;">*</span> <span style="color: black;">1.18</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"El nuevo sueldo es de: "</span> <span style="color: black;">&</span> nsueldo<span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End Module</span></pre></div><div style="text-align: center;"><b>Resultado</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-LYBksiwiLa94MKxD_kckb7t3PljSGwsklSHkYPH8BE7s-lZ9RsHq12z2DrXnb00ei0cGjcayZG7KwZlrXG04D29TJMIZNUTrWdLg9o25ZDuoBvvcFVSLwjHTfTpE9p0ZyyRe_8U3VF0/s1600/res1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="107" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-LYBksiwiLa94MKxD_kckb7t3PljSGwsklSHkYPH8BE7s-lZ9RsHq12z2DrXnb00ei0cGjcayZG7KwZlrXG04D29TJMIZNUTrWdLg9o25ZDuoBvvcFVSLwjHTfTpE9p0ZyyRe_8U3VF0/s320/res1.jpg" width="320" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com1tag:blogger.com,1999:blog-7268693679698740901.post-47251576450957388222011-04-02T14:57:00.000-07:002011-04-02T14:57:03.780-07:00Conexion ASP.NET y MySQL utilizando el archivo Web.config<div style="text-align: justify;">Como se vio en un post anterior "<a href="http://mouse-puntonet.blogspot.com/2011/03/conexion-aspnet-y-mysql-por-codigo.html">Conexion ASP.NET y MySQL por codigo</a>" donde se declaraba la cadena de conexion directamente en el codigo Visual Basic, tambien existe otra forma de declarar esta cadena de conexion en ASP.NET, y es utilizando o mejor dicho, editando el archivo Web.Config</div><br />
<b>¿Qué necesitamos? </b><br />
<ul><li>Visual Estudio o Web Developer</li>
<li>Gestor de base de datos MySQL instalado</li>
<li>Conector MySQL y .NET (<a href="http://dev.mysql.com/downloads/connector/">Connector/Net</a>) instalado</li>
<li>Conocimientos de Visual Basic </li>
</ul><div style="text-align: justify;">Antes de comenzar debemos tener una base de datos ya creada en MySQL, para este tutorial se utiliza la base de datos dbSample o tambien puedes utilizar otra base de datos que se tenga en la PC.</div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 200px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">base de datos: dbSample
create table PERSONA (
p_id bigint(20) NOT NULL auto_increment primary key,
p_nombre Varchar(20) not null,
p_paterno Varchar(20) not null,
p_materno Varchar(20) null,
p_direccion Varchar(100) null,
p_telefono varchar(12) null
);</pre></div>Y se colocan algunos datos en la DataBase<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 500px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Antonio','Bragueta','Suelta','Calle Imaginaria # 345','123-456-789');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Jesús','Están','Camino','Calle Imaginaria # 598','');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Margarita','Flores','del Campo','Calle Imaginaria # 989','878-998-565');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Rosa','Pechoabierto','Alinstante','Calle Imaginaria # 339','');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Emiliano','Salido','del Pozo','Av. Quete Importa s/n','888-298-565');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Dolores','Fuertes','De barriga','Av. Quete Importa #779','008-908-165');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Juan','Melo','Machuca','Calle Noseencuentra #721','098-334-212');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Pepe','Botella','Pepsi','Calle Hastaaqui # 344','634-334-212');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Aquiles','Meo','de la Torre','Calle Hastaaqui # 354','887-873-212');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Jose Luis','Lamata','Feliz','Calle Quelees # 354','887-334-212');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Jhonny','Melaslabo','Hoy','Calle Meperdi # 354','887-553-212');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Elsa','Bor','de Lencuentro','Calle Noesta # 454','044-123-202');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Tomas','Turbao','','Calle Hastaaqui # 9','817-334-112');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Lucho','Portuano','','Calle Hastaaqui # 443','002-334-443');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Benito','Camela','Suavecito','Av. Noesta # 143','343-334-443');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Paco','Mermela','','Av. Noesta # 143','343-334-443');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Ana','Liza','Melchoto','Av. Noesta # 143','343-334-443');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Cindy','Entes','','Av. MePerdi # 3','876-314-443');
insert into PERSONA( p_nombre , p_paterno , p_materno , p_direccion , p_telefono )
values('Monica','Galindo','','Av. Bolivia # 43','343-009-443');</pre></div><br />
Ya estamos listos para continuar:<br />
<br />
<br />
1. Crea un nuevo proyecto del tipo ASP.NET Web Aplication<br />
File -> New Project -> ASP.NET Web Aplication<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmK7qQZfrEDQ6_AzsgissQh5yP_5ZLfDk7n4htG_oLRe9qpqf_KqZ_KfMd4teU0bBnwvGmW61B4kAiVRtm9lCEqYYtKjUU2LTD9GNmUjorOEZbPHuO4csAj6PYDowk5QnSRWUWpMzpfA/s1600/vbwebapp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmK7qQZfrEDQ6_AzsgissQh5yP_5ZLfDk7n4htG_oLRe9qpqf_KqZ_KfMd4teU0bBnwvGmW61B4kAiVRtm9lCEqYYtKjUU2LTD9GNmUjorOEZbPHuO4csAj6PYDowk5QnSRWUWpMzpfA/s1600/vbwebapp.jpg" /></a></div>2. Añade la Referencia al Conector/NET de MySQL (<a href="http://mouse-puntonet.blogspot.com/2011/03/agregarquitar-referencias-en-visual.html">Agregar/Quitar Referencia</a>)<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s1600/nws3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s320/nws3.jpg" width="320" /></a></div>3. En Vista Diseño, busca y arrastra del ToolBox un Componente GridView a nuestra pagina <b>default.aspx</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiI9UxKdU4fpzv9GRHjY6VhZf14HbVePt-efAGUTigXj0Iis-eevBe0FpgSKRyotbJQEfNkE7QtHjJib7epAWT7Ib16G9wfi5Dyss5b5cCJCZLhZTm_bzXvN4PBHyTNKLPBSYWIBXZEss/s1600/vbapp1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiI9UxKdU4fpzv9GRHjY6VhZf14HbVePt-efAGUTigXj0Iis-eevBe0FpgSKRyotbJQEfNkE7QtHjJib7epAWT7Ib16G9wfi5Dyss5b5cCJCZLhZTm_bzXvN4PBHyTNKLPBSYWIBXZEss/s320/vbapp1.jpg" width="320" /></a></div>3. Añade tambien un objeto Button, cambia su propiedad Text a "<i><b>Cargar Datos de MySQL</b></i>", puedes darle un formato a la tabla si quieres. Debes tener algo como esto:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMW_NMvPQjkWL5hW-h1zIHpfjU8f3nIVVPg__XyuMyjEY6qdZ7vqhuVaoh3PtGSqCJU3LdKKw_Md_-lzva-zNETege0RKI7DA2U-fuuid1olcAsznB7f8G10OCkUdZsm6LvFJgNa716D8/s1600/grilla.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMW_NMvPQjkWL5hW-h1zIHpfjU8f3nIVVPg__XyuMyjEY6qdZ7vqhuVaoh3PtGSqCJU3LdKKw_Md_-lzva-zNETege0RKI7DA2U-fuuid1olcAsznB7f8G10OCkUdZsm6LvFJgNa716D8/s320/grilla.jpg" width="320" /></a></div><div style="text-align: justify;">Si ves el Source de los objetos podras advertir que los nombres (ID) del GridView es GridView1, y del Button s Button1, esto es importante para poder reconocer los objetos cuando se programe, se puede cambiar los nombres a ls objetos por cualquier otro, en esta ocasion se deja como esta.</div><br />
Hasta aqui es practicamente lo mismo que se vio en el tutorial anterior, ahora continuemos con lo nuevo<br />
<br />
4. Abre el archivo Web.config que esta en el Solution Explorer, doble clic sobre este o clic derecho Open<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlN6Uw44lHeWg9jw1BjC9sgujUL2EU-m8N-imRnEe1ROc8vQ5dct5I6XvwSBJHQfd0nSoBZzzJCnwntFaxUsrd-eaKtkrCT27GdjsNxo_2jkHv2HYqJAc-Q_9nzEr1s3MBlseQwAi1Zww/s1600/webconfig.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlN6Uw44lHeWg9jw1BjC9sgujUL2EU-m8N-imRnEe1ROc8vQ5dct5I6XvwSBJHQfd0nSoBZzzJCnwntFaxUsrd-eaKtkrCT27GdjsNxo_2jkHv2HYqJAc-Q_9nzEr1s3MBlseQwAi1Zww/s1600/webconfig.jpg" /></a></div><div style="text-align: justify;">5. El archivo <b>Web.config</b> es un archivo <b>XML </b>donde se guarda toda la configuracion de una aplicación web. En la imagen de abajo puedes ver la parte correspondiente a la "<b>Cadena de Conexion"</b> encerrada en un recuadro</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQejVDMKS5EtdHIxJqdsk7U8SF1vHkztqBc0-37MNqhiuhJk7JadzTNeF945eEp-7I3b6IxUZ6tVM7jqJ8gywkSkEYoFtNW75-b9MAvbaCaJQiY24HOelM8g_FE4_8sX2w01pEdVZsMrU/s1600/archivo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQejVDMKS5EtdHIxJqdsk7U8SF1vHkztqBc0-37MNqhiuhJk7JadzTNeF945eEp-7I3b6IxUZ6tVM7jqJ8gywkSkEYoFtNW75-b9MAvbaCaJQiY24HOelM8g_FE4_8sX2w01pEdVZsMrU/s320/archivo.jpg" width="320" /></a></div><br />
Esta sentencia <connectionStrings&gt , debes reemplazar por :<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 150px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"> <span style="color: blue;"><connectionStrings></span>
<span style="color: blue;"><add</span> <span style="color: blue;">name</span>=<span style="color: #a31515;">"jcMouseConnectionString"</span>
<span style="color: blue;">connectionString</span>=<span style="color: #a31515;">"server=SERVIDOR;user id=USUARIO;</span>
<span style="color: #a31515;"> password=CONTRASEÑA;persist security info=True;</span>
<span style="color: #a31515;"> database=BASE_DE_DATOS"</span>
<span style="color: blue;">providerName</span>=<span style="color: #a31515;">"MySql.Data.MySqlClient"</span> <span style="color: blue;">/></span>
<span style="color: blue;"></connectionStrings></span></pre></div><br />
Nuestro archivo Web.config quedaria entonces de la siguiente manera:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitxBdKpV9nvurh-ClRy7JUM7s7ECpSBAINWt86BzVl4ZjGRGZ6UPY_QD8xzmq-21uNqtmIQxjQ0gC37jP4LHyX-53PpC16NesqHCoPJ-Nz7G-eJA-yik_knC8JwC07lrxTDYA8WulnNXg/s1600/modificado.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitxBdKpV9nvurh-ClRy7JUM7s7ECpSBAINWt86BzVl4ZjGRGZ6UPY_QD8xzmq-21uNqtmIQxjQ0gC37jP4LHyX-53PpC16NesqHCoPJ-Nz7G-eJA-yik_knC8JwC07lrxTDYA8WulnNXg/s1600/modificado.jpg" /></a></div><br />
<b>importante! </b>Para identificar esta cadena de conexion desde codigo, se especifica su nombre con la etiqueta <b>NAME</b><br />
<br />
Hasta aqui terminamos con el archivo <b>Web.config</b>, continuemos ahora con codigo<br />
<br />
<div style="text-align: justify;">6. Para ingresar al codigo, doble clic sobre el objeto Button en Vista Diseño, esto nos lleva a la pagina <b>Default.aspx.vb</b></div><br />
<br />
Se debe añadir el siguiente codigo<br />
<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 400px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Imports MySql<span style="color: black;">.</span>Data<span style="color: black;">.</span>MySqlClient
Partial <span style="color: blue;">Public</span> Class _Default
Inherits System<span style="color: black;">.</span>Web<span style="color: black;">.</span>UI<span style="color: black;">.</span>Page
Protected <span style="color: blue;">Sub</span> <span style="color: black;">Page_Load</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> sender <span style="color: blue;">As Object</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> System<span style="color: black;">.</span>EventArgs<span style="color: black;">)</span> Handles <span style="color: blue;">Me</span><span style="color: black;">.</span><span style="color: blue;">Load</span>
<span style="color: blue;">End Sub</span>
Protected <span style="color: blue;">Sub</span> <span style="color: black;">Button1_Click</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> sender <span style="color: blue;">As Object</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> EventArgs<span style="color: black;">)</span> Handles Button1<span style="color: black;">.</span>Click
<span style="color: green;">'se crea una conexion a la base de datos MySQL</span>
<span style="color: blue;">Dim</span> connection <span style="color: blue;">As</span> MySqlConnection
connection <span style="color: black;">=</span> <span style="color: blue;">New</span> MySqlConnection
<span style="color: green;">'se apunta a la cadena de conexion guardada en el archivo Web.config</span>
connection<span style="color: black;">.</span>ConnectionString <span style="color: black;">=</span> System<span style="color: black;">.</span>Configuration<span style="color: black;">.</span>ConfigurationManager<span style="color: black;">.</span><span style="color: black;">ConnectionStrings</span><span style="color: black;">(</span><span style="color: #a31515;">"jcMouseConnectionString"</span><span style="color: black;">).</span>ConnectionString
<span style="color: green;">'se abre la conexion</span>
connection<span style="color: black;">.</span><span style="color: black;">Open</span><span style="color: black;">()</span>
<span style="color: green;">'se ejecuta una consulta SQL</span>
<span style="color: blue;">Dim</span> ComandoSQL <span style="color: blue;">As New</span> <span style="color: black;">MySqlCommand</span><span style="color: black;">(</span><span style="color: #a31515;">"Select * From persona"</span><span style="color: black;">,</span> connection<span style="color: black;">)</span>
<span style="color: blue;">Dim</span> ds <span style="color: blue;">As New</span> DataSet
<span style="color: blue;">Dim</span> da <span style="color: blue;">As New</span> <span style="color: black;">MySqlDataAdapter</span><span style="color: black;">(</span>ComandoSQL<span style="color: black;">)</span>
da<span style="color: black;">.</span><span style="color: black;">Fill</span><span style="color: black;">(</span>ds<span style="color: black;">)</span>
GridView1<span style="color: black;">.</span>DataSource <span style="color: black;">=</span> ds<span style="color: black;">.</span><span style="color: black;">Tables</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">)</span>
GridView1<span style="color: black;">.</span><span style="color: black;">DataBind</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End</span> Class</pre></div><br />
7. Como ultimo paso, guardamos todas las modificaciones y Clic derecho sobre vista diseño -> View in Browser.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtdozHy1Tquhdu-bMhRthh8j8xjTS5iX1ndPqjJGQYswUk1ysizYWNtgG-oTnfqFnBFw40s8yt_2eDCyCLhRNNh2SQPnN8OzkOO6o4hq5uGuhF5cgl6D6oF9x5_PxMY5FYkLMzB9-fnf0/s1600/grid1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtdozHy1Tquhdu-bMhRthh8j8xjTS5iX1ndPqjJGQYswUk1ysizYWNtgG-oTnfqFnBFw40s8yt_2eDCyCLhRNNh2SQPnN8OzkOO6o4hq5uGuhF5cgl6D6oF9x5_PxMY5FYkLMzB9-fnf0/s320/grid1.jpg" width="320" /></a></div>Solo se ve el boton, esto es porque el GridView esta vacio, ahora presiona el boton<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOXR7LeSBiHSkm9cJlEa-qmPgjCzDe6SyprI5Pnp-pW5lP9k7NlUbdkzIGSrdoIkxmQ0wFFtL8ZUn8C2fOafjvJBMU9DKyUIKtOE3udryYbX1ga7xowjlyGHCum38BR3quPRDL_6ZR8QU/s1600/queresultado.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOXR7LeSBiHSkm9cJlEa-qmPgjCzDe6SyprI5Pnp-pW5lP9k7NlUbdkzIGSrdoIkxmQ0wFFtL8ZUn8C2fOafjvJBMU9DKyUIKtOE3udryYbX1ga7xowjlyGHCum38BR3quPRDL_6ZR8QU/s320/queresultado.jpg" width="292" /></a></div><div style="text-align: center;"><b>El fin?</b></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com14tag:blogger.com,1999:blog-7268693679698740901.post-70619552734069291292011-04-01T12:10:00.000-07:002011-04-01T12:10:10.427-07:00Factorial en VB y C#En un post anterior se vio el algoritmo para desarrollar una aplicacion para devolver <a href="http://mouse-puntonet.blogspot.com/2011/04/factorial.html">el factorial de un numero</a>, ahora se implementa ese algoritmo en VS en el lenguaje VB<br />
<br />
El codigo para Consola en VB es:<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 370px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Module</span> Module1
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingresa N: "</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> N <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>N <span style="color: black;">>=</span> <span style="color: black;">0</span><span style="color: black;">)</span> <span style="color: blue;">Then</span>
<span style="color: blue;">Dim</span> Fact <span style="color: black;">=</span> <span style="color: black;">1</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span>N <span style="color: black;">></span> <span style="color: black;">0</span><span style="color: black;">)</span> <span style="color: blue;">Then</span>
<span style="color: blue;">Do</span>
Fact <span style="color: black;">=</span> Fact <span style="color: black;">*</span> N
N <span style="color: black;">=</span> N <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: blue;">Loop While</span> N <span style="color: black;">></span> <span style="color: black;">1</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"El Factorial es: "</span> <span style="color: black;">&</span> Fact<span style="color: black;">)</span>
<span style="color: blue;">Else</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Error: no se puede continuar..."</span><span style="color: black;">)</span>
<span style="color: blue;">End If</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End Module</span></pre></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzsJryr47CzNT0YAvZfITIZqZ0GamIYl9B8EX4vjYuxLa-MZLFefJP0KUkWItwoD8Dk7iD0JzmxlU39Wi7IUO1Jksr_VJcJ4jGp2onffg4iQVX0WpKuEoTzDsh0-8vJWyFs1aezI2reQ/s1600/vbcsharp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzsJryr47CzNT0YAvZfITIZqZ0GamIYl9B8EX4vjYuxLa-MZLFefJP0KUkWItwoD8Dk7iD0JzmxlU39Wi7IUO1Jksr_VJcJ4jGp2onffg4iQVX0WpKuEoTzDsh0-8vJWyFs1aezI2reQ/s1600/vbcsharp.jpg" /></a></div><br />
<br />
El Codigo para C#<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 430px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">using</span> System<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Collections<span style="color: black;">.</span>Generic<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Linq<span style="color: black;">;</span>
<span style="color: blue;">using</span> System<span style="color: black;">.</span>Text<span style="color: black;">;</span>
<span style="color: blue;">namespace</span> Factorial
<span style="color: black;">{</span>
<span style="color: blue;">class</span> Program
<span style="color: black;">{</span>
<span style="color: blue;">static</span> <span style="color: blue;">void</span> <span style="color: black;">Main</span><span style="color: black;">(</span><span style="color: blue;">string</span><span style="color: black;">[]</span> args<span style="color: black;">)</span>
<span style="color: black;">{</span>
Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Ingrese N: "</span><span style="color: black;">);</span>
<span style="color: blue;">int</span> N <span style="color: black;">=</span> <span style="color: blue;">int</span><span style="color: black;">.</span><span style="color: black;">Parse</span><span style="color: black;">(</span> Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">() );</span>
<span style="color: blue;">if</span><span style="color: black;">(</span> N<span style="color: black;">>=</span><span style="color: black;">0</span> <span style="color: black;">){</span>
<span style="color: blue;">int</span> Fact <span style="color: black;">=</span> <span style="color: black;">1</span><span style="color: black;">;</span>
<span style="color: blue;">if</span><span style="color: black;">(</span> N <span style="color: black;">></span> <span style="color: black;">0</span> <span style="color: black;">){</span>
<span style="color: blue;">do</span><span style="color: black;">{</span>
Fact <span style="color: black;">=</span> Fact <span style="color: black;">*</span> N<span style="color: black;">;</span>
N <span style="color: black;">=</span> N <span style="color: black;">-</span> <span style="color: black;">1</span><span style="color: black;">;</span>
<span style="color: black;">}</span><span style="color: blue;">while</span><span style="color: black;">(</span>N<span style="color: black;">></span><span style="color: black;">1</span><span style="color: black;">);</span>
<span style="color: black;">}</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"El Factorial es: "</span> <span style="color: black;">+</span> Fact<span style="color: black;">);</span>
<span style="color: black;">}</span><span style="color: blue;">else</span><span style="color: black;">{</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Error: No se puede calcular..."</span><span style="color: black;">);</span>
<span style="color: black;">}</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadKey</span><span style="color: black;">();</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span>
<span style="color: black;">}</span></pre></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzsJryr47CzNT0YAvZfITIZqZ0GamIYl9B8EX4vjYuxLa-MZLFefJP0KUkWItwoD8Dk7iD0JzmxlU39Wi7IUO1Jksr_VJcJ4jGp2onffg4iQVX0WpKuEoTzDsh0-8vJWyFs1aezI2reQ/s1600/vbcsharp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSzsJryr47CzNT0YAvZfITIZqZ0GamIYl9B8EX4vjYuxLa-MZLFefJP0KUkWItwoD8Dk7iD0JzmxlU39Wi7IUO1Jksr_VJcJ4jGp2onffg4iQVX0WpKuEoTzDsh0-8vJWyFs1aezI2reQ/s1600/vbcsharp.jpg" /></a></div><br />
<div style="text-align: justify;">Como se observa utilizamos dos lenguajes diferentes pero gracias al <a href="http://mouse-puntonet.blogspot.com/2011/04/factorial.html">algoritmo unico</a> y al diagrama de flujo y al pseudocodigo obtenido por este, puede escribirse en cualquiera de los lenguajes sin problemas, la logica es la misma, aunque entre uno y otro lenguaje existan algunas diferencias.</div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com2tag:blogger.com,1999:blog-7268693679698740901.post-79036049204926747822011-04-01T08:37:00.000-07:002011-04-01T08:37:26.061-07:00FactorialPara todo número natural <b>n</b>, se llama <b>n</b> factorial o factorial de <b>n</b> al producto de todos los naturales desde <b>1 hasta n</b>:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcH2CBnSRWhSP2T_mZWbxtbuNxNUH9kFGviLUvZzi40LrPvsXX3m0QRCuECZI-f3HmL-LCdpJxYlrMVl9RIi7y_VVdo_pJcOvBYHO44xtHO5XRjxwiVh-QL1WXqhWxv_TNmZVYFW-YRfU/s1600/facto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcH2CBnSRWhSP2T_mZWbxtbuNxNUH9kFGviLUvZzi40LrPvsXX3m0QRCuECZI-f3HmL-LCdpJxYlrMVl9RIi7y_VVdo_pJcOvBYHO44xtHO5XRjxwiVh-QL1WXqhWxv_TNmZVYFW-YRfU/s1600/facto.png" /></a></div>Osea:<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 300px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">n </span><span style="color: black;">=</span> <span style="color: #2b91af;">n</span>!
<span style="color: blue;">0 </span><span style="color: black;">=</span> <span style="color: black;">1</span>
<span style="color: blue;">1 </span><span style="color: black;">=</span> <span style="color: black;">1</span>
<span style="color: blue;">2 </span><span style="color: black;">=</span> <span style="color: black;">2</span>
<span style="color: blue;">3 </span><span style="color: black;">=</span> <span style="color: black;">6</span>
<span style="color: blue;">4 </span><span style="color: black;">=</span> <span style="color: black;">24</span>
<span style="color: blue;">5 </span><span style="color: black;">=</span> <span style="color: black;">120</span>
<span style="color: blue;">6 </span><span style="color: black;">=</span> <span style="color: black;">720</span>
<span style="color: blue;">7 </span><span style="color: black;">=</span> <span style="color: black;">5.040</span>
<span style="color: blue;">8 </span><span style="color: black;">=</span> <span style="color: black;">40.320</span>
<span style="color: blue;">9 </span><span style="color: black;">=</span> <span style="color: black;">362.880</span>
<span style="color: blue;">10 </span><span style="color: black;">=</span> <span style="color: black;">3.628.800</span>
<span style="color: blue;">15 </span><span style="color: black;">=</span> <span style="color: black;">1.307.674.368.000</span>
<span style="color: blue;">20 </span><span style="color: black;">=</span> <span style="color: black;">2.432.902.008.176.640.000</span>
<span style="color: blue;">25 </span><span style="color: black;">=</span> <span style="color: black;">15.511.210.043.330.985.984.000.000</span>
<span style="color: blue;">50 </span><span style="color: black;">=</span> <span style="color: black;">30.414.093.201.713.378.043</span> × <span style="color: black;">1045</span>
<span style="color: blue;">70 </span><span style="color: black;">=</span> <span style="color: black;">1</span>,<span style="color: black;">19785717</span>... × <span style="color: black;">10100</span>
<span style="color: blue;">450 </span><span style="color: black;">=</span> <span style="color: black;">1</span>,<span style="color: black;">73336873</span>... × <span style="color: black;">101.000</span>
<span style="color: blue;">3.249 </span><span style="color: black;">=</span> <span style="color: black;">6</span>,<span style="color: black;">41233768</span>... × <span style="color: black;">1010.000</span>
<span style="color: blue;">25.206 </span><span style="color: black;">=</span> <span style="color: black;">1</span>,<span style="color: black;">205703438</span>... × <span style="color: black;">10100.000</span>
<span style="color: blue;">100.000 </span><span style="color: black;">=</span> <span style="color: black;">2</span>,<span style="color: black;">8242294079</span>... × <span style="color: black;">10456.573</span></pre></div><br />
El diagrama de Flujo para resolver este problema es:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPq8liO_sSlbkAmsFB1IwOSvkgZE6NiIvIMb7fk522m8d0hzCuCGgSYAnaGvHCzKAFJ7cnZ9M1e37i2EdhJDi3OjAXlRal4PYKiUKDo8lrwbI_J-NotBJ42Eyc0c9zA1-zBWrbHqwmgO8/s1600/algoritmo+factorial.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPq8liO_sSlbkAmsFB1IwOSvkgZE6NiIvIMb7fk522m8d0hzCuCGgSYAnaGvHCzKAFJ7cnZ9M1e37i2EdhJDi3OjAXlRal4PYKiUKDo8lrwbI_J-NotBJ42Eyc0c9zA1-zBWrbHqwmgO8/s320/algoritmo+factorial.jpg" width="320" /></a></div><br />
Y el seudocodigo<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 300px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: black;">1</span>. <span style="color: #2b91af;">Leer N</span>
<span style="color: black;">2</span>. <span style="color: #2b91af;">Si N mayor o igual a</span> <span style="color: black;">0</span>
<span style="color: #2b91af;">Entonces</span>
<span style="color: blue;">2.1 Hacer Fact </span><span style="color: black;">=</span> <span style="color: black;">1</span>
<span style="color: black;">2.2</span> <span style="color: #2b91af;">Si N mayor a</span> <span style="color: black;">0</span>
<span style="color: #2b91af;">Entonces</span>
<span style="color: black;">2.2.1</span> <span style="color: #2b91af;">Repetir</span>
<span style="color: blue;">2.2.1.1 Hacer Fact </span><span style="color: black;">=</span> <span style="color: #2b91af;">Fact</span> <span style="color: black;">*</span> <span style="color: #2b91af;">N</span>
<span style="color: blue;">2.2.1.2 Hacer N </span><span style="color: black;">=</span> <span style="color: #2b91af;">N</span> <span style="color: black;">-</span><span style="color: black;">1</span>
<span style="color: #2b91af;">Mientras N mayor</span> <span style="color: black;">1</span>
<span style="color: black;">[</span><span style="color: #2b91af;">Fin de Condicional Si paso</span> <span style="color: black;">2.2</span><span style="color: black;">]</span>
<span style="color: black;">2.3</span> <span style="color: #2b91af;">Escribir</span> <span style="color: #a31515;">"El Factorial es"</span> <span style="color: #2b91af;">Fact</span>
<span style="color: #2b91af;">Sino</span>
<span style="color: black;">2.4</span> <span style="color: #2b91af;">Escribir</span> <span style="color: #a31515;">"Error"</span>
<span style="color: black;">[</span><span style="color: #2b91af;">Fin de condicional Si paso</span> <span style="color: black;">2</span><span style="color: black;">]</span>
</pre></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com1tag:blogger.com,1999:blog-7268693679698740901.post-34441796731477775642011-03-31T08:58:00.000-07:002011-03-31T08:58:18.583-07:00Conexion ASP.NET y MySQL por código<b>¿Qué necesitamos? </b><br />
<ul><li>Visual Estudio o Web Developer</li>
<li>Gestor de base de datos MySQL instalado</li>
<li>Conector MySQL y .NET (<a href="http://dev.mysql.com/downloads/connector/">Connector/Net</a>)</li>
<li>Conocimientos de Visual Basic </li>
</ul><div style="text-align: justify;">Antes de comenzar debemos tener una base de datos ya creada en MySQL, para este tutorial se utiliza la base de datos dbBiblioteca o tambien puedes utilizar otra base de datos que tengas en tu PC.</div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 200px; overflow: auto;"><br />
<br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Database</span><span style="color: black;">:</span> dbBiblioteca
<span style="color: blue;">CREATE TABLE</span> autor <span style="color: black;">(</span>
Autor_id <span style="color: blue;">bigint</span><span style="color: black;">(</span><span style="color: black;">20</span><span style="color: black;">)</span> <span style="color: blue;">NOT NULL</span> auto_increment<span style="color: black;">,</span>
Autor_Nombre_Completo <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">100</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span><span style="color: black;">,</span>
Autor_Pais <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">40</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span><span style="color: black;">,</span>
<span style="color: blue;">PRIMARY KEY</span> <span style="color: black;">(</span>Autor_id<span style="color: black;">)</span>
<span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: #a31515;">'Augusto Céspedes'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: #a31515;">'Alcides Arguedas'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: #a31515;">'Adolfo Costa du Rels'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: #a31515;">'Nataniel Aguirre'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span></pre></div><br />
1. Crea un nuevo proyecto del tipo ASP.NET Web Aplication<br />
File -> New Project -> ASP.NET Web Aplication<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmK7qQZfrEDQ6_AzsgissQh5yP_5ZLfDk7n4htG_oLRe9qpqf_KqZ_KfMd4teU0bBnwvGmW61B4kAiVRtm9lCEqYYtKjUU2LTD9GNmUjorOEZbPHuO4csAj6PYDowk5QnSRWUWpMzpfA/s1600/vbwebapp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOmK7qQZfrEDQ6_AzsgissQh5yP_5ZLfDk7n4htG_oLRe9qpqf_KqZ_KfMd4teU0bBnwvGmW61B4kAiVRtm9lCEqYYtKjUU2LTD9GNmUjorOEZbPHuO4csAj6PYDowk5QnSRWUWpMzpfA/s1600/vbwebapp.jpg" /></a></div>2. Añade la Referencia al Conector/NET de MySQL (<a href="http://mouse-puntonet.blogspot.com/2011/03/agregarquitar-referencias-en-visual.html">Agregar/Quitar Referencia</a>)<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s1600/nws3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s320/nws3.jpg" width="320" /></a></div>3. En Vista Diseño, busca y arrastra del ToolBox un Componente GridView a nuestra pagina <b>default.aspx</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiI9UxKdU4fpzv9GRHjY6VhZf14HbVePt-efAGUTigXj0Iis-eevBe0FpgSKRyotbJQEfNkE7QtHjJib7epAWT7Ib16G9wfi5Dyss5b5cCJCZLhZTm_bzXvN4PBHyTNKLPBSYWIBXZEss/s1600/vbapp1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="157" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiI9UxKdU4fpzv9GRHjY6VhZf14HbVePt-efAGUTigXj0Iis-eevBe0FpgSKRyotbJQEfNkE7QtHjJib7epAWT7Ib16G9wfi5Dyss5b5cCJCZLhZTm_bzXvN4PBHyTNKLPBSYWIBXZEss/s320/vbapp1.jpg" width="320" /></a></div>3. Añade tambien un objeto Button, cambia su propiedad Text a "<i><b>Cargar Datos de MySQL</b></i>", puedes darle un formato a la tabla si quieres. Debes tener algo como esto:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY2hVmoSOO75qnk3T-fgl90GNLbZ1GU8OSjAJAaJk-2lVmJIIRwSl8BadRloT73NPHofSm88ROv1C9E6wvRFDfIB7cbjpUnrJ3mepMnnthmestBCFrX2yFu1yDrT9lcYWVgeWU3mttr_4/s1600/vbwebapp2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY2hVmoSOO75qnk3T-fgl90GNLbZ1GU8OSjAJAaJk-2lVmJIIRwSl8BadRloT73NPHofSm88ROv1C9E6wvRFDfIB7cbjpUnrJ3mepMnnthmestBCFrX2yFu1yDrT9lcYWVgeWU3mttr_4/s320/vbwebapp2.jpg" width="320" /></a></div><div style="text-align: justify;">Si ves el Source de los objetos podras advertir que los nombres (ID) del GridView es GridView1, y del Button s Button1, esto es importante para poder reconocer los objetos cuando se programe, se puede cambiar los nombres a ls objetos por cualquier otro, en esta ocasion se deja como esta. </div><br />
4. Para ingresar al codigo, doble clic sobre el objeto Button en Vista Diseño, esto nos lleva a la pagina <b>Default.aspx.vb</b><br />
<br />
Se añadira el siguiente codigo:<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 400px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Imports MySql<span style="color: black;">.</span>Data<span style="color: black;">.</span>MySqlClient
Partial <span style="color: blue;">Public</span> Class _Default
Inherits System<span style="color: black;">.</span>Web<span style="color: black;">.</span>UI<span style="color: black;">.</span>Page
Protected <span style="color: blue;">Sub</span> <span style="color: black;">Page_Load</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> sender <span style="color: blue;">As Object</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> System<span style="color: black;">.</span>EventArgs<span style="color: black;">)</span> Handles <span style="color: blue;">Me</span><span style="color: black;">.</span><span style="color: blue;">Load</span>
<span style="color: blue;">End Sub</span>
Protected <span style="color: blue;">Sub</span> <span style="color: black;">Button1_Click</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> sender <span style="color: blue;">As Object</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> e <span style="color: blue;">As</span> EventArgs<span style="color: black;">)</span> Handles Button1<span style="color: black;">.</span>Click
<span style="color: green;">'se realiza la conexion</span>
<span style="color: blue;">Dim</span> conexion <span style="color: blue;">As New</span> <span style="color: black;">MySqlConnection</span><span style="color: black;">(</span><span style="color: #a31515;">"server=localhost;"</span> <span style="color: black;">&</span> _
<span style="color: #a31515;">"userid=USUARIO;password=PASSWORD;persist security info=True;"</span> <span style="color: black;">&</span> _
<span style="color: #a31515;">"database=dbbiblioteca"</span><span style="color: black;">)</span>
<span style="color: blue;">Dim</span> da <span style="color: blue;">As New</span> <span style="color: black;">MySqlDataAdapter</span><span style="color: black;">(</span><span style="color: #a31515;">"select * from autor"</span><span style="color: black;">,</span> conexion<span style="color: black;">)</span>
<span style="color: green;">'se crea un DataSet para colocar los datos</span>
<span style="color: blue;">Dim</span> ds <span style="color: blue;">As New</span> DataSet
da<span style="color: black;">.</span><span style="color: black;">Fill</span><span style="color: black;">(</span>ds<span style="color: black;">)</span>
<span style="color: green;">'se añaden los datos obtenidos al GridView</span>
GridView1<span style="color: black;">.</span>DataSource <span style="color: black;">=</span> ds<span style="color: black;">.</span><span style="color: black;">Tables</span><span style="color: black;">(</span><span style="color: black;">0</span><span style="color: black;">)</span>
<span style="color: green;">'se actualizan los cambios al GridView</span>
GridView1<span style="color: black;">.</span><span style="color: black;">DataBind</span><span style="color: black;">()</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">End</span> Class</pre></div><br />
<div style="text-align: justify;">Recuerda que la Base de Datos que utilizamos para este ejemplo es dbBiblioteca, asi tambien debes cambiar el userid y el password por los datos de tu servidor MySQL</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">La accion se producira cuando se presione el objeto Button1 y se cargara el resultado en el objeto GridView1</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">5. Ya solo queda ver la aplicacion en el navegador, guarda todos los cambios y Clic derecho sobre vista diseño y View in Browser</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtdozHy1Tquhdu-bMhRthh8j8xjTS5iX1ndPqjJGQYswUk1ysizYWNtgG-oTnfqFnBFw40s8yt_2eDCyCLhRNNh2SQPnN8OzkOO6o4hq5uGuhF5cgl6D6oF9x5_PxMY5FYkLMzB9-fnf0/s1600/grid1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtdozHy1Tquhdu-bMhRthh8j8xjTS5iX1ndPqjJGQYswUk1ysizYWNtgG-oTnfqFnBFw40s8yt_2eDCyCLhRNNh2SQPnN8OzkOO6o4hq5uGuhF5cgl6D6oF9x5_PxMY5FYkLMzB9-fnf0/s320/grid1.jpg" width="320" /></a></div> Solo se ve el boton, esto es porque el GridView esta vacio, ahora presiona el boton<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaHjzRpcKkfXBcX72QdD3P69N0En6nL5NU2aQSAgWRVouADPf3GKMR2MJLMc7c4TO3CoamYcmBEzDzYgLUfYxNQq0Kvus11EjFzGmE3WToBgxiYp8pe_YX6WP30mIT4BaYZcBcn8jawUg/s1600/autores_bolivia.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaHjzRpcKkfXBcX72QdD3P69N0En6nL5NU2aQSAgWRVouADPf3GKMR2MJLMc7c4TO3CoamYcmBEzDzYgLUfYxNQq0Kvus11EjFzGmE3WToBgxiYp8pe_YX6WP30mIT4BaYZcBcn8jawUg/s320/autores_bolivia.jpg" width="320" /></a></div><div style="text-align: center;"><b>FIN?</b></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com1tag:blogger.com,1999:blog-7268693679698740901.post-15634365168661625112011-03-31T07:59:00.000-07:002011-03-31T07:59:16.441-07:00Agregar/Quitar referencias en Visual Studio<b>¿Que es una Referencia?</b><br />
<div style="text-align: justify;">Una referencia es un acceso a un recurso (Componente, Biblioteca de clases) instalado en la pc local, este tipo de trabajo facilita la programacion en la plataforma .NET</div><br />
<b>¿Como añadir una Referencia a un proyecto?</b><br />
<br />
1. Dirigirse a menu -> Project -> Add References<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ZaOKI9nYxH6u4kXEl96KZEg7gqOSWUFNJ128sTb8rRf2WYZ2ROw0V0_roK8lbqwtJBj8Ef_XKw6M8QdgvkaiRXbbSNpR4zf6A6YjM0rm3tIpZOW9E-b4I_c077dbic64DLaucA4C8uc/s1600/vs_ref1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2ZaOKI9nYxH6u4kXEl96KZEg7gqOSWUFNJ128sTb8rRf2WYZ2ROw0V0_roK8lbqwtJBj8Ef_XKw6M8QdgvkaiRXbbSNpR4zf6A6YjM0rm3tIpZOW9E-b4I_c077dbic64DLaucA4C8uc/s1600/vs_ref1.jpg" /></a></div><div style="text-align: justify;">Tambien se puede ver que existe una opcion mas, <i><b>"Add Web References"</b></i>, esta opcion al igual que la anterior tambien añade una referencia, con la diferencia de que la referencia se añade utilizando un protocolo de internet como SOAP o HTTP.</div><div style="text-align: justify;">Add Web References en la version de Visual Studio 2010 a desaparecido y se a acoplado en la opcion de Add Refences</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">2. En la ventana que aparece se debe escoger el recurso al cual se quiere hacer la referencia y presionar OK</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><img border="0" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvFvjz5y6SyAOH3l4j0dpn5lEFTHff3QRFp_cjE0vyeEftlPzAdL52vhBYTDxSfT04x06J0YHv-dqALbA0aeUBL9leTn4A2HrTbgio0Ir52tfFbzICryH6MKYS1KSyBSot6dM2Gw4TIJA/s320/vs_ref2.jpg" width="320" /></div>Visual Studio brinda 5 opciones para añadir una Referncia<br />
<ul><li>.NET enumera todos los componentes de .NET Framework disponibles para hacer referencias.</li>
<li>COM enumera todos los componentes de COM disponibles para hacer referencias.</li>
<li>Proyectos enumera todos los componentes reutilizables creados en proyectos locales.</li>
<li>Examinar permite buscar un componente en el sistema de archivos.</li>
<li>Reciente contiene una lista de componentes agregados recientemente a proyectos de su equipo.</li>
</ul><br />
<b>¿Como quitar una Referencia a un proyecto?</b><br />
<br />
1.En el Solution Explorer, doble sobre "My Project" o clic derecho .> Open, para abrir las propiedades del proyecto<br />
<div style="text-align: center;"><b>En ASP.NET</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicYOk9obDRpdpB9Wik-z_2eBJTkMDiREK5S4qpcX_3Yy4qNhuO4RkGFRTtgCqKeSOQz7YAom2p0VldyErV1nGEiAQEsqJ96jCXlgIbUPJOflxzPWCOuPPfwcFKqmlp9EJiarIbFWDx4uA/s1600/vs_ref3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicYOk9obDRpdpB9Wik-z_2eBJTkMDiREK5S4qpcX_3Yy4qNhuO4RkGFRTtgCqKeSOQz7YAom2p0VldyErV1nGEiAQEsqJ96jCXlgIbUPJOflxzPWCOuPPfwcFKqmlp9EJiarIbFWDx4uA/s1600/vs_ref3.jpg" /></a></div><div style="text-align: center;"><b> En VB</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe_lep5DjYy5ntriTm1JXjavQBBtYGrwMcucBLwvm0YZo69PElB48IFpCUvRFWzM0OtU46XHcLGmRfFnClqYflJZ3PMvoG4FwCIbWh4LPAH9HtBrIWfX-FklabDQgqIx1-cPx81Xy7gwc/s1600/vs_ref5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe_lep5DjYy5ntriTm1JXjavQBBtYGrwMcucBLwvm0YZo69PElB48IFpCUvRFWzM0OtU46XHcLGmRfFnClqYflJZ3PMvoG4FwCIbWh4LPAH9HtBrIWfX-FklabDQgqIx1-cPx81Xy7gwc/s1600/vs_ref5.jpg" /></a></div><br />
<div style="text-align: justify;">2. En la venta que abre, seleccionar la opcion<b> "References"</b>, nos muestra una lista de todos los componentes utilizados por e proyecto abierto, lo que se debe hacer es seleccionar la Referencia que se desee eliminar y presionar <b>"Remove"</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHnHsBBwp_h6Fe1Iseb3k59NXLbc6vEudGG7mkbcp6cijiC_QQAmSb0LeqShcXXbOyiYLO05DkxaVar_EeZbuWJwRB-bbfE4p2fq6ezxUY6SdKH_z6rm-9D3AW4aCNSMN2EN-XKrTApIM/s1600/vs_ref4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="153" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHnHsBBwp_h6Fe1Iseb3k59NXLbc6vEudGG7mkbcp6cijiC_QQAmSb0LeqShcXXbOyiYLO05DkxaVar_EeZbuWJwRB-bbfE4p2fq6ezxUY6SdKH_z6rm-9D3AW4aCNSMN2EN-XKrTApIM/s320/vs_ref4.jpg" width="320" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com1tag:blogger.com,1999:blog-7268693679698740901.post-64904494326884924072011-03-30T12:52:00.000-07:002011-03-30T12:52:57.510-07:00Introducción a la Compilación<div style="text-align: justify;">A medida que los lenguajes de programación evolucionan para tratar de imitar las habilidades humanas, las arquitecturas de las computadoras mas recientes son cada vez mas complejas de programar.<br />
<br />
En teoria es posible construir una computadora para ejecutar directamente programas escritos en cualquier lenguaje de programacion en particular pero no resulta económico costruir una maquna asi, es por eso que se opto por la creacion de un <b>"compilador"</b> cuyo producto puede ser ejecutado en cualquier o casi cualquier hardware.<br />
<br />
En la actualidad la programacion del software se hace en lenguajes de "Alto Nivel" muy alejado del lenguaje maquina mismo del hardware:</div><div style="text-align: justify;"><br />
Los principapes lenguajes de Alto Nivel en la actualidad son:</div><ul><li> Ada</li>
<li> ALGOL</li>
<li> BASIC</li>
<li> C++</li>
<li> C#</li>
<li> COBOL</li>
<li> Fortran</li>
<li> Java</li>
<li> Lisp</li>
<li> Modula-2</li>
<li> Pascal</li>
<li> Perl</li>
<li> PHP</li>
<li> PL/SQL</li>
<li> Python</li>
</ul><div style="text-align: justify;"><span style="font-size: large;"><b>Compilador</b></span></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG-P64V4UkWVuYeDrHFH5cV8mExcgegzlBl6h58iPkqJ5J_b4KWrqiq_3rGWFUKbxGe6h3fXUww3joF-kLu8jDrYsxcnozJySnADR6sXa-iH9TTq7fp7JgHcWBn3_Mp3MrjI5t30jP7T0/s1600/compilador.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="75" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG-P64V4UkWVuYeDrHFH5cV8mExcgegzlBl6h58iPkqJ5J_b4KWrqiq_3rGWFUKbxGe6h3fXUww3joF-kLu8jDrYsxcnozJySnADR6sXa-iH9TTq7fp7JgHcWBn3_Mp3MrjI5t30jP7T0/s320/compilador.jpg" width="320" /></a></div><div style="text-align: justify;">Un compilador es un complejo programa informatico que lee un progra escrito en un lenguaje de "Alto Nivel" y lo traduce a un programa equivalente en lenguaje de "Bajo Nivel" (Lenguaje Maquina) lenguaje el cual la computadora es capaz de interpretar y ejecutar.<br />
<br />
Al compilar un programa y producir el programa objeto el compiladores:</div><ul style="text-align: justify;"><li>Traduce cada una de las sentencias del lenguaje a sus equivalentes en codigo maquina.</li>
<li>Incorpora al programa objeto cualquier subrutina de las bibliotecas solicitadas por el usuario</li>
<li>Establece enlaces de interconexion entre las partes de los programas.</li>
</ul><div style="text-align: justify;">Pero para que el compilador realice el trabajo de traduccion, este necesita informacion de:</div><ul><li style="text-align: justify;">Las especificaciones del numero, orden y tipo de parametros que espera cualquier subprograma llamado, esto permite al compilador comprobar si una invocacion del subprograma externo es valida</li>
<li style="text-align: justify;">El lenguaje en el que los subprogramas estan codificados para que el compilador pueda establecer la adecuada secuencia de llamado de instrucciones para transferir datos e informacion de control al subprograma externo durante la ejecucion en la forma esperada por ese subprograma</li>
</ul><ul><li style="text-align: justify;">La declaracion de tipos de datos para cualquier variable referida es necesaria para que el compilador pueda terminar la representacion de almacenamiento de la variable externa de manera que la referencia se pueda compilar usando la formula de acceso apropiada para la variable </li>
<li>La definicion de un tipo de datos que se define externamente pero se usa para declarar cualquier variable local dentro del subprograma se necesita para permitir al compilador asignar almacenamiento y computar formulas de acceso pra datos locales</li>
</ul><div style="text-align: justify;"><br />
</div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-49613860962684189682011-03-25T13:27:00.000-07:002011-03-25T13:27:16.450-07:00Mostrar datos de MySQL en ASP.NET<div style="text-align: justify;">En este tutorial crearemos una conexion a MYSQL desde ASP utilizando el conector/net de mysql y mostraremos unos datos en pantalla, no se escribira codigo, todo se hara visualmente utilizando las herramientas de Visual estudio o Web developer.</div><br />
<b>¿Qué necesitamos? </b><br />
<ul><li>Visual Estudio o Web Developer</li>
<li>Gestor de base de datos MySQL</li>
<li>Conector MySQL y .NET (<a href="http://dev.mysql.com/downloads/connector/">Connector/Net</a>)</li>
</ul><br />
Antes de comenzar debemos tener una base de datos ya creada en MySQL, para este tutorial se utiliza la base de datos dbBiblioteca o tambien puedes utilizar otra base de datos que tengas en tu PC.<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 200px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;"><span style="color: blue;">Database</span><span style="color: black;">:</span> dbBiblioteca
<span style="color: blue;">CREATE TABLE</span> autor <span style="color: black;">(</span>
Autor_id <span style="color: blue;">bigint</span><span style="color: black;">(</span><span style="color: black;">20</span><span style="color: black;">)</span> <span style="color: blue;">NOT NULL</span> auto_increment<span style="color: black;">,</span>
Autor_Nombre_Completo <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">100</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span><span style="color: black;">,</span>
Autor_Pais <span style="color: blue;">varchar</span><span style="color: black;">(</span><span style="color: black;">40</span><span style="color: black;">)</span> <span style="color: blue;">default NULL</span><span style="color: black;">,</span>
<span style="color: blue;">PRIMARY KEY</span> <span style="color: black;">(</span>Autor_id<span style="color: black;">)</span>
<span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">1</span><span style="color: black;">,</span> <span style="color: #a31515;">'Augusto Céspedes'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">2</span><span style="color: black;">,</span> <span style="color: #a31515;">'Alcides Arguedas'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">3</span><span style="color: black;">,</span> <span style="color: #a31515;">'Adolfo Costa du Rels'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span>
<span style="color: blue;">INSERT INTO</span> autor <span style="color: blue;">VALUES</span> <span style="color: black;">(</span><span style="color: black;">4</span><span style="color: black;">,</span> <span style="color: #a31515;">'Nataniel Aguirre'</span><span style="color: black;">,</span> <span style="color: #a31515;">'Bolivia'</span><span style="color: black;">);</span></pre></div><br />
<br />
1. Crear un nuevo sitio web en VS o WDP<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsSidk3OFITDLPsaRZw-3R0yN7CJRSBWx6frehs9Sp2RpkJMH4QKyURRCc-9O_3iWzTS4-y5u3aFZIr4VEjPqMb81hTkHsDnMNXtDSSvsJkh1f6c0y8udO3M0E-N3w00pYsREjuz66PQ/s1600/nws1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOsSidk3OFITDLPsaRZw-3R0yN7CJRSBWx6frehs9Sp2RpkJMH4QKyURRCc-9O_3iWzTS4-y5u3aFZIr4VEjPqMb81hTkHsDnMNXtDSSvsJkh1f6c0y8udO3M0E-N3w00pYsREjuz66PQ/s320/nws1.jpg" width="320" /></a></div><div style="text-align: justify;">2. Se debe añadir una referencia al conector de MySQL, para esto clic derecho sobre el nombre del proyecto y buscar la opción <b>"Add Reference..."</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqVbyhLFDQpJchGVC8nfHAyWlbqIEsm1OsttpjJp57BGBHHh7q9kL5R-zTO5ohhUjhRUgfatGkQDsyi6nt3qBJzh5As7mbkHq-l-ARpbNdRMBjSkU3SataGuON4ouxNTPdjKJPqhVvQOs/s1600/nws2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqVbyhLFDQpJchGVC8nfHAyWlbqIEsm1OsttpjJp57BGBHHh7q9kL5R-zTO5ohhUjhRUgfatGkQDsyi6nt3qBJzh5As7mbkHq-l-ARpbNdRMBjSkU3SataGuON4ouxNTPdjKJPqhVvQOs/s1600/nws2.jpg" /></a></div>En la ventana que aparece buscamos MySql.Data, la seleccionamos y presionamos OK<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s1600/nws3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi892rp8eQT3GZ2aLTsMzmR0okQUPLPFSGi8j2mOrF_I6nRKvMYOpsTFiF8TXz61QBUNqQ6aHtUk7fpgQGgKVhGBN0med5FrV7sIxryYS7sw8VPe0VdhGKQjMyH5tfcRV34lwREQGd5s3Q/s320/nws3.jpg" width="320" /></a></div>3. En el escritorio de VS, en vista diseño, en <b>Toolbox </b>despliega la paleta <b>Data</b> y busca el objeto <b>GridView</b>, selecciona y arrastra hacia la pagina de <b>ASP</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvrwFa6cWF2mNYucWoE8ucrCYw1cqYjlKlz_ht8w8RCVpuw7g7nYHiwv-eVCXOXNBTbOGwGxpSQTRcOf30Y5i8PRSMUi92RKkQ2FDJ8Md06EwluLI3OpKjfaozES6dmXrz_hjEbGDlxHg/s1600/nws4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvrwFa6cWF2mNYucWoE8ucrCYw1cqYjlKlz_ht8w8RCVpuw7g7nYHiwv-eVCXOXNBTbOGwGxpSQTRcOf30Y5i8PRSMUi92RKkQ2FDJ8Md06EwluLI3OpKjfaozES6dmXrz_hjEbGDlxHg/s320/nws4.jpg" width="320" /></a></div>4.Con el <b>GridView </b>añadido en la pagina, en sus propiedades busca <b>"Choose Data Source"</b> y despliega el combobox, elige <b><new data="" source=""></new></b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEiHuJj-8rpFkg3Lc1_YrnQohGQjfdSmFLLBf7KRz5qTYi345vgKwLx-kJG8MSRN4G3EEQZxqbBta8cj-24CY3-aueKIQVRtTfeZa8Vfg3EOU8f90QpvNPwGUyFTA81xcI9gXDhz4r8H4/s1600/nws5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEiHuJj-8rpFkg3Lc1_YrnQohGQjfdSmFLLBf7KRz5qTYi345vgKwLx-kJG8MSRN4G3EEQZxqbBta8cj-24CY3-aueKIQVRtTfeZa8Vfg3EOU8f90QpvNPwGUyFTA81xcI9gXDhz4r8H4/s320/nws5.jpg" width="320" /></a></div>5. En la ventana que aparece elige Database, puedes cambiar tambien el nombre de ese recurso o dejarlo comoesta, presiona ok para continuar<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-9-abguLF9tP9So5BcDm81araHG8Axuus3eQOXD4rtR535H1dCSdM3loJx0lcJv1ECHOgFbyprMc7vtILvJdAqCq0p964XlPVG_JR3tiVpf8ZZD92-sfVUee9zH_ci-Ypwsjw4YjSF4E/s1600/nws6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-9-abguLF9tP9So5BcDm81araHG8Axuus3eQOXD4rtR535H1dCSdM3loJx0lcJv1ECHOgFbyprMc7vtILvJdAqCq0p964XlPVG_JR3tiVpf8ZZD92-sfVUee9zH_ci-Ypwsjw4YjSF4E/s320/nws6.jpg" width="320" /></a></div>En la siguiente ventana, presiona <b>New Connection</b>, para crear una nueva conexion a MySQL.<br />
<div style="text-align: justify;">En la ventana "<b>Add Connection</b>" debes ingresar los datos del servidor, usuario, password, ademas de elegir la base de datos con la que se conectara ASP. para este ejemplo, estamos utilizando la base de datos dbBiblioteca</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLt-NHfO4p5MeDu9W3cF3AUzuQ7BgzRIUJkr5BcFsnUE-TCk-cPlSonCpjWUnsBQikmfuozoYRbfuTiGz5dtFnG7RGAGwVkAO6qyYlpFkuRQTryvzvVZ0x5VwvmUew6s0Rf2rmP65MsP8/s1600/nws7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLt-NHfO4p5MeDu9W3cF3AUzuQ7BgzRIUJkr5BcFsnUE-TCk-cPlSonCpjWUnsBQikmfuozoYRbfuTiGz5dtFnG7RGAGwVkAO6qyYlpFkuRQTryvzvVZ0x5VwvmUew6s0Rf2rmP65MsP8/s1600/nws7.jpg" /></a></div>presionando <b>Test Connection,</b> podras ver que la conexion se realizo con exito, sino te avisa en un mensaje, para terminar presiona OK.<br />
<br />
Volvemos a la anterior ventana donde se presiono "<i><b>New Connection</b></i>", ahora presionamos <b>Next</b>, y de nuevo presionamos <b>Next</b><br />
<br />
Estamos ahora en la ventana "<b>Configure the Select Statement</b>" , aqui escogemos la opcion "<b>Specify a custom SQL statement or stored procedure"</b> y presionamos NEXT<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir2qJS-vq8iL4jwxAxysr4sNXdOrT4FiaBwEE8EHRdIis9q0Is75na36T3R6eAS0eSpUB2PqZ7cZe0cgD_WWnOd91klW4soTNqF_7lQwtHtSRwHdH9JnwImkNxdAMKW0OJRVMsY8ua8Ms/s1600/nws8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEir2qJS-vq8iL4jwxAxysr4sNXdOrT4FiaBwEE8EHRdIis9q0Is75na36T3R6eAS0eSpUB2PqZ7cZe0cgD_WWnOd91klW4soTNqF_7lQwtHtSRwHdH9JnwImkNxdAMKW0OJRVMsY8ua8Ms/s320/nws8.jpg" width="320" /></a></div>Ahora escribimos la <b>sentencia SQL</b> o tambien podemos hacer uso del asistente grafico de VS presionando el boton <b>Query Builder</b>, cuando ternminamos presionamos NEXT<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNLKcicTlq_cWG-FVCPAkg6fhoxO9gWNBqc5GqdvFGyAqYS3YzFlHEVALXGGrrfECfBPceXnBKmzDWcmelJs5Y4Wm214jzM3ctCZp-00MpNo2LTMoq5A3-ygVjijqmkz6kGzq9CrMqCxA/s1600/nws9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNLKcicTlq_cWG-FVCPAkg6fhoxO9gWNBqc5GqdvFGyAqYS3YzFlHEVALXGGrrfECfBPceXnBKmzDWcmelJs5Y4Wm214jzM3ctCZp-00MpNo2LTMoq5A3-ygVjijqmkz6kGzq9CrMqCxA/s320/nws9.jpg" width="320" /></a></div>En esta ventana, presionamos Test Query y podremos ver los datos que lanza la consulta SQL, presionamos FINISH para terminar<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifVSFZkyCLbAYPvVq3EOU2qO2lmxXtn_qUe1YOQHZ1WRmCctLQnfKTamzpFWd-0Fx-X59ClI7LFWKOLTkh5V4ES-UN6GTO_DMrvQnLY9punyQbHNi_w0i6CAA8NlUfEId6qJjMioCk_YQ/s1600/nws10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifVSFZkyCLbAYPvVq3EOU2qO2lmxXtn_qUe1YOQHZ1WRmCctLQnfKTamzpFWd-0Fx-X59ClI7LFWKOLTkh5V4ES-UN6GTO_DMrvQnLY9punyQbHNi_w0i6CAA8NlUfEId6qJjMioCk_YQ/s320/nws10.jpg" width="320" /></a></div>Volvemos al escritorio de Visual Estudio y podremos ver que el GridView a cambiado<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6Sn60Wf7NxX_UtxPhvg6ZC8Y8HxbEPXIy-ikyXFDsGkzq07gXd0btHrjVSlTOsKayHU27JHGh22g4a2_59b6vuDDe95OX-iCrQiiMj3mq28Gha6zCXFNcKkxBmuFVAzOerZPfnqHU7E/s1600/nws11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu6Sn60Wf7NxX_UtxPhvg6ZC8Y8HxbEPXIy-ikyXFDsGkzq07gXd0btHrjVSlTOsKayHU27JHGh22g4a2_59b6vuDDe95OX-iCrQiiMj3mq28Gha6zCXFNcKkxBmuFVAzOerZPfnqHU7E/s320/nws11.jpg" width="320" /></a></div><div style="text-align: justify;">Solo queda ver el resultado en el navegador, guarda todos los cambios y realiza un clic derecho sobre cualquier parte de la pagina y presionar <b>View in Browser</b>.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-yhAgIZfg_7GcNNAg5gX9pLVdA_gEkwTzp5D5aVEav4OtLRs2SMcWtX33QFvlM6CFTClLWALr0lQ-yQNx55Hjl6FnB-tI4hr4WV4YBufUANCBavQKGy8MxnS9w2zPz4b_dvJt8c-riwY/s1600/example+Asp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-yhAgIZfg_7GcNNAg5gX9pLVdA_gEkwTzp5D5aVEav4OtLRs2SMcWtX33QFvlM6CFTClLWALr0lQ-yQNx55Hjl6FnB-tI4hr4WV4YBufUANCBavQKGy8MxnS9w2zPz4b_dvJt8c-riwY/s320/example+Asp.jpg" width="320" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com2tag:blogger.com,1999:blog-7268693679698740901.post-80758061818319635472011-03-24T13:36:00.000-07:002011-03-24T13:36:12.731-07:00Conexion MySQL y Visual Basic.Net<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfA6_OMRc5RO8_WwJp1bDsx2zWmq14YhxR6fOZpa9DgaDT1t2SwvNKIe154leY3iSXxSF9avBewOXT9UE_27bpB59SKrnVaZ8Iph5f954JcsvvcTTZYBUNxDTwF8gQZcHlQ-HV-JEYSKU/s1600/database.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfA6_OMRc5RO8_WwJp1bDsx2zWmq14YhxR6fOZpa9DgaDT1t2SwvNKIe154leY3iSXxSF9avBewOXT9UE_27bpB59SKrnVaZ8Iph5f954JcsvvcTTZYBUNxDTwF8gQZcHlQ-HV-JEYSKU/s1600/database.jpg" /></a></div><div style="text-align: justify;">MySQL permite la conexion con la tecnologia .NET, para esto en su pagina <a href="http://www.mysql.com/">http://www.mysql.com</a>, tiene el conector <b>mysql-connector-net</b>, a la fecha su ultima versión es la 6.3.6</div><br />
<div style="text-align: justify;">Debes bajarte este conector (<a href="http://www.mysql.com/downloads/connector/net/"><b>mysql-connector-net</b></a>) e instalarlo en tu PC, obviamente debes tener ya instalado MySQL, si ocurriese algun error con la ultima versión como me paso a mi, bajate una version previa e instala este.</div><br />
Una vez que tienes instalado el conector, debemos probarlo.<br />
<br />
<div class="separator" style="clear: both; text-align: justify;">Crea un proyecto en <b>Visual Basic.Net</b> de tipo consola, no necesitamo interfaz por el momento, en S<b>olution Explorer</b>, da clic derecho en el nombre del proyecto que creaste y elige la opción <b>Add Reference...</b>, como su nombre indica agregaremos una referencia al conector de MySQL</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg8dfRO1UuzXQ6ZVaSR8PZ7h-_2Hulmy2UnNsmPg3lSQmg36CfNIG_KV_iqh-IWA4Ffx_9sjqW8mMsQATyhoBbSB5LKB0A3JXkbQzcNaWIOTzDu4zmkK7jw7RggAPwgCEbbyGb7WRXoWc/s1600/vbmysql1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg8dfRO1UuzXQ6ZVaSR8PZ7h-_2Hulmy2UnNsmPg3lSQmg36CfNIG_KV_iqh-IWA4Ffx_9sjqW8mMsQATyhoBbSB5LKB0A3JXkbQzcNaWIOTzDu4zmkK7jw7RggAPwgCEbbyGb7WRXoWc/s1600/vbmysql1.jpg" /></a></div>En la venta que aparece busca el conector que instalaste MySql.Data, yo tengo instalado la version 6.0.7.0, presiona OK, con esto añadimos la DLL de MySQL a .NET<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj034wLqN8L6t1JLYvdgADipM1CQxnohpwjuELABH8-3kNB-ppXXX3AlSzVZICbeDq6fYxMJn7Ox2EGrKkQ-1eQpT2t-1JufVhoxpTC0fLFOoXjEhrR3wTY4LsQ1CidYfLmDoy_048m1-I/s1600/vbmysql2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj034wLqN8L6t1JLYvdgADipM1CQxnohpwjuELABH8-3kNB-ppXXX3AlSzVZICbeDq6fYxMJn7Ox2EGrKkQ-1eQpT2t-1JufVhoxpTC0fLFOoXjEhrR3wTY4LsQ1CidYfLmDoy_048m1-I/s320/vbmysql2.jpg" width="320" /></a></div>Se añaden las librerias necesarias<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 60px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Imports MySql<span style="color: black;">.</span>Data<span style="color: black;">.</span>MySqlClient</pre></div><br />
el codigo completo del modulo1 es: <br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 560px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Lucida Console'; font-size: 10pt;">Imports MySql<span style="color: black;">.</span>Data<span style="color: black;">.</span>MySqlClient
<span style="color: blue;">Module</span> Module1
<span style="color: blue;">Private</span> conexion <span style="color: blue;">As</span> MySqlConnection
<span style="color: blue;">Private Const</span> user <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">"USUARIO"</span>
<span style="color: blue;">Private Const</span> server <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">"localhost"</span>
<span style="color: blue;">Private Const</span> pass <span style="color: blue;">As</span> <span style="color: blue;">String</span> <span style="color: black;">=</span> <span style="color: #a31515;">"PASSWORD"</span>
<span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: blue;">If</span> <span style="color: black;">(</span><span style="color: black;">conectar</span><span style="color: black;">())</span> <span style="color: blue;">Then</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Conectado al servidor"</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"presione una tecla para terminar..."</span><span style="color: black;">)</span>
Console<span style="color: black;">.</span><span style="color: black;">ReadKey</span><span style="color: black;">()</span>
conexion<span style="color: black;">.</span><span style="color: black;">Close</span><span style="color: black;">()</span>
<span style="color: blue;">End If</span>
<span style="color: blue;">End Sub</span>
<span style="color: blue;">Public Function</span> <span style="color: black;">conectar</span><span style="color: black;">()</span> <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span>
<span style="color: blue;">Dim</span> ok <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span> <span style="color: black;">=</span> <span style="color: blue;">False</span>
Try
conexion <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">MySqlConnection</span><span style="color: black;">()</span>
conexion<span style="color: black;">.</span>ConnectionString <span style="color: black;">=</span> <span style="color: #a31515;">"server="</span> <span style="color: black;">&</span> server <span style="color: black;">&</span> <span style="color: #a31515;">";"</span> <span style="color: black;">&</span> <span style="color: #a31515;">"user id="</span> <span style="color: black;">&</span> user <span style="color: black;">&</span> <span style="color: #a31515;">";"</span> <span style="color: black;">&</span> <span style="color: #a31515;">"password="</span> <span style="color: black;">&</span> pass <span style="color: black;">&</span> <span style="color: #a31515;">";"</span>
conexion<span style="color: black;">.</span><span style="color: black;">Open</span><span style="color: black;">()</span>
ok <span style="color: black;">=</span> <span style="color: blue;">True</span>
Catch ex <span style="color: blue;">As</span> MySqlException
Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"No se puede conectar al servidor"</span><span style="color: black;">)</span>
<span style="color: blue;">End</span> Try
<span style="color: blue;">Return</span> ok
<span style="color: blue;">End Function</span>
<span style="color: blue;">End Module</span></pre></div><br />
Ahora corremos la aplicacion:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_rwuO6G4BIU92QkCBXmYErDDmQPI0VNgw-jlCHveyjDFqs0TI1yuYOWnlfRrpe0NPqpa9GnrBBI10qKLyo5p0nGUyQZsR3k0Y9mixQCOj1LKh3eD_R5Ik4iW7UJabUpS02x5OW4a-brk/s1600/vbmysql3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="45" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_rwuO6G4BIU92QkCBXmYErDDmQPI0VNgw-jlCHveyjDFqs0TI1yuYOWnlfRrpe0NPqpa9GnrBBI10qKLyo5p0nGUyQZsR3k0Y9mixQCOj1LKh3eD_R5Ik4iW7UJabUpS02x5OW4a-brk/s320/vbmysql3.jpg" width="320" /></a></div><div style="text-align: center;">eso es todo :)</div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com4tag:blogger.com,1999:blog-7268693679698740901.post-61434485276824967982011-03-01T11:18:00.000-08:002011-03-01T11:18:19.222-08:00YTube: Personalizar reproductor de youtubeYTube es una software que nos permitira personalizar el reproductor de YouTube dentro de un serie de opciones predefinidas. <br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0HoyzTeYoD05LQjRpp54tVdVGH7niO7-pjC1J8JogQINJku6gTMqLW9lcaTh0PH81vn0WfVyYfivGiQ2A17dy8crDzfzEYNgk8GRYSLmER9MXHMJ1MdVrSTxyG4eCJLiWfkxLjWNDxvM/s320/ytube.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0HoyzTeYoD05LQjRpp54tVdVGH7niO7-pjC1J8JogQINJku6gTMqLW9lcaTh0PH81vn0WfVyYfivGiQ2A17dy8crDzfzEYNgk8GRYSLmER9MXHMJ1MdVrSTxyG4eCJLiWfkxLjWNDxvM/s320/ytube.jpg" /></a></div><br />
<div style="text-align: justify;">El procedimiento es simple, sólo necesitamos indicar el ID del vídeo que aparece al final de su dirección URL; por ejemplo, en el caso de <b>http://www.youtube.com/watch?v=_uhSSAv3o4M</b>, el código es <b>_uhSSAv3o4M</b>.<br />
<div style="text-align: center;"><object height="165" width="200"><param name="movie" value="http://www.youtube.com/v/d1_tyzljL2E=es_ES&fs=1&color1=0xFF0000&color2=0xFFFF00&border=1&autoplay=0&showinfo=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/d1_tyzljL2E&hl=es_ES&fs=1&color1=0xFF0000&color2=0xFFFF00&border=1&autoplay=0&showinfo=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="200" height="165"></embed></object></div>Las opciones para personalizar permiten escoger los colores del reproductor sin limitarnos a las combinaciones predeterminadas que ofrece YouTube o configurar los parámetros de reproducción del vídeo. </div><br />
Las opciones que tenemos a disposición son:<br />
<br />
* Quitar puntuacion y titulo del video<br />
* Reproducción automática<br />
* Idioma del reproductor (EN: Ingles, ES: Español)<br />
* Colocar borde.<br />
* Colores del reproductor<br />
* Reproducción a pantalla completa.<br />
* Repetición automática.<br />
* Tamaño del reproductor<br />
<br />
Una ves personalizado el reproductor de youtube, YTube te ofrece el codigo necesario para colocarlo en tu pagina web, blogger, wordpress, foros, etc.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaJgwRRlgFXE9-2m4caZZ6wxNaGZ8xI4kLa9zKAJPjqwlz1B4gXr0HfOhD4aZPTE5nKqCkwO6pV588bo0LQRcVH4Ky3sumAhIoWFBevzYoRfJi201_QFhPYv9qcdSMnYf2XC8NGH677M/s320/configurar+reproductor+de+youtube.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvaJgwRRlgFXE9-2m4caZZ6wxNaGZ8xI4kLa9zKAJPjqwlz1B4gXr0HfOhD4aZPTE5nKqCkwO6pV588bo0LQRcVH4Ky3sumAhIoWFBevzYoRfJi201_QFhPYv9qcdSMnYf2XC8NGH677M/s320/configurar+reproductor+de+youtube.jpg" /></a></div><br />
Requerimientos mínimos<br />
<br />
* El programa no necesita de instalación.<br />
* Sistema Operativo: Windows XP, Vista<br />
* RAM: la minima<br />
<br />
<br />
Bajatelo desde <a href="http://freakshare.net/files/9wftdbqg/YTube.rar.html">AQUI</a>.<br />
<div class="separator" style="clear: both; text-align: center;"></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-51393300592282372202011-01-22T20:34:00.000-08:002011-01-22T20:34:07.624-08:00Cálculo circular del ChebyshevAlgoritmo para la resolución del Chebyschev enésimo de un número real "x", empleando llamadas circulares o reciprocas.<br />
<div style="text-align: center;"><b>Definición recursiva</b> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie1959MdgrX6K54BSagyyQCaKBsaIlSIc6MPf0gBJ3a5BUa_EIiNJOwzGKR2wCpaDhwz9zRY86boRiOys5ufY_Kk78hrqlKjI6fextAYdJQJvsYpWHdEudQrZfcI0G8x6v7aoDlRmF0dk/s1600/cheb+recursivo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="66" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEie1959MdgrX6K54BSagyyQCaKBsaIlSIc6MPf0gBJ3a5BUa_EIiNJOwzGKR2wCpaDhwz9zRY86boRiOys5ufY_Kk78hrqlKjI6fextAYdJQJvsYpWHdEudQrZfcI0G8x6v7aoDlRmF0dk/s320/cheb+recursivo.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqe6UslaP_EVGnN4CpnhKS0UHO9Pw_wCKzt_5WgNQGlD0AYft9FLnUPUQESXGcn9dPzIlOYmiG7beWzmCFzm8uAGeJSonEQyNKgIXs7ZM8anSgI57Tk1p0yMQsubY8f9pnozOarpyZM0/s1600/cheb+recursivo2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijqe6UslaP_EVGnN4CpnhKS0UHO9Pw_wCKzt_5WgNQGlD0AYft9FLnUPUQESXGcn9dPzIlOYmiG7beWzmCFzm8uAGeJSonEQyNKgIXs7ZM8anSgI57Tk1p0yMQsubY8f9pnozOarpyZM0/s1600/cheb+recursivo2.jpg" /></a></div><div style="text-align: justify;">Tomando como base los valores iniciales conocidos para el Chebyschev de 0 y 1, se proceden a calcular sucecivamente los valores del Chebyschev de 2,3,4,etc. hasta llegar al número cuyo chebyschev se quiere conocer .</div><br />
El algoritmo elaborado para el efecto es el siguiente:<br />
<br />
<div style="text-align: center;"><b>Programa Principal</b></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCCJlIk3vggATP8qXXIrponbSNI_mkhyphenhyphenr6x2JrTtMN0GlITxjvi7cjs62orghw6TJi18X6ETdUzr7pF9UyNEDH_6Yrvk8eKyoZenXmZ-3HvLTr5-ofYxteed8O8dFSIUeth6FhpZAOdBg/s1600/cheb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCCJlIk3vggATP8qXXIrponbSNI_mkhyphenhyphenr6x2JrTtMN0GlITxjvi7cjs62orghw6TJi18X6ETdUzr7pF9UyNEDH_6Yrvk8eKyoZenXmZ-3HvLTr5-ofYxteed8O8dFSIUeth6FhpZAOdBg/s320/cheb.jpg" width="234" /></a></div><div style="text-align: center;"><b>Modulo 1</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPLwv5K72QZ8JNgX0cZcWdURZOsyINjz2-GX0TnXaDeMhF5AE_2Lw7kd5Hd7zXhsVIxDD_7ZvZpnOxb3ibpMFDu_xMr6iAvUSBLtuMRrbT4oFzaP3FDKEimao4oV-YmNFgXa3rPEZbQPo/s1600/cheb1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPLwv5K72QZ8JNgX0cZcWdURZOsyINjz2-GX0TnXaDeMhF5AE_2Lw7kd5Hd7zXhsVIxDD_7ZvZpnOxb3ibpMFDu_xMr6iAvUSBLtuMRrbT4oFzaP3FDKEimao4oV-YmNFgXa3rPEZbQPo/s320/cheb1.jpg" width="238" /></a></div><div style="text-align: center;"><b>Modulo 2</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZF1C_05V-_T6Jqf8t6gBhgnp1B3Bah3QMC2Fuj28zi4XzhJLp3aDhyN4zDkQTosE9396b8TshllMs1yLUHSQdJAhaYSXlgJPDMGjimBFqmKxcuIr2rmc37Sp-QXwR5CooFhX0t6KmM04/s1600/cheb2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZF1C_05V-_T6Jqf8t6gBhgnp1B3Bah3QMC2Fuj28zi4XzhJLp3aDhyN4zDkQTosE9396b8TshllMs1yLUHSQdJAhaYSXlgJPDMGjimBFqmKxcuIr2rmc37Sp-QXwR5CooFhX0t6KmM04/s320/cheb2.jpg" width="132" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-55182072088584611272010-07-29T18:23:00.000-07:002010-07-29T18:23:17.401-07:00Arreglos con N-dimensiones "Matrices"Un arreglo de dos o mas dimensiones es denominado tambien MATRIZ o TABLA. En la practica no es comun trabajar con matrices de de mas de 3 dimensiones, aunque es posible crearlos.<br />
<br />
Una matriz bidimensional, esta compuesto por FILAS y COLUMNAS, asi por ejemplo, en la imagen de abajo tenemos una matriz de 5 columnas por 5 filas, donde para hubicar un elemento de esa matriz, se debe especificar ambas dimensiones matriz(fila, columna).<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-m1sp5_O9kPa565lcXOmMOICS1VVQTYFfkHX5A3BBR-sqOhoORi6qW3XtOiWkGOY-nVgM_ilwGaj_VnbRiyo-M_3jl4euK3vRvmnaDf-EIIuTWNsNdFEf0T_w19lLhRFvjja7E4MUxaw/s1600/matriznet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-m1sp5_O9kPa565lcXOmMOICS1VVQTYFfkHX5A3BBR-sqOhoORi6qW3XtOiWkGOY-nVgM_ilwGaj_VnbRiyo-M_3jl4euK3vRvmnaDf-EIIuTWNsNdFEf0T_w19lLhRFvjja7E4MUxaw/s320/matriznet.jpg" /></a></div><b>DECLARACION DE UNA MATRIZ EN .NET</b><br />
<div style="text-align: justify;">Una matriz se declara al igual que un arreglo unidimensional, pero especificando todas las dimensiones que se deseen, asi por ejemplo, para declarar una matriz HORARIO de tipo STRING, que tendra 7 columnas (dias de la semana) y 24 filas (horas) se tiene:</div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 60px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">Dim</span> <span style="color: black;">HORARIO</span><span style="color: black;">(</span><span style="color: black;">23</span><span style="color: black;">,</span> <span style="color: black;">6</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span></pre></div><div style="text-align: justify;">Tambien puede declarase una matriz sin rango inicial, esto se utiliza cuando no sabemos de antemano cuantas dimensiones podra tener una matriz, por ejemplo:</div><br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 60px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">Dim</span> <span style="color: black;">matriz</span><span style="color: black;">(,)</span> <span style="color: blue;">As</span> <span style="color: blue;">Byte</span></pre></div><div style="text-align: justify;">Se declara una matriz de tipo byte, esta está vacia y hasta que no se especifique el rango de las dimensiones, al tratar de utilizar un elemento de esa matriz, este causa una excepcion. </div>Para declarar las dimensiones una ves creada la matriz, se utiliza la instruccion REDIM:<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 60px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">ReDim</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>fila<span style="color: black;">,</span> columna<span style="color: black;">)</span></pre></div><b>Ejemplo:</b><br />
Escribir un programa que permita multiplicar dos matrices leidas por teclado y visualizar la matriz resultante.<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ7pdXXEkEyNk17yefl3zglf68W-eqhSXgEufOJnPlO26949Gs2v-Iu9JOQAjcdZp0IZe_uL9zVxaXD1n7_9CECAh6UMY7F26OyKf0wUv_8Rh-g0tGEBSsJBDipb2HNYu9I-xR1PQo0Vs/s1600/matemata.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ7pdXXEkEyNk17yefl3zglf68W-eqhSXgEufOJnPlO26949Gs2v-Iu9JOQAjcdZp0IZe_uL9zVxaXD1n7_9CECAh6UMY7F26OyKf0wUv_8Rh-g0tGEBSsJBDipb2HNYu9I-xR1PQo0Vs/s320/matemata.gif" /></a></div><br />
<div style="text-align: justify;"><b>Solucion:</b> Si las matrices A,B y la matriz resultante es C, se pueden multiplicar si el numero de columnas de la matriz A es igual al numero de filas de la matriz B; entonces la matriz C tiene el numero de filas de la matriz A y el numero de columnas de la matriz B. Los elementos de la matriz C se obtienen a partir de la siguiente ecuacion:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHyfIbmGnf86Qaux3eTwY9thCfmiht3mu6cOIK3zYffSDKa1Q6Q1UpHLdLcci-cPYP8uOsdI_wC-zt1bDxlc9B972Wtax3KiwpG-j46NnKuRCdgcVSsyz62N1PKshP4JaYV_8aHOeGdv8/s1600/matrizab.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHyfIbmGnf86Qaux3eTwY9thCfmiht3mu6cOIK3zYffSDKa1Q6Q1UpHLdLcci-cPYP8uOsdI_wC-zt1bDxlc9B972Wtax3KiwpG-j46NnKuRCdgcVSsyz62N1PKshP4JaYV_8aHOeGdv8/s320/matrizab.png" /></a></div>donde:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmzUa5jwEJjtMfxFC1GIUORSDoKkvL375bGD5U1-dnSpWj_lAqJXqRuAXxbCxU498oH_wezzriOyfrJ4akWwxdlyamm675ND6s5Mm-Qyus3FxiGh8BzbsjMf_LYbgX-PZc_FDfnE-P1pk/s1600/ecuacionmate.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmzUa5jwEJjtMfxFC1GIUORSDoKkvL375bGD5U1-dnSpWj_lAqJXqRuAXxbCxU498oH_wezzriOyfrJ4akWwxdlyamm675ND6s5Mm-Qyus3FxiGh8BzbsjMf_LYbgX-PZc_FDfnE-P1pk/s320/ecuacionmate.png" /></a></div><br />
Codigo fuente:<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 860px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">Module</span> Module1
<span style="color: #2b91af;">02 </span> <span style="color: blue;">Const</span> maximo <span style="color: blue;">As</span> <span style="color: blue;">Byte</span> <span style="color: black;">=</span> <span style="color: black;">19</span>
<span style="color: #2b91af;">03 </span>
<span style="color: #2b91af;">04 </span> <span style="color: green;">'se crea una estructura tipo matriz con sus propios procedimientos</span>
<span style="color: #2b91af;">05 </span> Structure matriz
<span style="color: #2b91af;">06 </span>
<span style="color: #2b91af;">07 </span> <span style="color: blue;">Public</span> <span style="color: black;">m</span><span style="color: black;">(,)</span> <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">08 </span>
<span style="color: #2b91af;">09 </span> <span style="color: blue;">Public Sub New</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> f <span style="color: blue;">As</span> <span style="color: blue;">Single</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> c <span style="color: blue;">As</span> <span style="color: blue;">Single</span><span style="color: black;">)</span>
<span style="color: #2b91af;">10 </span> <span style="color: blue;">ReDim</span> <span style="color: black;">m</span><span style="color: black;">(</span>f<span style="color: black;">,</span> c<span style="color: black;">)</span>
<span style="color: #2b91af;">11 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">12 </span>
<span style="color: #2b91af;">13 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">introducir</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> t <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> nf <span style="color: blue;">As</span> <span style="color: blue;">Byte</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> nc <span style="color: blue;">As</span> <span style="color: blue;">Byte</span><span style="color: black;">)</span>
<span style="color: #2b91af;">14 </span> <span style="color: blue;">Dim</span> i<span style="color: black;">,</span> j <span style="color: blue;">As</span> <span style="color: blue;">Byte</span>
<span style="color: #2b91af;">15 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>t<span style="color: black;">)</span>
<span style="color: #2b91af;">16 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"------------------------------------"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">17 </span> <span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> nf
<span style="color: #2b91af;">18 </span> <span style="color: blue;">For</span> j <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> nc
<span style="color: #2b91af;">19 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz["</span> <span style="color: black;">&</span> i <span style="color: black;">&</span> <span style="color: #a31515;">","</span> <span style="color: black;">&</span> j <span style="color: black;">&</span> <span style="color: #a31515;">"]= "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">20 </span> <span style="color: black;">m</span><span style="color: black;">(</span>i<span style="color: black;">,</span> j<span style="color: black;">) =</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">21 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">22 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">23 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"------------------------------------"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">24 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">25 </span>
<span style="color: #2b91af;">26 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">imprimir</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> t <span style="color: blue;">As</span> <span style="color: blue;">String</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> nf <span style="color: blue;">As</span> <span style="color: blue;">Byte</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> nc <span style="color: blue;">As</span> <span style="color: blue;">Byte</span><span style="color: black;">)</span>
<span style="color: #2b91af;">27 </span> <span style="color: blue;">Dim</span> i<span style="color: black;">,</span> j <span style="color: blue;">As</span> <span style="color: blue;">Byte</span>
<span style="color: #2b91af;">28 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span>t<span style="color: black;">)</span>
<span style="color: #2b91af;">29 </span> <span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> nf
<span style="color: #2b91af;">30 </span> <span style="color: blue;">For</span> j <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> nc
<span style="color: #2b91af;">31 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: black;">m</span><span style="color: black;">(</span>i<span style="color: black;">,</span> j<span style="color: black;">) &</span> <span style="color: #a31515;">" "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">32 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">33 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">34 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">35 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">36 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">37 </span>
<span style="color: #2b91af;">38 </span> <span style="color: blue;">End</span> Structure
<span style="color: #2b91af;">39 </span>
<span style="color: #2b91af;">40 </span> <span style="color: blue;">Dim</span> A <span style="color: blue;">As</span> matriz <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>maximo<span style="color: black;">,</span> maximo<span style="color: black;">)</span>
<span style="color: #2b91af;">41 </span> <span style="color: blue;">Dim</span> B <span style="color: blue;">As</span> matriz <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>maximo<span style="color: black;">,</span> maximo<span style="color: black;">)</span>
<span style="color: #2b91af;">42 </span> <span style="color: blue;">Dim</span> C <span style="color: blue;">As</span> matriz <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">matriz</span><span style="color: black;">(</span>maximo<span style="color: black;">,</span> maximo<span style="color: black;">)</span>
<span style="color: #2b91af;">43 </span>
<span style="color: #2b91af;">44 </span> <span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: #2b91af;">45 </span> <span style="color: blue;">Dim</span> num <span style="color: blue;">As</span> <span style="color: blue;">Byte</span>
<span style="color: #2b91af;">46 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Filas y columnas [i,j] = "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">47 </span> num <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">) -</span> <span style="color: black;">1</span>
<span style="color: #2b91af;">48 </span>
<span style="color: #2b91af;">49 </span> <span style="color: blue;">If</span> num <span style="color: black;">></span> maximo <span style="color: blue;">Then</span>
<span style="color: #2b91af;">50 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"el limite es un maximo de "</span> <span style="color: black;">&</span> maximo <span style="color: black;">&</span> <span style="color: #a31515;">" filas y columnas"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">51 </span> <span style="color: blue;">Else</span>
<span style="color: #2b91af;">52 </span> A<span style="color: black;">.</span><span style="color: black;">introducir</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz A"</span><span style="color: black;">,</span> num<span style="color: black;">,</span> num<span style="color: black;">)</span>
<span style="color: #2b91af;">53 </span> B<span style="color: black;">.</span><span style="color: black;">introducir</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz B"</span><span style="color: black;">,</span> num<span style="color: black;">,</span> num<span style="color: black;">)</span>
<span style="color: #2b91af;">54 </span> <span style="color: black;">multiplicar</span><span style="color: black;">(</span>num<span style="color: black;">)</span>
<span style="color: #2b91af;">55 </span> Console<span style="color: black;">.</span><span style="color: black;">Clear</span><span style="color: black;">()</span>
<span style="color: #2b91af;">56 </span> A<span style="color: black;">.</span><span style="color: black;">imprimir</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz A"</span><span style="color: black;">,</span> num<span style="color: black;">,</span> num<span style="color: black;">)</span>
<span style="color: #2b91af;">57 </span> B<span style="color: black;">.</span><span style="color: black;">imprimir</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz B"</span><span style="color: black;">,</span> num<span style="color: black;">,</span> num<span style="color: black;">)</span>
<span style="color: #2b91af;">58 </span> C<span style="color: black;">.</span><span style="color: black;">imprimir</span><span style="color: black;">(</span><span style="color: #a31515;">"Matriz A * B"</span><span style="color: black;">,</span> num<span style="color: black;">,</span> num<span style="color: black;">)</span>
<span style="color: #2b91af;">59 </span> <span style="color: blue;">End If</span>
<span style="color: #2b91af;">60 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"presione una tecla para terminar..."</span><span style="color: black;">)</span>
<span style="color: #2b91af;">61 </span> Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">62 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">63 </span>
<span style="color: #2b91af;">64 </span> <span style="color: green;">'procedimiento publico que calcula el producto de dos matrices</span>
<span style="color: #2b91af;">65 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">multiplicar</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> num <span style="color: blue;">As</span> <span style="color: blue;">Byte</span><span style="color: black;">)</span>
<span style="color: #2b91af;">66 </span> <span style="color: blue;">Dim</span> i<span style="color: black;">,</span> j<span style="color: black;">,</span> k <span style="color: blue;">As</span> <span style="color: blue;">Byte</span>
<span style="color: #2b91af;">67 </span> <span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> num
<span style="color: #2b91af;">68 </span> <span style="color: blue;">For</span> j <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> num
<span style="color: #2b91af;">69 </span> <span style="color: blue;">For</span> k <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> num
<span style="color: #2b91af;">70 </span> C<span style="color: black;">.</span><span style="color: black;">m</span><span style="color: black;">(</span>i<span style="color: black;">,</span> j<span style="color: black;">) =</span> C<span style="color: black;">.</span><span style="color: black;">m</span><span style="color: black;">(</span>i<span style="color: black;">,</span> j<span style="color: black;">) +</span> A<span style="color: black;">.</span><span style="color: black;">m</span><span style="color: black;">(</span>i<span style="color: black;">,</span> k<span style="color: black;">) *</span> B<span style="color: black;">.</span><span style="color: black;">m</span><span style="color: black;">(</span>k<span style="color: black;">,</span> j<span style="color: black;">)</span>
<span style="color: #2b91af;">71 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">72 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">73 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">74 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">75 </span><span style="color: blue;">End Module</span></pre></div><br />
En la solucion de este problema, se hace uso de una <b>STRUCTURE </b>(<a href="http://mouse-puntonet.blogspot.com/2010/07/tipos-de-usuario-structure-2da-parte.html">visto en un post anterior</a>) donde se declara la matriz y sus metodos. tambien se especifica como una constante el valor maximo que podra tener una matriz (columnas y filas).<br />
<br />
<b>Resultado:</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9BQYCoENRWfF9OyKTD6SLxUzl2py7WvBgKf7zAf9vkjtKkT-qs-HH8n42DFA3w5TRDJc_SbyILirJAmtKF5uoGEgheoRizis4utjllqntBClDkxXtWjEhN8miPnt9US8X0kiYOkj5Mj4/s1600/matricesenmouse.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9BQYCoENRWfF9OyKTD6SLxUzl2py7WvBgKf7zAf9vkjtKkT-qs-HH8n42DFA3w5TRDJc_SbyILirJAmtKF5uoGEgheoRizis4utjllqntBClDkxXtWjEhN8miPnt9US8X0kiYOkj5Mj4/s320/matricesenmouse.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLu4j9MFooD8yCQ-5HjmW6kzAS59mNsNwDnE3RdinIOgMBpZIqQWtdJq2cwGA-4lKjH6PiAWU9WBat9A2xcbjG_uJrf4Q01mU5chln-tE4b9PQ0ZyaUkCPTXDy-hyuWRU4WPjVVMgvuFg/s1600/multiplica+matrices.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLu4j9MFooD8yCQ-5HjmW6kzAS59mNsNwDnE3RdinIOgMBpZIqQWtdJq2cwGA-4lKjH6PiAWU9WBat9A2xcbjG_uJrf4Q01mU5chln-tE4b9PQ0ZyaUkCPTXDy-hyuWRU4WPjVVMgvuFg/s320/multiplica+matrices.jpg" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com2tag:blogger.com,1999:blog-7268693679698740901.post-76293344053857147392010-07-29T17:50:00.000-07:002010-07-29T17:50:12.318-07:00Arreglos en VB.NET<div style="text-align: justify;">Un array es un conjunto finito y ordenado de elementos homogeneos. Ordenado porque los elementos n-esimo de un array puede ser identificado, y homogeneo porque todos los elementos del array son del mismo tipo de datos.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">El arreglo mas simple es el unidimensional (<i>matriz de una dimension</i>). A diferencia de Visual Basic clasico que nos permitia especificar los limites de un arreglo, en <b>.NET </b>un arreglo siempre empieca en 0 (cero), por tanto el arreglo tendra un elemento mas del valor indicado como indice superior.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">En el ejemplo siguiente, se tiene un vector X de 5 elementos de tipo real. se nota que empieza en cero, por tanto su indice superior es 4 y no 5</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvHUG4r66WZxJrcVYvsD_sOzGb95p0MvKSr5IbP5oTye4zT9WbHS3AyCREEcKV2NWoafbUUfyrQK6D-xjmlBy0mCh_9IaYYiJooEjtkakU41vK9zVioCyW59uSz6gumhJ_cbHK0zQaEJU/s1600/array_vbnet.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvHUG4r66WZxJrcVYvsD_sOzGb95p0MvKSr5IbP5oTye4zT9WbHS3AyCREEcKV2NWoafbUUfyrQK6D-xjmlBy0mCh_9IaYYiJooEjtkakU41vK9zVioCyW59uSz6gumhJ_cbHK0zQaEJU/s320/array_vbnet.jpg" /></a></div><b>DECLARACION DE UN ARREGLO EN VB.NET</b><br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 60px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span>DIMENSION <span style="color: black;">Arreglo</span><span style="color: black;">(</span>indice_superior<span style="color: black;">)</span> TIPO_DE_DATOS</pre></div><br />
donde DIMENSION puede ser DIM, PUBLIC, PRIVATE, y TIPO DE DATOS, es el tipo de datos que tendra el arreglo, por ejemplo<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 140px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: green;">'declara un arreglo con 12 elementos de tipo string</span>
<span style="color: #2b91af;">02 </span><span style="color: blue;">Dim</span> <span style="color: black;">meses</span><span style="color: black;">(</span><span style="color: black;">11</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">String</span>
<span style="color: #2b91af;">03 </span><span style="color: green;">'declara un arreglo con 7 elementos de tipo entero</span>
<span style="color: #2b91af;">04 </span><span style="color: blue;">Private</span> <span style="color: black;">dia_semana</span><span style="color: black;">(</span><span style="color: black;">6</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">Byte</span>
<span style="color: #2b91af;">05 </span><span style="color: green;">'declara un arreglo con 24 elementos de tipo real</span>
<span style="color: #2b91af;">06 </span><span style="color: blue;">Public</span> <span style="color: black;">hora</span><span style="color: black;">(</span><span style="color: black;">23</span><span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">Double</span></pre></div><b>Ejemplo:</b><br />
Se desea construir una aplicación que lea una lista de calificaciones de una clase y calcule su media e imprima la lista de calificaciones mayores a la media.<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 800px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">Module</span> Module1
<span style="color: #2b91af;">02 </span> <span style="color: green;">'constante que sirve para poner un limite al array</span>
<span style="color: #2b91af;">03 </span> <span style="color: blue;">Const</span> limite <span style="color: black;">=</span> <span style="color: black;">15</span>
<span style="color: #2b91af;">04 </span> <span style="color: green;">'se crea un array de tipo real</span>
<span style="color: #2b91af;">05 </span> <span style="color: blue;">Dim</span> <span style="color: black;">lista_notas</span><span style="color: black;">(</span>limite<span style="color: black;">)</span> <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">06 </span>
<span style="color: #2b91af;">07 </span> <span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: #2b91af;">08 </span> <span style="color: green;">'declaraciones de variables</span>
<span style="color: #2b91af;">09 </span> <span style="color: blue;">Dim</span> numero <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
<span style="color: #2b91af;">10 </span> <span style="color: blue;">Dim</span> suma <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">11 </span> <span style="color: blue;">Dim</span> media <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">12 </span>
<span style="color: #2b91af;">13 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Introduzca numero de calificaciones: "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">14 </span> numero <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">15 </span> <span style="color: blue;">If</span> numero <span style="color: black;">></span> limite <span style="color: blue;">Then</span>
<span style="color: #2b91af;">16 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"No se procesan mas de "</span> <span style="color: black;">&</span> limite <span style="color: black;">&</span> <span style="color: #a31515;">" calificaciones"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">17 </span> <span style="color: blue;">Else</span>
<span style="color: #2b91af;">18 </span> suma <span style="color: black;">=</span> <span style="color: black;">0</span>
<span style="color: #2b91af;">19 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Introduzca calificaciones"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">20 </span> <span style="color: green;">'a medida que el usuario introduce las calificaciones</span>
<span style="color: #2b91af;">21 </span> <span style="color: green;">'estas se colocan en el array</span>
<span style="color: #2b91af;">22 </span> <span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> numero <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: #2b91af;">23 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">" Nota["</span> <span style="color: black;">& (</span>i <span style="color: black;">+</span> <span style="color: black;">1</span><span style="color: black;">) &</span> <span style="color: #a31515;">"]= "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">24 </span> <span style="color: black;">lista_notas</span><span style="color: black;">(</span>i<span style="color: black;">) =</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">25 </span> suma <span style="color: black;">=</span> suma <span style="color: black;">+</span> <span style="color: black;">lista_notas</span><span style="color: black;">(</span>i<span style="color: black;">)</span>
<span style="color: #2b91af;">26 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">27 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">28 </span> <span style="color: green;">'se obtiene la media</span>
<span style="color: #2b91af;">29 </span> media <span style="color: black;">=</span> suma <span style="color: black;">/</span> numero
<span style="color: #2b91af;">30 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"La media es: "</span> <span style="color: black;">&</span> media<span style="color: black;">)</span>
<span style="color: #2b91af;">31 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"-------------------------------------------------"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">32 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Lista de Calificaciones mayores a la media es"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">33 </span> <span style="color: green;">' se recore el array buscando calificaiones mayores a la media</span>
<span style="color: #2b91af;">34 </span> <span style="color: blue;">For</span> i <span style="color: black;">=</span> <span style="color: black;">0</span> <span style="color: blue;">To</span> numero <span style="color: black;">-</span> <span style="color: black;">1</span>
<span style="color: #2b91af;">35 </span> <span style="color: blue;">If</span> <span style="color: black;">lista_notas</span><span style="color: black;">(</span>i<span style="color: black;">) ></span> media <span style="color: blue;">Then</span>
<span style="color: #2b91af;">36 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">" "</span> <span style="color: black;">&</span> <span style="color: black;">lista_notas</span><span style="color: black;">(</span>i<span style="color: black;">))</span>
<span style="color: #2b91af;">37 </span> <span style="color: blue;">End If</span>
<span style="color: #2b91af;">38 </span> <span style="color: blue;">Next</span>
<span style="color: #2b91af;">39 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"-------------------------------------------------"</span><span style="color: black;">)</span>
<span style="color: #2b91af;">40 </span> <span style="color: blue;">End If</span>
<span style="color: #2b91af;">41 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"presione una tecla para terminar..."</span><span style="color: black;">)</span>
<span style="color: #2b91af;">42 </span> Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">43 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">44 </span>
<span style="color: #2b91af;">45 </span><span style="color: blue;">End Module</span></pre></div><br />
Resultado:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjvHmkz-nIt3iqmH7DdUm5d0MJqm8EXDw0eLvoM8qPJaMonPGBnmEvwg1hABsxYd2z-9lNW-M-hBFj-4I-D0i0LytxSXP-SzQIQvPrNluOlyMxpkiKNWbW-feJJ5WhXD_60RFjYhlYBbA/s1600/consola_window.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjvHmkz-nIt3iqmH7DdUm5d0MJqm8EXDw0eLvoM8qPJaMonPGBnmEvwg1hABsxYd2z-9lNW-M-hBFj-4I-D0i0LytxSXP-SzQIQvPrNluOlyMxpkiKNWbW-feJJ5WhXD_60RFjYhlYBbA/s320/consola_window.jpg" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0tag:blogger.com,1999:blog-7268693679698740901.post-82938943229793939492010-07-28T12:54:00.000-07:002010-07-28T12:54:42.118-07:00Tipos de usuario : Structure (2da parte)<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg41iTIzxppHvr5SOCAcaHCySfXN48tDJ4pHfGRqihf56aRuQPcNhbsxNpPctoN0B2S5IGEfiTtCHdz6r5dQojVY_SkiDuwjF7g-k_NoLLi4PrEFkU6QXILuCvWeTodivgy6fZrxOdFHIo/s1600/ratacolgada.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg41iTIzxppHvr5SOCAcaHCySfXN48tDJ4pHfGRqihf56aRuQPcNhbsxNpPctoN0B2S5IGEfiTtCHdz6r5dQojVY_SkiDuwjF7g-k_NoLLi4PrEFkU6QXILuCvWeTodivgy6fZrxOdFHIo/s320/ratacolgada.gif" /></a></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Como vimos en la primera parte de <a href="http://mouse-puntonet.blogspot.com/2010/07/tipos-de-usuario-structure.html">Structures</a>, los nuevos tipos en .NET, no solo permiten la declaraciones de diferentes datos, sino que ahora, tambien permiten la declaracion funciones y procedimientos que actuan como metodos a modo de clases sencillas.</div><br />
<div style="text-align: justify;">Algo nuevo que tambien tiene el tipo <b>Structure</b>, es que a diferencia de visual basic clasico, ahora los datos declarados tambien necesitan que se especifique hasta donde podran ser usados esas variables, esto se hace antecediento al tipo de dato la etiqueta <b>PUBLIC/PRIVATE/FRIENDS, </b>con el primero los datos declarados podran ser usados en cualquier parte del programa, con el segundo, solo pueden ser usados dentro de Structure, con el tercero es una combinacion de public y private.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Se utlizará el mismo problema visto en la primera parte de este <a href="http://mouse-puntonet.blogspot.com/2010/07/tipos-de-usuario-structure.html">tutorial Structures</a></div><div style="text-align: justify;"></div><br />
<b>Ejemplo: </b><br />
<div style="text-align: justify;">se desea construir una aplicacion de consola, que dado el radio, la generatriz y la altura de un cono; calcule e imprima el area de la base , el area lateral, el area total y su volumen. Esta aplicación debe ser construida utilizando tipos de usario (Structure) para gestionar los datos.<br />
<div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1BtlcFbRvPGXUL3KhI7vF-2TSKUUcsWg8zau5YDE8xZuCiPNzJq7Mt4KIA2vGAWaAN01-v4fSVqoXMppy_eYBmEI3koY13EbzNQk6MCXHtbdJkw6ws7y09ZkE440z9MY12xZz92h0fRU/s1600/conito.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1BtlcFbRvPGXUL3KhI7vF-2TSKUUcsWg8zau5YDE8xZuCiPNzJq7Mt4KIA2vGAWaAN01-v4fSVqoXMppy_eYBmEI3koY13EbzNQk6MCXHtbdJkw6ws7y09ZkE440z9MY12xZz92h0fRU/s320/conito.JPG" /></a></div><br />
Consideraciones:</div><div style="text-align: justify;">El area de la base se calcula como:</div><div style="text-align: justify;">AREA DE LA BASE = PI * RADIO^2</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">El area lateral se calcula:</div><div style="text-align: justify;">AREA LATERAL = PI * RADIO * GENERATRIZ</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">El area toral se calcula como:</div><div style="text-align: justify;">AREA TOTAL = AREA BASE + AREA LATERAL</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">El volumen se calcula:</div><div style="text-align: justify;">VOLUMEN = (1/3) * AREA BASE * ALTURA</div><br />
Codigo<br />
<br />
<div style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: rgb(255, 255, 255) none repeat scroll 0% 0%; height: 860px; overflow: auto;"><br />
<pre style="background-color: white; color: black; font-family: 'Courier New'; font-size: 10pt;"><span style="color: #2b91af;">01 </span><span style="color: blue;">Module</span> Module1
<span style="color: #2b91af;">02 </span> <span style="color: green;">'declaracion del tipo de usario "cono"</span>
<span style="color: #2b91af;">03 </span> Structure cono
<span style="color: #2b91af;">04 </span> <span style="color: green;">' se declaran las variables como PRIVATE</span>
<span style="color: #2b91af;">05 </span> <span style="color: blue;">Private</span> radio <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">06 </span> <span style="color: blue;">Private</span> altura <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">07 </span> <span style="color: blue;">Private</span> generatriz <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">08 </span> <span style="color: blue;">Private</span> area_base <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
<span style="color: #2b91af;">09 </span> <span style="color: blue;">Private</span> area_lateral <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
<span style="color: #2b91af;">10 </span> <span style="color: blue;">Private</span> area_total <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
<span style="color: #2b91af;">11 </span> <span style="color: blue;">Private</span> volumen <span style="color: blue;">As</span> <span style="color: blue;">Single</span>
<span style="color: #2b91af;">12 </span> <span style="color: green;">'tambien se declara una constante PI</span>
<span style="color: #2b91af;">13 </span> <span style="color: blue;">Private Const</span> PI <span style="color: black;">=</span> <span style="color: black;">3.141592</span>
<span style="color: #2b91af;">14 </span>
<span style="color: #2b91af;">15 </span> <span style="color: green;">'se declara un constructor </span>
<span style="color: #2b91af;">16 </span> <span style="color: blue;">Public Sub New</span><span style="color: black;">(</span><span style="color: blue;">ByVal</span> r <span style="color: blue;">As</span> <span style="color: blue;">Double</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> h <span style="color: blue;">As</span> <span style="color: blue;">Double</span><span style="color: black;">,</span> <span style="color: blue;">ByVal</span> g <span style="color: blue;">As</span> <span style="color: blue;">Double</span><span style="color: black;">)</span>
<span style="color: #2b91af;">17 </span> radio <span style="color: black;">=</span> r
<span style="color: #2b91af;">18 </span> altura <span style="color: black;">=</span> h
<span style="color: #2b91af;">19 </span> generatriz <span style="color: black;">=</span> g
<span style="color: #2b91af;">20 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">21 </span> <span style="color: green;">'se declaran los metodos</span>
<span style="color: #2b91af;">22 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">Leer</span><span style="color: black;">()</span> <span style="color: green;">'para leer y asignar datos</span>
<span style="color: #2b91af;">23 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Radio= "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">24 </span> radio <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">25 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Altura= "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">26 </span> altura <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">27 </span> Console<span style="color: black;">.</span><span style="color: black;">Write</span><span style="color: black;">(</span><span style="color: #a31515;">"Generatriz= "</span><span style="color: black;">)</span>
<span style="color: #2b91af;">28 </span> generatriz <span style="color: black;">=</span> <span style="color: black;">Val</span><span style="color: black;">(</span>Console<span style="color: black;">.</span>ReadLine<span style="color: black;">)</span>
<span style="color: #2b91af;">29 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">30 </span>
<span style="color: #2b91af;">31 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">Imprimir</span><span style="color: black;">()</span> <span style="color: green;">'para imprimir los resultados en pantalla</span>
<span style="color: #2b91af;">32 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Area Base: "</span> <span style="color: black;">&</span> area_base<span style="color: black;">)</span>
<span style="color: #2b91af;">33 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Area Lateral: "</span> <span style="color: black;">&</span> area_lateral<span style="color: black;">)</span>
<span style="color: #2b91af;">34 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Area Total: "</span> <span style="color: black;">&</span> area_total<span style="color: black;">)</span>
<span style="color: #2b91af;">35 </span> Console<span style="color: black;">.</span><span style="color: black;">WriteLine</span><span style="color: black;">(</span><span style="color: #a31515;">"Volumen: "</span> <span style="color: black;">&</span> volumen<span style="color: black;">)</span>
<span style="color: #2b91af;">36 </span> Console<span style="color: black;">.</span><span style="color: black;">ReadLine</span><span style="color: black;">()</span>
<span style="color: #2b91af;">37 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">38 </span>
<span style="color: #2b91af;">39 </span> <span style="color: blue;">Public Sub</span> <span style="color: black;">Calcular</span><span style="color: black;">()</span> <span style="color: green;">'para realizar las operaciones</span>
<span style="color: #2b91af;">40 </span> area_base <span style="color: black;">=</span> PI <span style="color: black;">*</span> radio ^ <span style="color: black;">2</span>
<span style="color: #2b91af;">41 </span> area_lateral <span style="color: black;">=</span> PI <span style="color: black;">*</span> radio <span style="color: black;">*</span> generatriz
<span style="color: #2b91af;">42 </span> area_total <span style="color: black;">=</span> area_base <span style="color: black;">+</span> area_lateral
<span style="color: #2b91af;">43 </span> volumen <span style="color: black;">= (</span><span style="color: black;">1</span> <span style="color: black;">/</span> <span style="color: black;">3</span><span style="color: black;">) *</span> area_base <span style="color: black;">*</span> altura
<span style="color: #2b91af;">44 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">45 </span> <span style="color: blue;">End</span> Structure
<span style="color: #2b91af;">46 </span>
<span style="color: #2b91af;">47 </span> <span style="color: green;">'programa principal</span>
<span style="color: #2b91af;">48 </span> <span style="color: blue;">Sub</span> <span style="color: black;">Main</span><span style="color: black;">()</span>
<span style="color: #2b91af;">49 </span> <span style="color: green;">'-------------------------</span>
<span style="color: #2b91af;">50 </span> <span style="color: blue;">Dim</span> mi_cono <span style="color: blue;">As</span> cono
<span style="color: #2b91af;">51 </span> mi_cono<span style="color: black;">.</span><span style="color: black;">Leer</span><span style="color: black;">()</span>
<span style="color: #2b91af;">52 </span> mi_cono<span style="color: black;">.</span><span style="color: black;">Calcular</span><span style="color: black;">()</span>
<span style="color: #2b91af;">53 </span> mi_cono<span style="color: black;">.</span><span style="color: black;">Imprimir</span><span style="color: black;">()</span>
<span style="color: #2b91af;">54 </span> <span style="color: green;">'--------------------------</span>
<span style="color: #2b91af;">55 </span> <span style="color: green;">'tambien se puede declarar el tipo como si fuera una clase</span>
<span style="color: #2b91af;">56 </span> <span style="color: blue;">Dim</span> otro_cono <span style="color: blue;">As</span> cono <span style="color: black;">=</span> <span style="color: blue;">New</span> <span style="color: black;">cono</span><span style="color: black;">(</span><span style="color: black;">1.61</span><span style="color: black;">,</span> <span style="color: black;">1.2</span><span style="color: black;">,</span> <span style="color: black;">2.05</span><span style="color: black;">)</span>
<span style="color: #2b91af;">57 </span> otro_cono<span style="color: black;">.</span><span style="color: black;">Calcular</span><span style="color: black;">()</span>
<span style="color: #2b91af;">58 </span> otro_cono<span style="color: black;">.</span><span style="color: black;">Imprimir</span><span style="color: black;">()</span>
<span style="color: #2b91af;">59 </span> <span style="color: blue;">End Sub</span>
<span style="color: #2b91af;">60 </span>
<span style="color: #2b91af;">61 </span><span style="color: blue;">End Module</span></pre></div></div><br />
<b>RESULTADOS</b><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTzJ2MbccCW1tehrwBqtzpYkBvS-BwMbfRC5nnHMpOrTGP6Y_gzw5x6kwig-zxbXKEwSmpBHPpaE5gVchyphenhyphenB1j5v3BSuUPFao-WReSDkeUNix8po7tr9qU05REgKSqDqoCDWLZvsA1reXM/s1600/conito_acomplejado.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTzJ2MbccCW1tehrwBqtzpYkBvS-BwMbfRC5nnHMpOrTGP6Y_gzw5x6kwig-zxbXKEwSmpBHPpaE5gVchyphenhyphenB1j5v3BSuUPFao-WReSDkeUNix8po7tr9qU05REgKSqDqoCDWLZvsA1reXM/s320/conito_acomplejado.jpg" /></a></div>Mousehttp://www.blogger.com/profile/13828345390338642732noreply@blogger.com0