<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DkIESHgyeip7ImA9WxBRFkU.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754</id><updated>2010-01-05T10:41:49.692+01:00</updated><title>Un poquito de todo</title><subtitle type="html">El objetivo principal es compartir mis experiencias en la programación y gestión de proyectos de software, pero también un poco un sitio donde desahogarme y poder soltar tres o cuatro pensamientos que me llenan la cabeza a veces.

Osea, lector, no esperes maravillas.  Aquí hay solo un hombre que se escribe así mismo.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://1poquitodtodo.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>123</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/CeSv" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;DkIESHkzeCp7ImA9WxBRFkU.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-7363422426482743326</id><published>2010-01-05T10:41:00.001+01:00</published><updated>2010-01-05T10:41:49.780+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T10:41:49.780+01:00</app:edited><title>Aplicación Pomodoro en C# Mobile 6.5 – En pruebas funcionales</title><content type="html">&lt;p align="justify"&gt;Bueno, aunque parezca mentira, por fin tengo la aplicación funcionando en beta. Desde que empecé este proyecto personal hasta el día de hoy, la refactorización ha sido completa tanto en arquitectura como en estructura. Y el funcionamiento va más allá de lo inicialmente pensado.&lt;/p&gt;  &lt;p align="justify"&gt;Ahora estoy en fase de probarla para encontrarle esos pequeños fallos que pueden deslucir todo el trabajo. Antes de meterme con el grafismo del interfaz (que eso tiene tela).&lt;/p&gt;  &lt;p align="justify"&gt;En cuanto la tenga un poquito pulida, la publico en CodePlex para que cualquiera pueda trastear o disfrutar de la aplicación.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-7363422426482743326?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bIE89k8QOG_nDXBhnXq7eIt02Z4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bIE89k8QOG_nDXBhnXq7eIt02Z4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bIE89k8QOG_nDXBhnXq7eIt02Z4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bIE89k8QOG_nDXBhnXq7eIt02Z4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/USsig9fbX74" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/7363422426482743326/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=7363422426482743326" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7363422426482743326?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7363422426482743326?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/USsig9fbX74/aplicacion-pomodoro-en-c-mobile-65-en.html" title="Aplicación Pomodoro en C# Mobile 6.5 – En pruebas funcionales" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2010/01/aplicacion-pomodoro-en-c-mobile-65-en.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYDQ347cSp7ImA9WxBRFkU.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-5937422379324511932</id><published>2010-01-05T10:36:00.001+01:00</published><updated>2010-01-05T10:36:12.009+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-05T10:36:12.009+01:00</app:edited><title>VS2010 beta 2 y Vs2008 SP1</title><content type="html">&lt;p&gt;Llevo más de una semana jugando con sistemas instalando en máquinas virtuales VirtualPC y VMware servidores TFS sobre Windows2003, Windows2008, Sql2005,sql2008 y tfs2008 t tfs2010 beta 2.&lt;/p&gt;  &lt;p&gt;Resumen, es una auténtica pasada de complicaciones!!&lt;/p&gt;  &lt;p&gt;Cuando por fin consigo una máquina virtual VMware con windows2008, sql2008 y tfs2010 beta2… caigo en la importancia del Service Pack 1 para Visual Studio 2008. Pero, siguiendo la ley de Murphy, el VS2010beta2 de mi Windows7 host se vuelve loco y deja de funcionar.&lt;/p&gt;  &lt;p&gt;Decido desinstalarlo y, ala, el SP1 también se desinstala… o sea que otra vez poniendo el el SP1 y pensándome seriamente rendirme, ya que ahora el vs20101 beta 2 me da un error en el almacenamiento de los ficheros temporales del instalador, y quedarme con la máquina virtual que ha avisado &lt;a href="http://www.lfraile.net/post/Maquinas-virtuales-de-prueba-de-VSTS-2008-y-VS-2010-Beta-2.aspx" target="_blank"&gt;Luis Fraile&lt;/a&gt; y que solamente funciona en las máquinas virtuales de Redmon (en MVware dá un pantallazo azul).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-5937422379324511932?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g5nFrcq7aJx9pb1LhIfWuxacCmQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g5nFrcq7aJx9pb1LhIfWuxacCmQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g5nFrcq7aJx9pb1LhIfWuxacCmQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g5nFrcq7aJx9pb1LhIfWuxacCmQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/29XopUeLa5U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/5937422379324511932/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=5937422379324511932" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5937422379324511932?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5937422379324511932?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/29XopUeLa5U/vs2010-beta-2-y-vs2008-sp1.html" title="VS2010 beta 2 y Vs2008 SP1" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2010/01/vs2010-beta-2-y-vs2008-sp1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8DR3c_eyp7ImA9WxBTGEQ.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-3503272062435524290</id><published>2009-12-15T18:23:00.001+01:00</published><updated>2009-12-15T18:24:36.943+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-15T18:24:36.943+01:00</app:edited><title>Aplicación Pomodoro en C# Mobile 6.5 – Int32.Parse()</title><content type="html">Bueno, no es oro todo lo que reluce y me he encontrado conuna limitación del framework para mobile: no existe mi tan mentado y agradecido método TryParse.&lt;br /&gt;
&lt;br /&gt;
Osea que en vez de:&lt;br /&gt;
string texto;&lt;br /&gt;
int numero;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;if &lt;/span&gt;(&lt;span style="color: #6fa8dc;"&gt;Int32&lt;/span&gt;.TryParse(texto, &lt;span style="color: blue;"&gt;out &lt;/span&gt;numero))&lt;br /&gt;
{ numero = numero + 1;}&lt;br /&gt;
&lt;br /&gt;
Tengo que hacer algo más feo como:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;if &lt;/span&gt;(texto == &lt;span style="color: #6fa8dc;"&gt;string&lt;/span&gt;.empty)&lt;br /&gt;
{ numero = 0; }&lt;br /&gt;
else&lt;br /&gt;
{ numero = numero + 1; }&lt;br /&gt;
&lt;br /&gt;
Y además dejo fuera los posibles fallos por introducir algo que no sea un número, o un número más grande que un entero de 32 bits.&lt;br /&gt;
&lt;br /&gt;
P.D. También puedo utilizar el método Int32.Parse() y capturar la excepción. Pero para este caso específico me resulta mejor el uso del código anterior.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-3503272062435524290?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/B6W2GbyBXlG1O65wpPQIQmWkcng/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B6W2GbyBXlG1O65wpPQIQmWkcng/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/B6W2GbyBXlG1O65wpPQIQmWkcng/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/B6W2GbyBXlG1O65wpPQIQmWkcng/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/5fvyBpPKG6Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/3503272062435524290/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=3503272062435524290" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3503272062435524290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3503272062435524290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/5fvyBpPKG6Q/aplicacion-pomodoro-en-c-mobile-65.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Int32.Parse()" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/aplicacion-pomodoro-en-c-mobile-65.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UASXg4fyp7ImA9WxBTFEs.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-5764101605925104543</id><published>2009-12-10T17:07:00.000+01:00</published><updated>2009-12-10T17:07:28.637+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-10T17:07:28.637+01:00</app:edited><title>Presentación de Historias desde Azeroth</title><content type="html">Un nuevo blog en mi haber que se centra en las andaduras del humano Paladín Bendem F'Lar por las tierras de Azeroth.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://historiasdesdeazeroth.blogspot.com/"&gt;Historias desde Azeroth.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Por si no sabeís de qué demonios estoy hablando, la temática trata sobre el juego de rol on-line &lt;a href="http://www.wow-europe.com/es/index.xml"&gt;World of Warcraft &lt;/a&gt;de Blizzard.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-5764101605925104543?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R0O6MeMNiV5TAnYISyh3zavpecc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0O6MeMNiV5TAnYISyh3zavpecc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R0O6MeMNiV5TAnYISyh3zavpecc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R0O6MeMNiV5TAnYISyh3zavpecc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/nP-JZ5UWDsI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/5764101605925104543/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=5764101605925104543" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5764101605925104543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5764101605925104543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/nP-JZ5UWDsI/presentacion-de-historias-desde-azeroth.html" title="Presentación de Historias desde Azeroth" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/presentacion-de-historias-desde-azeroth.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UMQ3g5fip7ImA9WxBTFEs.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-8984520009792103445</id><published>2009-12-09T09:02:00.001+01:00</published><updated>2009-12-10T17:08:02.626+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-10T17:08:02.626+01:00</app:edited><title>Presentación de "Moscas a Cañonazos"</title><content type="html">Soy humano, y por ende contradictorio, polifacético y gregario. Y releyendo este blog tecnológico he visto unos cuantos post relacionados con la sociedad y sus imperfecciones que no creo que sea este el lugar más apropiado para compartirlo con el resto de, creanlo existen, lectores.&lt;br /&gt;
&lt;br /&gt;
Por ello a mediados del 2009 he creado un blog específicamente para compartir mis opiniones, personales y muy posíblemente polémicas llamado &lt;a href="http://unmalnacido.blogspot.com/"&gt;Moscas a Cañonazos&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Tal vez tenga menos contenido, pero seguro, seguro que será más generalista.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-8984520009792103445?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/a577swGm-fQTcLV5FR8WW_LxVN4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a577swGm-fQTcLV5FR8WW_LxVN4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/a577swGm-fQTcLV5FR8WW_LxVN4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a577swGm-fQTcLV5FR8WW_LxVN4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/5bTL8hEo5Js" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/8984520009792103445/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=8984520009792103445" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8984520009792103445?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8984520009792103445?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/5bTL8hEo5Js/presentacion-de-moscas-canonazos.html" title="Presentación de &quot;Moscas a Cañonazos&quot;" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/presentacion-de-moscas-canonazos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcESHo5fSp7ImA9WxBTEUU.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-4576518345422019529</id><published>2009-12-07T10:59:00.001+01:00</published><updated>2009-12-07T11:00:09.425+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-07T11:00:09.425+01:00</app:edited><title>Aplicación Pomodoro en C# Mobile 6.5 – Cómo el singleton ha cambiado la arquitectura de la aplicación</title><content type="html">&lt;div style="text-align: justify;"&gt;Dándole vueltas al tema de los delegados, eventos y suscriptores, me día cuenta que me venía ni pintado utilizar el patrón singleton para instanciar una y solo una vez los tres o cuatro formularios de la aplicación y así poder suscribir el método del combo de tareas a realizar a todos los eventos de los diferentes formularios.&lt;br /&gt;
&lt;br /&gt;
Este “ligero” cambio, literalmente, me dio la vuelta a toda la arquitectura de la aplicación ya que inmediatamente saltó a la vista que no necesitaba eventos, al poder crear un método público al cual invocar donde y cuando quisiera en el resto de la aplicación y, sorpresa, a costa de memoria la aplicación se volvió rapidísima.&lt;br /&gt;
&lt;br /&gt;
Después de una par de horas revisando pros y contras y dándole vueltas a la cabeza decidí olvidar los eventos y los delegados e irme por el camino del método público ya que tiene un nivel de acoplamiento menor y se visualiza mejor en el intellisense.&lt;br /&gt;
&lt;br /&gt;
Lo primero es hacer el código de instanciación Singleton de los tres formularios de la aplicación. Para refrescar la memoria os cuento que este patrón se utiliza cuando necesitas que un objeto se instancie solamente una vez, como es este el caso.&lt;br /&gt;
&lt;br /&gt;
Lo primero es hacerme una clase llamada formularios, que será la que me realice la instancia de los diferentes formularios. Y cortarle la creación de la clase por defecto haciendo el método protected. (ya no puedo hacer un formulario = &lt;span style="color: blue;"&gt;new &lt;/span&gt;formulario();).&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;public class&lt;/span&gt; &lt;span style="color: #6fa8dc;"&gt;formularios&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;protected &lt;/span&gt;formularios() { }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
A continuación le creo una variable privada estática del tipo de la propia clase igualada a nulo, que será la que utilice para saber si la clase formulario está instanciada o no. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private static&lt;/span&gt; &lt;span style="color: #6fa8dc;"&gt;formularios &lt;/span&gt;instancia = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
¿Para qué, te preguntarás? Pues para cuando desde fuera se consulte&amp;nbsp; a la propiedad pública estática del tipo de la clase formularios que devuelva una instancia de la misma, en el método get de la propiedad consulte a la variable y si está nula que cree un nuevo objeto o si no que devuelva siempre la instancia ya creada anteriormente.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public static&lt;/span&gt; &lt;span style="color: #6fa8dc;"&gt;formularios &lt;/span&gt;Instancia&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if &lt;/span&gt;(instancia == &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instancia = &lt;span style="color: blue;"&gt;new &lt;/span&gt;formularios();&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return &lt;/span&gt;instancia;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
Fale, muy bonito. Pero dónde creo los formularios… pues a continuación.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;Pomodoro &lt;/span&gt;Pomodoro = &lt;span style="color: blue;"&gt;new &lt;/span&gt;Pomodoro();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;Inventory &lt;/span&gt;Inventory = &lt;span style="color: blue;"&gt;new &lt;/span&gt;Inventory();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;ToDoToday &lt;/span&gt;ToDoToday = &lt;span style="color: blue;"&gt;new &lt;/span&gt;ToDoToday();&lt;br /&gt;
&lt;br /&gt;
Quedando el código de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #6aa84f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;summary&gt;&lt;/summary&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #6aa84f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Instancia los formularios de la aplicación.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #6aa84f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// Utilizo el patrón singleton para evitar que me instancie cada vez formularios diferentes.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #6aa84f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /// &lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public class&lt;/span&gt; &lt;span style="color: #6fa8dc;"&gt;formularios&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;private static&lt;/span&gt; &lt;span style="color: #6fa8dc;"&gt;formularios &lt;/span&gt;instancia = &lt;span style="color: blue;"&gt;null&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;protected &lt;/span&gt;formularios() { }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public static&lt;/span&gt; &lt;span style="background-color: white; color: #6fa8dc;"&gt;formularios &lt;/span&gt;Instancia&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;if &lt;/span&gt;(instancia == &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; instancia = new formularios();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;return &lt;/span&gt;instancia;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;Pomodoro &lt;/span&gt;Pomodoro = &lt;span style="color: blue;"&gt;new &lt;/span&gt;Pomodoro();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;Inventory &lt;/span&gt;Inventory = &lt;span style="color: blue;"&gt;new &lt;/span&gt;Inventory();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: blue;"&gt;public &lt;/span&gt;&lt;span style="color: #6fa8dc;"&gt;ToDoToday &lt;/span&gt;ToDoToday = &lt;span style="color: blue;"&gt;new &lt;/span&gt;ToDoToday();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
Así, por ejemplo, para navegar de un formulario a otro simplemente lo invoco a la instancia única de la clase formulario. Lo cual me da MUCHA velocidad:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #6fa8dc;"&gt;formularios&lt;/span&gt;.Instancia.Pomodoro.Show();&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y para llamar a un método público del formulario principal desde cualquier otro formulario lo invoco asi:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #6fa8dc;"&gt;formularios&lt;/span&gt;.Instancia.Pomodoro.recargaComboToDo(); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N.A. Este código tiene un fallo perverso que debo de refactorizar con calma para ver de eliminarlo. Y es que un futuro desarrollador puede realizar las llamadas directas a los constructores públicos de los formularios y reventar todo el flujo de la aplicación. Asíque debo buscar la forma de impedir que se pueda acceder a estos constructores a menos que sea desde esta clase “formularios”.&lt;br /&gt;
&lt;br /&gt;
Ya os iré contando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-4576518345422019529?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IGqcv154gnqp_Cu24O3aE9WeBjs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGqcv154gnqp_Cu24O3aE9WeBjs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IGqcv154gnqp_Cu24O3aE9WeBjs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IGqcv154gnqp_Cu24O3aE9WeBjs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/ttP5Dvb2saE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/4576518345422019529/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=4576518345422019529" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4576518345422019529?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4576518345422019529?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/ttP5Dvb2saE/aplicacion-pomodoro-en-c-mobile-65-como.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Cómo el singleton ha cambiado la arquitectura de la aplicación" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/aplicacion-pomodoro-en-c-mobile-65-como.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQHg5eyp7ImA9WxBTEUo.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-7493039233007293360</id><published>2009-12-07T09:38:00.001+01:00</published><updated>2009-12-07T09:41:21.623+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-07T09:41:21.623+01:00</app:edited><title>Oracle Reporting Builder</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por cosas del destino y desatino de la administración pública, me he convertido (hasta el día 18 de diciembre) en el becario más caro de la aplicación de Oracle Reporting Builder. Posiblemente la peor aplicación de reportes que he visto nunca en las casi dos decadas que llevo en esto de la "informática".&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pero no nos quejemos que seguramente en dos semanas estaré buscando trabajo - o no- y centrémonos en intentar compartir un exasperante error de esta "magnífica" herramienta.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Llegas a trabajar por la mañana, abres el Reporting Builder y cargas el reporte que dejaste funcionando el Viernes pasado. Le dices que quieres "ejecutar disposición de papel" para ver por donde continuar y te devuelve un delicioso error asegurandote que hay algún código PL/SQL sin compilar.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qF6XhQdN_FM/Sxy9mUnYSCI/AAAAAAAAB0o/qjG7U4e4dy0/s1600-h/noCompilado.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qF6XhQdN_FM/Sxy9mUnYSCI/AAAAAAAAB0o/qjG7U4e4dy0/s320/noCompilado.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pos na', a compilar. Y entonces te alerta de un error de código y te indica que no encuentra la referencia a una tabla del FROM!!!. ¿Pero qué demonios? Declarar una tabla como si fuera un parámetro/variable? Esto se ha vuelto loco?&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_qF6XhQdN_FM/Sxy9nqovzBI/AAAAAAAAB0w/au2ydksU3Zs/s1600-h/errorTabla.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_qF6XhQdN_FM/Sxy9nqovzBI/AAAAAAAAB0w/au2ydksU3Zs/s320/errorTabla.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;No, no se ha vuelto loco. Simplemente los mensajes de error son de lo más patético que me he encontrado nunca y lo que me está indicando - gracias Roberto por transmitirme tu enorme experiencia con este monstruo - es que no estoy conectado a la base de datos.&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;Ctrl + J, introduzco los datos de conexión y listo. Solucionado el problema y a continuar en el infierno... :)&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-7493039233007293360?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tuu0GyK4qoC_DSGNI3OPCY4mPlY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tuu0GyK4qoC_DSGNI3OPCY4mPlY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tuu0GyK4qoC_DSGNI3OPCY4mPlY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tuu0GyK4qoC_DSGNI3OPCY4mPlY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/UW42l4yvo78" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/7493039233007293360/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=7493039233007293360" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7493039233007293360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7493039233007293360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/UW42l4yvo78/oracle-reporting-builder.html" title="Oracle Reporting Builder" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_qF6XhQdN_FM/Sxy9mUnYSCI/AAAAAAAAB0o/qjG7U4e4dy0/s72-c/noCompilado.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/oracle-reporting-builder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04ERHg-eyp7ImA9WxNaF0k.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-2625419283211188777</id><published>2009-12-02T11:31:00.000+01:00</published><updated>2009-12-02T11:31:45.653+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T11:31:45.653+01:00</app:edited><title>En defensa de los derechos fundamentales en Internet</title><content type="html">Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos,&lt;/strong&gt; como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial. Ni un cierre sin sentencia.&lt;/strong&gt; Este anteproyecto, en contra de lo establecido en el &lt;a href="http://narros.congreso.es/constitucion/constitucion/indice/sinopsis/sinopsis.jsp?art=20&amp;amp;tipo=2" target="_blank"&gt;artículo 20.5 de la Constitución&lt;/a&gt;, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español,&lt;/strong&gt; perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural.&lt;/strong&gt; Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas,&lt;/strong&gt; modelos de negocio y actividades asociadas a sus creaciones. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consideramos que las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles&lt;/strong&gt; y que se adecuen a los nuevos usos sociales, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internet debe funcionar de forma libre y sin interferencias políticas&lt;/strong&gt; auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exigimos que el Gobierno garantice por ley la &lt;a href="http://es.wikipedia.org/wiki/Neutralidad_de_red" target="_blank"&gt;neutralidad de la Red&lt;/a&gt;, en España&lt;/strong&gt; ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proponemos una verdadera reforma del derecho de propiedad intelectual&lt;/strong&gt; orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate público y habiendo consultado previamente a todas las partes implicadas.&lt;/strong&gt; No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.&lt;/li&gt;
&lt;/ol&gt;&lt;em&gt;El texto de este manifiesto se publica multitud de sitios web. Si estás de acuerdo, publícalo también tú.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-2625419283211188777?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ENfVssfPImf-auZ7nHLMJdsz5lk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ENfVssfPImf-auZ7nHLMJdsz5lk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ENfVssfPImf-auZ7nHLMJdsz5lk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ENfVssfPImf-auZ7nHLMJdsz5lk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/HVKrXaju2mc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/2625419283211188777/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=2625419283211188777" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2625419283211188777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2625419283211188777?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/HVKrXaju2mc/en-defensa-de-los-derechos.html" title="En defensa de los derechos fundamentales en Internet" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/12/en-defensa-de-los-derechos.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMFRX46eCp7ImA9WxNbF0w.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-876778115736288478</id><published>2009-11-20T12:15:00.003+01:00</published><updated>2009-11-20T12:26:54.010+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-20T12:26:54.010+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – Delegados o como avisar a un formulario padre que ha ocurrido algo en un formulario hijo.</title><content type="html">Enunciado: &lt;br /&gt;
&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Tengo un formulario A que llama a un formulario B. &lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Tengo una tabla de tareas en el formulario B y puedo añadir, modificar o borrar.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Tengo una lista desplegable de tareas en el formulario A y quiero que se actualice cuando en el formulario B modifique la tabla de tareas.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para ello vamos a utilizar Delegados y Eventos que, de forma muy sencilla y muy potente, me permite una comunicación discreta -es decir sin necesidad de ser pública - entre ambos formularios.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Primero nos vamos al formulario B y declaramos el delegado:&lt;span style="color: blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public delegate void&lt;/span&gt; &lt;span style="color: #3d85c6;"&gt;cambioEnListaDeTareasDelegate()&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
Despúes vamos a declarar el CallBack, es decir la variable que va a recibir la llamada del delegado en el formulario A.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public &lt;/span&gt;&lt;span style="color: #3d85c6;"&gt;cambioEnListaDeTareasDelegate &lt;/span&gt;cambioEnListaDeToDoCallback;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Despúes nos iremos al punto en donde decidamos que conviene situar el "aviso" de que hemos realizado un cambio en la tabla de tareas (seguimos en el formulario B). Por ejémplo en el método de guardarTarea();&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private &lt;/span&gt;void guardarTarea()&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Realizo las operaciones de guardar los datos.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color: #38761d;"&gt;// Aquí lanzo la alerta al formulario A (o cualquier otro que este suscrito) &lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; cambioEnListaDeDatosCallback();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
Ya hemos acabado en el formulario B, consiguiendo que cada vez que se guarden los datos avise a todo aquel que esté suscrito que ha habido un cambio en la tabla de tareas.&lt;br /&gt;
&lt;br /&gt;
Ahora nos vamos al formulario A y en el momento en que voy a abrir al formulario B le digo que, además, voy a hacer algo cada vez que en el formulario B se cambie la tabla de tareas.&lt;br /&gt;
&lt;br /&gt;
¿Dónde le digo todo esto?, pues en este ejemplo en el evento click del botón de navegación que abre el formulario B. Pero podría ser en cualquier otro sitio siempre que hayamos instanciado el formulario B.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="color: blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void&lt;/span&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;bAdelante_Click(&lt;span style="background-color: white; color: blue;"&gt;object &lt;/span&gt;sender, &lt;span style="color: blue;"&gt;EventArgs &lt;/span&gt;e)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #3d85c6;"&gt;formularioB &lt;/span&gt;paginaSiguiente = &lt;span style="color: blue;"&gt;new &lt;/span&gt;&lt;span style="color: #3d85c6;"&gt;formularioB&lt;/span&gt;();&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // El truco del almendruco que enlaza la acción al evento.&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paginaSiguiente.cambioEnListaDeTareasCallback = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: #3d85c6;"&gt;formularioB&lt;/span&gt;.&lt;span style="color: #3d85c6;"&gt;cambioEnListaDeTareasDelegate&lt;/span&gt;(refrescaCombo);&lt;span style="color: #38761d;"&gt; &lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; paginaSiguiente.ShowDialog();&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Como veís es una navegación entre formularios típica en WinForms, instanciando el formulario B y diciendole que lo muestre con show(). La diferencia, y el truco, es que llamamos a la campo de CallBack de la instancia del formulario B que queremos mostrar y le asignamos el delegado &lt;b&gt;&lt;span style="color: black;"&gt;de la clase formularioB&lt;/span&gt;&lt;/b&gt; diciendole, además, entre paréntesis el qué quiere que haga. En este caso lanzar el método que refresca la lista despegable de tareas.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finalmente he conseguido lo que quiero. Estoy en el formulario A, abro el formulario B y cambio la Tabla de tareas y automáticamente en el formulario A se me refresca la lista desplegable para actualizarla con los cambios realizados en el formulario B.&lt;br /&gt;
&lt;br /&gt;
P.D. Es obvio que debes persistir de alguna forma la tabla de tareas para que ambos formularios utilicen el mismo juego de datos.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Fuente: &lt;a href="http://www.c-sharpcorner.com/UploadFile/mosessaur/winformsdelegates09042006094826AM/winformsdelegates.aspx?ArticleID=924a59db-3961-4560-b509-c7637bb96614"&gt;C# corner:  Muhammad Mosa - "Using delegates to communication between windows forms"&lt;/a&gt; &lt;br /&gt;
&lt;span style="font-size: x-small;"&gt;(No os preocupeis por la pantalla de identificación, se redirige automáticamente al artículo.)&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-876778115736288478?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/phpCHkXYKHGznGFOUDT0Rv67mls/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/phpCHkXYKHGznGFOUDT0Rv67mls/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/phpCHkXYKHGznGFOUDT0Rv67mls/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/phpCHkXYKHGznGFOUDT0Rv67mls/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/oohGBDHVLLI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/876778115736288478/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=876778115736288478" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/876778115736288478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/876778115736288478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/oohGBDHVLLI/aplicacion-pomodoro-en-c-mobile-65_20.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Delegados o como avisar a un formulario padre que ha ocurrido algo en un formulario hijo." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/11/aplicacion-pomodoro-en-c-mobile-65_20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcHQH86eCp7ImA9WxNbF0w.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-2853015440711819072</id><published>2009-11-11T13:43:00.004+01:00</published><updated>2009-11-20T11:30:31.110+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-20T11:30:31.110+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – Copiar una selección de filas de un DataTable en otro DataTable</title><content type="html">El desarrollo de software muchas veces es como un perro al sentarse. Damos vueltas y vueltas hasta que encontramos el lado que más nos parece el bueno.&lt;br /&gt;
&lt;br /&gt;
Enunciado: Quiero leer un DataTable, seleccionar un conjunto de filas y devolverlo a la función que me ha invocado.&lt;br /&gt;
&lt;br /&gt;
Primera aproximación. Obtengo una colección de filas con un .select() y las .add en un nuevo DataTable. MECK!! Error, eso no se puede hacer sin liarte con clonaciones y demás gaitas.&lt;br /&gt;
&lt;br /&gt;
Segunda aproximación. Obtengo un DataView del DataTable filtrado en la instanciación por medio del rowFilter. MECK!! Me obliga a cambiar todo el código que utilice este método y que espere un DataTable.&lt;br /&gt;
&lt;br /&gt;
Aproximación y resolución:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #006600;"&gt;/// &lt;summary&gt;&lt;/summary&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #006600;"&gt;/// Devuelve el DataTable filtrado obtenido de la fuente de datos.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #006600;"&gt;/// &lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #006600;"&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000099;"&gt;public &lt;/span&gt;&lt;span style="color: #339999;"&gt;DataTable &lt;/span&gt;leeTablaFiltrada()&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #339999;"&gt;DataTable &lt;/span&gt;tabla = &lt;span style="color: #000099;"&gt;new &lt;/span&gt;&lt;span style="color: #339999;"&gt;DataTable&lt;/span&gt;();&lt;br /&gt;
tabla = leeTabla(); &lt;span style="color: #006600;"&gt;// Función que recupera el DataTable de la fuente de datos.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #339999;"&gt;DataView &lt;/span&gt;vista = &lt;span style="color: #000099;"&gt;new &lt;/span&gt;&lt;span style="color: #339999;"&gt;DataView&lt;/span&gt;(tabla, "&lt;span style="color: #990000;"&gt;&lt;campo_de_filtro&gt;tabla de filtro = 'valor de filtro'&lt;/campo_de_filtro&gt;&lt;/span&gt; ", "&lt;span style="color: #990000;"&gt;&lt;campo_de_ordenamiento&gt;tabla de ordenamiento DESC&lt;/campo_de_ordenamiento&gt;&lt;/span&gt;", &lt;span style="color: #339999;"&gt;DataViewRowState&lt;/span&gt;.CurrentRows);&lt;br /&gt;
&lt;span style="color: #006600;"&gt;// Tener cuidado de si la condicion de filtro es un string ponerlo entre comillas simples&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #000099;"&gt;return &lt;/span&gt;vista.ToTable(); &lt;span style="color: #006600;"&gt;// Este es el "milagro"&lt;/span&gt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Moola!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-2853015440711819072?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_j7DDgoZfEUIdjIPqeHxMwtu0YU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_j7DDgoZfEUIdjIPqeHxMwtu0YU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_j7DDgoZfEUIdjIPqeHxMwtu0YU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_j7DDgoZfEUIdjIPqeHxMwtu0YU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/wnsJ9VvjyUs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/2853015440711819072/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=2853015440711819072" title="8 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2853015440711819072?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2853015440711819072?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/wnsJ9VvjyUs/aplicacion-pomodoro-en-c-mobile-65_11.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Copiar una selección de filas de un DataTable en otro DataTable" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/11/aplicacion-pomodoro-en-c-mobile-65_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMCRnw6cCp7ImA9WxNUGEg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-139397336731083233</id><published>2009-11-10T13:35:00.005+01:00</published><updated>2009-11-10T13:51:07.218+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-10T13:51:07.218+01:00</app:edited><title>Aplicación Pomodoro en C# Mobile 6.5 – selección de una misma fila en un DataGrid</title><content type="html">&lt;div style="text-align: justify;"&gt;Continuamos con la "pequeñas" diferencias al codificar para un control DataGrid para SmartPhone que hacen perder tanto tiempo.&lt;br /&gt;&lt;br /&gt;El problema aparece cuando utilizamos el evento DataGrid_CurrentCellChanged para localizar el registro seleccionado en el DataGrid y abrir el formulario de edición con todos sus datos cargados.&lt;br /&gt;&lt;br /&gt;Cuando hemos realizado los cambios y hemos vuelto a la vista del DataGrid, me encontré que no podía volver a editar la misma fila porque el evento solamente salta cuando &lt;span style="font-style: italic;"&gt;se cambia de celda seleccionada&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Despúes de varios intentos con .select()  y .CurrentRowIndex, con resultados nulos o erroneos, le dí una vuelta a los eventos que se actualizan por medio de la hoja de propiedades del control DataGrid desde el lado visual del Visual Studio (no me gusta esta forma pero es la más cómoda y menos intuitiva).&lt;br /&gt;&lt;br /&gt;Aquí lo que hice fue decirle que en el evento Click del DataGrid, utilizará el mismo método suscritor que el que captura el CurrentCellChanged... y voala!! Todo funciona OK.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qF6XhQdN_FM/Svlfp7kONTI/AAAAAAAAB0A/76q0F_VfuvE/s1600-h/DataGridPropiedades.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 393px; height: 400px;" src="http://1.bp.blogspot.com/_qF6XhQdN_FM/Svlfp7kONTI/AAAAAAAAB0A/76q0F_VfuvE/s400/DataGridPropiedades.png" alt="" id="BLOGGER_PHOTO_ID_5402454401976513842" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-139397336731083233?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tvn8FR_I9-yb8q2-YqQ_DtkKdTA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tvn8FR_I9-yb8q2-YqQ_DtkKdTA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tvn8FR_I9-yb8q2-YqQ_DtkKdTA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tvn8FR_I9-yb8q2-YqQ_DtkKdTA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/pYi0Tn2iCBc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/139397336731083233/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=139397336731083233" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/139397336731083233?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/139397336731083233?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/pYi0Tn2iCBc/aplicacion-pomodoro-en-c-mobile-65.html" title="Aplicación Pomodoro en C# Mobile 6.5 – selección de una misma fila en un DataGrid" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qF6XhQdN_FM/Svlfp7kONTI/AAAAAAAAB0A/76q0F_VfuvE/s72-c/DataGridPropiedades.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/11/aplicacion-pomodoro-en-c-mobile-65.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYBRHk6fCp7ImA9WxNUFU0.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-482094481274401972</id><published>2009-11-06T10:34:00.005+01:00</published><updated>2009-11-06T11:09:15.714+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-06T11:09:15.714+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C#" /><title>GridViewRowEventArgs diferencias en VB.net y C#</title><content type="html">Mientras intento recuperar mi código del cronómetro Pomodoro, estoy adelantando un pequeño calendario para la página de mi club de &lt;a href="http://www.arquerosderivas.org"&gt;Tiro con Arco&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Y recuperando un código antigüo que me mejora la interacción con el objeto GridView realizado en Visual Basic.NET, he visto que hay pequeñas y molestas diferencias sintácticas entre ambos lenguajes:&lt;br /&gt;&lt;br /&gt;VB:&lt;br /&gt;ClientScript.GetPostBackEventReference(sender, "&lt;commandname&gt;$" &amp;amp; CType(e.Row.FindControl("&lt;control_que_almacena_el_commandargument&gt;"), Label).Text)&lt;br /&gt;&lt;br /&gt;C#:&lt;br /&gt;ClientScript.GetPostBackEventReference(((Control)sender), "&lt;commandname&gt;$" + ((Label) e.Row.FindControl("&lt;control_que_almacena_el_commandargument&gt;")).Text));&lt;br /&gt;&lt;br /&gt;Cosas a reseñar en C#.&lt;br /&gt;1. El &lt;span style="font-style: italic;"&gt;sender &lt;/span&gt;se debe convertir al tipo Control genérico. No es necesario específicar el tipo de control.&lt;br /&gt;2. La traducción de la conversión desde VB &lt;span style="font-style: italic;"&gt;CType&lt;/span&gt;(control, tipoDeControl) a C# es: ((tipoDeControl) control))&lt;br /&gt;&lt;br /&gt;Que sea de ayuda.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-482094481274401972?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CtO_dc_VovNNZsBX1DEdnk9Q1Xc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CtO_dc_VovNNZsBX1DEdnk9Q1Xc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CtO_dc_VovNNZsBX1DEdnk9Q1Xc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CtO_dc_VovNNZsBX1DEdnk9Q1Xc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/ewGB_lqnqws" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/482094481274401972/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=482094481274401972" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/482094481274401972?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/482094481274401972?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/ewGB_lqnqws/gridviewroweventargs-diferencias-en.html" title="GridViewRowEventArgs diferencias en VB.net y C#" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/11/gridviewroweventargs-diferencias-en.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAFQnY6fCp7ImA9WxNVGUQ.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-7219996224291630204</id><published>2009-10-31T14:43:00.003+01:00</published><updated>2009-10-31T14:45:13.814+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-31T14:45:13.814+01:00</app:edited><title>Una año más universitario.</title><content type="html">Me dá un gustazo el haberme vuelto a matricular este año en la Universidad a Distancia, y además con un poquito de esfuerzo más me quito tres materias cuatrimensuales de largo camino hacia la ingeniería superior.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-7219996224291630204?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/R--dhvfyCBR5sKkntlGXdCS0kMo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R--dhvfyCBR5sKkntlGXdCS0kMo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/R--dhvfyCBR5sKkntlGXdCS0kMo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/R--dhvfyCBR5sKkntlGXdCS0kMo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/oud8htl3VFo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/7219996224291630204/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=7219996224291630204" title="2 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7219996224291630204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7219996224291630204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/oud8htl3VFo/una-ano-mas-universitario.html" title="Una año más universitario." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/una-ano-mas-universitario.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIERHgyfCp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-6405964095126923441</id><published>2009-10-27T15:19:00.003+01:00</published><updated>2009-10-27T15:25:05.694+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T15:25:05.694+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – diferencias en el click de un DataGrid</title><content type="html">&lt;div style="text-align: justify;"&gt;En mi anterior post encontré una pequeña diferencia entre los controles dropDownList y comboList. Pero ahora traigo una diferencia que me ha comido el tarro un buen rato y de la que no he encontrado más ayuda que hacer doble click en el control en el Visual Studio…&lt;br /&gt;&lt;br /&gt;¿Cómo capturar un click en un DataGrid para Smarthpone?&lt;br /&gt;&lt;br /&gt;Ninguna de las siguientes funciona:&lt;ul&gt;&lt;li&gt;private void dgToDoToday_KeyDown(object sender, KeyEventArgs e)&lt;/li&gt;&lt;li&gt;private void dgToDoToday_MouseDown(object sender, KeyEventArgs e)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;La forma, y mira que es retorcida y poco legible es:&lt;br /&gt;&lt;br /&gt;    private void dgToDoToday_CurrentCellChanged(object sender, EventArgs e)&lt;br /&gt;&lt;br /&gt;Y para saber cual es la fila que se ha invocado:&lt;br /&gt;&lt;br /&gt;   DataGrid.CurrentRowIndex.ToString();&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-6405964095126923441?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/j_o30YFRoATs2QFaLrSNES-Z3Ko/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_o30YFRoATs2QFaLrSNES-Z3Ko/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/j_o30YFRoATs2QFaLrSNES-Z3Ko/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/j_o30YFRoATs2QFaLrSNES-Z3Ko/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/OGtAoMe-D1k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/6405964095126923441/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=6405964095126923441" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6405964095126923441?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6405964095126923441?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/OGtAoMe-D1k/aplicacion-pomodoro-en-c-mobile-65_27.html" title="Aplicación Pomodoro en C# Mobile 6.5 – diferencias en el click de un DataGrid" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_27.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUMRXgzeip7ImA9WxNVGU0.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-1435234116351299571</id><published>2009-10-26T12:15:00.005+01:00</published><updated>2009-10-30T12:31:24.682+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-30T12:31:24.682+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – diferencias entre un dropDownList y un comboList.</title><content type="html">&lt;div style="text-align: justify;"&gt;He de reconocer que el trabajo de la gente de Redmon con la normalización del lenguaje es absolutamente impresionante. Estoy escribiendo una aplicación para un teléfono móvil si prácticamente ninguna diferencia a si la estuviera escribiendo para el escritorio o para la Web.&lt;br /&gt;&lt;br /&gt;Pero aquí hay una pequeña diferencia que me ha llamado la atencióny que quiero compartir/almacenar en este blog.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1poquitodtodo.blogspot.com/2008/01/datavaluefield-y-datatextfield-la.html"&gt;En este hilo&lt;/a&gt; describo como cargar los campos de texto y valor de un dropDownList. Pero para mi WM utilizo otro control que es el de comboList y que, usando la misma sintaxis, cambia el nombre de los parámetros. Lo cual quedaría asi:&lt;br /&gt;&lt;br /&gt;cbToDoToday.DataSource = datos.tablaToDo;  &lt;span style="color: rgb(0, 153, 0);"&gt;//El campo tablaToDo de la clase datos devuelve un dataTable.&lt;/span&gt;&lt;br /&gt;cbToDoToday.ValueMember = "id";&lt;br /&gt;cbToDoToday.DisplayMember = "descripcion";&lt;br /&gt;&lt;br /&gt;Fijaros que es lo mismo que en un dropDownList pero en vez de usar el DataValueField y el DataTextField, aquí utilizamos el ValueMember y el DisplayMember.&lt;br /&gt;&lt;br /&gt;Actualización: aún hay más.&lt;br /&gt;&lt;br /&gt;En el dropdownMenu utilizamos el SelectedValue o SelectedText para capturar o seleccionar un item del control. Pero en el combo la cosa es, otra vez, un tanto extraña ya que se hace con el SelectedItem.&lt;br /&gt;&lt;br /&gt;Curiosas estas pequeñas diferencias.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-1435234116351299571?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ONAp_rll3z2VTvCc1QIPPs8rkik/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ONAp_rll3z2VTvCc1QIPPs8rkik/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ONAp_rll3z2VTvCc1QIPPs8rkik/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ONAp_rll3z2VTvCc1QIPPs8rkik/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/7gwcaDGUwVE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/1435234116351299571/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=1435234116351299571" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/1435234116351299571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/1435234116351299571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/7gwcaDGUwVE/aplicacion-pomodoro-en-c-mobile-65_26.html" title="Aplicación Pomodoro en C# Mobile 6.5 – diferencias entre un dropDownList y un comboList." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_26.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UNRno_eSp7ImA9WxNVFUg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-6749680541425144275</id><published>2009-10-26T12:06:00.002+01:00</published><updated>2009-10-26T12:08:17.441+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T12:08:17.441+01:00</app:edited><title>Open Agile Spain 2009 - Madrid.</title><content type="html">Tengo tanto que contar y tanto han contado otros compañeros que debo sacar tiempo para editar, ordenar y escribir una entrada en condiciones... pero básicamente ha sido una reunión muy fructifera y reconfortante.&lt;br /&gt;&lt;br /&gt;Gracias a la organización, patrocinadores y a todos los participantes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-6749680541425144275?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AKZ4AN2Rp4TYyCcwMMYdKFgpUhs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AKZ4AN2Rp4TYyCcwMMYdKFgpUhs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AKZ4AN2Rp4TYyCcwMMYdKFgpUhs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AKZ4AN2Rp4TYyCcwMMYdKFgpUhs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/xBo6hzOUwGg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/6749680541425144275/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=6749680541425144275" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6749680541425144275?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6749680541425144275?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/xBo6hzOUwGg/open-agile-spain-2009-madrid.html" title="Open Agile Spain 2009 - Madrid." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/open-agile-spain-2009-madrid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDRXk9eCp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-4090780899442875297</id><published>2009-10-22T14:19:00.002+02:00</published><updated>2009-10-27T15:26:14.760+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T15:26:14.760+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – adjuntando ficheros al Implementar la solución.</title><content type="html">&lt;div style="text-align: justify;"&gt;Cuando uno empieza en una nueva tecnología/herramienta, se traba en cosas tontas y simples que, además, no es fácil encontrar en la red.&lt;br /&gt;&lt;br /&gt;En este caso mi problema viene debido a que he creado un fichero xml en para utilizarlo como repositorio de los datos de las tareas a realizar y que serán utilizadas por el cronómetro.&lt;br /&gt;&lt;br /&gt;Construyo la clase de datos que me cargue el contenido del xml en un dataSet y me devuelva el dataTable para alimentar a un DataGrid (pero eso es otra historia). Pero cuando lanzo el debuguer del VS me devuelve impepinablemente un error de fichero no encontrado.&lt;br /&gt;&lt;br /&gt;Me reviso el directorio en donde me está Implementando la aplicación en el emulador y veo que me sube correctamente el fichero ejecutable pero no el fichero xml. Por lo cual y, con lógica vulcaniana, no lo encuentra.&lt;br /&gt;&lt;br /&gt;Después de un montón de tiempo buscando en San Google, MSDN, Windows Mobile para programadores y hasta en HTCMania en sus foros de desarrollo WM, he encontrado la solución trasteando en el Visual Studio.&lt;br /&gt;&lt;br /&gt;En el explorador de la solución del VS localizas el fichero .xml que quieres adjuntar a la aplicación y pulsas el botón derecho.&lt;br /&gt;&lt;br /&gt;En el menú contextual, en la parte inferior seleccionas propiedades y en la pestaña que se abre verás dentro de la sección Avanzadas una entrada que dice "Copiar en el directorio de resultados".&lt;br /&gt;&lt;br /&gt;Pones el valor de la entrada a "Copiar Siempre" o, mejor aún, a "Copiar si es posterior" y se han acabado los problemas.&lt;br /&gt;&lt;br /&gt;Y mira que era sencillo.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-4090780899442875297?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UzsrIhq16Cb7eZ7Zb9cseL3lGi4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UzsrIhq16Cb7eZ7Zb9cseL3lGi4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UzsrIhq16Cb7eZ7Zb9cseL3lGi4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UzsrIhq16Cb7eZ7Zb9cseL3lGi4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/6UME9dBTJbE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/4090780899442875297/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=4090780899442875297" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4090780899442875297?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4090780899442875297?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/6UME9dBTJbE/aplicacion-pomodoro-en-c-mobile-65_22.html" title="Aplicación Pomodoro en C# Mobile 6.5 – adjuntando ficheros al Implementar la solución." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_22.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EMRHo7fCp7ImA9WxNWGU4.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-2002707969355266411</id><published>2009-10-19T08:57:00.002+02:00</published><updated>2009-10-19T09:01:25.404+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T09:01:25.404+02:00</app:edited><title>Firefox, bloqueando Windows Presentation Foundation. (El mundo talibán está ganando).</title><content type="html">&lt;div style="text-align: justify;"&gt;Bueno, bueno. Esto ya me empieza a atemorizar.&lt;br /&gt;&lt;br /&gt;En el trabajo tengo que usar Firefox para leer mi correo y mis rss ya que quiero dejar el rastro más pequeño posible de mis actividades “no laborales”.&lt;br /&gt;&lt;br /&gt;Y hoy según lo enciendo me encuentro con el mensaje de que el plugin “Windos Presentation Foundation” ha sido bloqueado…¿?&lt;br /&gt;&lt;br /&gt;Y esto qué es? Me pregunto. Navego a la página de descripción del error, que tiene un problema de seguridad en el certificado, y me encuentro con l&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=522777"&gt;a siguiente conversación&lt;/a&gt; que es para poner los pelos de punta.&lt;br /&gt;&lt;br /&gt;En resúmen:&lt;br /&gt;&lt;br /&gt;1.    En una revista del sector se habla sobre un fix en Windows Presentation Foundation que puede permitir la ejecución de código arbitrario. Pasando por varias revistas Y SIN PREGUNTARLE A MICROSOFT, van haciendo la bola cada vez más grande hasta que deciden que hay que bloquear el plugin, aunque ya sepan que no es un problema del mismo si no de NET. 3.5. Framework Assitn (¿Como bien dice uno, van a bloquear los SO no seguros –ósea todos-¿)&lt;br /&gt;Es más, es tan alucinante como que como una revista dice que Microsoft dice que lo mejor es deshabilitarlo, hacen el salto directo y le atribuyen a Microsoft dicha declaración SIN HABERLA LEIDO en la página de Redmon. (fliplalo).&lt;br /&gt;&lt;br /&gt;2.    Inmediatamente los usuarios le avisan que esto solamente ocurre si se tiene una versión de la dll ANTIGUA del Framework Assitans, que está corregido y que no está dando fallos. Que no existe ninguna declaración de Microsoft de recomendación de deshabilitar el plugin, que todo es un FAKE. Y la respuesta es: Nada.&lt;br /&gt;&lt;br /&gt;3.    A estas alturas los mensajes de flame ya son duros. Le recuerdan que existen muchísimas páginas seguras en WPF y que qué le dicen a sus clientes cuando no puedan acceder a ellas.&lt;br /&gt;&lt;br /&gt;4.    Por último, y como resúmen. Mozilla ha deshabilitado un plugin por ser de Microsoft. Este plugin no tenia ningún problema, el problema existia en el .NET Framework Assistant (que es parte del SO) y no tiene nada que ver con Firefox y, además el problema fue solucionado &lt;span style="font-weight: bold;"&gt;DOS DIAS ANTES &lt;/span&gt;de que Mozilla tuviera su brillante idea.&lt;br /&gt;&lt;br /&gt;A mí me toca la moral por tres razones:&lt;br /&gt;&lt;br /&gt;1. ¿Quién demonios se cree Mozilla para decidir por mí que plugin puedo utilizar y cual no? Un aviso, vale. Un aviso más grande, vale. ¿Pero bloquearlo?¿Impedirme a mí, el usuario soberano, el acceder a la información en la Red?&lt;br /&gt;&lt;br /&gt;2. ¿Cómo que no puedo desbloquearlo? ¿Cómo le puedo dar tanto poder a un simple navegador que me deja sin poder ver páginas realizadas en una tecnología? ¿Os imagináis la que se puede liar si Microsoft bloqueara los plugin que permiten ver Flash?&lt;br /&gt;&lt;br /&gt;3. Su estupidez. No puedes bloquear la capacidad de tu navegador por un error FALSO y basado en dimes y diretes. Por dios que falta de profesionalidad.&lt;br /&gt;&lt;br /&gt;Otra razón más para dejar de utilizar Mozilla.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-2002707969355266411?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jFFNNK_YaV8M1tM941Krrc8UaFU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jFFNNK_YaV8M1tM941Krrc8UaFU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jFFNNK_YaV8M1tM941Krrc8UaFU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jFFNNK_YaV8M1tM941Krrc8UaFU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/EkGfH3wPGkI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/2002707969355266411/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=2002707969355266411" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2002707969355266411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2002707969355266411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/EkGfH3wPGkI/firefox-bloqueando-windows-presentation.html" title="Firefox, bloqueando Windows Presentation Foundation. (El mundo talibán está ganando)." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/firefox-bloqueando-windows-presentation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BQ3o9eSp7ImA9WxNWGU4.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-589709050061163185</id><published>2009-10-18T11:08:00.006+02:00</published><updated>2009-10-19T09:04:12.461+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-19T09:04:12.461+02:00</app:edited><title>GoogleWave. Una GRAN decepción.</title><content type="html">&lt;div align="justify"&gt;Bueno, después de dos días esperando, por fin me llegó la invitación a google Wave. Tan contento y tan feliz un domingo en la mañana sigo el enlace para abrirme la cuenta y me quedo de piedra: &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;img style="margin: 0px auto 10px; text-align: center; width: 366px; display: block; height: 400px;" id="BLOGGER_PHOTO_ID_5393864979976943554" alt="" src="http://1.bp.blogspot.com/_qF6XhQdN_FM/StrbnxHx98I/AAAAAAAABzI/v6BT3qMFmVw/s400/googleWave.png" border="0" /&gt;&lt;br /&gt;No. Con más de una década de desarrollo web esto es inadmisible.&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;Una de las cosas que más se le crítico al IE6 era la barbaridad que hacían los malos desarrolladores de obligar a utilizar el navegador de Windows. Poco o a poco, se pasó de obligar a recomendar. Y por fin el desarrollo superó estas diferencias entre cómo representa la web los diferentes navegadores y no importaba el navegador. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Netxcape desapareció y surgió Firefox, opera siguió en la brecha, safari llegó a los PC, Internet Explorer creció a sus versiones 7 y 8 y con el último llegado llamado Chrome, todos muy ajustados a los estándar del W3C y a las CSS, estaba seguro que por fin solamente tendríamos que programar una vez las páginas Web y realizar pequeños ajustes. Y así olvidarnos de los Hack y demás chapuzas.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;¿Y ahora google intenta volver a esos tiempos? ¿Qué sus desarrolladores no son capaces de hacer funcionar su código en IE? ¿EN NINGUN IE?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Vamos hombre, dejar fuera al navegador más importante históricamente y con la mayor penetración en el mercado actualmente es un absurdo al que no me uno. Es más, le pienso dar una oportunidad a Wave pero solamente en IE8. En un post anterior explicaba porque, hartísimo, he borrado de mi uso personal el Firefox. Y no veo porqué Google se arroga el derecho de decirme qué navegador he de usar cuando SE que es un movimiento puramente comercial.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Porque dudo mucho, mucho, mucho que haya problemas con un IE. Si acaso con el IE6 y anteriores. Pero hay que recordar que hay DOS versiones y 9 años desde su nacimiento. Ósea, que si sigue siendo mayoritariamente usado será porque tan malo no es.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Por último, creo que Google debería aprender de Adobe y su flash. Que no se ha andado con esas tonterías y funciona en cualquier sistema operativo, en cualquier navegador (excepto en los Iphone). O de .NET o de Java o de tantos desarrollos que funcionan en cualquier navegador.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Pues eso, otro post más de queja y empiezo a mirar con recelo las actuaciones de Google.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;P.D. Efectivamente no funciona en IE8, el más estandar de los navegadores actuales... bye, bye Wave.&lt;br /&gt;&lt;br /&gt;P.D.D. Efectívamente funciona si le pones el Chrome Frame que es cambiar el motor del navegador... al de Google... mmmm maniobra monopolista como las más rancias de Microsoft... prefiero usar firefox para probarlo.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-589709050061163185?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UrUqXjeeB-AENDZlekwA7BYY9s8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UrUqXjeeB-AENDZlekwA7BYY9s8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UrUqXjeeB-AENDZlekwA7BYY9s8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UrUqXjeeB-AENDZlekwA7BYY9s8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/egQrJlOYmWA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/589709050061163185/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=589709050061163185" title="8 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/589709050061163185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/589709050061163185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/egQrJlOYmWA/bueno-despues-de-dos-dias-esperando-por.html" title="GoogleWave. Una GRAN decepción." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_qF6XhQdN_FM/StrbnxHx98I/AAAAAAAABzI/v6BT3qMFmVw/s72-c/googleWave.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/bueno-despues-de-dos-dias-esperando-por.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHQnw6eyp7ImA9WxNWFEw.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-7609376461245587370</id><published>2009-10-13T09:19:00.002+02:00</published><updated>2009-10-13T09:25:33.213+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-13T09:25:33.213+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Agile" /><title>Motivación. Se puede conseguir casi todo.</title><content type="html">Soy seguidor novel de la técnica de gestión del tiempo personal “&lt;a href="http://www.pomodorotechnique.com/"&gt;Pomodoro Technique&lt;/a&gt;” que me parece muy interesante (que no sé si util) y para la que estoy desarrollando un reloj que voy publicando en este blog.&lt;br /&gt;&lt;br /&gt;Estoy apuntado al “tostón” del twiter, que sigo sin verle mucha gracia, y su autor (de la técnica pomodoro) ha remitido por el canal &lt;span style="color: rgb(0, 0, 153);"&gt;#pomodorotechnique&lt;/span&gt; un excelente vídeo sobre la motivación.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=2lXh2n0aPyw"&gt;&lt;br /&gt;http://www.youtube.com/watch?v=2lXh2n0aPyw&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No os lo perdáis… es impresionante el resultado.&lt;br /&gt;&lt;br /&gt;Actualización: La web &lt;a href="http://www.rolighetsteorin.se/en/"&gt;thefuntheory.com&lt;/a&gt; y sus excelentes ideas de motivación -si haces las cosas divertidas...-&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-7609376461245587370?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3sG6vSpy20ZPWvl5IMkM3Va4RY8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sG6vSpy20ZPWvl5IMkM3Va4RY8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3sG6vSpy20ZPWvl5IMkM3Va4RY8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3sG6vSpy20ZPWvl5IMkM3Va4RY8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/-jRW6Ry0zzM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/7609376461245587370/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=7609376461245587370" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7609376461245587370?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/7609376461245587370?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/-jRW6Ry0zzM/motivacion-se-puede-conseguir-casi-todo.html" title="Motivación. Se puede conseguir casi todo." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/motivacion-se-puede-conseguir-casi-todo.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDRXk9eCp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-6293258201273630403</id><published>2009-10-08T23:06:00.003+02:00</published><updated>2009-10-27T15:26:14.760+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T15:26:14.760+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – Creciendo y refactorizando.</title><content type="html">He evolucionado la aplicación para que en cada final de fase se detenga y se modifique el color de fondo para, con la HTC encima de la mesa, vea de un vistazo que he acabo esa fase. Esto es muy sencillita una clasecita que pinta el color de fondo y pausa la aplicación. &lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:c5f37bf3-09dd-4863-bc17-95055adbffcb" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; Efecto de alarma y pausa el cronómetro.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;void&lt;/span&gt;&lt;span style="color:#000000;"&gt; alarma()&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;&lt;span style="color:#000000;"&gt;.BackColor &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; Color.YellowGreen;         &lt;br /&gt;    pausa();&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;También me he liado a refactorizar un poquito la aplicación y he eliminado el horror de los contadores que hice en primera instancia y he optado por una mucho más elegante solución basada en la clase TimeSpan de la cual solamente voy a señalar dos cosillas:&lt;br /&gt;&lt;p align="justify"&gt;Quitar un lapso de tiempo dado o iniciar una variable del este tipo utilizando el método FromSeconds(). También podría haber utilizado un TimeSpan.parse(&amp;lt;string tipo 00:00&amp;gt;); pero me gusta más la solución en donde declaro específicamente la unidad horario que estoy utilizando.&lt;br /&gt;&lt;/p&gt;&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:1b2cc8b4-68c1-4721-9ce5-b7f64f573b4b" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:white;" &gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Cómo quitar un segundo a una variable del tipo TimeSpan&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;horario &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; horario &lt;/span&gt;&lt;span style="color:#000000;"&gt;-&lt;/span&gt;&lt;span style="color:#000000;"&gt; TimeSpan.FromSeconds(&lt;/span&gt;&lt;span style="color:#800080;"&gt;1&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;Otra cosilla es que, por defecto, TimeSpan.toString() devuelve los valores de horas, minutos y segundos. En cambio a mi me sobran las horas en mi reloj. Por lo cual clasecita al canto -tal vez hubiera sido mejor sobrecargar el método toString() pero así tengo material para refactorizar más adelante- tal esta:&lt;br /&gt;&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:ae582872-d7f4-488f-a46a-37066e9c7748" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:white;" &gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; Formatea el TimeSpan en minutos.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;param name="horario"&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;El TimeSpan a ser convertido a string&lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;///&lt;/span&gt;&lt;span style="color:#008000;"&gt; &lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;Los minutos y segundos en formato "00:00"&lt;/span&gt;&lt;span style="color:#808080;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color:#808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; timeSpan2minutos(TimeSpan horario)&lt;br /&gt;{&lt;br /&gt;   &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt;&lt;span style="color:#000000;"&gt; horario.Minutes.ToString(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;00&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#000000;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;:&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#000000;"&gt;+&lt;/span&gt;&lt;span style="color:#000000;"&gt; horario.Seconds.ToString(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;00&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;He modificado el&lt;a href="http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_03.html"&gt; código del post &lt;/a&gt;para irlo actualizando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-6293258201273630403?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wUjgCYLpH398AOAwZR4Eb_xEYgo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wUjgCYLpH398AOAwZR4Eb_xEYgo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wUjgCYLpH398AOAwZR4Eb_xEYgo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wUjgCYLpH398AOAwZR4Eb_xEYgo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/e2gYKb9R5Do" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/6293258201273630403/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=6293258201273630403" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6293258201273630403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/6293258201273630403?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/e2gYKb9R5Do/aplicacion-pomodoro-en-c-mobile-65_08.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Creciendo y refactorizando." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_08.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIEQHwyeip7ImA9WxNWEE0.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-9171840561794889102</id><published>2009-10-08T14:18:00.002+02:00</published><updated>2009-10-08T14:21:41.292+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-08T14:21:41.292+02:00</app:edited><title>Inútiles, esta lleno de inútiles…</title><content type="html">&lt;div style="text-align: justify;"&gt;Dejadme desahogarme una vez más en este tecnológico blog:&lt;br /&gt;&lt;br /&gt;Estoy en un proyecto en un Ministerio, en donde me solicitan que haga un análisis funcional de un portal que es una auténtica locura para los usuarios.&lt;br /&gt;&lt;br /&gt;Tan contento y recién acabado de un proyecto en CMMI me lanzo a hacer casos de uso, diagramas de flujo, diagramas de secuencia y muchos pantallazos, en un documento no muy técnico (pensaba yo). Nada de diseño técnico, de estructura de datos, de diagramas de clases ni cosas así complejas. Solamente qué hacia la aplicación y qué cosas por mejorar. Visio y Word a tope.&lt;br /&gt;&lt;br /&gt;Pero, ay amigo, que como perro viejo ha sido fallo mío pensar que un funcionario pudiera tener el nivel técnico como para poder leer un diagrama de secuencia y enterarse de algo. Y, claro, me llegó la orden de rehacer el documento con “más pantallas” y “más detallado”.&lt;br /&gt;&lt;br /&gt;Cayendo del burro me doy cuenta que tengo que bajar el nivel de explicación a nivel de cliente final y, ni corto ni perezoso, me hago un diagrama de navegación en PowerPoint. Es una presentación comercial que es como si alguien pulsara por ti el ratón.  Pantallazao tras pantallazao y flechitas que indican el orden.Vamos algo que me daría vergüenza si alguien me lo enviara como análisis funcional porque me sentiría ofendido en mi corazoncito profesional.&lt;br /&gt;&lt;br /&gt;Pues no. No solamente me dicen que está muy bien si no apostillan: &lt;span style="color: rgb(51, 51, 255);"&gt;"Ahora sí que el documento está reflejando la tramitación."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;¡”•$!/(•”$)%%&amp;amp;(¡”&amp;amp;(“$•””(%/”•))!&amp;amp;!!!!!!&lt;br /&gt;&lt;br /&gt;¿Y para hacer un PowerPoint la carrera, los casi 20 años de experiencia, los patrones, las buenas prácticas, el Agile y el tiempo delante de una pantalla?&lt;br /&gt;&lt;br /&gt;Bueno, sigo con mi PowerPoint... :(&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-9171840561794889102?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xAWLrPmdUQYFsPZxUHqhST-VOzE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xAWLrPmdUQYFsPZxUHqhST-VOzE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xAWLrPmdUQYFsPZxUHqhST-VOzE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xAWLrPmdUQYFsPZxUHqhST-VOzE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/qhQPYeRhDfo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/9171840561794889102/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=9171840561794889102" title="1 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/9171840561794889102?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/9171840561794889102?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/qhQPYeRhDfo/inutiles-esta-lleno-de-inutiles.html" title="Inútiles, esta lleno de inútiles…" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/inutiles-esta-lleno-de-inutiles.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MMR3w8cCp7ImA9WxBTE0k.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-8642978235750274298</id><published>2009-10-07T08:27:00.002+02:00</published><updated>2009-12-09T08:58:06.278+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-09T08:58:06.278+01:00</app:edited><title>La ciencia española no necesita tijeras, necesita una buena limpieza.</title><content type="html">&lt;div style="text-align: justify;"&gt;Me movido este post a mi blog de &lt;a href="http://unmalnacido.blogspot.com/2009/12/la-ciencia-espanola-no-necesita-tijeras.html"&gt;quejas y maldiciones&lt;/a&gt; :)&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-8642978235750274298?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iUVqNDcoWRJyn5Syt_MHNIJBNUk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iUVqNDcoWRJyn5Syt_MHNIJBNUk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iUVqNDcoWRJyn5Syt_MHNIJBNUk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iUVqNDcoWRJyn5Syt_MHNIJBNUk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/fRbKoA88T88" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/8642978235750274298/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=8642978235750274298" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8642978235750274298?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8642978235750274298?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/fRbKoA88T88/la-ciencia-espanola-no-necesita-tijeras.html" title="La ciencia española no necesita tijeras, necesita una buena limpieza." /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/la-ciencia-espanola-no-necesita-tijeras.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcEQnY-eSp7ImA9WxNVFUg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-4231995688668211152</id><published>2009-10-07T07:54:00.002+02:00</published><updated>2009-10-26T12:20:03.851+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-26T12:20:03.851+01:00</app:edited><title>100 posts!!</title><content type="html">&lt;div style="text-align: justify;"&gt;Me parece increíble que me haya sentado más de 100 veces delante de la pantalla del ordenador para compartir cosas conmigo mismo y con los cuatro locos que me leen.&lt;br /&gt;&lt;br /&gt;Y digo más de 100 veces porque se han quedado varios borradores en el tintero y dos o tres artículos que me he autocensurado por no ser constructivos.&lt;br /&gt;&lt;br /&gt;Y ahora por el 102… :)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-4231995688668211152?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TEvIpWFplonPCaXhEW51c9xbsKQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TEvIpWFplonPCaXhEW51c9xbsKQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TEvIpWFplonPCaXhEW51c9xbsKQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TEvIpWFplonPCaXhEW51c9xbsKQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/7wloHo25Z1U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/4231995688668211152/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=4231995688668211152" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4231995688668211152?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4231995688668211152?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/7wloHo25Z1U/100-posts.html" title="100 posts!!" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/100-posts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDRXk9eSp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-4346970378069652688</id><published>2009-10-03T18:04:00.001+02:00</published><updated>2009-10-27T15:26:14.761+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-27T15:26:14.761+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET .C# .Mobile .Mobile6.5" /><title>Aplicación Pomodoro en C# Mobile 6.5 – Hagamos sonar el tomate</title><content type="html">&lt;p&gt;Un pasito más. Vamos a hacer que cuando se pulse en el tomate, nos haga un ruidito. Para ello vamos a utilizar la clase SoundPlayer del namespace System.Media.&lt;/p&gt;  &lt;p&gt;En la aplicación lo he echo un poquito más complejo para poder leer la configuración de sonidos también de el xml de configuracion, pero la forma rápida y sencilla es:&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:8bad6349-6b29-45da-a543-04b28df9e3f8" class="wlWriterEditableSmartContent"&gt;&lt;pre style="background-color:#FFFFFF;overflow: auto;"&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Media;&lt;br /&gt;&lt;br /&gt;SoundPlayer click &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; SoundPlayer(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;\\Windows\\splat.wav&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;click.Play();&lt;/span&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;br /&gt;Puesto en el evento de clik del tomate… ya suena!!  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-4346970378069652688?l=1poquitodtodo.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/haGIhlaSls8_H71wBhLFmv4z3Jg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/haGIhlaSls8_H71wBhLFmv4z3Jg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/haGIhlaSls8_H71wBhLFmv4z3Jg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/haGIhlaSls8_H71wBhLFmv4z3Jg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CeSv/~4/lyj4cBW-aAg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/4346970378069652688/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=4346970378069652688" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4346970378069652688?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/4346970378069652688?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/lyj4cBW-aAg/aplicacion-pomodoro-en-c-mobile-65_508.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Hagamos sonar el tomate" /><author><name>Juan Quijano</name><uri>http://www.blogger.com/profile/10969229495916572526</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="08548903980058467677" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_508.html</feedburner:origLink></entry></feed>
