<?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; Microsoft</title>
	<atom:link href="http://www.ubicuos.com/temas/microsoft/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>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>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>
		<item>
		<title>Mandar E-Mails desde VB.NET</title>
		<link>http://www.ubicuos.com/2010/05/31/mandar-e-mails-desde-vb-net/</link>
		<comments>http://www.ubicuos.com/2010/05/31/mandar-e-mails-desde-vb-net/#comments</comments>
		<pubDate>Mon, 31 May 2010 23:48:58 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1486</guid>
		<description><![CDATA[Creación de un programa para mandar correos electronicos desde Visual Basic.NET]]></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/05/31/mandar-e-mails-desde-vb-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%2F05%2F31%2Fmandar-e-mails-desde-vb-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F05%2F31%2Fmandar-e-mails-desde-vb-net%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>ANTES QUE NADA, NO ME HAGO RESPONSABLE POR EL USO QUE LE PUEDAN DAR A ESTA INFORMACIÓN, LA PUBLICACIÓN DE ESTE MATERIAL ESTA HECHO CON FINES DE LUCRO NETAMENTE EDUCATIVO</strong><br/></p>
<p>Para la realización de este tutorial utilizamos Visual Basic.NET.<br/></p>
<p>Lo primero que debemos hacer es crear un proyecto y crear un formulario que se asemeje a la siguiente imagen.<br/></p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/05/mail.png"><img class="alignnone size-full wp-image-1487" title="mail" src="http://www.ubicuos.com/wp-content/uploads/2010/05/mail.png" alt="" width="519" height="480" /></a></p>
<p>Elementos utilzados</p>
<ul>
<li><span style="color: #ff6600;"><span style="color: #000000;">Cuatro TextBox con los nombres (propiedad name): txtDe, txtPara, txtAsunto y txtMensaje, este último con la propiedad Mutiline habilitada.</span></span></li>
<li><span style="color: #ff6600;"><span style="color: #000000;">Un Button con nombre</span></span> (propiedad  name)<span style="color: #ff6600;"><span style="color: #000000;">: btnEnviar.</span></span></li>
</ul>
<p>Accedemos al código de nuestro programa, y debajo del nombre de nuestra clase pondremos la siguiente función que se encarga de verificar la conexión a internet.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"> <span style="color: #000080;">Private</span> <span style="color: #000080;">Declare</span> <span style="color: #000080;">Function</span> IsNetworkAlive <span style="color: #000080;">Lib</span> <span style="color: #800000;">&quot;SENSAPI.DLL&quot;</span> (<span style="color: #000080;">ByRef</span> lpdwFlags <span style="color: #000080;">As</span> <span style="color: #000080;">Long</span>) <span style="color: #000080;">As</span> <span style="color: #000080;">Long</span></pre></div></div>

<p>Dentro del código del botón Enviar pondremos el siguiente código:</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"><span style="color: #000080;">Dim</span> Ret <span style="color: #000080;">As</span> <span style="color: #000080;">Long</span>
        <span style="color: #008000;">'Si el Api retorna 0 quiere decir que no hay ningun tipo de conexión de Red
</span>        <span style="color: #000080;">If</span> IsNetworkAlive(Ret) = 0 <span style="color: #000080;">Then</span>
            MsgBox(<span style="color: #800000;">&quot;No existe conexion a internet&quot;</span> &amp;amp; vbNewLine + <span style="color: #800000;">&quot;Error enviando E-Mail.&quot;</span> &amp;amp; vbNewLine &amp;amp; vbNewLine + <span style="color: #800000;">&quot;Por favor revise su conexion a internet&quot;</span> &amp;amp; vbNewLine + <span style="color: #800000;">&quot;e intentelo nuevamente.&quot;</span>, MsgBoxStyle.Exclamation)
        <span style="color: #000080;">Else</span>
            <span style="color: #000080;">Dim</span> MyMailMsg <span style="color: #000080;">As</span> <span style="color: #000080;">New</span> Net.Mail.MailMessage
            <span style="color: #000080;">Dim</span> HostName <span style="color: #000080;">As</span> <span style="color: #000080;">String</span> = My.Computer.Name
&nbsp;
            Try
                MyMailMsg.From = <span style="color: #000080;">New</span> Net.Mail.MailAddress(Me.txtDe.Text)
                MyMailMsg.<span style="color: #000080;">To</span>.Add(Me.txtPara.Text)
                MyMailMsg.Subject = Me.txtAsunto.Text
&nbsp;
                MyMailMsg.Body = Me.txtMensaje.Text
                <span style="color: #000080;">Dim</span> SMTP <span style="color: #000080;">As</span> <span style="color: #000080;">New</span> Net.Mail.SmtpClient(<span style="color: #800000;">&quot;smtp.live.com&quot;</span>)
                <span style="color: #008000;">'Para enviar por Hotmail utilizamos smtp.live.com y para enviar por Gmail utilizamos smtp.gmail.com
</span>
                SMTP.Port = 587
                SMTP.EnableSsl = <span style="color: #000080;">True</span>
&nbsp;
                SMTP.Credentials = <span style="color: #000080;">New</span> System.Net.NetworkCredential(<span style="color: #800000;">&quot;correovalido@hotmail.com&quot;</span>, <span style="color: #800000;">&quot;contraseña&quot;</span>)
                <span style="color: #008000;">'Aquí es necesario utilizar una cuenta de correo electrónico válida para que podamos mandar nuestros correos.
</span>
                SMTP.Send(MyMailMsg)
                MsgBox(<span style="color: #800000;">&quot;Tu E-Mail se ha enviado exitosamente&quot;</span>, MsgBoxStyle.Information, <span style="color: #800000;">&quot;Listo!!&quot;</span>)
            Catch ex <span style="color: #000080;">As</span> Exception
                MsgBox(ex.Message)
            <span style="color: #000080;">End</span> Try
        <span style="color: #000080;">End</span> <span style="color: #000080;">If</span></pre></div></div>

<p>Probamos nuestro programa.</p>
<div id="attachment_1488" class="wp-caption alignnone" style="width: 529px"><a href="http://www.ubicuos.com/wp-content/uploads/2010/05/mailfull.png"><img class="size-full wp-image-1488" title="mailfull" src="http://www.ubicuos.com/wp-content/uploads/2010/05/mailfull.png" alt="" width="519" height="480" /></a><p class="wp-caption-text">Llenamos los datos para mandar un mensaje</p></div>
<p>Mandamos nuesto mensaje.</p>
<div id="attachment_1489" class="wp-caption alignnone" style="width: 319px"><a href="http://www.ubicuos.com/wp-content/uploads/2010/05/message.png"><img class="size-full wp-image-1489" title="message" src="http://www.ubicuos.com/wp-content/uploads/2010/05/message.png" alt="" width="309" height="161" /></a><p class="wp-caption-text">Mensaje de confirmación.</p></div>
<p>Verificamos que el correo llegue a nuestro destino.</p>
<div id="attachment_1490" class="wp-caption alignnone" style="width: 499px"><a href="http://www.ubicuos.com/wp-content/uploads/2010/05/messagerecived.png"><img class="size-full wp-image-1490" title="messagerecived" src="http://www.ubicuos.com/wp-content/uploads/2010/05/messagerecived.png" alt="" width="489" height="140" /></a><p class="wp-caption-text">Mensaje recibido.</p></div>
<div id="attachment_1491" class="wp-caption alignnone" style="width: 468px"><a href="http://www.ubicuos.com/wp-content/uploads/2010/05/messageshow.png"><img class="size-full wp-image-1491" title="messageshow" src="http://www.ubicuos.com/wp-content/uploads/2010/05/messageshow.png" alt="" width="458" height="221" /></a><p class="wp-caption-text">Mensaje de nuestro correo.</p></div>
<p>Listo!!.. Espero sea de mucha ayuda.</p>
<p>Dudas, comentarios ó sugerencias, estamos para servirte!</p>
<p>Saludos!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/05/31/mandar-e-mails-desde-vb-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pasar Variables de JavaScript A JSP</title>
		<link>http://www.ubicuos.com/2010/05/05/pasar-variables-de-java-script-a-jsp/</link>
		<comments>http://www.ubicuos.com/2010/05/05/pasar-variables-de-java-script-a-jsp/#comments</comments>
		<pubDate>Thu, 06 May 2010 05:59:21 +0000</pubDate>
		<dc:creator>BeRe-NiCe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Archivos]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jsp]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1327</guid>
		<description><![CDATA[Instrucciones de como pasar un archivo de JavaScript a JSP]]></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/05/05/pasar-variables-de-java-script-a-jsp/"></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%2F05%2F05%2Fpasar-variables-de-java-script-a-jsp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F05%2F05%2Fpasar-variables-de-java-script-a-jsp%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p align="center"<img src="http://www.ubicuos.com/wp-content/uploads/2010/05/java2javascript.jpg" alt="" title="java2javascript" width="297" height="121" class="aligncenter size-full wp-image-1346" />
<p>Este es un pequeño tutorial que he realizado que sirve para pasar variables de JavaScript a JSP, esto nos podr&iacute;a decir que este m&eacute;todo es el mejor seg&uacute;n mi opini&oacute;n</p>
<p><span id="more-1327"></span>.</p>
<p>Pasar variables de javascrtipt a jsp<br />
  Pasar Variables de JavaScript a JSP<br />
  La forma de pasar variables a JSP se puede hacer de dos formas:  </p>
<ul>
<li>Tipo GET, en una URL de la forma http:///www.miservidor.com/pagina.jsp?parametro1=valor1&amp;parametro2=valor2</li>
<li>Tipo POST, mediante un formulario, algo parecido a&#8230;</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;form action=&quot;pagina.jsp&quot; method=&quot;post&quot;&gt;
    &lt;input type=&quot;hidden&quot; value=&quot;valor1/&gt;
    &lt;input type=&quot;hidden&quot; value=&quot;valor2/&gt;
    &lt;/form&gt;</pre></div></div>

<p>    Si te das cuenta, esto es código HTML a si que para formar dicho código puedes utilizar Javascript.<br />
    Por ejemplo&#8230;.<br />
    Tipo GET</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">    url<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http:///www.miservidor.com/pagina.jsp?&quot;</span><span style="color: #339933;">;</span>
    var1<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;parametro1=valor1&quot;</span><span style="color: #339933;">;</span>
    var2<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;parametro2=valor2&quot;</span><span style="color: #339933;">;</span>
    document.<span style="color: #000066; font-weight: bold;">write</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;a href=&quot;</span><span style="color: #3366CC;">&quot; + url + var1 + &quot;</span><span style="color: #339933;">&amp;;</span><span style="color: #3366CC;">&quot; + var2 + &quot;</span><span style="color: #3366CC;">&quot;&gt;Enlace&lt;/a&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>  parecido sería para el tipo POST. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/05/05/pasar-variables-de-java-script-a-jsp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conectar Crystal Reports con MySQL Server 5.1 en VB.NET</title>
		<link>http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/</link>
		<comments>http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 22:18:59 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1127</guid>
		<description><![CDATA[Una de las formas más comunes de conectar que eh encontrado acerca de como conectar Crystal Reports con MySQL en VB.NET, es a través de conexiones ODBC. Open DataBase Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier [...]]]></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/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-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%2F04%2F26%2Fconectar-crystal-reports-con-mysql-server-5-1-en-vb-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F04%2F26%2Fconectar-crystal-reports-con-mysql-server-5-1-en-vb-net%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Una de las formas más comunes de conectar que eh encontrado acerca de como conectar Crystal Reports con MySQL en VB.NET, es a través de conexiones ODBC.<strong></strong></p>
<p><strong>Open DataBase Connectivity</strong> (<strong>ODBC</strong>) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de <em>ODBC</em> es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (<em>DBMS</em> por sus siglas en inglés) almacene los datos, <em>ODBC</em> logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el <em>DBMS</em></p>
<p>A continuación explico un poco cómo hacer esta conexión.</p>
<p>Nota: Para este tutorial se están utilizando el sistema operativo Microsoft Windows 7, Microsoft Visual Studio 2005 y MySQL Server 5.1, lo cual puede cambiar la apariencia de las ventanas con respecto a versiones anteriores.</p>
<p><span id="more-1127"></span><strong>Instalar el controlador ODBC</strong></p>
<p>Para realizar la conexión necesitamos el conector ODBC de MySQL el cual podemos bajarnos de la siguiente dirección<a href="http://dev.mysql.com/downloads/connector/odbc/5.1.html"> http://dev.mysql.com/downloads/connector/odbc/5.1.html</a></p>
<p><strong>Crear la conexión ODBC en Windows</strong></p>
<p>Una vez instalado el conector ODBC de MySQL realizamos lo siguiente.</p>
<p><em>Paso 1:</em></p>
<p>Nos dirigimos al panel de control de Windows (Inicio/ Panel de control) y seleccionamos la opción de Sistema y seguridad.</p>
<p><img class="alignnone size-full wp-image-1130" title="controlpanel" src="http://www.ubicuos.com/wp-content/uploads/2010/04/controlpanel.png" alt="" width="512" height="394" /></p>
<p><em>Paso 2:</em></p>
<p>Seleccionamos la opción de Herramientas administrativas.</p>
<p><img class="alignnone size-full wp-image-1129" title="administrativetools" src="http://www.ubicuos.com/wp-content/uploads/2010/04/administrativetools.png" alt="" width="514" height="395" /></p>
<p><em>Paso 3:</em></p>
<p>Seleccionamos la opción Orígenes de datos ODBC.</p>
<p><img class="alignnone size-full wp-image-1141" title="odbcdatasources" src="http://www.ubicuos.com/wp-content/uploads/2010/04/odbcdatasources.png" alt="" width="513" height="395" /></p>
<p><em>Paso 4:</em></p>
<p>Nos muestra una ventana donde podemos elegir qué tipo de conexión queremos, para nuestro caso seleccionaremos DNS de sistema y damos clic en Agregar.</p>
<p><img class="alignnone size-full wp-image-1132" title="dnssystem" src="http://www.ubicuos.com/wp-content/uploads/2010/04/dnssystem.png" alt="" width="471" height="408" /></p>
<p><em>Paso 5:</em></p>
<p>Nos pide el tipo de origen de datos, seleccionamos MySQL ODBC 5.1 Driver y damos clic en Finalizar.</p>
<p><img class="alignnone size-full wp-image-1133" title="dnssystemadd" src="http://www.ubicuos.com/wp-content/uploads/2010/04/dnssystemadd.png" alt="" width="487" height="358" /></p>
<p><em>Paso 6:</em></p>
<p>Configuramos los parámetros de nuestra conexión, como son:</p>
<p>Nombre, descripción, servidor, puerto, usuario, contraseña y base de datos.</p>
<p><img class="alignnone size-full wp-image-1134" title="dnssystemconfigure" src="http://www.ubicuos.com/wp-content/uploads/2010/04/dnssystemconfigure.png" alt="" width="435" height="416" /></p>
<p><em>Paso 7:</em></p>
<p>Una vez configurada la conexión nos aparece de nuevo en la ventana de conexiones de ODBC, la seleccionamos y damos clic en aceptar para crear por completo la conexión.</p>
<p><img class="alignnone size-full wp-image-1135" title="dnssystemok" src="http://www.ubicuos.com/wp-content/uploads/2010/04/dnssystemok.png" alt="" width="471" height="408" /></p>
<p><strong>Configurar la conexión con Crystal Report en VB.NET</strong></p>
<p><em>Paso 1:</em></p>
<p>Añadimos a nuestro formulario el elemento CrystalReporViewer ubicado en cuadro de herramientas en la sección de Crystal Reports.</p>
<p><img class="alignnone size-full wp-image-1131" title="crystalreportviewer" src="http://www.ubicuos.com/wp-content/uploads/2010/04/crystalreportviewer.png" alt="" width="550" height="410" /></p>
<p><em>Paso 2:</em></p>
<p>Ya insertado en el formulario, daremos clic en la pestaña de la parte superior derecha del mismo componente, se nos despliega una pestaña y damos clic en Crear un nuevo informe de Crystal Reports.</p>
<p><img class="alignnone size-full wp-image-1139" title="newcrystalreport" src="http://www.ubicuos.com/wp-content/uploads/2010/04/newcrystalreport.png" alt="" width="404" height="263" /></p>
<p><em>Paso 3:</em></p>
<p>Nos pide el nombre que le daremos a nuestro reporte dentro de nuestro proyecto.<img class="alignnone size-full wp-image-1138" title="namecrystalreport" src="http://www.ubicuos.com/wp-content/uploads/2010/04/namecrystalreport.png" alt="" width="456" height="155" /></p>
<p><em>Paso 4:</em></p>
<p>Después de establecer el nombre al reporte, se nos abre una ventana donde podremos elegir el tipo de documento que deseamos crear, para este caso seleccionamos la opción Usar el asistente de informes y el tipo Estándar.</p>
<p><img class="alignnone size-full wp-image-1146" title="typedocument" src="http://www.ubicuos.com/wp-content/uploads/2010/04/typedocument.png" alt="" width="424" height="504" /></p>
<p><em>Paso 5:</em></p>
<p>Seguido se nos muestra una ventana donde seleccionaremos que tipo de conexión estableceremos, como se menciono es de tipo ODBC, así que daremos un clic en el símbolo de + que tiene el tipo ODBC (RDO).</p>
<p><img class="alignnone size-full wp-image-1143" title="selectodbc" src="http://www.ubicuos.com/wp-content/uploads/2010/04/selectodbc.png" alt="" width="525" height="356" /></p>
<p><em>Paso 6:</em></p>
<p>Nos muestra los orígenes de datos de tipo ODBC que tiene Windows, como vemos aparece la que creamos previamente, la seleccionamos y damos clic en siguiente.</p>
<p><img class="alignnone size-full wp-image-1144" title="selectodbcconnection" src="http://www.ubicuos.com/wp-content/uploads/2010/04/selectodbcconnection.png" alt="" width="484" height="492" /></p>
<p><em>Paso 7:</em></p>
<p>Nos pide el nombre usuario y contraseña de nuestro MySQL, llenamos los campos y damos clic en Finalizar.</p>
<p><img class="alignnone size-full wp-image-1140" title="newodbcuserpass" src="http://www.ubicuos.com/wp-content/uploads/2010/04/newodbcuserpass.png" alt="" width="442" height="449" /></p>
<p><em>Paso 8:</em></p>
<p>Regresamos a la pantalla de inicio donde se nos muestran las tablas que tiene nuestra base de datos, la seleccionamos y damos clic en el botón de &gt; para indicarle cual es la tabla que deseamos usar y damos clic en finalizar.</p>
<p><img class="alignnone size-full wp-image-1128" title="addodbconnection" src="http://www.ubicuos.com/wp-content/uploads/2010/04/addodbconnection.png" alt="" width="578" height="392" /></p>
<p>Una vez configurada nuestra conexión, en el Explorador de campos se nos muestra las tablas agregadas así como sus campos.</p>
<p><img class="alignnone size-full wp-image-1137" title="fielddatabase" src="http://www.ubicuos.com/wp-content/uploads/2010/04/fielddatabase.png" alt="" width="228" height="274" /></p>
<p>Lo único que resta es arrastras los campos a nuestro reporte según será nuestra conveniencia.</p>
<p><img class="alignnone size-full wp-image-1136" title="documentfields" src="http://www.ubicuos.com/wp-content/uploads/2010/04/documentfields.png" alt="" width="594" height="186" /></p>
<p>Y listo! Solo nos queda ejecutar nuestra aplicación.</p>
<p><img class="alignnone size-full wp-image-1145" title="showreport" src="http://www.ubicuos.com/wp-content/uploads/2010/04/showreport.png" alt="" width="715" height="422" /></p>
<p>El reporte lo podemos diseñar con imágenes, líneas, graficas, etc&#8230; Eso depende del tipo de reporte o del gusto del usuario.</p>
<p>Espero sea de gran ayuda, cualquier duda o comentario no duden hacerlas llegar con absoluta libertad.. Saludos!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/04/26/conectar-crystal-reports-con-mysql-server-5-1-en-vb-net/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crear una libreria (DLL) en VB.NET</title>
		<link>http://www.ubicuos.com/2010/04/12/crear-una-libreria-dll-en-vb-net/</link>
		<comments>http://www.ubicuos.com/2010/04/12/crear-una-libreria-dll-en-vb-net/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 05:30:40 +0000</pubDate>
		<dc:creator>Jorge</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[dll]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=1004</guid>
		<description><![CDATA[Crear una Librería .dll La creación de una librería .dll en VB.NET es relativamente fácil, para ello lo haremos como se muestra a continuación. Para este caso se está utilizando Visual Studio 2005.. Lo primero que debemos hacer es abrir el Visual Studio y crear un nuevo proyecto (Archivo/Nuevo/Proyecto&#8230;). Seguido de esto se nos muestra [...]]]></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/04/12/crear-una-libreria-dll-en-vb-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%2F04%2F12%2Fcrear-una-libreria-dll-en-vb-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2010%2F04%2F12%2Fcrear-una-libreria-dll-en-vb-net%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>Crear una Librería .dll</strong></p>
<p>La creación de una librería .dll en VB.NET es relativamente fácil, para ello lo haremos como se muestra a continuación.</p>
<p>Para este caso se está utilizando Visual Studio 2005..</p>
<p>Lo primero que debemos hacer es abrir el Visual Studio y crear un nuevo proyecto (<em>Archivo/Nuevo/Proyecto&#8230;</em>).</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/newproject.png"><img class="alignnone size-full wp-image-1005" title="newproject" src="http://www.ubicuos.com/wp-content/uploads/2010/04/newproject.png" alt="" width="542" height="141" /></a></p>
<p>Seguido de esto se nos muestra un cuadro de dialogo donde nos pide el tipo, plantilla, nombre y ubiación del proyecto:</p>
<p>Tipo de proyecto: Windows.</p>
<p>Plantilla: Biblioteca de controles de Windows.</p>
<p>Nombre: Nombre de la aplicación.</p>
<p>Ubicación: Ruta donde guardaremos nuestro proyecto.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/nameproject.png"><img class="alignnone size-full wp-image-1006" title="nameproject" src="http://www.ubicuos.com/wp-content/uploads/2010/04/nameproject.png" alt="" width="611" height="409" /></a></p>
<p>Una vez creado el proyecto, éste nos crea una clase por default llamada <em><strong>UserControl1</strong></em> la cual le cambiaremos el nombre, para nuestro caso la llamaremos <em><strong>ClasePrueba</strong></em>.</p>
<p>Abrimos el Explorador de soluciones (Ver/Explorador de Soluciones), damos clic derecho sobre la clase <strong><em>UserControl1</em></strong> y seleccionamos <em>Cambiar nombre</em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/changename.png"><img class="alignnone size-full wp-image-1007" title="changename" src="http://www.ubicuos.com/wp-content/uploads/2010/04/changename.png" alt="" width="205" height="386" /></a></p>
<p>Establecemos el nuevo nombre..</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/changename.png"></a><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/name.png"><img class="alignnone size-full wp-image-1008" title="name" src="http://www.ubicuos.com/wp-content/uploads/2010/04/name.png" alt="" width="205" height="324" /></a></p>
<p>Ahora accedemos al codigo de la clase (clic derecho <em>Ver código</em>).</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/seecode.png"><img class="alignnone size-full wp-image-1009" title="seecode" src="http://www.ubicuos.com/wp-content/uploads/2010/04/seecode.png" alt="" width="205" height="384" /></a></p>
<p>Lo que esta clase se encargará de hacer, es imprimir un mensaje en pantalla, algo así como <em><strong>&#8220;MessageBox.Show&#8221;</strong></em>. Para ello dentro de la clase, crearemos un método llamado <em><strong>&#8220;mensaje&#8221;</strong></em> el cual recibirá como parámetro un cadena de tipo de String que será la que imprimir&#8217;a el programa.</p>
<p>Con las etiquetas <em>&lt;summary&gt;</em> establecemos una descripción para el método, y con <em>&lt;param name=&#8221;"&gt;</em> establecemos una descripción para el parámetro de nuestro método.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/code.png"><img class="alignnone size-full wp-image-1010" title="code" src="http://www.ubicuos.com/wp-content/uploads/2010/04/code.png" alt="" width="487" height="152" /></a></p>
<p>Ya escrito nuestro código, lo que harémos es volver a generar nuestro proyecto.</p>
<p>Clic derecho sobre nuestra clase y seleccionamos <em>Volver a generar</em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/rebuild.png"><img class="alignnone size-full wp-image-1011" title="rebuild" src="http://www.ubicuos.com/wp-content/uploads/2010/04/rebuild.png" alt="" width="243" height="443" /></a></p>
<p>Listo!, dentro de la carpeta de nuestro proyecto, en la ruta <em>/bin/Debug</em>, se habrá creado un archivo <strong>.dll</strong> con el nombre de nuestra aplicación, para nuestro ejemplo se llama <strong>LibreriaDLL.dll</strong>, la cual es portable.</p>
<p><strong>Usando la librería</strong></p>
<p>Si queremos utilizar nuestra librería en algún otro proyecto de VB.NET, lo único que debemos hacer es lo siguiente.</p>
<p>Primero necesitamos agregar como referencia la librería a nuestro proyecto, para ello realizamos lo siguente.</p>
<p>Clic derecho a nuestro proyecto y seleccionamos <em>Agregar referencia</em>&#8230;</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/addreference.png"><img class="alignnone size-full wp-image-1012" title="addreference" src="http://www.ubicuos.com/wp-content/uploads/2010/04/addreference.png" alt="" width="244" height="462" /></a></p>
<p>Seguido de esto se nos muestra un cuadro de dialogo donde buscaremos nuestra librería. Nos ubicamos en la pestaña <em>Examinar</em> y buscamos nuestra librería en el lugar que la tengamos guardada.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/browse.png"><img class="alignnone size-full wp-image-1013" title="browse" src="http://www.ubicuos.com/wp-content/uploads/2010/04/browse.png" alt="" width="518" height="399" /></a></p>
<p>Ya agregada la referencia, nos dirijimos al código donde utilizaremos nuestra librería (en este caso utilizaré un formulario de prueba) e importaremos el name space de nuestra libreria con el siguiente comando.</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;">Imports LibreriaDLL</pre></div></div>

<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/imports.png"><img class="alignnone size-full wp-image-1014" title="imports" src="http://www.ubicuos.com/wp-content/uploads/2010/04/imports.png" alt="" width="403" height="226" /></a></p>
<p>Solo nos resta crear un objeto de tipo <em><strong>ClassPrueba</strong></em> que se encuenta en la libreria y mandar a llamar a nuestro metodo.</p>
<p>Creamos el objeto de tipo <em><strong>ClassPrueba</strong></em></p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/newobject.png"><img class="alignnone size-full wp-image-1015" title="newobject" src="http://www.ubicuos.com/wp-content/uploads/2010/04/newobject.png" alt="" width="551" height="335" /></a></p>
<p>Invocamos nuestro metodo de la clase <em><strong>ClassPrueba</strong></em>.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/method.png"><img class="alignnone size-full wp-image-1016" title="method" src="http://www.ubicuos.com/wp-content/uploads/2010/04/method.png" alt="" width="504" height="333" /></a></p>
<p>Pasamos como parametro el mensaje a mostrar.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/parameter.png"><img class="alignnone size-full wp-image-1017" title="parameter" src="http://www.ubicuos.com/wp-content/uploads/2010/04/parameter.png" alt="" width="359" height="235" /></a></p>
<p>Ejecutamos nuestra aplicación.</p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2010/04/hello.png"><img class="alignnone size-full wp-image-1018" title="hello" src="http://www.ubicuos.com/wp-content/uploads/2010/04/hello.png" alt="" width="144" height="144" /></a></p>
<p>Listo!!, nos muestra nuestro mensaje en pantalla.</p>
<p>Podemos crear librerías a nuestro antojo, muchas veces esto nos ayuda a facilitarnos la vida como programadores.</p>
<p>Espero sea de grán ayuda, no duden en comentar.</p>
<p>Saludos!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2010/04/12/crear-una-libreria-dll-en-vb-net/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Procesamiento de Imágenes con C#</title>
		<link>http://www.ubicuos.com/2009/10/24/procesamiento-de-imagenes-con-c/</link>
		<comments>http://www.ubicuos.com/2009/10/24/procesamiento-de-imagenes-con-c/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 15:35:26 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[imágenes]]></category>
		<category><![CDATA[procesamiento]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=427</guid>
		<description><![CDATA[Este programa permite pasar una imagen a escala de grises, obtener su histograma y aplicar un filtro de raíz cuadrada, con código fuente en C# .Net.]]></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/2009/10/24/procesamiento-de-imagenes-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%2F2009%2F10%2F24%2Fprocesamiento-de-imagenes-con-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2009%2F10%2F24%2Fprocesamiento-de-imagenes-con-c%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: left;">Este programa permite pasar una imagen a escala de grises, obtener su histograma y aplicar un filtro de raíz cuadrada, con código fuente en C# .Net esperamos sea de su agrado y participen con sus comentarios.</p>
<p style="text-align: center;"><a href="http://www.ubicuos.com/wp-content/uploads/2009/10/Histogram.zip"><img class="size-medium wp-image-428 aligncenter" title="procesamientocsharp" src="http://www.ubicuos.com/wp-content/uploads/2009/10/procesamientocsharp-300x231.jpg" alt="procesamientocsharp" width="300" height="231" /></a></p>
<p><a href="http://www.ubicuos.com/wp-content/uploads/2009/10/Histogram.zip">Código Fuente (Descargar aquí)</a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2009/10/24/procesamiento-de-imagenes-con-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algoritmo de Bresenham para dibujar líneas C#</title>
		<link>http://www.ubicuos.com/2009/10/03/algoritmo-de-bresenham-para-dibujar-lineas-c/</link>
		<comments>http://www.ubicuos.com/2009/10/03/algoritmo-de-bresenham-para-dibujar-lineas-c/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 06:45:50 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[gráficos]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=391</guid>
		<description><![CDATA[El algoritmo de Bresenham se utiliza para trazar líneas]]></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/2009/10/03/algoritmo-de-bresenham-para-dibujar-lineas-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%2F2009%2F10%2F03%2Falgoritmo-de-bresenham-para-dibujar-lineas-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2009%2F10%2F03%2Falgoritmo-de-bresenham-para-dibujar-lineas-c%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Aquí está el código en zip, de un proyecto que implementa este algoritmo, espero les agrade.<br />
<a href='http://www.ubicuos.com/wp-content/uploads/2009/10/Bresenham.zip'>Bresenham</a><br />
<div id="attachment_393" class="wp-caption alignleft" style="width: 308px"><a href="http://www.ubicuos.com/wp-content/uploads/2009/10/Bresenham.zip"><img src="http://www.ubicuos.com/wp-content/uploads/2009/10/bresenham.jpg" alt="El programa en ejecución" title="bresenham" width="298" height="300" class="size-full wp-image-393" /></a><p class="wp-caption-text">El programa en ejecución</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2009/10/03/algoritmo-de-bresenham-para-dibujar-lineas-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Suma de dos números en archivo .BAT (DOS)</title>
		<link>http://www.ubicuos.com/2009/07/12/suma-de-dos-numeros-en-archivo-bat-dos/</link>
		<comments>http://www.ubicuos.com/2009/07/12/suma-de-dos-numeros-en-archivo-bat-dos/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 23:24:38 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[dos]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=335</guid>
		<description><![CDATA[Foma de realizar aritmética básica en un archivo por lotes de MS-DOS]]></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/2009/07/12/suma-de-dos-numeros-en-archivo-bat-dos/"></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%2F2009%2F07%2F12%2Fsuma-de-dos-numeros-en-archivo-bat-dos%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2009%2F07%2F12%2Fsuma-de-dos-numeros-en-archivo-bat-dos%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Foma de realizar aritmética básica en un archivo por lotes de MS-DOS<br />
Este código te permite sumar dos números en la consola de Windows</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">rem multisuma</span>
<span style="color: #b1b100; font-weight: bold;">echo</span> off
<span style="color: #b1b100; font-weight: bold;">echo</span> presiona <span style="color: #cc66cc;">1</span> para sumar presiona, otra tecla para para multiplicar
<span style="color: #b1b100; font-weight: bold;">set</span> /p <span style="color: #448844;">a</span>=
<span style="color: #00b100; font-weight: bold;">if</span> <span style="color: #33cc33;">%</span><span style="color: #448888;">a</span><span style="color: #33cc33;">%</span> <span style="color: #000000; font-weight: bold;">equ</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100; font-weight: bold;">echo</span> elegiste sumar<span style="color: #66cc66;">&#41;</span> <span style="color: #00b100; font-weight: bold;">else</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100; font-weight: bold;">echo</span> elegiste multiplicar<span style="color: #66cc66;">&#41;</span>
cls
<span style="color: #b1b100; font-weight: bold;">echo</span> escribe tu primer numero
<span style="color: #b1b100; font-weight: bold;">set</span> /p <span style="color: #448844;">b</span>=
<span style="color: #b1b100; font-weight: bold;">echo</span> escribe tu segundo numero
<span style="color: #b1b100; font-weight: bold;">set</span> /p <span style="color: #448844;">c</span>=
<span style="color: #00b100; font-weight: bold;">if</span> <span style="color: #33cc33;">%</span><span style="color: #448888;">a</span><span style="color: #33cc33;">%</span> <span style="color: #000000; font-weight: bold;">equ</span> <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100; font-weight: bold;">set</span> /a <span style="color: #448844;">d</span>=b+c<span style="color: #66cc66;">&#41;</span> <span style="color: #00b100; font-weight: bold;">else</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100; font-weight: bold;">set</span> /a <span style="color: #448844;">d</span>=b*c<span style="color: #66cc66;">&#41;</span>
<span style="color: #b1b100; font-weight: bold;">echo</span> tu resultado es <span style="color: #33cc33;">%</span><span style="color: #448888;">d</span><span style="color: #33cc33;">%</span>
<span style="color: #b1b100; font-weight: bold;">pause</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2009/07/12/suma-de-dos-numeros-en-archivo-bat-dos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serie de Fibonacci en VB.Net</title>
		<link>http://www.ubicuos.com/2009/07/05/codigo-de-fibonacci-en-vb-net/</link>
		<comments>http://www.ubicuos.com/2009/07/05/codigo-de-fibonacci-en-vb-net/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 16:08:46 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.ubicuos.com/?p=314</guid>
		<description><![CDATA[Código de Fibonacci en Visual Basic .Net]]></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/2009/07/05/codigo-de-fibonacci-en-vb-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%2F2009%2F07%2F05%2Fcodigo-de-fibonacci-en-vb-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ubicuos.com%2F2009%2F07%2F05%2Fcodigo-de-fibonacci-en-vb-net%2F&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Puedes utilizar este código en tus aplicaciones.<br />
Código de Fibonacci en Visual Basic .Net</p>

<div class="wp_syntax"><div class="code"><pre class="vb" style="font-family:monospace;"><span style="color: #008000;">'Daniel Doctor Soriano
</span><span style="color: #008000;">'Fecha: 28/12/2007
</span><span style="color: #008000;">'Hora: 01:46 p.m.
</span><span style="color: #000080;">Public</span> Class Fibonacci
   <span style="color: #000080;">Public</span> <span style="color: #000080;">Function</span> calcular(n <span style="color: #000080;">as</span> <span style="color: #000080;">Integer</span>) <span style="color: #000080;">as</span> <span style="color: #000080;">Double</span>
        <span style="color: #000080;">If</span> (n &lt;=2)  <span style="color: #000080;">Then</span>
            Return 1
       <span style="color: #000080;">Else</span>
            Return calcular(n-1) + calcular(n-2)
       <span style="color: #000080;">End</span> <span style="color: #000080;">If</span>
   <span style="color: #000080;">End</span> <span style="color: #000080;">Function</span>
<span style="color: #000080;">End</span> Class</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.ubicuos.com/2009/07/05/codigo-de-fibonacci-en-vb-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
