<?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>elGuille mola &#187; Visual Basic</title>
	<atom:link href="http://www.elguillemola.com/index.php/tag/visual-basic/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.elguillemola.com</link>
	<description>El blog del Guille (www.elguille.info)</description>
	<lastBuildDate>Wed, 08 Feb 2012 11:08:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>El n&#250;mero de decimales del tipo decimal de SQL Server</title>
		<link>http://www.elguillemola.com/index.php/2011/10/el-numero-de-decimales-del-tipo-decimal-de-sql-server/</link>
		<comments>http://www.elguillemola.com/index.php/2011/10/el-numero-de-decimales-del-tipo-decimal-de-sql-server/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:03:45 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[elguille.info]]></category>
		<category><![CDATA[funciones]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[tipos de datos]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2011/10/el-numero-de-decimales-del-tipo-decimal-de-sql-server/</guid>
		<description><![CDATA[Pues eso&#8230; últimamente estoy &#34;trasteando&#34; en un programa (hecho con Visual Basic 2010) que accede a una base de datos de SQL Server Express 2005 y quisiera ir poniendo por aquí las cosillas que me voy encontrando mientras &#34;tecleo&#34; en ese programa, y lo último que he modificado es esto que te muestro, que no [...]]]></description>
			<content:encoded><![CDATA[<!--CusAds10--><p>Pues eso&#8230; últimamente estoy &quot;trasteando&quot; en un programa (hecho con Visual Basic 2010) que accede a una base de datos de SQL Server Express 2005 y quisiera ir poniendo por aquí las cosillas que me voy encontrando mientras &quot;tecleo&quot; en ese programa, y lo último que he modificado es esto que te muestro, que no es que no lo hubiera detectado antes, pero haciendo pruebas hoy he visto que me había dejado &quot;sin optimizar&quot; un campo de una de las tablas.</p>
<p>El tema es el siguiente:</p>
<p>Cuando añades un campo a una tabla de SQL Server (en mi caso con el SQL Server Management Studio 2008 (Express)) y le indicas que es de tipo <strong>decimal</strong>, automáticamente te lo pone de esta forma:</p>
<p><strong>decimal(18, 0)</strong></p>
<p>El 18 es la precisión, o número de dígitos que puede tener este número, y el 0 es la &quot;escala&quot; o número de decimales que puede tener este número.</p>
<p>Como verás cero decimales no es algo que sea demasiado aceptable en valores de tipo moneda, que sí, que podía haber elegido el tipo &quot;<strong>money</strong>&quot; y me hubiese quitado de problemas, pero de haberlo hecho no te estaría contando esto y&#8230; puede que un día te diera por usar el tipo &quot;<strong>decimal</strong>&quot; por aquello de que es el más parecido al tipo &quot;moneda&quot; que tiene el punto net y lo mismo te preguntarías por qué narices me redondea el número cuando lo guarda en la base de datos&#8230; sí, podría ocurrirte esto&#8230; como le ocurrió a uno que me conozco&#8230;</p>
<p>La cuestión es que si quieres usar el tipo &quot;decimal&quot; de SQL Server para que acepte un número de decimales (por ejemplo cuatro decimales) tendrías que declararlo de esta otra forma:</p>
<p><strong>decimal(18, 4)</strong></p>
<p>&#160;</p>
<p>Y debido a que a la hora de usar este valor desde la base de datos el número de dígitos decimales siempre se guarda (aunque sean todos ceros), me he creado una función que recibe un valor de tipo <strong>Object</strong> y lo convierte en cadena (<strong>String</strong>), pero quitando los ceros extras que tenga y en el caso de que el valor &quot;total&quot; sea cero, al menos deje un cero (pero siempre que esté a la izquierda del decimal).</p>
<p>&#160;</p>
<p>Esta función para quitar los ceros extras que añade el SQL Server:</p>
<pre style="background-color: #fafafa"><span style="color: #5c5c5c">''' &lt;summary&gt;</span>
<span style="color: #5c5c5c">''' Convierte un tipo Object en un valor Decimal,</span>
<span style="color: #5c5c5c">''' pero se devuelve como cadena.</span>
<span style="color: #5c5c5c">''' Ese objeto es el valor leído de la base de datos</span>
<span style="color: #5c5c5c">''' Si el contenido es válido se devuelve el valor</span>
<span style="color: #5c5c5c">''' si no, se devuelve una cadena vacía.</span>
<span style="color: #5c5c5c">''' Se quitan los ceros que haya después del signo decimal,</span>
<span style="color: #5c5c5c">''' si no tiene decimales, no se muestran los ceros.</span>
<span style="color: #5c5c5c">''' &lt;/summary&gt;</span>
<span style="color: #0000ff">Friend</span> <span style="color: #0000ff">Function</span> dataDecimal(<span style="color: #0000ff">ByVal</span> obj <span style="color: #0000ff">As</span> <span style="color: #0000ff">Object</span>) <span style="color: #0000ff">As</span> <span style="color: #0000ff">String</span>
    <span style="color: #0000ff">If</span> obj <span style="color: #0000ff">Is</span> <span style="color: #0000ff">Nothing</span> <span style="color: #0000ff">OrElse</span> obj.Equals(DBNull.Value) <span style="color: #0000ff">Then</span>
        <span style="color: #0000ff">Return</span> &quot;&quot;
    <span style="color: #0000ff">Else</span>
        <span style="color: #008000">' Conversión extra para evitar &quot;sustos&quot;                 (06/Oct/11)</span>
        <span style="color: #0000ff">Dim</span> d <span style="color: #0000ff">As</span> <span style="color: #0000ff">Decimal</span> = 0
        <span style="color: #0000ff">Decimal</span>.TryParse(obj.ToString, d)
        <span style="color: #0000ff">Return</span> d.ToString.TrimEnd(<span style="color: #b22222">&quot;0&quot;</span>c).TrimEnd({<span style="color: #b22222">&quot;.&quot;</span>c, <span style="color: #b22222">&quot;,&quot;</span>c})

        <span style="color: #008000">'Return CDec(obj).ToString.TrimEnd(&quot;0&quot;c).TrimEnd({&quot;.&quot;c, &quot;,&quot;c})</span>

    <span style="color: #0000ff">End</span> <span style="color: #0000ff">If</span>
<span style="color: #0000ff">End</span> <span style="color: #0000ff">Function</span></pre>
<p>&#160;</p>
<p>Como ves, no me fio de que el valor recibido sea un valor decimal válido, por eso hago algunas comprobaciones.</p>
<p>La primera es saber si el valor pasado como argumento a la función es un valor nulo, ya sea &quot;nulo de punto net&quot; o nulo de base de datos (<strong>DBNull.Value</strong>), en ese caso, la función devuelve una cadena vacía.</p>
<p>La segunda es usar <strong>TryParse</strong> para no producir una excepción (o error) en el caso de que el valor de ese objeto no sea &quot;convertible&quot; a un tipo <strong>Decimal</strong>.</p>
<p>La función TryParse recibe un valor de tipo cadena que será el valor a convertir (en este caso a un tipo Decimal) y en el segundo parámetro le indicamos un valor (por referencia) del mismo tipo al que queremos convertir, de forma que si la conversión falla, se utilice el valor que previamente tenga dicha variable.<br />
  <br />En el caso de que la conversión NO falle, se asignará a la variable de ese segundo argumento el valor que de como resultado la conversión. Por eso debe ser por referencia, para que la variable se pueda modificar dentro de la función.</p>
<p>&#160;</p>
<p>Como queremos quitar todos los ceros que &quot;sobren&quot; por el final, utilizo la función <strong>TrimEnd</strong> al valor convertido (el que tiene la variable <strong>d</strong>) indicándole el carácter que quiero quitar, esa función recibe como parámetro un valor de tipo <strong>Char</strong> indicando qué carácter queremos quitar del final, y como Visual Basic permite indicar los caracteres en la forma &quot;cadena&quot; seguida de la letra c, pues&#8230; eso es lo que he hecho, por tanto <strong>&quot;0&quot;c</strong> significa que es el carácter CERO (o valor 48).</p>
<p>Esto seguramente ya lo sabías, pero&#8230; no está de más una aclaración.</p>
<p>&#160;</p>
<p>Si el valor almacenado en la base de datos no tiene decimales (por ejemplo el número 205) con el TrimEnd que hemos hecho se nos quedaría la coma (o el punto) que indica que hay decimales, por tanto volvemos a hacer un TrimEnd al resultado del TrimEnd anterior, pero en este caso queremos quitar tanto las comas como los puntos, es decir, queremos quitar &quot;dos tipos de caracteres&quot;, en estos casos, la función TrimEnd permite indicar un array (o arreglo o matriz) de caracteres con cada uno de los caracteres a quitar del final de la cadena.<br />
  <br />Los caracteres individuales ya sabes cómo indicarlos, y si lo que quieres indicar es un array, esos caracteres individuales los separas con comas y los incluyes entre llaves: <font size="3" face="Consolas"><strong>{&quot;.&quot;c, &quot;,&quot;c}</strong></font>.</p>
<p>&#160;</p>
<p>Y esto es todo.</p>
<p>&#160;</p>
<p>Sólo me queda decirte cómo lo utilizo:</p>
<p>En mi caso (en este programa que estoy haciendo) lo hago de dos formas:</p>
<p>En una leo el valor de la tabla en un <strong>DataTable</strong> y accedo a cada valor por medio de un objeto que representa a la fila (<strong>DataRow</strong>) a la que estoy accediendo:</p>
<p>&#160;</p>
<pre style="background-color: #fafafa"><span style="color: #0000ff">For</span> <span style="color: #0000ff">Each</span> r <span style="color: #0000ff">As</span> DataRow <span style="color: #0000ff">In</span> dt.Rows
    <span style="color: #0000ff">Dim</span> lvi <span style="color: #0000ff">As</span> <span style="color: #0000ff">New</span> ListViewItem

...

lvi.SubItems.Add(dataDecimal(r(<span style="color: #b22222">&quot;Importe&quot;</span>)))

...</pre>
<p>&#160;</p>
<p>En la otra accedo a los valores por medio de un objeto <strong>SqlDataReader</strong> y básicamente hago lo mismo:</p>
<p>&#160;</p>
<pre style="background-color: #fafafa"><span style="color: #0000ff">Dim</span> re <span style="color: #0000ff">As</span> SqlDataReader = cmd.ExecuteReader()

...

ImporteTextBox.Text = dataDecimal(re(<span style="color: #b22222">&quot;Importe&quot;</span>))

...</pre>
<p>&#160;</p>
<p>Espero que te sea de utilidad.</p>
<p>&#160;</p>
<p>Nos vemos.<br />
  <br />Guillermo</p>
<p>&#8230;</p>

<!-- Quick Adsense WordPress Plugin: http://techmilieu.com/quick-adsense -->
<div style="float:left;margin:10px 10px 10px 0;">
<script type="text/javascript"><!--
google_ad_client = "pub-3672683940926460";
/* blog4 336x280, creado 16/08/10 */
google_ad_slot = "6297358154";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>

<div style="font-size:0px;height:0px;line-height:0px;margin:0;padding:0;clear:both"></div>]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2011/10/el-numero-de-decimales-del-tipo-decimal-de-sql-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#161;Enhorabuena MVP de Microsoft 2011!</title>
		<link>http://www.elguillemola.com/index.php/2011/10/enhorabuena-mvp-de-microsoft-2011/</link>
		<comments>http://www.elguillemola.com/index.php/2011/10/enhorabuena-mvp-de-microsoft-2011/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 20:49:12 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[elguille.info]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2011/10/enhorabuena-mvp-de-microsoft-2011/</guid>
		<description><![CDATA[Pues eso&#8230; después de venir de la playa, o lo que es lo mismo de salir un rato con las piraguas (y con las olas) y de comer y estar tranquilico (a pesar del ventazo que hacía) con la familia de Manolo, pues&#8230; al ver el correo, me encuentro con el mensaje de felicitación por [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; después de venir de la playa, o lo que es lo mismo de salir un rato con las piraguas (y con las olas) y de comer y estar tranquilico (a pesar del ventazo que hacía) con la familia de Manolo, pues&#8230; al ver el correo, me encuentro con el mensaje de felicitación por mi nombramiento como Microsoft MVP (Most Valuable Professional) de Visual Basic, y con este ya van 15 los años que llevo siendo MVP de Visual Basic, desde el primero que recibiera en noviembre de 1997.</p>
<p>Esta es la carta o mejor dicho, mensaje que he recibido (espero que se pueda publicar):</p>
<p>&#160;</p>
<blockquote><p><b>From:</b> &#8230;mvpaward&#8230;       <br /><b>Sent:</b> sábado, 01 de octubre de 2011 15:35       <br /><b>To:</b> guille&#8230;       <br /><b>Subject:</b> ¡Enhorabuena MVP de Microsoft 2011!</p>
<p>&#160;</p>
<p><img src="http://adminframework.mvpaward.com/images/mvplogo.jpg" />       </p>
<p>Estimado/a Guillermo Som, </p>
<p>Enhorabuena. Nos complace presentarle el programa de nombramiento MVP de Microsoft® de 2011. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa su experiencia de alta calidad y de la vida real con otras personas. Le agradecemos especialmente la contribución que ha realizado en las comunidades técnicas en el área de Visual Basic a lo largo del pasado año.       </p>
<p>También incluimos en este mensaje: </p>
<ul>
<li>Información acerca de su premio como MVP </li>
<li>Cómo activar los beneficios de su premio como MVP </li>
<li>Su número de identificación de MVP </li>
<li>El Código de conducta del Programa de premios MVP </li>
</ul>
<p>El programa de nombramiento de MVP de Microsoft nos proporciona una oportunidad única de celebrar y reconocer sus aportaciones importantes, así como de decir “Gracias por su liderazgo técnico”. </p>
<p>Toby Richards       <br />Director general       <br />Soporte En-línea Comunidad</p>
<hr align="center" size="2" width="100%" /></blockquote>
<p>&#160;</p>
<p>Nos vemos.    <br />Guillermo</p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2011/10/enhorabuena-mvp-de-microsoft-2011/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Reutilizar un control en otros controles</title>
		<link>http://www.elguillemola.com/index.php/2011/05/reutilizar-un-control-en-otros-controles/</link>
		<comments>http://www.elguillemola.com/index.php/2011/05/reutilizar-un-control-en-otros-controles/#comments</comments>
		<pubDate>Mon, 16 May 2011 20:00:00 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#Sharp]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2011/05/reutilizar-un-control-en-otros-controles/</guid>
		<description><![CDATA[Pues eso&#8230; aquí te voy a explicar cómo usar un mismo control en más de un &#34;contenedor&#34; (o colección de controles), y como comprobarás, en principio, es algo muy simple de hacer (una vez que se sabe cómo hacerlo, claro, que si no&#8230; ¡ja! ya me dirás tú cómo lo harías si nadie lo explicara, [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; aquí te voy a explicar cómo usar un mismo control en más de un &quot;contenedor&quot; (o colección de controles), y como comprobarás, en principio, es algo muy simple de hacer (una vez que se sabe cómo hacerlo, claro, que si no&#8230; ¡ja! ya me dirás tú cómo lo harías si nadie lo explicara, pues eso&#8230;)</p>
<p>&#160;</p>
<blockquote><p>Sí, es un tema técnico&#8230; <img src='http://www.elguillemola.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  pero eso no quiere decir que no lo empiece cómo &quot;debe ser&quot;.</p>
</blockquote>
<p>&#160;</p>
<p>A lo que vamos, de lo que se trata es de tener, por ejemplo, un control PictureBox y ese mismo control mostrarlo (o usarlo) en controles diferentes.    <br />En realidad en contenedores de controles o colecciones de controles, que para el caso es lo mismo, además de que en .NET todos los controles pueden tener otros controles dentro (al menos eso es lo que parece o hace suponer al existir en cada objeto de tipo <a href="http://msdn.microsoft.com/es-es/library/system.windows.forms.control.aspx" target="_blank">Control</a> una propiedad llamada <a href="http://msdn.microsoft.com/es-es/library/system.windows.forms.control.controls.aspx" target="_blank">Controls</a> que es un objeto del tipo <a href="http://msdn.microsoft.com/es-es/library/system.windows.forms.control.controlcollection.aspx" target="_blank">ControlCollection</a> (para saber más pulsa en los enlaces y te llevará a la documentación de .NET Framework 4.0).</p>
<p>Para lograr eso lo que tenemos que hacer es añadir el control en cuestión a la colección Controls del contenedor al que lo queremos mover.    <br />Por ejemplo, si tenemos un control del tipo TabControl y cuando pulsamos en la primera y/o la segunda ficha (TabPage), haremos que un control llamado PictureBox1 se añada a esa ficha.     <br />Con el siguiente código (para Visual Basic) lo conseguiremos:</p>
<p>&#160;</p>
<pre style="padding-bottom: 10px; padding-left: 10px; padding-right: 10px; background: #f5f5f5; padding-top: 10px"><span style="color: #0000ff">Private</span> <span style="color: #0000ff">Sub</span> TabControl1_SelectedIndexChanged(<span style="color: #0000ff">ByVal</span> sender <span style="color: #0000ff">As</span> <span style="color: #0000ff">Object</span>, _
                                             <span style="color: #0000ff">ByVal</span> e <span style="color: #0000ff">As</span> EventArgs) _
                                            <span style="color: #0000ff">Handles</span> TabControl1.SelectedIndexChanged

    <span style="color: #0000ff">Select</span> <span style="color: #0000ff">Case</span> TabControl1.SelectedIndex
        <span style="color: #0000ff">Case</span> 0
            TabPage1.Controls.Add(PictureBox1)
        <span style="color: #0000ff">Case</span> 1
            TabPage2.Controls.Add(PictureBox1)
    <span style="color: #0000ff">End</span> <span style="color: #0000ff">Select</span>
<span style="color: #0000ff">End</span> <span style="color: #0000ff">Sub</span></pre>
<p>&#160;</p>
<p>Si prefieres usar C#, utiliza el siguiente código:</p>
<pre style="padding-bottom: 10px; padding-left: 10px; padding-right: 10px; background: #f5f5f5; padding-top: 10px"><span style="color: #0000ff">private</span> <span style="color: #0000ff">void</span> tabControl1_SelectedIndexChanged(<span style="color: #0000ff">object</span> sender, EventArgs e)
{
    <span style="color: #0000ff">switch</span> (tabControl1.SelectedIndex)
    {
        <span style="color: #0000ff">case</span> 0:
            tabPage1.Controls.Add(pictureBox1);
            <span style="color: #0000ff">break</span>;

        <span style="color: #0000ff">case</span> 1:
            tabPage2.Controls.Add(pictureBox1);
            <span style="color: #0000ff">break</span>;
    }
}</pre>
<p>&#160;</p>
<p>Si en lugar de añadirlo directamente a una ficha (tabControl) necesitas que esté en otro contenedor, por ejemplo, dentro de un GroupBox, simplemente sustituye el nombre del control que hay justamente antes de Controls.Add por el control que te convenga. Lo mismo ocurre con el control añadido (el que está entre paréntesis después de .Add), puedes añadir cualquier control.</p>
<p>&#160;</p>
<p>Si al ver el código de ejemplo te preguntas algo así:<br />
  <br /><strong>P:</strong> Guille, ¿no crees que sería necesario quitar el control antes de añadirlo a otra colección? ya que de esa forma tendríamos repetido el mismo control en más de una colección.</p>
<p>La respuesta podría ser como esta:<br />
  <br /><strong>R:</strong> Buena pregunta, lo que indica que &quot;has leído el código&quot;, pero no es necesario.</p>
<p>&#160;</p>
<p><strong>¿Por qué no es necesario eliminar un control de una colección antes de añadirla a otra?</strong></p>
<p>Porque el propio .NET se encarga de eso, es decir, si un control se añade a una colección de controles, automáticamente se quita de la que ya estuviera.</p>
<p>Esto no es que lo haya &quot;adivinado&quot; yo, es que está en la documentación del método Add, que por cierto yo no lo había leído hasta después de hacer el proyecto de ejemplo, en el que me dio por probar a ver qué pasaba si no eliminaba previamente el control de la colección, y al ver que no ocurría &quot;nada raro&quot; (es decir, todo funcionaba como debería funcionar) me dio por leer la documentación y esa documentación tiene una nota que dice:</p>
<p>&#160;</p>
<blockquote><p>Un objeto Control sólo se puede asignar a una colección Control.ControlCollection a la vez. Si el Control ya es secundario de otro control, se quita de ese control antes de agregarlo a otro. </p></blockquote>
<p>(el texto anterior está extraído de la ayuda en línea de .NET Framework 4.0 en castellano, concretamente de la definición del <a href="http://msdn.microsoft.com/es-es/library/system.windows.forms.control.controlcollection.add.aspx" target="_blank">método Add de la clase Control.ControlCollection</a>)</p>
<p>&#160;</p>
<p>&#160;</p>
<p>Espero que te sea de utilidad.</p>
<p>&#160;</p>
<p>Nos vemos.<br />
  <br />Guillermo</p>
<p>Publicado con fecha del lunes 16 de mayo a las 22:00, pero en realidad lo acabé de escribir (y publicar) el martes 17 de mayo a las 00:05</p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2011/05/reutilizar-un-control-en-otros-controles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Martes 26, la segunda charla en Monterrey</title>
		<link>http://www.elguillemola.com/index.php/2010/10/martes-26-la-segunda-charla-en-monterrey/</link>
		<comments>http://www.elguillemola.com/index.php/2010/10/martes-26-la-segunda-charla-en-monterrey/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 05:11:00 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[viajes]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/10/martes-26-la-segunda-charla-en-monterrey/</guid>
		<description><![CDATA[Pues eso&#8230; que hoy martes 26 de octubre a las 10 de la mañana en el Auditorio Gumersindo Cantú Hinojosa, FACPyA que está en la Av. Universidad s/n, Ciudad Universitaria en San Nicolás de los Garza, México, será la segunda y última charla que daré en el &#34;1er Encuentro Internacional de Tecnología de Información: Haz [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; que hoy martes 26 de octubre a las 10 de la mañana en el Auditorio Gumersindo Cantú Hinojosa, FACPyA que está en la Av. Universidad s/n, Ciudad Universitaria en San Nicolás de los Garza, México, será la segunda y última charla que daré en el &quot;1er Encuentro Internacional de Tecnología de Información: Haz Click Piensa en TI&quot;, en esta ocasión el tema será sobre las novedades de Visual Basic 2010.</p>
<p>Espero que en esta ocasión lo pasemos igual o mejor que ayer lunes&#8230; creo que la gente se divirtió además de aprender algunas cosas nuevas&#8230; al menos los que estaban pendientes de la charla (que era la mayoría, todo hay que decirlo&#8230; y estamos hablando de que habría más de 1200 personas&#8230; sí, muchas)</p>
<p>&#160;</p>
<p>Bueno&#8230; nos vemos allí y si no puedes asistir, pues&#8230; ya te contaré por aquí que tal ha ido o también te puedes enterar por mi página de &quot;<a href="http://www.facebook.com/elGuille.info" target="_blank">el Guille info en Facebook</a>&quot;.</p>
<p>&#160;</p>
<p>Nos vemos.    <br />Guillermo</p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/10/martes-26-la-segunda-charla-en-monterrey/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Si usas punteros&#8230; ap&#250;ntate esta</title>
		<link>http://www.elguillemola.com/index.php/2010/08/si-usas-punteros-apuntate-esta/</link>
		<comments>http://www.elguillemola.com/index.php/2010/08/si-usas-punteros-apuntate-esta/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 18:40:19 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#Sharp]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[elguille.info]]></category>
		<category><![CDATA[malas técnicas]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/08/si-usas-punteros-apuntate-esta/</guid>
		<description><![CDATA[Pues eso&#8230; un articulillo que acabo de publicar (bueno, hace ya una hora y pico) en mi sitio, sobre los punteros en C/C++ (e incluso C#), pero que también vale para el manejo de otros tipos de objetos a los que se accede por referencia&#8230; Aquí tienes el enlace y la descripción&#8230; &#160; Si usas [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; un articulillo que acabo de publicar (bueno, hace ya una hora y pico) en mi sitio, sobre los punteros en C/C++ (e incluso C#), pero que también vale para el manejo de otros tipos de objetos a los que se accede por referencia&#8230;</p>
<p>Aquí tienes el enlace y la descripción&#8230;</p>
<p>&#160;</p>
<div style="padding-bottom: 1em; background-color: #fffff0; padding-left: 1em; padding-right: 1em; margin-left: 2em; padding-top: 1em">
<h3><a href="http://www.elguille.info/NET/dotnet/si_usas_punteros_apuntate_esta.aspx">Si usas punteros&#8230; apúntate esta</a></h3>
<p>&#160;</p>
<p>Cuidados que debes tener si utilizas punteros, normalmente si usas C/C++ e incluso C# (algunos dirán que Object Pascal también tiene punteros, pero yo no lo uso&#8230;).</p>
<p>[Este artículo es sólo apto para mentes abiertas que usen punteros o hayan querido usarlos o simplemente piensen que con los punteros sr vive mejor, aunque lo parezca, el contenido no es de guasa]</p>
<p>Y para aquellos que programan con Visual Basic (cualquier versión, ya sea o no para punto NET) decirles que tampoco están libres, ya que (a su manera) Visual Basic también usa punteros. &#8230;</p>
<p>&#8230;en realidad esto es muy útil para todos los que programan, ya sean con punteros directamente o con los punteros camuflados que hacen &quot;referencia&quot; a objetos&#8230;</p>
</p></div>
<p>&#160;</p>
<p>Espero que te sea de utilidad.</p>
<p>&#160;</p>
<p>Nos vemos.    <br />Guillermo</p>
<p>P.S.    <br />También puedes ver los comentarios en el enlace al artículo que he publicado con fecha de hoy en <a href="http://www.facebook.com/pages/elGuille/82093985818">la página de elGuille en Facebook</a>:</p>
<p><a href="http://www.facebook.com/pages/elGuille/82093985818?v=app_2309869772">http://www.facebook.com/pages/elGuille/82093985818?v=app_2309869772</a></p>
<p>&#160;</p>
<p>P.S.2    <br />Mirando, mirando, el &quot;rano&quot; usease RFOG, tiene un artículo sobre punteros y referencias que seguro que te puede parecer interesante:</p>
<p>&#160;</p>
<div style="background-color: #fffff0; padding-left: 0.5em; padding-right: 0.5em; margin-left: 1em">
<p><strong>I &#8211; Punteros y referencias</strong></p>
<p>Las similitudes y diferencias de los punteros en C++ nativo y las referencias en C++/CLI (.NET)</p>
<p><strong><a href="http://geeks.ms/blogs/rfog/archive/2007/06/14/c-cli-i-punteros-y-referencias.aspx">Ver el contenido del artículo en el blog de RFOG</a></strong></p>
</p></div>
<p>&#160;</p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/08/si-usas-punteros-apuntate-esta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Código de ejemplo de Fluent Interface para CSharp y Visual Basic</title>
		<link>http://www.elguillemola.com/index.php/2010/07/codigo-de-ejemplo-de-fluent-interface-para-csharp-y-visual-basic/</link>
		<comments>http://www.elguillemola.com/index.php/2010/07/codigo-de-ejemplo-de-fluent-interface-para-csharp-y-visual-basic/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 03:34:46 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[C#Sharp]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[VB6]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/07/codigo-de-ejemplo-de-fluid-interface-para-csharp-y-visual-basic/</guid>
		<description><![CDATA[Pues eso, que ya está el código de ejemplo para que lo puedas descargar desde mi sitio: .NET/VB6: Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0 Como puedes ver por el título, están los ejemplos para C#, VB.NET y VB6, además el de VB.NET está para [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso, que ya está el código de ejemplo para que lo puedas descargar desde mi sitio:</p>
<p><strong>.NET/VB6:</strong> <a href="http://www.elguille.info/NET/dotnet/FluentInterface_codigo_vbnet_csharp_vb6.aspx">Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0</a></p>
<p>Como puedes ver por el título, están los ejemplos para C#, VB.NET y VB6, además el de VB.NET está para la versión 2010 (VB10) y 2008 (VB9) cuyo código también es válido para la versión 2005 (VB8) y supongo que también para las anteriores, aunque no lo he probado&#8230; aunque lo mismo algún día lo pruebo&#8230; al menos en el VS2003, es decir para VB7.1.</p>
<p>Nos vemos.<br />
Guillermo</p>
<p>P.S.<br />
Si quieres leer el artículo o post que publiqué hace un par de días en este mismo blog, lo puedes hacer desde este enlace:<br />
<strong><a href="http://www.elguillemola.com/index.php/2010/07/fluent-interface-no-es-solo-simular-el-with-de-vb/">Fluent Interface no es solo simular el WITH de VB</a></strong></p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/07/codigo-de-ejemplo-de-fluent-interface-para-csharp-y-visual-basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluent Interface no es solo simular el WITH de VB</title>
		<link>http://www.elguillemola.com/index.php/2010/07/fluent-interface-no-es-solo-simular-el-with-de-vb/</link>
		<comments>http://www.elguillemola.com/index.php/2010/07/fluent-interface-no-es-solo-simular-el-with-de-vb/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 14:45:39 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[C#Sharp]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/07/fluent-interface-no-es-solo-simular-el-with-de-vb/</guid>
		<description><![CDATA[Pues eso, que a raíz de leer un artículo en el blog de mi amigüita Gisela Torres (amiga de feisbúc, ya que no la conozco personalmente aunque en la última cena/reunión de MVP anduvo por allí cerca, pero como yo estaba castigado contra la pared no le vi ni sus ojos&#8230; ya sabes que algunos [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso, que a raíz de leer un artículo en el blog de mi <em>amigüita</em> Gisela Torres (<small>amiga de feisbúc, ya que no la conozco personalmente aunque en la última cena/reunión de MVP anduvo por allí cerca, pero como yo estaba castigado contra la pared no le vi ni sus ojos&#8230; ya sabes que algunos ojos me encandilan, jeje</small>) comentando cómo <a href="http://geeks.ms/blogs/gtorres/archive/2010/07/04/crear-fluent-interfaces-en-c-sharp.aspx">Crear Fluent Interface en C#</a> y en uno de los comentarios al post decían que se parecía mucho al uso de la instrucción (o bloque) WITH de Visual Basic.</p>
<p>Después en la página que tiene <a href="http://www.facebook.com/campusMVP">CampusMVP en feisbúc</a> se vuelve a comentar lo mismo, y en realidad es que ese ejemplo concreto es muy parecido al uso de un <a href="http://msdn.microsoft.com/es-es/library/wc500chb(VS.80).aspx">bloque With de VB</a> (ya sea VB para .NET como el VB6, en ambos existe esa construcción).</p>
<p>&#160;</p>
<h3>El código de ejemplo</h3>
<p>Sin entrar en demasiados detalles (y con el permiso de Gisela) te muestro el código de uso en C# del ejemplo de <a href="http://es.wikipedia.org/wiki/Interfaz_fluida">interfaz fluida</a> (o <a href="http://en.wikipedia.org/wiki/Fluent_interface">fluent interface</a> si lo prefieres en inglés -<small>estos dos enlaces o links son de la wikipedia y en el de español sólo hay ejemplos para C# y C++, mientras que en inglés hay ejemplos para Object Pascal, PHP, Java, JavaScript, C#, etc., eso sí, para VB no hay&#8230; ¡faltaría más!</small>-) que puso en su artículo, y después te muestro el correspondiente en Visual Basic usando un bloque With.</p>
<p>&#160;</p>
<div style="background-color: #fffff0; margin-left: 2em">
<p style="padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em"><strong>Nota:</strong>       <br />Para entender mejor este ejemplo, te recomiendo que veas el código completo que muestra Gisela en su artículo.</p>
</p></div>
<p>&#160;</p>
<p><b>El código de uso de Fluent Interface en C#:</b></p>
<pre><span style="color: #0000ff">new</span> <span style="color: #2b91af">Computer</span>()
    .AddProcessor(<span style="color: #a31515">&quot;Intel i7 920&quot;</span>)
    .AddRAM(6)
    .TurnOn()
    .Test()
    .TurnOff();</pre>
<p>&#160;</p>
<p><strong>El código de uso de Fluent Interface en VB<br />
    <br /></strong>(pero sin crear la interfaz que implementa la clase Computer de C#, por eso en este ejemplo la clase se llama ComputerSimple):</p>
<pre><span style="color: #0000ff">With</span> <span style="color: #0000ff">New</span> <span style="color: #2b91af">ComputerSimple</span>()
    .AddProcessor(<span style="color: #a31515">&quot;Intel i7 920&quot;</span>)
    .AddRAM(6)
    .TurnOn()
    .Test()
    .TurnOff()
<span style="color: #0000ff">End With</span></pre>
<p>&#160;</p>
<p>Como puedes comprobar, escribiendo el código de C# de esa forma es fácil confundirlo con una construcción (o bloque) With de Visual Basic, pero como comenté en la página de CampusMVP: sin End With y con punto y coma&#8230; <img src='http://www.elguillemola.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>&#160;</p>
<p>Aunque ese &quot;parecido&quot; con With es sólo por la forma de escribir ese código en C#, ya que si lo escribiésemos todo junto y sin cambios de líneas, sería lo que se conoce como <strong>encadenamiento de métodos</strong>, de forma que se puede llamar a un método de una clase partiendo de la llamada a otro método y esto no se puede hacer con un With, ya que esa instrucción lo que permite es hacer llamadas a diferentes miembros de un objeto (ya sean métodos, propiedades o cualquier cosa que se pueda usar en un objeto) sin necesidad de tener que indicar el objeto en cuestión, es decir, el With nos permite crear un bloque que hace referencia a un objeto, y al estar dentro del &quot;bloque&quot; podemos acceder a cualquier miembro de ese objeto.</p>
<p>&#160;</p>
<p>El código de llamada a la clase &quot;Computer&quot; que simula un With en C# en realidad se podría escribir así:</p>
<div style="background-color: #fffff0; margin-left: 2em">
<p style="padding-bottom: 1em; padding-left: 1em; padding-right: 1em; padding-top: 1em"><strong>Nota:</strong> </p>
<p>En el blog es posible que se corte el código, pero lo que hay después del comentario podría/debería estar en una sola línea. </p>
<p><small>Gracias a mi amigo Dani (Seara) por recordarme que no había puesto el código.<br />
      <br />&#160;</small></p>
</div>
<pre><span style="color: #008000">// Todo en una línea:
</span><span style="color: #0000ff">new</span> <span style="color: #2b91af">Computer</span>().AddProcessor(<span style="color: #a31515">&quot;Intel i7 920&quot;</span>).AddRAM(6).TurnOn().Test().TurnOff();</pre>
<p>&#160;</p>
<p>Por tanto, si queremos una funcionalidad como la indicada en los ejemplos de encadenamientos de métodos, tendríamos que crear un código parecido al indicado en el artículo de Gisela, es decir, crear una interfaz en los que sus métodos devuelvan la propia interfaz en lugar de un tipo más concreto.</p>
<p>&#160;</p>
<p>&#160;</p>
<h3>Fluent Interface no solo es encadenamiento de métodos</h3>
<p>Pero si hacemos caso a <a href="http://martinfowler.com/bliki/FluentInterface.html">Martin Fowler</a>, a esta forma de usar <a href="http://martinfowler.com/bliki/FluentInterface.html">Fluent Interface</a> se conoce como <a href="http://martinfowler.com/dslwip/MethodChaining.html">method chaining</a> (o encadenamientos de métodos), pero la &quot;fluidez&quot; no es sólo porque se puedan encadenar métodos&#8230; aunque yo aquí no te voy a contar lo que él ya te cuenta en su sitio, allí podrás leer más sobre <a href="http://martinfowler.com/dslwip/NestedFunction.html">nested functions</a> (anidamiento de funciones) o de <a href="http://martinfowler.com/dslwip/ObjectScoping.html">object scoping</a> (alcance -cobertura- de los objetos) que son otras de las &quot;gracias&quot; de todo esto de las interfaces fluidas (fluent interface).</p>
<p>&#160;</p>
<h3>Reflexiones</h3>
<p>En cualquier caso, todo esto está muy bien&#8230; y el que quiera usarlo que lo use y el que no, que haga como yo, que se va a dar una vuelta por la playa (o equivalente, también vale un parque o un banco en una esquina) o suda un poquillo corriendo o jugando al tenis&#8230; jejeje, que no, que es broma, es que después de un año casi sabático, tantas cosas nuevas, que no son tan nuevas, pero que ahora es cuando yo me estoy enterando de muchas de ellas, porque se usan en los lenguajes que me interesan: en general todos los incluidos en .NET Framework&#8230; la cuestión es que hay mucha información en poco tiempo y la verdad es que prefiero &quot;emplear&quot; sólo una parte de ese tiempo en cosas concretas o bien que me llamen la atención como ha sido la de este artículo de Gisela. ¡Gracias Gisela por hacer que le dedique un rato a esto de la programación en vez de estar pensando que podría estar en la playa refrescándome! (de todas formas esta tarde no tocaba playa, así que&#8230; bien empleado está el tiempo, jejeje)</p>
<p>&#160;</p>
<h3>Despedida y cierre</h3>
<p>Bueno, voy a escribir el código de ejemplo y ponerlo más arriba, que sólo he dejado el espacio para que no se me fuera la idea, que con estas calores, hasta las ideas se evaporan&#8230; jejeje</p>
<p>&#160;</p>
<p>Nos vemos.<br />
  <br />Guillermo</p>
<p>P.S.<br />
  <br />El código de ejemplo completo lo pondré en otro momento&#8230; ¿vale? pues eso&#8230; y además añadiré el correspondiente para usar esto mismo en Visual Basic .NET y si me da el punto -y se puede- también lo haré para Visual Basic 6.0</p>
<p>P.S.2 (23/Jul/2010 05.27)<br />
  <br />Ya está el código de ejemplo para que lo puedas descargar desde mi sitio: </p>
<p><strong>.NET/VB6:</strong> <a href="http://www.elguille.info/NET/dotnet/FluentInterface_codigo_vbnet_csharp_vb6.aspx">Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0</a> </p>
<p>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/07/fluent-interface-no-es-solo-simular-el-with-de-vb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>[webcast] Lo nuevo de Visual Basic 10</title>
		<link>http://www.elguillemola.com/index.php/2010/02/webcast-lo-nuevo-de-visual-basic-10/</link>
		<comments>http://www.elguillemola.com/index.php/2010/02/webcast-lo-nuevo-de-visual-basic-10/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 15:01:55 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[webcast]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/02/webcast-lo-nuevo-de-visual-basic-10/</guid>
		<description><![CDATA[Ya terminó&#8230; pero lo podéis ver en diferido Pues eso, que los de UOC DotNetClub me han invitado para de una charla online sobre las novedades de la próxima versión de Visual Basic, la versión 10 que se incluirá en Visual Studio 2010 y que usará .NET Framework 4.0. Este es el cartel del evento [...]]]></description>
			<content:encoded><![CDATA[<div style="background-color:#FFFFD0">
<h2 style="text-align:center">Ya terminó&#8230; pero lo podéis ver en diferido</h2>
<p><br/><br />
Pues eso, que los de UOC DotNetClub me han invitado para de una charla online sobre las novedades de la próxima versión de Visual Basic, la versión 10 que se incluirá en Visual Studio 2010 y que usará .NET Framework 4.0.</p>
<p>Este es el cartel del evento y más abajo te dejo el link (enlace) para que te registres como asistente, aunque también estará disponible de forma desconectada, pero eso será después del evento, que será el próximo martes 23 de febrero a las 20.00 (hora de la península, es decir GMT/UTC +1)</p>
<p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441987&amp;Culture=es-ES" target="_blank"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="novedadesVB10_UOC" src="http://www.elguillemola.com/img/webcastLonuevodeVisualBasic10_DF85/novedadesVB10_UOC.png" border="0" alt="novedadesVB10_UOC" width="404" height="423" /></a><br />
Pulsa en la imagen para registrarte para este evento</p>
<p>Esta es la dirección del registro:<br />
<a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441987&amp;Culture=es-ES">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032441987&amp;Culture=es-ES</a></p>
<p>Y si quieres más información, puedes ir a la sección de eventos de UOC DotNetClub:<br />
<a href="http://uoc.dotnetclubs.com/eventos">http://uoc.dotnetclubs.com/eventos</a></p>
<p>¿Te apuntas? Si es así&#8230; el 23-F nos &#8220;escucharemos&#8221; (bueno, tú me escucharás a mí, jeje)</p>
<p>Nos vemos.<br />
Guillermo</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/02/webcast-lo-nuevo-de-visual-basic-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Estudiando las novedades de Visual Studio 2010</title>
		<link>http://www.elguillemola.com/index.php/2010/01/estudiando-las-novedades-de-visual-studio-2010/</link>
		<comments>http://www.elguillemola.com/index.php/2010/01/estudiando-las-novedades-de-visual-studio-2010/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 21:43:19 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[mis cosas]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# 4.x]]></category>
		<category><![CDATA[no tenis]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2010/01/estudiando-las-novedades-de-visual-studio-2010/</guid>
		<description><![CDATA[Pues eso&#8230; que ya que esta tarde se puso a llover, aproveché para &#34;empaparme&#34; un poco de las cosillas nuevas (ná 2 ó 3) que traerá la nueva versión de Visual Studio&#8230; bueno, en realidad he estado liado con las cosas que traerá el .NET 4.0 y los dos lenguajes más usados de .NET: Visual [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; que ya que esta tarde se puso a llover, aproveché para &quot;empaparme&quot; un poco de las cosillas nuevas (ná 2 ó 3) que traerá la nueva versión de Visual Studio&#8230; bueno, en realidad he estado liado con las cosas que traerá el .NET 4.0 y los dos lenguajes más usados de .NET: Visual Basic y Visual C# (seguramente alguno pensará que el orden este es porque se utiliza más el VB que el C#, pero la verdad es que no tengo ni idea de cuál de los dos lenguajes se usa más, y también te digo que ni me importa, he puesto primero Visual Basic porque sí, porque es el que yo uso y&#8230; eso&#8230; jejeje).</p>
<p>Y la verdad es que hay muchas cosas que estudiar, y como dije el otro día, hay que digerirlas bien&#8230; que si no, después ¿cómo lo explica uno si no se entera? Bueno, esta pregunta tiene respuesta: repitiendo lo mismo que has leído aunque no tengas ni idea de qué estás diciendo&#8230; que de estos hay muchos por ahí, sí, gente que se pone a explicarte cosas y en realidad no saben de qué están hablando&#8230; lo que yo te diga&#8230; bueno, mejor dejar este tema, que el que más y el que menos&#8230; (es que en dos ocasiones estuve dando unas charlas de acceso a datos y no tenía ni repajolera idea de qué es lo que ponía en las diapositivas de la presentación que me pasaron, en serio&#8230; claro que tampoco me marqué ningún farol ni hice el paripé de que sabía de qué iban esas diapositivas&#8230; simplemente pasé a otros temas, jejeje, en fin&#8230;)</p>
<p>Pues eso&#8230; que son muchas cosas nuevas, y todo en inglés&#8230; y además usando una máquina virtual y se hace eterno hacer cualquier prueba por simple que sea&#8230; </p>
<p>Lo que si es cierto es que el Visual Studio 2010 está muy bien, y por lo poco que he visto de la BETA 2 creo que ahora me va a gustar mucho más el Visual Basic de lo que ya me gustaba&#8230; no sólo por las &quot;características del lenguaje&quot; sino por el editor de Visual Studio para VB&#8230; que en ese aspecto la gente del &quot;team&quot; de Visual C# siempre iban un paso por delante&#8230; y puede que aún sigan mejorando el editor de C# con respecto al de VB, pero no te lo puedo asegurar ya que tan solo he creado un proyecto en el Visual Studio 2010 y ha sido de Visual Basic, pero está bien (el editor)&#8230; algunas cosas ya las vi en las betas y CTP anteriores, pero otras creo que son nuevas en la Beta 2&#8230; cualquier día de estos te contaré las cosillas nuevas que vaya encontrando, pero casi seguro que será después del webcast que daré el 23 de Febrero sobre las novedades de Visual Basic 2010 para <a href="http://uoc.dotnetclubs.com">UOC DotNetClub</a> (sí, ya sé que te lo conté el otro día, pero&#8230; para que no se te olvide).</p>
<p>Mañana seguiré con mis &quot;investigaciones&quot; que ya es hora de cenar algo, leer un poquito (pero literatura normal, no técnica y en papel, que esto de mirar tantas horas la pantalla me &quot;seca&quot; muchos los ojos y me pican una barbaridad&#8230; ) y después de leer (o mientras hago una pausa) a ver un poco la tele, que ahora me ha dado por ver dibujos animados en Boomerang, en particular <a href="http://es.wikipedia.org/wiki/Los_autos_locos" target="_blank">Los autos locos</a> y <a href="http://es.wikipedia.org/wiki/Don_Gato" target="_blank">Don Gato</a> ambos dos de <a href="http://es.wikipedia.org/wiki/Hanna-Barbera" target="_blank">Hanna-Barbera (William Hanna y Joseph Barbera)</a>. Lo de ver los autos locos es que el otro día (cuando estuvimos en la Cebuchá) mi amiga San me dijo que cuando me reía algunas veces me parecía a &quot;risitas&quot; (el perro Patán de Pierre Nodoyuna) y un día haciendo zapping me encontré con que por las noches echaban estos dibujos, y como después (sobre las 23.30) echan Don Gato, que es otro de los dibujos que me gustaban de cuando era 2más chico&quot; que ahora (jejeje) pues&#8230; aprovecho, ya que casi nunca me da tiempo a ver una de las pelis que empiezan a las 10 (22.00) y casi siempre acabo viendo repeticiones de <a href="http://es.wikipedia.org/wiki/Camera_Caf%C3%A9" target="_blank">Camera Café</a> o <a href="http://es.wikipedia.org/wiki/Vaya_semanita" target="_blank">Vaya Semanita</a>, que están muy bien, pero para variar&#8230;</p>
<p>Pues nada&#8230; hasta mañana, que si no llueve, por la mañana iré a andar con Mari Ángeles, que Pili no viene y por la tarde, si no llueve y el profe lo permite, iré a pelotear un poco al tenis&#8230; </p>
<p>Nos vemos.    <br />Guillermo     <br />Terminado de escribir a las&#160; del miércoles 27</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2010/01/estudiando-las-novedades-de-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Cap&#237;tulo 4 de las Novedades de Visual Basic 9.0 (el libro del Guille)</title>
		<link>http://www.elguillemola.com/index.php/2009/10/captulo-4-de-las-novedades-de-visual-basic-9-0-el-libro-del-guille/</link>
		<comments>http://www.elguillemola.com/index.php/2009/10/captulo-4-de-las-novedades-de-visual-basic-9-0-el-libro-del-guille/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 23:38:25 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2009/10/captulo-4-de-las-novedades-de-visual-basic-9-0-el-libro-del-guille/</guid>
		<description><![CDATA[Ayer martes día 20 de Octubre (en realidad anteayer, que ya es día 22) tuve un webcast para el grupo de usuarios de punto Net de Lleida, el tema de esa charla era precisamente sobre las novedades de Visual Basic 2008 (o VB9) y cuando me tocó explicar los tipos anónimos, sufrí un lapsus&#8230; vamos [...]]]></description>
			<content:encoded><![CDATA[<p>Ayer martes día 20 de Octubre (en realidad anteayer, que ya es día 22) tuve un webcast para el <a href="http://lleida.dotnetclubs.com/" target="_blank">grupo de usuarios de punto Net de Lleida</a>, el tema de esa charla era precisamente sobre las novedades de Visual Basic 2008 (o VB9) y cuando me tocó explicar los tipos anónimos, sufrí un lapsus&#8230; vamos que me quedé en blanco a la hora de indicar cómo se definían propiedades de sólo lectura en los tipos anónimos (es que en VB se permite crear propiedades de lectura/escritura y de sólo lectura, algo que no es posible en C#), y para aquéllos que asististeis (y para el resto de criaturas que lean este post) me he decidido a poner a vuestra disposición, de forma íntegra y por la cara, el capítulo 4 de mi libro <a href="http://www.elguille.info/NET/NovedadesVB9/Default.aspx" target="_blank">Novedades de Visual Basic 9.0</a>.</p>
<p>Esta es la introducción de ese capítulo:</p>
<blockquote><p>En este capítulo continuamos con las novedades de Visual Basic 9.0, pero en esta ocasión solo las podremos usar con la versión 3.5 .NET Framework.<br />
Estas características (al igual que casi todas las novedades de Visual Basic 9.0) tienen su razón de ser en todo lo referente a LINQ; pero antes de ver qué es LINQ y cómo usarlo desde nuestro lengua-je favorito, veámoslas con detalle para que nos resulte más fácil comprender lo que he dejado para el final de este repaso en profundidad a las novedades de Visual Basic 9.0.<br />
Las novedades que veremos en este cuarto capítulo son:<br />
• Los tipos anónimos.<br />
• Las expresiones lambda o funciones anónimas.</p></blockquote>
<p>Como puedes comprobar, además de los tipos anónimos explico que son las expresiones lambda (o funciones anónimas), espero que te guste y te animes a <a href="http://www0.solidq.com/ib/Press.aspx" target="_blank">comprar el libro</a> que al ser en formato PDF el precio que tiene es bastante asequible&#8230; además de que suele haber algún que otro descuento (actualmente es un 10%), los cupones de descuento (si hay) los consigues desde la página del libro en mi sitio (el link que te puse arriba).</p>
<p><a href="http://www.elguille.info/NET/NovedadesVB9/SQM_Novedades_VB9_cap4.pdf" target="_blank">Capítulo 4 de Novedades de Visual Basic 9.0</a> (del Guille) (formato .pdf)</p>
<p>Y si quieres saber cuál es el contenido del libro, aquí tienes el índice en formato PDF:<br />
<a href="http://www.elguille.info/NET/NovedadesVB9/SQM_Novedades_VB9_indice.pdf" target="_blank">Índice de Novedades de Visual Basic 9.0</a>.</p>
<p>Ni que decir tiene que el contenido de estos dos PDF NO los puedes usar y/o publicar en ningún medio o forma, ni tan siquiera indicando de dónde lo has obtenido ya que están protegidos por copyright.<br />
Lo que si puedes hacer es poner un link a esta entrada del blog, por lo cual te estaré muy agradecido.<br />
Gracias.</p>
<p>Nos vemos.<br />
Guillermo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2009/10/captulo-4-de-las-novedades-de-visual-basic-9-0-el-libro-del-guille/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Las novedades de Visual Basic 2010 y Visual C# 2010 (en ingl&#233;s)</title>
		<link>http://www.elguillemola.com/index.php/2009/10/las-novedades-de-visual-basic-2010-y-visual-c-2010-en-ingls/</link>
		<comments>http://www.elguillemola.com/index.php/2009/10/las-novedades-de-visual-basic-2010-y-visual-c-2010-en-ingls/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:06:16 +0000</pubDate>
		<dc:creator>elGuille</dc:creator>
				<category><![CDATA[cosas técnicas]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C# 4.x]]></category>
		<category><![CDATA[C#Sharp]]></category>
		<category><![CDATA[VB.NET]]></category>
		<category><![CDATA[VB10]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.elguillemola.com/index.php/2009/10/las-novedades-de-visual-basic-2010-y-visual-c-2010-en-ingls/</guid>
		<description><![CDATA[Pues eso&#8230; que he estado instalando esta mañana las versiones Express de estos dos lenguajes, que aún están en fase de Beta 2, y vi el link a las novedades de Visual Basic 2010, así que&#8230; puse el link en la página de fans del Guille en Facebook y ya que había dado con las [...]]]></description>
			<content:encoded><![CDATA[<p>Pues eso&#8230; que he estado instalando esta mañana las versiones Express de estos dos lenguajes, que aún están en fase de Beta 2, y vi el link a las novedades de Visual Basic 2010, así que&#8230; puse el link en la página de fans del Guille en Facebook y ya que había dado con las novedades de Visual Basic 2010 (<a href="http://msdn.microsoft.com/en-us/library/we86c8x2(VS.100).aspx" target="_blank">What&#8217;s new in Visual Basic 2010</a>), me dije que los que usan los puntos y comas y me visitan también tienen derecho a saber qué hay de nuevo en C#, así que&#8230; busqué la página correspondiente y esta es: Novedades de Visual C# 2010 (<a href="http://msdn.microsoft.com/en-us/library/bb383815(VS.100).aspx" target="_blank">What&#8217;s new in Visual C# 2010</a>), el problema es que están en inglés, pero te digo que es una ventaja, ya que la información de las novedades de los lenguajes de Visual Studio 2008 no estuvieron disponibles hasta que salió la versión final&#8230; así que&#8230; eso que llevas adelantado&#8230; aunque en inglés&#8230; <img src='http://www.elguillemola.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Ahora a leerlas, analizarlas e intentar entenderlas, jejeje</p>
<p>Nos vemos.<br />
Guillermo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.elguillemola.com/index.php/2009/10/las-novedades-de-visual-basic-2010-y-visual-c-2010-en-ingls/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

