<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ubicuos.com &#187; General</title>
	<atom:link href="http://www.ubicuos.com/temas/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ubicuos.com</link>
	<description>Tecnología,Programación, Proyectos, Ciencia y Empresas</description>
	<lastBuildDate>Sat, 31 Jul 2010 07:12:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Instalación y configuración de SMSD (de Gnokii)</title>
		<link>http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/</link>
		<comments>http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 07:12:48 +0000</pubDate>
		<dc:creator>Lisandro Vergara Diaz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1873</guid>
		<description><![CDATA[Para realizar la práctica de este tutorial previamente debe de tener instalado y configurado Gnokii correctamente según el modelo de su teléfono móvil (en este mismo sitio se encuentra el tutorial para la configuración de Gnokii ,para ir al tutorial mencionado se muestra el siguiente link http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/) Ahora comencemos con el tutorial Ejecutando el siguiente [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F30%2Finstalacion-y-configuracion-de-smsd-de-gnokii%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F30%2Finstalacion-y-configuracion-de-smsd-de-gnokii%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h3>Para realizar la práctica de este tutorial  previamente debe de tener instalado y configurado Gnokii  correctamente según el modelo de su teléfono móvil (en este mismo sitio se encuentra el tutorial para la configuración de Gnokii ,para ir al tutorial mencionado se muestra el siguiente link <a href="http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/">http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/</a>)</h3>
<h3>Ahora comencemos con el tutorial</h3>
<h3>Ejecutando el siguiente comando  deberá instalar todos los paquetes requeridos y dependencias</h3>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">apt-get install gnokii-smsd-mysql</pre></div></div>

<h3>Una vez instalado, entramos a nuestro gestor de base de datos que es MySQL</h3>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">mysql -u root -p</pre></div></div>

<h3>Creamos una base de datos, dónde se guardaran lo mensajes (para este tutorial hemos llamado a la base de datos dbsms pero lo correcto seria “smsgw”)</h3>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">create</span> <span style="color: #990099; font-weight: bold;">database</span> bdsms<span style="color: #000033;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1874" href="http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/modifi/"><img class="aligncenter size-full wp-image-1874" src="http://www.ubicuos.com/wp-content/uploads/2010/07/modifi.png" alt="" width="470" height="329" /></a></p>
<h3>Salimos de MySQL, y ejecutamos el siguiente comando para llenar la base de datos con las tablas  necesarias</h3>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">mysql -u root -p bdsms &amp;lt; /usr/share/doc/gnokii-smsd-mysql/sms.tables.mysql.sql</pre></div></div>

<p><a rel="attachment wp-att-1875" href="http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/pantallazo2/"><img class="aligncenter size-full wp-image-1875" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Pantallazo2.png" alt="" width="555" height="114" /></a></p>
<h3>Hemos llegado  a la parte final donde solo nos queda comprobar que todo haya salido bien, para esto entramos a MySQL  e insertamos los datos en la tabla outbox, al insertar los datos automáticamente se enviara el SMS  y quedara registrado en la base de datos  (para esto ya debe de estar conectado el teléfono móvil al equipo e identificado con Gnokii, previamente debió haberlo configurado como se menciona al comienzo de este tutorial)</h3>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">insert into outbox (number,text) values('0123456789', 'mensaje de prueba');</pre></div></div>

<h3>Nota:</h3>
<p>Por razones de seguridad  no puse mi número de teléfono o algún otro, reemplazar “0123456789” por el numero al que se enviara el SMS<br />
<a rel="attachment wp-att-1876" href="http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/pantallazo3-3/"><img class="aligncenter size-full wp-image-1876" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Pantallazo3.png" alt="" width="669" height="374" /></a></p>
<h3>Una vez que insertamos los datos del mensaje, hay que comprobar 2 cosas, en primera que se haya guardado en la tabla los datos (esto haciendo una consulta en MySQL) y en segunda que el SMS haya llegado a su destino, si estos dos puntos no se cumplieron hay que analizar paso a paso para ver cual fue nuestro error</h3>
<p><a rel="attachment wp-att-1877" href="http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/pantallazo4-3/"><img class="aligncenter size-full wp-image-1877" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Pantallazo4.png" alt="" width="1183" height="173" /></a></p>
<h3>Con esto damos por concluido este tutorial, espero les sea de utilidad cualquier duda o sugerencia serán recibidas y contestadas a la brevedad  por mi o por compañeros de la comunidad</h3>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/30/instalacion-y-configuracion-de-smsd-de-gnokii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primitivas Básicas 2D con Processing</title>
		<link>http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/</link>
		<comments>http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 22:52:40 +0000</pubDate>
		<dc:creator>Luis Alfredo</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1806</guid>
		<description><![CDATA[El Sistema de Coordenadas 2D El tamaño de la ventana se establece mediante la función size(), habitualmente una de las primeras acciones llevadas a cabo en la función setup(). El (0,0) se encuentra situado en la esquina superior izquierda, donde las &#8220;x&#8221; positivas evolucionan a la izquierda y las &#8220;y&#8221; positivas evolucionan hacia abajo. Primitivas [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F30%2Fprimitivas-basicas-2d-con-processing%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F30%2Fprimitivas-basicas-2d-con-processing%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1807" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/processing_cover-2/"><img class="aligncenter size-full wp-image-1807" src="http://www.ubicuos.com/wp-content/uploads/2010/07/processing_cover1.gif" alt="" width="500" height="80" /></a></p>
<h2 style="text-align: left">El Sistema de Coordenadas 2D</h2>
<p>El tamaño de la ventana se establece mediante la función size(), habitualmente una de las primeras acciones llevadas a cabo en la función setup().<br />
El (0,0) se encuentra situado en la esquina superior izquierda, donde las &#8220;x&#8221; positivas evolucionan a la izquierda y las &#8220;y&#8221; positivas evolucionan hacia abajo.</p>
<h2 style="text-align: left">Primitivas básicas 2D en Processing</h2>
<ul>
<li>Punto</li>
<li>Línea</li>
<li>Elipse / Círculo / Arco</li>
<li>Rectángulo</li>
<li>Triángulo</li>
<li>Cuadrilátero</li>
</ul>
<p></p>
<h2 style="text-align: left">Punto</h2>
<h3>point(x, y)</h3>
<p>Dibuja un punto en la coordenadas (x, y) especificadas . El color se establece mediante stroke() y su grosor con strokeWeight().</p>
<h3>set(x, y, color)</h3>
<p>Dibuja un punto en las coordenadas (x, y) y un color concreto. No queda afectado por stroke() o strokeWeight().</p>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
point<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
set<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span>, <span style="color: #cc66cc;">50</span>, color<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">128</span>, <span style="color: #cc66cc;">120</span>, <span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1824" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-15-34-09/"><img class="aligncenter size-full wp-image-1824" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-15.34.09.png" alt="" width="208" height="230" /></a></p>
<h2 style="text-align: left">Línea</h2>
<h3>line(x1, y1, x2, y2)</h3>
<p>Dibuja una línea recta entre los puntos (x1, y1) y (x2, y2) Con las funciones stroke() indicamos sus propiedades.</p>
<h3>Ejemplos:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">99</span>, <span style="color: #cc66cc;">99</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1829" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-15-42-07/"><img class="aligncenter size-full wp-image-1829" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-15.42.07.png" alt="" width="208" height="230" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">100</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
   stroke<span style="color: #009900;">&#40;</span>random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span>, random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span>, random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   strokeWeight<span style="color: #009900;">&#40;</span>random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span>, random<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><a rel="attachment wp-att-1830" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-15-44-36/"><img class="aligncenter size-full wp-image-1830" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-15.44.36.png" alt="" width="280" height="302" /></a></p>
<h3>Terminacion de Línea</h3>
<p><strong>ROUND</strong> (redondeado), <strong>PROJECT</strong> (proyectado, se extiende en función del grosor del trazo), <strong>SQUARE</strong> (cuadrado estricto).</p>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeCap<span style="color: #009900;">&#40;</span>ROUND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeCap<span style="color: #009900;">&#40;</span>PROJECT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">75</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">75</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeCap<span style="color: #009900;">&#40;</span>SQUARE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
line<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">50</span>,<span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">150</span>,<span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1831" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-15-51-18/"><img class="aligncenter size-full wp-image-1831" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-15.51.18.png" alt="" width="280" height="252" /></a></p>
<h2 style="text-align: left">Elipse y Círculo</h2>
<h3>ellipse(x, y, ancho, alto)</h3>
<p>Dibuja una elipse en las coordenadas (x, y) y el ancho y alto suministrados.</p>
<h3>ellipseMode()</h3>
<p>Cambia el modo en el que los parámetros de la elipse son interpretados:</p>
<ul>
<li>ellipseMode(CENTER) =&gt; (x, y) es el centro de la elipse (es el modo por defecto).</li>
<li>ellipseMode(RADIUS) =&gt; igual que el anterior, pero ancho y alto son radios y no diámetros.</li>
<li>ellipseMode(CORNER) =&gt; (x, y) hace referencia a la esquina superior izquierda del rectángulo envolvente de la elipse.</li>
<li>ellipseMode(CORNERS) =&gt; los cuatro parámetros de la elipse hacen referencia a dos puntos opuestos del rectángulo envolvente de la elipse.</li>
</ul>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">150</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
ellipse<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
ellipseMode<span style="color: #009900;">&#40;</span>CORNERS<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
ellipse<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">50</span>, <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1836" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-15-59-53/"><img class="aligncenter size-full wp-image-1836" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-15.59.53.png" alt="" width="280" height="252" /></a></p>
<h2 style="text-align: left">Arco</h2>
<h3>arc(x, y, ancho, alto, inicio, fin)</h3>
<p>Dibuja una arco como un sector de una elipse en las coordenadas (x, y) y el ancho y alto suministrados. El fragmento o sector de la elipse dibujado es el comprendido entre el ángulo inicio y el ángulo fin (radianes por defecto) en el sentido de las agujas del reloj.</p>
<p>Sus parámetros son igualmente interpretados en función del modo indicado con ellipseMode().<br />
En <strong>Processing</strong>, el modo por defecto al dibujar figuras es con relleno, y se aplica incluso ante figuras no cerradas. La función noFill() ha de ser llamada de forma explícita si no se quiere relleno.</p>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
arc<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">0</span>, PI <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
noFill<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
arc<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, PI, <span style="color: #cc66cc;">3</span> <span style="color: #339933;">*</span> PI <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1855" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-16-11-36/"><img class="aligncenter size-full wp-image-1855" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-16.11.36.png" alt="" width="280" height="302" /></a></p>
<h2 style="text-align: left">Rectángulo</h2>
<h3>rect(x, y, ancho, alto)</h3>
<p>Dibuja un rectángulo.</p>
<h3>rectMode()</h3>
<p>Cambia el modo en el que los parámetros del rectángulo son interpretados Los parámetros son los mismos que para la elipse: <strong>CENTER</strong>, <strong>RADIUS</strong>, <strong>CORNER</strong> y <strong>CORNERS</strong>. El modo por defecto en este caso es el <strong>CORNER</strong> (x e y son la esquina superior izquierda).</p>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">210</span>, <span style="color: #cc66cc;">180</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
rect<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">100</span>, <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
rectMode<span style="color: #009900;">&#40;</span>CORNERS<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
rect<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">50</span>, <span style="color: #cc66cc;">50</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1854" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-16-19-46/"><img class="aligncenter size-full wp-image-1854" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-16.19.46.png" alt="" width="290" height="282" /></a></p>
<h2>Triángulo y Cuadrilátero</h2>
<h3>triangle(x1, y1, x2, y2, x3, y3)</h3>
<p>Dibuja un triángulo a partir de sus tres vértices.</p>
<h3>quad(x1, y1, x2, y2, x3, y3, x4, y4)</h3>
<p>Dibuja un cuadrilátero. El primer punto del mismo es (x1, y1), el resto deben ser los 3 vértices restantes debiéndose especificar en sentido horario o anti-horario (en uno de los dos).</p>
<h3>Ejemplo:</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
stroke<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
strokeWeight<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">255</span>, <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// (100,25) - (25,175) - (175,175)</span>
triangle<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">25</span>,<span style="color: #cc66cc;">175</span>,<span style="color: #cc66cc;">175</span>,<span style="color: #cc66cc;">175</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Sentido horario // (38,231) - (186,220) - (169,363) - (30,376)</span>
quad<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">38</span>, <span style="color: #cc66cc;">231</span>, <span style="color: #cc66cc;">186</span>, <span style="color: #cc66cc;">220</span>, <span style="color: #cc66cc;">169</span>, <span style="color: #cc66cc;">363</span>, <span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">376</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a rel="attachment wp-att-1853" href="http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/captura-de-pantalla-2010-07-30-a-las-16-27-49/"><img class="aligncenter size-full wp-image-1853" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-30-a-las-16.27.49.png" alt="" width="280" height="502" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/30/primitivas-basicas-2d-con-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obtener el Diccionario de datos de una Tabla de MySql con C#</title>
		<link>http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/</link>
		<comments>http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 18:41:39 +0000</pubDate>
		<dc:creator>Roberto Carlos</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1764</guid>
		<description><![CDATA[Obtener el Diccionario de datos de una Tabla de MySql con C# INFORMATION_SCHEMA MySql guarda los metadatos de las bases de datos en una base de datos llamada INFORMATION_SCHEMA. Los metadatos son datos acerca de los datos, tales como el nombre de la base de datos o tabla, el tipo de datos de una columna, [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F25%2Fobtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F25%2Fobtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2>Obtener el Diccionario de datos de una Tabla de MySql con C#</h2>
<h3>INFORMATION_SCHEMA</h3>
<p>MySql guarda los metadatos de las bases de datos en una base de datos llamada <em>INFORMATION_SCHEMA. </em></p>
<p style="text-align: justify">Los metadatos son datos acerca de los datos, tales como el nombre de la base de datos o tabla, el tipo de datos de una columna, o permisos de acceso. También son conocidos como diccionario de datos o catalogo del sistema.<span id="more-1764"></span></p>
<p style="text-align: justify"><em>INFORMATION_SCHEMA</em> es la base de datos de información, que almacena información acerca de todas las otras bases de datos que mantiene el servidor MySql . Dentro del <em>INFORMATION_SCHEMA</em> hay varias tablas de sólo lectura. En realidad son vistas, no tablas, así que no puede ver ningún fichero asociado con ellas.</p>
<p style="text-align: justify">Algunos campos de algunas tablas que se en encuentran en <em>INFORMATION_SCHEMA</em> utilizados en el tutorial</p>
<p style="text-align: justify">COLUMN_NAME //el nombre del campo</p>
<p style="text-align: justify">IS_NULLABLE //si admite valores nulos</p>
<p style="text-align: justify">DATA_TYPE //tipo de dato</p>
<p style="text-align: justify">CHARACTER_MAXIMUM_LENGTH //tamaño</p>
<p style="text-align: justify">COLUMN_KEY //si es primary key, foreign key, etc.</p>
<p>Hay una gran cantidad de tablas con campos que guardan informacion de las bases de datos de MySql el listado anterior solo son algunos de muchos campos.</p>
<h3>MySql y C#</h3>
<p>Para comenzar a trabajar con MySql y C# es necesario descargar un conector necesario que puedes descargar en <a href="http://dev.mysql.com/downloads/connector/net/">http://dev.mysql.com/downloads/connector/net/</a></p>
<p>Instalado el conector. Creamos un nuevo proyecto, Quedando de la siguiente manera le formulario.</p>
<p><a rel="attachment wp-att-1767" href="http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/i1-2/"><img class="aligncenter size-full wp-image-1767" src="http://www.ubicuos.com/wp-content/uploads/2010/07/i11.bmp" alt="" /></a></p>
<p><a rel="attachment wp-att-1765" href="http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/i1/"></a></p>
<p>Para poder trabajar con MySql desde C# es necesario agregar una referencia al que conector que anteriormente descargamos e instalamos. Para esto vamos a <strong>Menú Proyecto &gt; Agregar referencia… </strong></p>
<p>Seleccionamos la pestaña Examinar y vamos a la siguiente ruta <strong>C:\Archivos de programa\MySQL\MySQL Connector Net 5.2.7\Binaries\.NET 2.0</strong> y seleccionamos el archivo <strong>MySql.Data.dll</strong></p>
<p>Es necesario agregar los siguientes<strong> namespace </strong></p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">MySql.Data.MySqlClient</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">MySql.Data</span><span style="color: #008000;">;</span></pre></div></div>

<p>El codigo para generar el Diccionario de datos es el siguiente:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> btnGenerar_Click<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
&nbsp;
        <span style="color: #000000;">&#123;</span>
&nbsp;
                <span style="color: #FF0000;">int</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">;</span>
&nbsp;
                MySqlConnection Conexion <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MySqlConnection<span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;DataBase=''; DataSource=localhost; Port=3306; User=root; Password=tupassword&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                Conexion.<span style="color: #0000FF;">Open</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #FF0000;">string</span> consulta <span style="color: #008000;">=</span> <span style="color: #FF0000;">string</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;SELECT COLUMN_NAME as Columna, IS_NULLABLE as AdmiteNulos,&quot;</span> <span style="color: #008000;">+</span>
&nbsp;
                <span style="color: #666666;">&quot;DATA_TYPE as TipoDatos, CHARACTER_MAXIMUM_LENGTH as MaxChar, COLUMN_KEY as Llave FROM Infor&quot;</span> <span style="color: #008000;">+</span>
&nbsp;
                <span style="color: #666666;">&quot;mation_Schema.Columns WHERE TABLE_NAME = '{0}' and table_schema = '{1}'&quot;</span><span style="color: #000000;">&#41;</span>, txtTabla.<span style="color: #0000FF;">Text</span>, txtBD.<span style="color: #0000FF;">Text</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                MySqlDataReader drCampos<span style="color: #008000;">;</span>
&nbsp;
                MySqlCommand comando <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> MySqlCommand<span style="color: #000000;">&#40;</span>consulta, Conexion<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                drCampos <span style="color: #008000;">=</span> comando.<span style="color: #0000FF;">ExecuteReader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                dgvDiccionarioDatos.<span style="color: #0000FF;">Rows</span>.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #0600FF;">while</span> <span style="color: #000000;">&#40;</span>drCampos.<span style="color: #0000FF;">Read</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
&nbsp;
                <span style="color: #000000;">&#123;</span>
&nbsp;
                    <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">dgvDiccionarioDatos</span>.<span style="color: #0000FF;">Rows</span>.<span style="color: #0000FF;">Insert</span><span style="color: #000000;">&#40;</span>i, drCampos<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, drCampos<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">2</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, drCampos<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">3</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, drCampos<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, drCampos<span style="color: #000000;">&#91;</span><span style="color: #FF0000;">4</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                    i <span style="color: #008000;">+=</span> <span style="color: #FF0000;">1</span><span style="color: #008000;">;</span>
&nbsp;
                <span style="color: #000000;">&#125;</span>
&nbsp;
                drCampos.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                Conexion.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #000000;">&#125;</span></pre></div></div>

<p><a rel="attachment wp-att-1766" href="http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/i2/"><img class="aligncenter size-full wp-image-1766" src="http://www.ubicuos.com/wp-content/uploads/2010/07/i2.bmp" alt="" /></a></p>
<p>Espero y les sirva de ayuda este pequeño tutorial, Saludos&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-de-mysql-con-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Controlar el Puerto Paralelo con Visual Basic.NET</title>
		<link>http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/</link>
		<comments>http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 05:49:01 +0000</pubDate>
		<dc:creator>Lisandro Vergara Diaz</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1781</guid>
		<description><![CDATA[¿Qué es el Puerto Paralelo? Un puerto paralelo es una interfaz entre un ordenador y un periférico cuya principal característica es que los bits de datos viajan juntos enviando un byte completo o más a la vez. Es decir, se implementa un cable o una vía física para cada bit de datos formando un bus. [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F23%2Fcontrolar-el-puerto-paralelo-con-visual-basic-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F23%2Fcontrolar-el-puerto-paralelo-con-visual-basic-net%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2>¿Qué es el Puerto Paralelo?</h2>
<p>Un puerto paralelo es una interfaz entre un ordenador y un periférico cuya principal característica es que los bits de datos viajan juntos enviando un byte completo o más a la vez. Es decir, se implementa un cable o una vía física para cada bit de datos formando un bus. El cable paralelo es el conector físico entre el puerto paralelo y el periférico. En un puerto paralelo habrá una serie de bits de control en vías aparte que irá en ambos sentidos por caminos distintos. En contraposición al puerto paralelo está el Puerto serie, que envía los datos bit a bit por el mismo hilo.</p>
<h2>¿Cómo funciona el Puerto Paralelo?</h2>
<p>La mayoría de los puertos paralelos de la parte posterior de las computadoras compatibles poseen un conector DB-25. Esto es extraño, puesto que este conector es el de serie que se utiliza para los interfaces serie. El conector es normalmente hembra (tiene orificios en lugar de patitas) para distinguirlo de los conectores serie que son habitualmente machos y que puede tener también la computadora. Sin embargo, utiliza un conector DB-25 macho para su interfaz paralelo (por ser algo diferente).<br />
La función de cada terminal del conector DB-25 se muestra en la siguiente imagen. Las señales que ocupan esas terminales se pueden dividir en cuatro grupos básicos: tierras, salidas de datos, entradas de dialogo y salidas de dialogo. En la imagen las tierras se indican con círculos, las entradas de dialogo se indican con flechas que apuntan al conector y las salidas (tanto de datos como de dialogo) tienen flechas que apuntan hacia afuera del conector. (Note que algunas de las líneas tienen una abreviatura convencional que se indica entre paréntesis.)</p>
<p><a rel="attachment wp-att-1782" href="http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/tuto2/"><img class="aligncenter size-medium wp-image-1782" src="http://www.ubicuos.com/wp-content/uploads/2010/07/tuto2-300x181.png" alt="" width="300" height="181" /></a></p>
<h2>Librería Inpout32.dll (Visual Basic.NET)</h2>
<p>Para trabajar con puertos bajo VB.NET es necesario el uso de una librería que contenga funciones de Acceso a las direcciones de los puertos. Esta librería es diferente dependiendo del tipo de puerto a trabajar. La librería INPOUT32.DLL contiene las instrucciones necesarias para el manejo de los Puertos Paralelos.</p>
<p>Para accesar al puerto paralelo en Windows se requiere hacer uso de unas funciones que vienen en la librería inpout32.dll.<br />
Poner la librería correspondiente en la carpeta c:\windows\system32<br />
Agregar el módulo inpout 32.bas al programa realizado en Visual Basic y listo ya puedes hacer uso de las funciones para accesar al puerto paralelo:</p>
<p>Inp &#8211; Para leer el puerto (Entrada)<br />
Out &#8211; para escribir al puerto (Salida)</p>
<h2>Desarrollo de la práctica</h2>
<h3>Material:</h3>
<ul>
<li>Cautín</li>
<li>Estaño</li>
<li>Pasta para soldar</li>
<li>Protoboard</li>
<li>2 Mts cable UTP</li>
<li>2 Mts cable (1 hilo)</li>
<li>5 Leds</li>
<li>1 Conector Paralelo Macho</li>
</ul>
<h3>Procedimiento:</h3>
<p>Primero pelamos 10 cm del cable UTP por ambos extremos y separamos los hilos, de la misma forma pelamos 1 cm de cada uno de los hilos de cada extremo, una vez realizado esto procedemos a soldar los hilos del cable en el conector macho, para esto se deben localizar los pines en el conector que están enumerados, localizamos pines del 2 al 9 que son los utilizados para la transferencia de datos, una vez localizados los pines procedemos a soldar ,esto se hace en el orden que ustedes prefieran siempre y cuando recuerden la secuencia, una vez hecho esto tomamos el cable de un hilo y pelamos en cada extremo 1 cm. Una vez hecho esto localizamos en el conector el pin 25 que es el de tierra (del pin 18 al 25 son tierra).</p>
<p><a rel="attachment wp-att-1783" href="http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/tuto3/"><img class="aligncenter size-medium wp-image-1783" src="http://www.ubicuos.com/wp-content/uploads/2010/07/tuto3-300x199.png" alt="" width="300" height="199" /></a></p>
<p>Una vez realizado todo este procedimiento pasaremos a la protoboard, en la protoboard tenemos que localizar la serie negativa que esta de azul una vez encontrada hay que introducir el cable de tierra en el primer orificio de la seria del polo negativo, una vez hecho esto tomamos los leds y ubicamos el polo negativo que es la patita más corta y la insertamos en la columna negativa y el positivo la insertamos en la columna “A” y que ambas filas coincidan y así con los leds restantes sucesivamente luego pasamos a conectar el cable UTP ala protoboard para esto tenemos que llevar el mismo orden que en el conector paralelo respectivamente ,localizamos el primer hilo a introducir y lo insertamos en la columna “B” de la forma que la fila del led coincida con este y así sucesivamente con los demás con su respectivo orden .</p>
<p><a rel="attachment wp-att-1784" href="http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/tuto4/"><img class="aligncenter size-medium wp-image-1784" src="http://www.ubicuos.com/wp-content/uploads/2010/07/tuto4-300x225.jpg" alt="" width="300" height="225" /></a></p>
<h3>Programa</h3>
<p>Para poder manejar puertos en Visual Basic.Net es necesario contar con la librería Inpout32.dll de la cual hablamos anteriormente reiterando que es necesario Poner la librería correspondiente en la carpeta c:\windows\system32 una vez hecho eso tenemos que crear una clase en nuestro proyecto donde se importa la librería .</p>

<div class="wp_syntax"><div class="code"><pre class="vbnet" style="font-family:monospace;"><span style="color: #0600FF;">Imports</span> System
<span style="color: #0600FF;">Imports</span> System.<span style="color: #0000FF;">Runtime</span>.<span style="color: #0000FF;">InteropServices</span>
&nbsp;
<span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Class</span> Puerto
 _
 <span style="color: #FF8000;">Public</span> <span style="color: #FF8000;">Shared</span> <span style="color: #0600FF;">Function</span> output<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> adress <span style="color: #FF8000;">As</span> <span style="color: #FF0000;">Integer</span>, <span style="color: #FF8000;">ByVal</span> value <span style="color: #FF8000;">As</span> <span style="color: #FF0000;">Integer</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">As</span> <span style="color: #FF0000;">Boolean</span>
&nbsp;
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Function</span>
&nbsp;
<span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Class</span></pre></div></div>

<p>Una vez hecho esto pasamos a nuestro formulario e insertamos un botón, en este botón probaremos si todo sale correctamente en el botón ira el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="vbnet" style="font-family:monospace;"><span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Probar_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Probar.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">255</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span></pre></div></div>

<p>Para poder encender el led numero 1 ,2 y 3 de nuestra Protoboard necesitamos el siguiente codigo que ira dentro de un boton como se muestra respectivamente :</p>

<div class="wp_syntax"><div class="code"><pre class="vbnet" style="font-family:monospace;"><span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Led1_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Led1.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
<span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
<span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Led2_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Led22.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Led3_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Led3.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">4</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span></pre></div></div>

<p>888 porque es la dirección hexadecimal que utiliza VB.NET para mandar señal al puerto y 1,2 y 4 por que es la dirección donde esta ubicada el primer led para poder saber la dirección del led se debe hacer lo siguiente:<br />
Los pines se enumeraran del 0 en adelante en este caso del 0 al 7 tomando referencia los pines del conector del 2 al 9 se realiza la siguiente operación:</p>
<table border="1">
<tbody>
<tr>
<td>Led</td>
<td>Pin</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>4</td>
</tr>
<tr>
<td>3</td>
<td>5</td>
</tr>
<tr>
<td>4</td>
<td>6</td>
</tr>
<tr>
<td>5</td>
<td>7</td>
</tr>
<tr>
<td>6</td>
<td>8</td>
</tr>
<tr>
<td>7</td>
<td>9</td>
</tr>
</tbody>
</table>
<p>Tomando en cuenta la tablita anterior se realiza lo siguiente:<br />
2^0 (led)=1 (direccion en VB.NET)<br />
2^1=2<br />
2^2=4<br />
2^3=8<br />
2^4=16<br />
2^5=32<br />
2^6=64<br />
2^7=128</p>
<p>Esa es toda la operación y así se realiza sucesivamente.<br />
Este es el ejemplo, para esto se necesita inserta 8 botones y 1 timer el formulario y la clase anteriormente mencionada.</p>

<div class="wp_syntax"><div class="code"><pre class="vbnet" style="font-family:monospace;"><span style="color: #FF8000;">Public</span> <span style="color: #0600FF;">Class</span> Form1
    <span style="color: #0600FF;">Dim</span> i <span style="color: #FF8000;">As</span> <span style="color: #FF0000;">Integer</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Form1_Load<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> <span style="color: #FF8000;">MyBase</span>.<span style="color: #0000FF;">Load</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Form1_FormClosed<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">Windows</span>.<span style="color: #0000FF;">Forms</span>.<span style="color: #0000FF;">FormClosedEventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> <span style="color: #FF8000;">MyBase</span>.<span style="color: #0000FF;">FormClosed</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button1_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button1.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button2_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button2.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button3_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button3.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">4</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button4_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button4.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">8</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button5_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button5.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">16</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button6_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button6.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">0</span><span style="color: #000000;">&#41;</span>
        Timer1.<span style="color: #0600FF;">Stop</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button7_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button7.<span style="color: #0000FF;">Click</span>
        Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">255</span><span style="color: #000000;">&#41;</span>
        Timer1.<span style="color: #0600FF;">Stop</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Timer1_Tick<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Timer1.<span style="color: #0000FF;">Tick</span>
&nbsp;
        TextBox1.<span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> <span style="color: #0600FF;">CStr</span><span style="color: #000000;">&#40;</span>i<span style="color: #000000;">&#41;</span>
        i <span style="color: #008000;">=</span> i <span style="color: #008000;">+</span> <span style="color: #FF0000;">1</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">1</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">2</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">3</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">4</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">4</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">8</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">5</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">16</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">6</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">255</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">7</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">16</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">8</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">8</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">9</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">4</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">10</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">2</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">11</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">1</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">12</span> <span style="color: #FF8000;">Then</span>
            Puerto.<span style="color: #0000FF;">output</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">888</span>, <span style="color: #FF0000;">255</span><span style="color: #000000;">&#41;</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
        <span style="color: #0600FF;">If</span> i <span style="color: #008000;">=</span> <span style="color: #FF0000;">13</span> <span style="color: #FF8000;">Then</span>
            i <span style="color: #008000;">=</span> <span style="color: #FF0000;">0</span>
        <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">If</span>
&nbsp;
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
&nbsp;
    <span style="color: #FF8000;">Private</span> <span style="color: #0600FF;">Sub</span> Button8_Click<span style="color: #000000;">&#40;</span><span style="color: #FF8000;">ByVal</span> sender <span style="color: #FF8000;">As</span> System.<span style="color: #FF0000;">Object</span>, <span style="color: #FF8000;">ByVal</span> e <span style="color: #FF8000;">As</span> System.<span style="color: #0000FF;">EventArgs</span><span style="color: #000000;">&#41;</span> <span style="color: #FF8000;">Handles</span> Button8.<span style="color: #0000FF;">Click</span>
&nbsp;
        Timer1.<span style="color: #0000FF;">Enabled</span> <span style="color: #008000;">=</span> <span style="color: #0600FF;">True</span>
&nbsp;
    <span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Sub</span>
<span style="color: #0600FF;">End</span> <span style="color: #0600FF;">Class</span></pre></div></div>

<p>Este programa lo que realiza es encender led por led según el botón que se presione correspondientemente a cada led de 1 al 5, con otro botón enciende todos los leds, otro desactiva el led cuando alguno esta encendido y por último se hiso una pequeña muestra de cómo se podría implementar con un timer para que cada led encienda cada decima de segundo uno tras otro.</p>
<p><a rel="attachment wp-att-1785" href="http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/tuto1/"><img class="aligncenter size-medium wp-image-1785" src="http://www.ubicuos.com/wp-content/uploads/2010/07/tuto1-300x290.png" alt="" width="300" height="290" /></a></p>
<h3>Con esto damos por concluido este tutorial que espero le sirva y sea de su agrado cualquier duda  o sugerencia hacerla con toda confianza.</h3>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/23/controlar-el-puerto-paralelo-con-visual-basic-net/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Geolocalizar con CSharp y GoogleMaps</title>
		<link>http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/</link>
		<comments>http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 04:32:35 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1731</guid>
		<description><![CDATA[Hola comunidad!, de regreso aportando más material para que esto siga en crecimiento. Ahora presentando un pequeño programita hecho en C# que nos sirve para geolocalizar direcciones mediante google maps. El programa lo dividí en tres clases: Geocodign.- Es la parte donde se hace el proceso de geolocalización Point.- Clase para identificar nuestras direcciones a [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F19%2Fgeolocalizar-con-csharp-y-googlemaps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F19%2Fgeolocalizar-con-csharp-y-googlemaps%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Hola comunidad!, de regreso aportando más material para que esto siga en crecimiento.</p>
<p>Ahora presentando un pequeño programita hecho en C# que nos sirve para geolocalizar direcciones mediante google maps.</p>
<p>El programa lo dividí en tres clases:</p>
<p><em>Geocodign.-</em> Es la parte donde se hace el proceso de geolocalización<br />
<em>Point.-</em> Clase para identificar nuestras direcciones a geolocalizar<br />
<em>Principal.-</em> Es la clase principal del proyecto</p>
<p><strong>La clase Geocodign</strong></p>
<p>Esta clase cuenta con tres métodos (GetXml, GetData, ChangeUrl)</p>
<p>El método <strong>GetXml</strong> nos regresa los datos en formato XML y lo guarda en un archivo, el XML es lo que nos manda el googlemaps.</p>
<p>El método <strong>GetData</strong> nos regresa un Hashtable con los datos dirección (address), longitud (longitude), latitud (latitude). Estos datos los extraemos del arhivo XML que se guarda con el GetXml.</p>
<p>El método <strong>ChangeUrl</strong> lo utilizamos para reemplazar los espaciós en blanco de la dirección a geolocalizar, por ejemplo &#8220;dirección a geolocalizar&#8221; por &#8220;dirección%20a%20geolocalizar&#8221;.</p>
<p>Usings</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Net</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Xml</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Xml.XPath</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Windows.Forms</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections</span><span style="color: #008000;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">class</span> Geocoding
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> fileName <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;datosxml.xml&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">void</span> GetXml<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> address<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #0600FF;">try</span>
            <span style="color: #000000;">&#123;</span>
                <span style="color: #FF0000;">string</span> url <span style="color: #008000;">=</span> <span style="color: #FF0000;">String</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{0}&quot;</span>, address<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                url <span style="color: #008000;">=</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">ChangeUrl</span><span style="color: #000000;">&#40;</span>url<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #FF0000;">string</span> lcUrl <span style="color: #008000;">=</span> <span style="color: #FF0000;">String</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;http://maps.google.com/maps/geo?q={0}&amp;output=xml&amp;sensor=true_or_false&amp;key=your_api_key&quot;</span>, url<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                HttpWebRequest loHttp <span style="color: #008000;">=</span>
                <span style="color: #000000;">&#40;</span>HttpWebRequest<span style="color: #000000;">&#41;</span>WebRequest.<span style="color: #0000FF;">Create</span><span style="color: #000000;">&#40;</span>lcUrl<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                loHttp.<span style="color: #0000FF;">Timeout</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">30000</span><span style="color: #008000;">;</span>     <span style="color: #008080; font-style: italic;">// 30 secs</span>
                loHttp.<span style="color: #0000FF;">UserAgent</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;Code Sample Web Client&quot;</span><span style="color: #008000;">;</span>
                HttpWebResponse loWebResponse <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>HttpWebResponse<span style="color: #000000;">&#41;</span>loHttp.<span style="color: #0000FF;">GetResponse</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                Encoding enc <span style="color: #008000;">=</span> Encoding.<span style="color: #0000FF;">GetEncoding</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">1252</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>  <span style="color: #008080; font-style: italic;">// Windows default Code Page</span>
                StreamReader loResponseStream <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamReader<span style="color: #000000;">&#40;</span>loWebResponse.<span style="color: #0000FF;">GetResponseStream</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>, enc<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #FF0000;">string</span> lcHtml <span style="color: #008000;">=</span> loResponseStream.<span style="color: #0000FF;">ReadToEnd</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                StreamWriter sw <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> StreamWriter<span style="color: #000000;">&#40;</span>fileName, <span style="color: #0600FF;">false</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                sw.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span>lcHtml<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                sw.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                loWebResponse.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                loResponseStream.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">catch</span> <span style="color: #000000;">&#40;</span>Exception ex<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
                MessageBox.<span style="color: #0000FF;">Show</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;Error &quot;</span> <span style="color: #008000;">+</span> ex.<span style="color: #0000FF;">Message</span>, <span style="color: #666666;">&quot;Error&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> Hashtable GetData<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            Hashtable data <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Hashtable<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            XPathDocument doc <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> XPathDocument<span style="color: #000000;">&#40;</span>fileName<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> namespaceUri <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;http://earth.google.com/kml/2.0&quot;</span><span style="color: #008000;">;</span>
            XmlNamespaceManager ns <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> XmlNamespaceManager<span style="color: #000000;">&#40;</span><span style="color: #008000;">new</span> NameTable<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            XPathNavigator nav <span style="color: #008000;">=</span> doc.<span style="color: #0000FF;">CreateNavigator</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            ns.<span style="color: #0000FF;">AddNamespace</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;bz&quot;</span>, namespaceUri<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> query <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;bz:kml/bz:Response/bz:Placemark/bz:Point/bz:coordinates&quot;</span><span style="color: #008000;">;</span>
            XPathNodeIterator iter <span style="color: #008000;">=</span> nav.<span style="color: #0000FF;">Select</span><span style="color: #000000;">&#40;</span>query, ns<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> coordinates <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>iter.<span style="color: #0000FF;">MoveNext</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">?</span> iter.<span style="color: #0000FF;">Current</span>.<span style="color: #0000FF;">Value</span> <span style="color: #008000;">:</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
&nbsp;
            query <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;bz:kml/bz:Response/bz:Placemark/bz:address&quot;</span><span style="color: #008000;">;</span>
            iter <span style="color: #008000;">=</span> nav.<span style="color: #0000FF;">Select</span><span style="color: #000000;">&#40;</span>query, ns<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> address <span style="color: #008000;">=</span> <span style="color: #000000;">&#40;</span>iter.<span style="color: #0000FF;">MoveNext</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span> <span style="color: #008000;">?</span> iter.<span style="color: #0000FF;">Current</span>.<span style="color: #0000FF;">Value</span> <span style="color: #008000;">:</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #FF0000;">string</span> lon <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
            <span style="color: #FF0000;">string</span> lat <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>coordinates.<span style="color: #0000FF;">Split</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Length</span> <span style="color: #008000;">==</span> <span style="color: #FF0000;">3</span><span style="color: #000000;">&#41;</span>
            <span style="color: #000000;">&#123;</span>
                lon <span style="color: #008000;">=</span> coordinates.<span style="color: #0000FF;">Split</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">0</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                lat <span style="color: #008000;">=</span> coordinates.<span style="color: #0000FF;">Split</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">','</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#91;</span><span style="color: #FF0000;">1</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;longitude&quot;</span>,lon<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;latitude&quot;</span>, lat<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;address&quot;</span>, address<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">else</span>
            <span style="color: #000000;">&#123;</span>
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;longitude&quot;</span>, lon<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;latitude&quot;</span>, lat<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
                data.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;address&quot;</span>, address<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            <span style="color: #0600FF;">return</span> data<span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> ChangeUrl<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> address<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            address <span style="color: #008000;">=</span> address.<span style="color: #0000FF;">Replace</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;#&quot;</span>, <span style="color: #666666;">&quot;&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            address <span style="color: #008000;">=</span> address.<span style="color: #0000FF;">Replace</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot; &quot;</span>, <span style="color: #666666;">&quot;%20&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">return</span> address<span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span></pre></div></div>

<p><strong>La clase Point</strong></p>
<p>Esta clase cuenta con los atributos Address, Longitude y Latitude con sus respectivos métodos get y set.</p>
<p>Usings</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #FF0000;">class</span> Point
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> longitude<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> latitude<span style="color: #008000;">;</span>
        <span style="color: #0600FF;">private</span> <span style="color: #FF0000;">string</span> address<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">string</span> Address
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">address</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            set
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">address</span> <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">string</span> Longitude
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">longitude</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            set
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">longitude</span> <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">string</span> Latitude
        <span style="color: #000000;">&#123;</span>
            get
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">return</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">latitude</span><span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
            set
            <span style="color: #000000;">&#123;</span>
                <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">latitude</span> <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span>
            <span style="color: #000000;">&#125;</span>
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span></pre></div></div>

<p><strong>La clase Principal </strong></p>
<p>Para nuestro caso la clase principal es la de nuestro formulario, donde tendremos dos textbox (txtaddress y txtdata), en el txtaddress pondremos la dirección a geolocalizar y en el txtdata obtendremos nuestros datos, también tendremos un boton (btngeocoding) con el cual daremos la acción para realizar la geolocalización.</p>
<div id="attachment_1732" class="wp-caption aligncenter" style="width: 609px"><a rel="attachment wp-att-1732" href="http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/geolocal/"><img class="size-full wp-image-1732" title="geolocal" src="http://www.ubicuos.com/wp-content/uploads/2010/07/geolocal.png" alt="" width="599" height="318" /></a><p class="wp-caption-text">Formulario principal</p></div>
<p>El código del botón es el siguiente</p>
<p>Usings</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.ComponentModel</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Data</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Drawing</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Text</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Windows.Forms</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Xml</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.Xml.XPath</span><span style="color: #008000;">;</span>
<span style="color: #0600FF;">using</span> <span style="color: #008080;">System.IO</span><span style="color: #008000;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">        <span style="color: #0600FF;">private</span> <span style="color: #0600FF;">void</span> btngeocoding_Click<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">object</span> sender, EventArgs e<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #FF0000;">string</span> address <span style="color: #008000;">=</span> <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtaddress</span>.<span style="color: #0000FF;">Text</span><span style="color: #008000;">;</span>
            Geocoding geocodign <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Geocoding<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Point point <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Point<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            geocodign.<span style="color: #0000FF;">GetXml</span><span style="color: #000000;">&#40;</span>address<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            Hashtable data <span style="color: #008000;">=</span> geocodign.<span style="color: #0000FF;">GetData</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            point.<span style="color: #0000FF;">Address</span> <span style="color: #008000;">=</span> data<span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;address&quot;</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            point.<span style="color: #0000FF;">Longitude</span> <span style="color: #008000;">=</span> data<span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;longitude&quot;</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            point.<span style="color: #0000FF;">Latitude</span> <span style="color: #008000;">=</span> data<span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;latitude&quot;</span><span style="color: #000000;">&#93;</span>.<span style="color: #0000FF;">ToString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Clear</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">String</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{0}Dirección= {1} <span style="color: #008080; font-weight: bold;">\r</span><span style="color: #008080; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span>, point.<span style="color: #0000FF;">Address</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">String</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{0}Longitud= {1} <span style="color: #008080; font-weight: bold;">\r</span><span style="color: #008080; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span>, point.<span style="color: #0000FF;">Longitude</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">String</span>.<span style="color: #0000FF;">Format</span><span style="color: #000000;">&#40;</span><span style="color: #666666;">&quot;{0}Latitud= {1} <span style="color: #008080; font-weight: bold;">\r</span><span style="color: #008080; font-weight: bold;">\n</span>&quot;</span>, <span style="color: #0600FF;">this</span>.<span style="color: #0000FF;">txtdata</span>.<span style="color: #0000FF;">Text</span>, point.<span style="color: #0000FF;">Latitude</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #000000;">&#125;</span></pre></div></div>

<p>Ejemplo:</p>
<div id="attachment_1733" class="wp-caption aligncenter" style="width: 609px"><a rel="attachment wp-att-1733" href="http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/geolocalexample/"><img class="size-full wp-image-1733" title="geolocalexample" src="http://www.ubicuos.com/wp-content/uploads/2010/07/geolocalexample.png" alt="" width="599" height="318" /></a><p class="wp-caption-text">Ejemplo</p></div>
<p>Espero sea de grán ayuda!  Dudas ó sugerencias, no duden en hacerlas llegar.  Estamos para servir.. Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/19/geolocalizar-con-csharp-y-googlemaps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Replicación de una Base De Datos usando MySql en Windows y Linux</title>
		<link>http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/</link>
		<comments>http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 03:44:15 +0000</pubDate>
		<dc:creator>Lisandro Vergara Diaz</dc:creator>
				<category><![CDATA[Empresas]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Ubicuos]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1632</guid>
		<description><![CDATA[Para la replicación de base de datos se necesitan un Maestro y uno o varios esclavos según sea el caso. Para esta práctica se necesita: Mínimo 2 computadoras conectadas en red Tener instalado el gestor de bases de datos MySql Agregar al path la carpeta Bin de MySql si este no fue marcado en la [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F16%2Freplicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F16%2Freplicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Para la replicación de base de datos se necesitan un Maestro y uno o varios esclavos según sea el caso.</p>
<h2>Para esta práctica se necesita:</h2>
<ul>
<li>Mínimo 2 computadoras conectadas en red</li>
<li>Tener instalado el gestor de bases de datos MySql</li>
<li>Agregar al path la carpeta Bin de MySql si este no fue marcado en la instalación</li>
<li>Tener permisos de ROOT</li>
</ul>
<h2>Empezamos Configurando el Maestro:</h2>
<ol>
<li>
<h3>Buscar y abrir el archivo My.cnf (My.ini en sistemas Windows)</h3>
</li>
<p>En Windows se encuentra en: c:\Archivos de Programa\MySQL\MySQL Server 5.1\<br />
En Sistemas Linux se encuentra: /etc/my.cnf</p>
<li>
<h3>Buscar y comentar las siguientes lineas si es que se encuentran:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;"> #skip-networking
#bind-address = 127.0.0.1</pre></div></div>

<li>
<h3>Agregar despues de la linea [mysqld] lo siguiente:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">log-bin =mysql-bin.log
binlog-do-db=nombre_base_de_datos
server-id=1</pre></div></div>

<h3>Nota:</h3>
<p>El server-id en el servidor siempre será 1, y los esclavos serán 2, 3… n según sea el caso en binlog-do-db se pone el nombre de la base de datos que replicara despues de signo = .</p>
<p style="text-align: center"><a rel="attachment wp-att-1633" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/1-7/"><img class="size-medium wp-image-1633 aligncenter" src="http://www.ubicuos.com/wp-content/uploads/2010/07/1-300x104.png" alt="" width="350" height="130" /></a></p>
<li>
<h3>Entramos a los servicios en Windows y reiniciamos el servicio de MySql (omitir este paso en sistemas Linux)</h3>
</li>
<li>
<h3>Entramos en MySql escribiendo en la linea de comandos lo siguiente:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;">mysql <span style="color: #CC0099;">-</span>u root <span style="color: #CC0099;">-</span>p</pre></div></div>

<li>
<h3>Ahora en el shell de mysql escribir:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">GRANT</span> REPLICATION SLAVE <span style="color: #990099; font-weight: bold;">ON</span> <span style="color: #CC0099;">*</span>.<span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">TO</span> <span style="color: #008000;">'slave1'</span>@<span style="color: #008000;">'<span style="color: #008080; font-weight: bold;">%</span>'</span> IDENTIFIED BY
<span style="color: #008000;">'password'</span><span style="color: #000033;">;</span>
FLUSH <span style="color: #990099; font-weight: bold;">PRIVILEGES</span><span style="color: #000033;">;</span></pre></div></div>

<h3>Nota:</h3>
<p>En password pondra la contraseña que quiera ponerle al master en slave1 se está agregando el primer esclavo el usuario será en este caso Slave1, si se agrega un segundo esclavo sería Slave2 y así sucesivamente.</p>
<p><a rel="attachment wp-att-1634" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/4-4/"><img class="aligncenter size-full wp-image-1634" src="http://www.ubicuos.com/wp-content/uploads/2010/07/4.png" alt="" width="637" height="205" /></a></p>
<li>
<h3>Una vez esto seleccione la base de datos a replicar y realice lo siguiente:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">USE</span> nombre_base_datos<span style="color: #000033;">;</span>
FLUSH <span style="color: #990099; font-weight: bold;">TABLES</span> <span style="color: #990099; font-weight: bold;">WITH</span> <span style="color: #990099; font-weight: bold;">READ</span> <span style="color: #990099; font-weight: bold;">LOCK</span><span style="color: #000033;">;</span>
<span style="color: #990099; font-weight: bold;">SHOW</span> MASTER <span style="color: #990099; font-weight: bold;">STATUS</span><span style="color: #000033;">;</span></pre></div></div>

<p>Después de esto el gestor mostrará lo siguiente:</p>
<p><a rel="attachment wp-att-1635" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/5-6/"><img class="aligncenter size-full wp-image-1635" src="http://www.ubicuos.com/wp-content/uploads/2010/07/5.png" alt="" width="537" height="180" /></a></p>
<li>
<h3>Salir de MySql utilizando el comando quit o exit</h3>
</li>
<li>
<h3>Ahora haremos un Backup de la Base de Datos que se encuentra en el Maestro para tener el mismo esquema y datos en los esclavos, para hacer eso escribimos en la terminal o en el cmd:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">mysqldump -u root -p --opt nombre_base_de_datos &amp;gt; nombre_base_de_datos.sql</pre></div></div>

<li>
<h3>Finalmente desbloqueamos las tablas de la base de Datos</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p
<span style="color: #993333; font-weight: bold;">UNLOCK</span> <span style="color: #993333; font-weight: bold;">TABLES</span>;
quit;</pre></div></div>

<p><a rel="attachment wp-att-1636" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/7-6/"><img class="aligncenter size-full wp-image-1636" src="http://www.ubicuos.com/wp-content/uploads/2010/07/7.png" alt="" width="638" height="181" /></a></ol>
<h2>Ahora vamos a configurar  el Esclavo</h2>
<ol>
<li>
<h3>Como primer paso hay que crear la base de datos que queremos replicar:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;">mysql <span style="color: #CC0099;">-</span>u root <span style="color: #CC0099;">-</span>p
<span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">DATABASE</span> base_de_datos<span style="color: #000033;">;</span>
quit<span style="color: #000033;">;</span></pre></div></div>

<h3>Nota:</h3>
<p>Antes de continuar es necesario que donde hicimos el respaldo o backup de la base de datos en el master copiemos el archivo .sql que se genero y lo peguemos en la maquina que funcionara como esclavo en la unidad c:\.</p>
<li>
<h3>Una vez que salimos del gestor escribimos el siguiente comando para copiar la base de datos del archivo que generamos:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p  nombre_base_de_datos &amp;lt; c:\nombre_base_de_datos<span style="color: #66cc66;">.</span>sql</pre></div></div>

<p><a rel="attachment wp-att-1637" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/2-5/"><img class="aligncenter size-full wp-image-1637" src="http://www.ubicuos.com/wp-content/uploads/2010/07/2.png" alt="" width="638" height="229" /></a></p>
<li>
<h3>Buscamos el archivo My.cnf (en caso de windows My.ini) y despues del [mysqld]<br />
agregamos lo siguiente:</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">server-id=2
master-host=Dirección ip del maestro
master-user=slave1
master-password=password
master-connect-retry=60
replicate-do-db=nombre_base_de_datos</pre></div></div>

<p><a rel="attachment wp-att-1638" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/3-5/"><img class="aligncenter size-full wp-image-1638" src="http://www.ubicuos.com/wp-content/uploads/2010/07/3.png" alt="" width="567" height="165" /></a></p>
<li>
<h3>Reiniciamos el servicio de MySql (omitir este paso en sistemas Linux)</h3>
</li>
<li>
<h3>Finalmente entramos a MySql y detenemos el esclavo</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;">mysql <span style="color: #66cc66;">-</span>u root <span style="color: #66cc66;">-</span>p
SLAVE STOP;</pre></div></div>

<li>
<h3>Una vez que se detuvo el esclavo escribimos lo siguiente con el fin de actualizar la tabla que utiliza el esclavo para replicar</h3>
</li>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">CHANGE</span> MASTER <span style="color: #993333; font-weight: bold;">TO</span> MASTER_HOST<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'ip_del_master'</span><span style="color: #66cc66;">,</span>
MASTER_USER<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'slave1'</span><span style="color: #66cc66;">,</span> MASTER_PASSWORD<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'clave_del_master'</span><span style="color: #66cc66;">,</span>
MASTER_LOG_FILE<span style="color: #66cc66;">=</span><span style="color: #ff0000;">'mysql-bin.006'</span><span style="color: #66cc66;">,</span> MASTER_LOG_POS<span style="color: #66cc66;">=</span><span style="color: #cc66cc;">183</span>;</pre></div></div>

<h3>Nota:</h3>
<p>En MASTER_LOG_POS va la posicion que nos marco cuando ejecutamos SHOW MASTER STATUS  en el paso 7 de la configuracion del master.</p>
<li>
<h3>Finalmente escribimos START SLAVE</h3>
</li>
</ol>
<p><a rel="attachment wp-att-1639" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/6-6/"><img class="aligncenter size-full wp-image-1639" src="http://www.ubicuos.com/wp-content/uploads/2010/07/6.png" alt="" width="639" height="265" /></a></p>
<p>Si todo salio bien no queda mas que probar<br />
En el Master vamos insertar un dato en la tabla de nuestra base de datos</p>
<p><a rel="attachment wp-att-1640" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/8-5/"><img class="aligncenter size-full wp-image-1640" src="http://www.ubicuos.com/wp-content/uploads/2010/07/8.png" alt="" width="535" height="109" /></a></p>
<p>En el esclavo hacemos una consulta para verificar que todo salió bien en caso contrario hay que verificar los pasos</p>
<p><a rel="attachment wp-att-1641" href="http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/10-4/"><img class="aligncenter size-full wp-image-1641" src="http://www.ubicuos.com/wp-content/uploads/2010/07/10.png" alt="" width="636" height="167" /></a></p>
<p>
Como vemos en la imagen anterior al hacer la consulta tenemos nuestro nuevo dato en la tabla<br />
<b>Con esto damos por concluido este tutorial cualquier duda o sugerencia estamos para servirles<b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/16/replicacion-de-una-base-de-datos-usando-mysql-en-windows-y-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalacion y Configuracion de Gnokii con Telefono Nokia 5610 y cable CA-101</title>
		<link>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/</link>
		<comments>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:35:30 +0000</pubDate>
		<dc:creator>Lisandro Vergara Diaz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Ubicuos]]></category>
		<category><![CDATA[gnokii]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1497</guid>
		<description><![CDATA[Para instalar Gnokii en nuestro servidor usamos el administrador de paquetes apt con la siguiente linea: apt-get install gnokii Si estamos sobre Ubuntu recuerden anteponer la linea sudo Una vez instalado Gnokii tenemos que configurarlo, el primer paso es  entrar a la carpeta etc  con la siguiente línea de comando: cd /etc Cuando estemos dentro [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F07%2Finstalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F07%2Finstalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Para instalar Gnokii en nuestro servidor usamos el administrador de paquetes apt con la siguiente linea: apt-get install gnokii Si estamos sobre Ubuntu recuerden anteponer la linea sudo</p>
<p>Una vez instalado Gnokii tenemos que configurarlo, el primer paso es  entrar a la carpeta etc  con la siguiente línea de comando: cd /etc<br />
Cuando estemos dentro de etc el siguiente paso será editar el archivo gnokiirc para esto utilizamos el siguiente comando: nano gnokiirc</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo1.png"><img class="aligncenter size-full wp-image-1498" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo1.png" alt="" width="329" height="145" /></a></p>
<p>Una vez que nos encontremos en el editor en la parte [global]  agregaremos las líneas correspondientes al tipo de cable que usa nuestro teléfono  en este caso quedara de la siguiente manera  (recuerda que esta configuración es para un Nokia 5610 que utiliza un cable tipo CA-101 para  ver las configuraciones de otro tipo de cables consulta <a href="http://wiki.gnokii.org/index.php/Cables">http://wiki.gnokii.org/index.php/Cables)</a></p>
<p>[global]<br />
model = AT<br />
port = /dev/ttyACM0<br />
connection = serial</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo3.png"><img class="aligncenter size-full wp-image-1499" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo3.png" alt="" width="666" height="492" /></a></p>
<p>Una vez que hayamos editado y guardado el archivo gnokiirc conectamos nuestro teléfono al equipo y elegimos la opción PC Suite y ejecutamos el siguiente comando: gnokii –identify</p>
<p>Una vez que hayamos editado y guardado el archivo gnokiirc conectamos nuestro teléfono al equipo y elegimos la opción PC Suite y ejecutamos el siguiente comando: gnokii –identify<br />
Nos tendrá que mostrar  todos los datos de nuestro teléfono</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo4.png"><img class="aligncenter size-full wp-image-1500" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo4.png" alt="" width="355" height="293" /></a></p>
<p>Nota: Por razones de seguridad edite la parte del IMEI</p>
<p>Ahora está configurado y listo para enviar mensajes</p>
<p>Para probar la funcionalidad del envió de mensajes la sentencia a ejecutar es la siguiente:</p>
<p>echo &#8220;Hola mundo&#8221; | gnokii –sendsms numerocelular</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo5.png"><img class="aligncenter size-full wp-image-1501" src="http://www.ubicuos.com/wp-content/uploads/2010/06/Pantallazo5.png" alt="" width="787" height="286" /></a></p>
<p>Nota: por razones de seguridad he editado la pare correspondiente al numero telefónico</p>
<p>Una vez que se halla enviando el mensaje correctamente aparecerá un mensaje de que todo ha salido bien en caso contrario nos mostrara el mensaje failed</p>
<p>con esto damos por concluido este tutorial , cualquier duda o sugerencia estamos para ayudarles</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/07/instalacion-y-configuracion-de-gnokii-con-telefono-nokia-5610-y-cable-ca-101/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalación de Processing en Mac OS X</title>
		<link>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/</link>
		<comments>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 04:50:01 +0000</pubDate>
		<dc:creator>Luis Alfredo</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[árbol]]></category>
		<category><![CDATA[evolutivo]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[recursividad]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1541</guid>
		<description><![CDATA[La instalación de Processing es muy sencilla si se cuanta con los materiales necesarios, solo es cuestión de seguir unos simples pasos: Paso 1: Descargar Processing Descargamos el Processing de la pagina oficial y nos aseguramos que sea la versión para Mac OS X http://www.processing.org/download/, y se guarda donde sea mas conveniente. Paso 2: Ejecutar [...]]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F05%2Finstalacion-de-processing-en-mac-os-x%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F07%2F05%2Finstalacion-de-processing-en-mac-os-x%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1547" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/processing_cover/"><img class="aligncenter size-full wp-image-1547" src="http://www.ubicuos.com/wp-content/uploads/2010/07/processing_cover.gif" alt="" width="500" height="80" /></a></p>
<p>La instalación de <strong>Processing</strong> es muy sencilla si se cuanta con los materiales necesarios, solo es cuestión de seguir unos simples pasos:<br />
<strong></strong></p>
<h3>Paso 1: Descargar Processing</h3>
<p>Descargamos el Processing de la pagina oficial y nos aseguramos que sea la versión para <strong>Mac OS X </strong><a href="http://www.processing.org/download/">http://www.processing.org/download/</a>, y se guarda donde sea mas conveniente.</p>
<h3>Paso 2: Ejecutar el Archivo Descargado</h3>
<p>Cuando la descarga se complete ejecutamos el archivo .dmg y aparecerá una ventana como la siguiente.<br />
<a rel="attachment wp-att-1545" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/captura-de-pantalla-2010-07-05-a-las-21-40-48-2/"><img class="aligncenter size-medium wp-image-1545" src="http://www.ubicuos.com/wp-content/uploads/2010/07/Captura-de-pantalla-2010-07-05-a-las-21.40.481-300x221.png" alt="" width="300" height="221" /></a></p>
<h3>Paso 3: Instalación en Mac OS X</h3>
<p>Arrastramos el icono de <strong>Processing</strong> encima de la carpeta Aplicaciones, cuando esta se habrá soltamos el icono dentro y esperamos que termine de copiarse.<br />
<a rel="attachment wp-att-1546" href="http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/xxx/"><img class="aligncenter size-medium wp-image-1546" src="http://www.ubicuos.com/wp-content/uploads/2010/07/xxx-300x194.png" alt="" width="300" height="194" /></a></p>
<h3>Paso 4: Final de la Instalación</h3>
<p>Una vez hecho lo anterior desmontamos el archivo .dmg, con clic derecho expulsar,  luego nos dirigimos a  nuestra carpeta de aplicaciones y ejecutamos el <strong>Processing</strong>.</p>
<h3>Nota:</h3>
<p>Lo que se utilizo para este tutoríal fue el <strong>Processing</strong> 1.0 y una <strong>MacBook Pro</strong> con <strong>Mac Os X</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/07/05/instalacion-de-processing-en-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instalar Geoserver en Ubuntu</title>
		<link>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/</link>
		<comments>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 23:23:11 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[geoserver]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1514</guid>
		<description><![CDATA[Geoserver es un servidor desarrollado con software libre que implementa estándares abiertos los cuales permiten publicar y editar datos espaciales.]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F27%2Finstalar-geoserver-en-ubuntu%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F27%2Finstalar-geoserver-en-ubuntu%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-1522" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/logo/"><img class="alignnone size-full wp-image-1522" title="logo" src="http://www.ubicuos.com/wp-content/uploads/2010/06/logo.png" alt="" width="365" height="118" /></a></p>
<p>La instalación de geoserver resulta relativamente fácil, solo hay que seguir unos cuantos sencillos pasos para lograrlo.</p>
<p><strong>Paso 1: Descargar Geoserver</strong></p>
<p>Nos descargamos el geoserver del siguiente enlace:<a href="http://sourceforge.net/projects/geoserver/files/"> http://sourceforge.net/projects/geoserver/files/</a> y lo guardamos donde nosotros queramos.<span id="more-1514"></span></p>
<p><strong>Paso 2: Descomprimir el archivo</strong></p>
<p>Descomprimimos el archivo con el comando<em><strong> unzip</strong></em> en este caso el archivo lo tenemos guardado en la capeta de <em><strong>Descargas</strong></em>.</p>
<div id="attachment_1515" class="wp-caption aligncenter" style="width: 686px"><a rel="attachment wp-att-1515" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/unzip/"><img class="size-full wp-image-1515" title="unzip" src="http://www.ubicuos.com/wp-content/uploads/2010/06/unzip.png" alt="" width="676" height="135" /></a><p class="wp-caption-text">Descomprimir el archivo</p></div>
<p><strong>Paso 3: Copiar el Geoserver</strong></p>
<p>Antes de copiar el geoserver, necesitamos logearnos como &#8220;root&#8221; para poder tener los permisos necesarios para hacerlo. Seguido de esto copiaremos nuestra carpeta extraída de geoserver a la dirección <strong>/usr/local/</strong>.</p>
<div id="attachment_1516" class="wp-caption aligncenter" style="width: 702px"><a rel="attachment wp-att-1516" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/copy/"><img class="size-full wp-image-1516" title="copy" src="http://www.ubicuos.com/wp-content/uploads/2010/06/copy.png" alt="" width="692" height="118" /></a><p class="wp-caption-text">Copiar la carpeta de Geoserver</p></div>
<p><strong>Paso 4: Agregar variables</strong></p>
<p>Antes de ejecutar nuestro geoserver, es necesario establecer dos variables (JAVA_HOME y GEOSERVER_HOME), normalmente hay que definirlas siempre que queramos ejecutar el programa, para evitarnos esta molestia, la vamos a definir para que cuando cargue nuestro sistema se inicialicen.</p>
<p>En modo &#8220;root&#8221; abrimos el archivo <strong>.bashrc</strong> ubicado en nuestra carpeta personal, y agregamos las siguientes lineas.</p>
<pre><strong>export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.20/jre
export GEOSERVER_HOME=/usr/local/geoserver-2.0.1</strong>
</pre>
<p>Donde JAVA_HOME es la ruta donde tenemos instalado<strong> java</strong> (recordemos que geoserver trabaja con java) y GEOSERVER_HOME es la ruta donde tenemos instalado el geoserver.</p>
<div id="attachment_1517" class="wp-caption aligncenter" style="width: 702px"><a rel="attachment wp-att-1517" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/gedit/"><img class="size-full wp-image-1517" title="gedit" src="http://www.ubicuos.com/wp-content/uploads/2010/06/gedit.png" alt="" width="692" height="118" /></a><p class="wp-caption-text">Abriendo el archivo .bashrc</p></div>
<div id="attachment_1518" class="wp-caption aligncenter" style="width: 660px"><a rel="attachment wp-att-1518" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/bashrc/"><img class="size-full wp-image-1518" title="bashrc" src="http://www.ubicuos.com/wp-content/uploads/2010/06/bashrc.png" alt="" width="650" height="321" /></a><p class="wp-caption-text">Añadiendo variables al .bashrc</p></div>
<p><strong>Paso 5: Ejecutar el programa</strong></p>
<p>Una vez agregadas las variables, procedemos a ejecutar el geoserver, nos dirigimos a la carpeta donde lo instalamos, acedemos a la carpeta <strong>/bin</strong> y ejecutamos el archivo <strong>startup.sh</strong> (recuerden que todo en modo &#8220;root&#8221;).</p>
<div id="attachment_1519" class="wp-caption aligncenter" style="width: 678px"><a rel="attachment wp-att-1519" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/startup/"><img class="size-full wp-image-1519" title="startup" src="http://www.ubicuos.com/wp-content/uploads/2010/06/startup.png" alt="" width="668" height="322" /></a><p class="wp-caption-text">Iniciando Geoserver</p></div>
<div id="attachment_1520" class="wp-caption aligncenter" style="width: 678px"><a rel="attachment wp-att-1520" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/runing/"><img class="size-full wp-image-1520" title="runing" src="http://www.ubicuos.com/wp-content/uploads/2010/06/runing.png" alt="" width="668" height="322" /></a><p class="wp-caption-text">Iniciando Geoserver</p></div>
<p>Una vez iniciado Geoserver, abrimos nuestro navegador y accedemos a la dirección <a href="http://localhost:8080/geoserver/web/">http://localhost:8080/geoserver/web/</a></p>
<div id="attachment_1521" class="wp-caption aligncenter" style="width: 696px"><a rel="attachment wp-att-1521" href="http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/welcome/"><img class="size-full wp-image-1521" title="welcome" src="http://www.ubicuos.com/wp-content/uploads/2010/06/welcome.png" alt="" width="686" height="389" /></a><p class="wp-caption-text">Página principal de Geoserver</p></div>
<p>Listo!! tenemos instalado Geoserver en Ubuntu!</p>
<p><em>Nota: para este tutoríal se utilizó Geoserver2.0.1 y Ubuntu9.10.</em></p>
<p>Dudas, comentarios o sugerencias estamos para servirte, espero les sea de gran ayuda!!</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/06/27/instalar-geoserver-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cómo instalar MySQL Server 6.0 Alpha en Windows XP</title>
		<link>http://www.ubicuos.com/2010/06/06/como-instalar-mysql-server-6-0-alpha-en-windows-xp/</link>
		<comments>http://www.ubicuos.com/2010/06/06/como-instalar-mysql-server-6-0-alpha-en-windows-xp/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 20:52:11 +0000</pubDate>
		<dc:creator>henryubuntu</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1353</guid>
		<description><![CDATA[Explica como instalar mysql 4.0.13]]></description>
			<content:encoded><![CDATA[<div align="left" style="padding: 0px 5px 5px 0px; clear: left; float: left;"><a name="fb_share" type="button_count" share_url="http://www.ubicuos.com/2010/06/06/como-instalar-mysql-server-6-0-alpha-en-windows-xp/"></a></div><div class="tweetmeme_button" style="float: left; margin-left: 10px;width:90px">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F06%2Fcomo-instalar-mysql-server-6-0-alpha-en-windows-xp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F06%2F06%2Fcomo-instalar-mysql-server-6-0-alpha-en-windows-xp%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h1>Instalación MySQL Server 6.0</h1>
<p><span>Esta nueva versión incluye muchas mejoras respecto a las anteriores, por ello  hemos decidido instalarla y probarla. También utilizamos <strong>MySQL  Administrator</strong> y <strong>MySQL Query Browser</strong> para crear nuevos  esquemas, catálogos y nuevas tablas.</span></p>
<p><span>En primer lugar descargaremos el programa de instalación de  MySQL Server 6.0 Alpha, disponible gratuitamente en la URL:</span></p>
<p><span><em>http://dev.mysql.com/downloads/mysql/6.0.html#win32</em></span></p>
<p><span>Ejecutaremos el fichero  <em>mysql-essential-6.0.0-alpha-win32.msi</em>, si hemos descargado el fichero  <em>mysql-6.0.4-alpha-win32.zip</em>, lo descomprimiremos y ejecutaremos el  fichero <em>Setup.exe</em>. Puede que aparezca una ventana de Advertencia de  seguridad de Windows, de ser así pulsaremos en el botón &#8220;Ejecutar&#8221;</span></p>
<p><span id="more-1353"></span></p>
<p><span>Se iniciará el asistente de instalación de MySQL Server 6.0,  pulsaremos &#8220;Next&#8221; para iniciar el asistente de instalación.</span></p>
<p><span>Seleccionaremos el tipo de instalación en la ventana &#8220;Setup Type&#8221;, en nuestro  caso marcaremos la opción &#8220;Custom&#8221; (choose which program features you want  installed and where they will be installed. Recommended for advanced users),  mediante esta opción podremos seleccionar los componentes que queramos instalar</span></p>
<p><span>En nuestro caso marcaremos todo salvo &#8220;C Include Files / Lib Files&#8221;, esta opción  instala las librerias necesarias para el acceso a MySQL mediante C++</span></p>
<p><span>Antes de iniciarse la instalación nos mostrará una ventana   con el resumen de las opciones seleccionadas &#8220;Ready to Install the Program&#8221;.  Pulsaremos &#8220;Install&#8221; para iniciar el proceso de instalación</span></p>
<p><span>Tras la instalación nos mostrará una ventana de &#8220;publicidad&#8221; de algunos de las  aplicaciones de MySQL Enterprise, como MySQL Enterprise Server, MySQL Monitoring  and Advisory Service y MySQL Production Support, pulsaremos &#8220;Next&#8221; para  continuar</span></p>
<p><span>Otra ventana de publicidad de MySQL Monitoring and Advisory Service, pulsaremos  &#8220;Next&#8221; para continuar</span></p>
<p><span>Tras la instalación aparecerá el asistente de configuración de MySQL Server, la  configuración podremos realizarla en otro momento, en nuestro caso  aprovecharemos la instalación para configurar MySQL Server, así pues marcaremos  la opción &#8220;Configure the MySQL Server now&#8221; y pulsaremos &#8220;Finish&#8221;</span></p>
<p><span>Se iniciará el asistente de configuración de la instancia de MySQL Server  (&#8220;MySQL Server Instante Configuration Wizard 1.0.8&#8243;). Pulsaremos &#8220;Next&#8221; para  continuar</span></p>
<p><span>Podremos selecionar la opción &#8220;Standard Configuration&#8221; que nos pedirá menos  parámetros de configuración, aunque es menos configurable. En nuestro caso  marcaremos &#8220;Detailed Configuration&#8221; (&#8220;Choose this configuration type to create  the optimal server setup for this machine&#8221;). Esta opción nos pedirá más  parámetros de configuración, por lo que podremos ajustar más la configuración de  MySQL Server 6.0 a nuestras necesidades</span></p>
<p><span>En primer lugar indicaremos el tipo de servidor de MySQL  Server, según para el uso que queramos darle:</span></p>
<ul><span></p>
<li>
<div><strong>Developer Machine</strong>: este tipo de uso del  servidor de MySQL Server se utiliza como testeo y desarrollo de aplicaciones que  utilicen MySQL Server. Se creará la instancia de MySQL Server consumiendo los  mínimos requisitos posibles. Esto es útil sólo para servidores de bases de datos  de pruebas, no es recomendable para servidores de MySQL Server en producción con  conexión de varios usuarios a la vez.</div>
</li>
<li>
<div><strong>Server Machine</strong>: este modo de uso de MySQL  Server se usa en situaciones de necesidades &#8220;medias&#8221;, sirve para pruebas y para  el uso de varios usuarios conectados a la vez (no más de 10, aunque esto depende  del volumen de transacciones que se necesiten). Con este modo SQL Server  necesitará un uso de memoria medio, más alto que el anterior tipo y más bajo que  el siguiente.</div>
</li>
<li>
<div><strong>Dedicated MySQL Server Machine</strong>: este tipo de  instalación sólo es recomendable cuando el servidor donde se instala va a ser un  servidor dedicado, es decir, cuando el equipo sólo servirá como servidor de  bases de datos MySQL Server. Así pues, en este caso, MySQL Server utilizará toda  la memoria disponible.</div>
</li>
<p></span></ul>
<p><span>En nuestro caso, puesto que MySQL Server sólo lo utilizaremos  para pruebas y desarrollo de aplicaciones, marcaremos la opción &#8220;Developer  Machine&#8221; y pulsaremos &#8220;Next&#8221; para continuar</span></p>
<p><span>A continuación deberemos indicar el tipo de transacciones que  se ejecutarán en el servidor de SQL Server:</span></p>
<ul><span></p>
<li><strong>Multifuncional Database</strong>: este tipo de configuración de la  instancia de SQL Server se usa para bases de datos de propósito general, sirve  para pruebas y para base de datos en producción. Se podrán utilizar tanto el  motor InnoDB (admite gestión de transacciónes, más lento que MyISAM) como el  motor MyISAM (no admite gestión de transacciones, más rápido que InnoDB. Esta  opción suele ser la más habitual, pues servirá para aplicaciónes que hagan  inserciones, modificaciones y consultas de datos.</li>
<li><strong>Transactional Database Only</strong>: este tipo de instancia de SQL  Server sólo sirve y está optimizada para realizar transacciones. Sólo admite  InnoDB, no admite MyISAM. Es recomendable sólo para aplicaciones con varios  usuarios concurrentes que puedan realizar eliminaciones, modificaciones e  inserciones de datos, pues habrá control de transacciones y de bloqueos. En  cambio no es recomendable para, por ejemplo, gestores de contenidos web como  PHP-Nuke ó PostNuke, pues éstos a penas permiten modificaciones e inserciones,  sólo para usuarios administradores, en cambio sí necesitan bastante velocudad en  la consulta.</li>
<li><strong>Non-Transactional Database Only</strong>: este tipo sólo admite el  motor MyISAM, por lo que sólo será útil para aplicaciones que no requieran de  transacciones (monitorización, logeo, aplicaciones web de consulta, análisis de  programas, etc).</li>
<p></span></ul>
<p><span>Lo más sencillo, para poder disponer de los dos motores: InnoDB  (transaccional) y MyISAM (no transaccional), marcaremos &#8220;Multifuncional  Database&#8221;, de esta forma, al crear las tablas en MySQL Server, podremos indicar  el tipo de motor (engine) a utilizar</span></p>
<p><span>A continuación indicaremos la ruta donde se ubicarán los  ficheros de la base e datos (datafiles), si es una base de datos en producción  que tendrá muchos usuarios conectados concurrentemente y con muchas  transacciones (modificaciones, inserciones, consultas), es recomendable que los  ficheros de datos se encuentren en un disco duro diferente del sistema operativo  y lo más rápido posible.</span></p>
<p><span>En nuestro caso, al tratarse de una base de datos de pruebas,  dejaremos el directorio de instalación por defecto. Pulsaremos &#8220;Next&#8221; para  continuar</span></p>
<p><span>A continuación indicaremos la configuración para el número de  usuarios concurrentes que estimaremos que atacarán nuestra base de datos MySQL  Server:</span></p>
<ul><span></p>
<li>Decision Support (DSS)/OLAP: esta opción es recomendable para unos 20  usuarios concurrentes (conectados a la base de datos a la vez).</li>
<li>Online Transaction Processing (OLTP): para unos 500 usuarios concurrentes.</li>
<li>Manual Setting: en esta opción podremos indicar al asistente de  configuración que configure MySQL Server para el número de usuarios que  indiquemos.</li>
<p></span></ul>
<p><span>En nuestro caso, puesto que sólo atacarán la base de datos de  MySQL Server unos 3 usuarios marcaremos la opción &#8220;Manual Setting&#8221; e  introduciremos en &#8220;Concurrent connections&#8221;: 3, pulsaremos &#8220;Next&#8221; para continuar</span></p>
<p><span>A continuación indicaremos al asistente si queremos permitir conexiones externas  (de otros equipos de la red) a nuestro servidor MySQL Server, para ello  marcaremos &#8220;Enable TCP/IP Networking&#8221;, también deberemos indicar el puerto que  utilizará MySQL Server, en &#8220;Port Number&#8221;, por defecto es el 3306. Aunque como se  puede observar, en nuestro caso lo hemos cambiado al 3307, pues el 3306 es usado  por MySQL Server 4.1. Pulsaremos &#8220;Next&#8221; para continuar</span></p>
<p><span>Si tenemos algún antivirus con cortafuegos o algún cortafuegos (firewall),  deberemos abrir el puerto 3306, el propio asistente de instalación realiza un  test para comprobar si el puerto indicado está abierto, por lo que si tenemos  algún cortafuegos, lo normal es que muestre una ventana de aviso. En nuestro  caso, puesto que tenemos ESET NOD32 Smat Security, nos muestra una ventana de  tráfico saliente, marcaremos &#8220;Recordar acción (crear regla)&#8221; y pulsaremos  &#8220;Permitir&#8221;. Si el antivirus o cortafuegos no aparece no olvidéis abrir el puerto  para permitir conexiones de otros equipos de la LAN o de Internet a nuestro  servidor MySQL Server</span></p>
<p><span>Indicaremos el juego de caracteres que se utilizará por defecto en MySQL Server,  en nuestro caso &#8220;Standard Character Set&#8221;, pulsaremos &#8220;Next&#8221; para continuar</span></p>
<p><span>A continuación podremos indicar si queremos que el asistente de configuración de  MySQL Server cree un servicio de Windows o un fichero de proceso por lotes  (.bat). Aquí podremos utilizar el método que más nos convenga para inicair MySQL  Server, cada uno tiene sus ventajas e inconvenientes. El más &#8220;profesional&#8221; es  &#8220;Install As Windows Service&#8221;, pues podremos indicar el modo de inicio: manual,  automático, etc. también podremos deshabilitarlo o reiniciarlo desde otras  aplicaciones en caso necesario. Si marcamos esta opción deberemos indicar el  nombre que se le dará al servicio en &#8220;Service Name&#8221;, en nuestro caso, puesto que  el nombre que aparece por defecto &#8220;MySQL&#8221; ya está siendo usado por MySQL Server  4.1, lo cambiaremos a &#8220;MySQL6&#8243;. Marcando la opción &#8220;Launch the MySQL Server  automatically&#8221; indicaremos que el servicio de MySQL Server 6 se inicie de forma  automática al iniciarse el sistema operativo. Si marcásemos la opción &#8220;Include  Bin Directory in Windows PATH&#8221; el asistente creará varios ficheros de proceso  por lotes (.bat), ejecutables, para iniciar, detener SQL Server 6, la carpeta  donde se creen será añadida a la variable de entorno PATH, para que se pueda  iniciar o detener MySQL Server desde cualquier carpeta en modo MS-DOS</span></p>
<p><span>Indicaremos también la contraseña para el superusuario root, que será el que  tenga acceso a todos los esquemas (schemas). Si marcamos la opción &#8220;Enable root  access from remote machines&#8221; indicaremos a MySQL Server que permita el acceso  desde otros equipos de la red (o Internet) mediante este superusuario. Si  marcamos la opción &#8220;Create An Anonymous Account&#8221; creará una cuenta anónima, por  lo que se permitirá el acceso a MySQL sin introducir usuario y contraseña (sólo  recomendable en caso de bases de datos MySQL Server 6 de pruebas, no en  producción)</span></p>
<p><span>Por último, pulsaremos en &#8220;Execute&#8221; para que el asistente de  configuración de MySQL Server 6 aplique todas las opciones indicadas  anteriormente</span></p>
<p><span>Si no hay ningún conflicto con el puerto indicado o el nombre del servicio de  Windows indicado aparecerán todas las operaciones (Prepare configuration, Write  configuration file (C:/Archivos de programa/MySQL/MySQL Server 6.0/my.ini),  Start Service y Apply security settings. También mostrará el mensaje:  &#8220;Configuration file created, Windows service MySQL6 installed, Service started  succesfully, Security settings applied&#8221;. Pulsaremos &#8220;Finish&#8221; para terminar</span></p>
<p><span>Si accedemos a los Servicios de Windows, desde &#8220;Inicio&#8221; &#8211; &#8220;Ejecutar&#8221; &#8211;  &#8220;services.msc&#8221;, podremos comprobar que el servicio MYSQL6 se ha creado e  iniciado correctamente</span></p>
<p><span>Haciendo doble clic sobre el servicio podremos ver sus  propiedades:</span></p>
<ul><span></p>
<li>Nombre de servicio: MySQL6</li>
<li>Nombre para mostrar: MySQL6</li>
<li>Ruta de acceso al ejecutable: <em>&#8220;C:/Archivos de programa/MySQL/MySQL  Server 6.0/bin/mysqld-nt&#8221; &#8211;defaults-file=&#8221;C:/Archivos de programa/MySQL/MySQL  Server 6.0/my.ini&#8221; MySQL6</em></li>
<li>Tipo de inicio: Automático.</li>
<li>Estado del servicio: Iniciado</li>
<p></span></ul>
<p><span>También podremos ver el proceso creado al iniciarse el servicio de MySQL6,  &#8220;mysqld-nt.exe&#8221;</span></p>
<p><span>Para crear un nuevo esquema (schema) ó base de datos en MySQL  Server 6 podremos utilizar, por ejemplo, MySQL Administrator, una herramienta  gratuita dispoble en la web de MySQL. Instalando y ejecutando MySQL  Administrator sólo deberemos indicar los siguientes datos para acceder a nuestro  nuevo servidor de bases de datos MySQL Server 6:</span></p>
<ul><span></p>
<li>
<div>Server Host: IP ó nombre de red del equipo en el que hemos  instalado MySQL Server 6.</div>
</li>
<li>
<div>Username: usuario con permisos suficientes para acceder a  MySQL Server 6, como es la primera vez sólo podremos acceder con el superusuario  root, luego podremos crear otros usuarios con permisos más restringidos.</div>
</li>
<li>
<div>Password: contraseña del superusuario root.</div>
</li>
<p></span></ul>
<p><span>Desde MySQL Administrator podremos ver información sobre nuestro MySQL Server 6  en &#8220;Server Information&#8221;:</span></p>
<p><span><br />
</span></p>
<p><span>Para crear un nuevo &#8220;Catálogo&#8221; ó &#8220;Catalog&#8221; ó &#8220;Esquema&#8221; ó &#8220;Schema&#8221; pulsaremos en  &#8220;Catalogs&#8221;, a continuación en la parte de abajo pulsaremos con el botón derecho  del ratón y seleccionaremos &#8220;Create New Schema&#8221;</span></p>
<p><span>Introduciremos el nombre del esquema, base de datos, schema y pulsaremos &#8220;OK&#8221;:</span></p>
<p><span>A continuación, seleccionaremos el nuevo esquema creado &#8220;bdprueba&#8221; y, en la  parte derecha de la ventana de MySQL Administrator, pulsaremos en el botón  &#8220;Create Table&#8221; para crear una nueva tabla. Nos mostrará una ventana de creación  de tabla donde podremos indicar el nombre, el comentario y los campos que  contendrá esta tabla con sus tipos de datos. También podremos indicar los  índices</span></p>
<p><span>En la parte infierior, en la pestaña &#8220;Indices&#8221;, para añadir un nuevo índice  pulsaremos en el botón &#8220;+&#8221;</span></p>
<p><span>Indicaremos el nombre del índice, por ejemplo, para que el número de factura sea  único, para que no se puedan introducir números de factura duplicados,  introduciremos, como nombre de índice &#8220;factura_numero&#8221;</span></p>
<p><span>Arrastraremos la columna &#8220;numero&#8221; de la parte superior a la parte inferior  derecha, hacia &#8220;Index Columns&#8221; y nos añadirá el campo para el que crearemos el  índice. En la parte inferior central, en &#8220;Index Settings&#8221; podremos indicar el  tipo de índice, en &#8220;Index Type&#8221;, en nuestro caso &#8220;DEFAULT&#8221; y en &#8220;Index Kind&#8221;, en  nuestro caso &#8220;UNIQUE&#8221;. Una vez creados todos los campos y todos los índices para  la tabla pulsaremos en &#8220;Apply Changes&#8221;</span></p>
<p><span>Tras la creación de la tabla, podremos, por ejemplo, insertar registros o  mostrar los que ya existen con la utilidad gratuita MySQL Query Browser,  seleccionado con el botón derecho del ratón sobre la tabla creada la opción de  menú &#8220;Edit Table Data&#8221;</span></p>
<p><span>Pulsando en el botón &#8220;Edit&#8221; de MySQL Query Browser podremos insertar, modificar  y eliminar registros en la nueva tabla creada</span></p>
<h3><span>Mejoras de MySQL 6.0:</span></h3>
<ul><span></p>
<li>Falco Storage Engine: nuevo motor de transacciones, Falcon ha sido  especialmente desarrollado para sistemas que son capaces de soportar grandes  arquitecturas de memoria y de subprocesos múltiples o entornos multi-core  (varios procesadores). Las plataformas ideales para el motor Falcon son las de  las arquitecturas de 64 bits, donde hay un mayor espacio de memoria disponible y  2, 4, ó 8 CPUs disponibles. Aunque también puede ser empleado en una plataforma  de 32 bits.</li>
<li>Soporte para nuevos juegos de caracteres Unicode: utf16, utf32, and 4-byte  utf8.</li>
<li>Nuevas mejoras en la copia de seguridad y la restauración de los esquemas.</li>
<p></span></ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/06/06/como-instalar-mysql-server-6-0-alpha-en-windows-xp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
