<?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;CEMERHc_fSp7ImA9WxNbEUw.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754</id><updated>2009-11-13T12:40:05.945+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>114</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/blogspot/CeSv" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry gd:etag="W/&quot;DkQGQnc4cCp7ImA9WxNUGUk.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-2853015440711819072</id><published>2009-11-11T13:43:00.003+01:00</published><updated>2009-11-11T13:58:43.938+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-11T13:58:43.938+01:00</app:edited><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: rgb(0, 102, 0);"&gt;/// &lt;summary&gt;&lt;/summary&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/// Devuelve el DataTable filtrado obtenido de la fuente de datos.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/// &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;/// &lt;returns&gt;&lt;/returns&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;public &lt;/span&gt;&lt;span style="color: rgb(51, 153, 153);"&gt;DataTable &lt;/span&gt;leeTablaFiltrada()&lt;br /&gt;{&lt;br /&gt;  &lt;span style="color: rgb(51, 153, 153);"&gt;DataTable &lt;/span&gt;tabla = &lt;span style="color: rgb(0, 0, 153);"&gt;new &lt;/span&gt;&lt;span style="color: rgb(51, 153, 153);"&gt;DataTable&lt;/span&gt;();&lt;br /&gt;  tabla = leeTabla(); &lt;span style="color: rgb(0, 102, 0);"&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: rgb(51, 153, 153);"&gt;DataView &lt;/span&gt;vista = &lt;span style="color: rgb(0, 0, 153);"&gt;new &lt;/span&gt;&lt;span style="color: rgb(51, 153, 153);"&gt;DataView&lt;/span&gt;(tabla, "&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;campo_de_filtro&gt;tabla de filtro = 'valor de filtro'&lt;/campo_de_filtro&gt;&lt;/span&gt; ", "&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;campo_de_ordenamiento&gt;tabla de ordenamiento DESC&lt;/campo_de_ordenamiento&gt;&lt;/span&gt;", &lt;span style="color: rgb(51, 153, 153);"&gt;DataViewRowState&lt;/span&gt;.CurrentRows);&lt;br /&gt; &lt;span style="color: rgb(0, 102, 0);"&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: rgb(0, 0, 153);"&gt;return &lt;/span&gt;vista.ToTable(); &lt;span style="color: rgb(0, 102, 0);"&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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p0IdXh6PI4q3PJZNaMQy2ApUoEM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p0IdXh6PI4q3PJZNaMQy2ApUoEM/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/p0IdXh6PI4q3PJZNaMQy2ApUoEM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p0IdXh6PI4q3PJZNaMQy2ApUoEM/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="6 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">6</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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yKlJQQ9TltVu27ujz5QkbieESMo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yKlJQQ9TltVu27ujz5QkbieESMo/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/yKlJQQ9TltVu27ujz5QkbieESMo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yKlJQQ9TltVu27ujz5QkbieESMo/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pAoYSqQoDGoKkc7Kh_faQm1hL3Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pAoYSqQoDGoKkc7Kh_faQm1hL3Y/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/pAoYSqQoDGoKkc7Kh_faQm1hL3Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pAoYSqQoDGoKkc7Kh_faQm1hL3Y/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/95EpnDJtML-S2efJwKQOXukk1iM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/95EpnDJtML-S2efJwKQOXukk1iM/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/95EpnDJtML-S2efJwKQOXukk1iM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/95EpnDJtML-S2efJwKQOXukk1iM/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="0 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">0</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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sC9FZXJRLKBp3yjmejQc9Oy2Ypc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sC9FZXJRLKBp3yjmejQc9Oy2Ypc/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/sC9FZXJRLKBp3yjmejQc9Oy2Ypc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sC9FZXJRLKBp3yjmejQc9Oy2Ypc/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tWIf4H7SkOKKaUapK98ZfzoQqik/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tWIf4H7SkOKKaUapK98ZfzoQqik/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/tWIf4H7SkOKKaUapK98ZfzoQqik/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tWIf4H7SkOKKaUapK98ZfzoQqik/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hHruv18tD5PpxjJQwGFl2TKe6S4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hHruv18tD5PpxjJQwGFl2TKe6S4/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/hHruv18tD5PpxjJQwGFl2TKe6S4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hHruv18tD5PpxjJQwGFl2TKe6S4/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y5OdCR2JaYYnUx3iAnhcoAZufT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y5OdCR2JaYYnUx3iAnhcoAZufT4/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/y5OdCR2JaYYnUx3iAnhcoAZufT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y5OdCR2JaYYnUx3iAnhcoAZufT4/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ICCFqsgYDY1VjxnQCRLzo-BVGFk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ICCFqsgYDY1VjxnQCRLzo-BVGFk/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/ICCFqsgYDY1VjxnQCRLzo-BVGFk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ICCFqsgYDY1VjxnQCRLzo-BVGFk/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_-2IcNS2kysAfyPieygkSMtxUKI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_-2IcNS2kysAfyPieygkSMtxUKI/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/_-2IcNS2kysAfyPieygkSMtxUKI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_-2IcNS2kysAfyPieygkSMtxUKI/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vPH_ngoMyBagRR6Bf8xiYGjdFzU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vPH_ngoMyBagRR6Bf8xiYGjdFzU/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/vPH_ngoMyBagRR6Bf8xiYGjdFzU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vPH_ngoMyBagRR6Bf8xiYGjdFzU/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NBSjtkBqEkLYJ2YjtJHPlT1gIZY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NBSjtkBqEkLYJ2YjtJHPlT1gIZY/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/NBSjtkBqEkLYJ2YjtJHPlT1gIZY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NBSjtkBqEkLYJ2YjtJHPlT1gIZY/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Uf2NKDJofUlTz_oc8vpsLebUfu0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uf2NKDJofUlTz_oc8vpsLebUfu0/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/Uf2NKDJofUlTz_oc8vpsLebUfu0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uf2NKDJofUlTz_oc8vpsLebUfu0/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;DE4CQHY-eSp7ImA9WxNXGEQ.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-8642978235750274298</id><published>2009-10-07T08:27:00.001+02:00</published><updated>2009-10-07T08:29:21.851+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-07T08:29:21.851+02: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;La ciencia española es un curioso caso basado en el paradigma de “que inventen otros”.&lt;br /&gt;Un campo que prácticamente no tiene apoyo privado y que depende en gran medida del apoyo del estado.&lt;br /&gt;&lt;br /&gt;Pero con problemas endémicos que necesitan correcciones inmediatas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Becarios: no se puede hacer ciencia en este país porque se tiene que ser una auténtica fiera en la universidad, para ser becario y cobrar (o no) durante 10 o más años a ver si por fin sale una plaza para investigador. Ósea debes de estar en casa de tus padres, sin mujer ni hijos hasta los 40 años para poder ser el esclavo del investigador. Así se pierden los mejores talentos.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Investigadores: ¿funcionarios? ¿Cómo demonios un investigador puede ser un funcionario? Que ganan un verdadero pastizal por un trabajo gris que, además, hacen los becarios. Personas de más de 40 años que han pasado hace mucho su mejor etapa creativa y que son gestores que solamente piensan en el 18-2 (paga extra muy suculenta que reciben y que se supone se debería repartir entre el equipo pero que se ha convertido en un sobresueldo muy importante).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Cargos políticos: ¿Es normal el descaro del Secretario General del CSIC y los subdirectores que están presentando facturas de gastos por comidas de 400 0 500€?¿Es normal que el anterior Secretario General se haya creado su propio centro de investigación para sacarse miles de euros al mes de extras, o que sus líneas de investigación cobraban el 18-2 antes que nadie así no hubiera dinero?¿Es normal que el subdirector de presupuestos sea un auténtico inútil, con el pastizal que se le paga?¿Es normal que la factura mensual de los teléfonos de esta nueva aristocracia, solamente en el CSIC, supere los 12.000? No tienen vergüenza, ni son conscientes de que su trabajo es servir, no chupar del bote.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;En resumen, el dinero es escaso pero su utilización es perversa y profundamente derrochadora. Y al gobierno solo se le ocurre recortar de forma salvaje el gasto para dejarlo a niveles del inicio de la legislatura pasada.&lt;br /&gt;&lt;br /&gt;¿Por qué no recortan los sueldos y gastos de los altos cargos (de subdirector para arriba) y, sobre todo, de los investigadores?¿Porqué no toman las medidas para que el dinero se reparta entre TODOS los que se dedican a la ciencia y no solamente a los altos cargos y los investigadores que firman los proyectos?¿Donde está el fomento de la ciencia base para que los nuevos investigadores no estén condenados a ser becarios insolventes y que puedan vivir de ello en su etapa más creativa?¿Cuando se va a acabar el lobby de los investigadores y sus líneas de investigación que se han convertido en un negocio muy lucrativo, pero ruinoso en resultados científicos?¿Cuando se va a eliminar el derroche de material que se compra para cumplir con el presupuesto?&lt;br /&gt;&lt;br /&gt;¿Y las comunidades autónomas? Esos chupópteros que son mil veces peor que el gobierno, que solo ansían poner las manos en el dinero público para ser muchísimo más opacos y centristas de lo que tanto se quejan del estado central y que no hacen NADA por la ciencia.&lt;br /&gt;&lt;br /&gt;Estimado presidente, tome las riendas. Mire hacia abajo al mundo real. Mire a la ciencia en España y dese cuenta que es un saco vacío lleno de manos de avariciosas que solamente hacen coger el dinero y pegar con un palo para que se vayan fuera los verdaderos científicos. Y así poder viajar a los diferentes encuentros que, mira que casualidad, siempre son fuera de España y a gastos pagados.&lt;br /&gt;&lt;br /&gt;No necesita tijeras. De hecho es lo último que necesita.&lt;br /&gt;&lt;br /&gt;Necesita pasión, necesita limpieza, necesita esa moral científica que tanto falta. Necesita que le den importancia (como Afganistán o la ley de dependencia o el ministerio de Igualdad). Necesita un cambio de rumbo radical. Necesita una buena limpieza.&lt;br /&gt;&lt;br /&gt;Postdata: Este post es generalista. Seguro que hay investigadores que no son como los describo. Y me alegro mucho cuando las revistas o los telediarios hablan de investigaciones del país. En cambio, sobre los que llamo “nueva aristocracia”, los llamados cargos de confianza (a partir de subdirectores o subsecretarios) me quedo corto, el nivel de amoralidad y prepotencia es impresionante.&lt;br /&gt;&lt;br /&gt;PostPostData: Este post viene motivado por el movimiento en la red La ciencia en españa no necesita tijeras.&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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ujAuK46BDljhMMDYe9G5ebcXGEA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ujAuK46BDljhMMDYe9G5ebcXGEA/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/ujAuK46BDljhMMDYe9G5ebcXGEA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ujAuK46BDljhMMDYe9G5ebcXGEA/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Puak-naJlletgS-NYbFsgWPeK2Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Puak-naJlletgS-NYbFsgWPeK2Q/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/Puak-naJlletgS-NYbFsgWPeK2Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Puak-naJlletgS-NYbFsgWPeK2Q/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'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Jcr_ckf1LCqAFlDSUV_kBQqJp70/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jcr_ckf1LCqAFlDSUV_kBQqJp70/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/Jcr_ckf1LCqAFlDSUV_kBQqJp70/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jcr_ckf1LCqAFlDSUV_kBQqJp70/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><entry gd:etag="W/&quot;CUIDRXk9eSp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-3958038665475637647</id><published>2009-10-03T15:42:00.003+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 – Construyendo el reloj</title><content type="html">&lt;p align="justify"&gt;Bueno, como los &lt;a href="http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65.html"&gt;requisitos&lt;/a&gt; son súper sencillos no voy a comerme mucho el tarro con esta pequeña práctica y voy a hacer una aplicación de una sola capa que tenga todo.&lt;/p&gt;  &lt;p align="justify"&gt;Por lo cual para el formulario voy a utilizar el logotipo de Pomodoro que es el siguiente:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_qF6XhQdN_FM/SsdUrhw7YVI/AAAAAAAAByg/o9kKA19YaP4/s1600-h/pomodoro%5B8%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="pomodoro" border="0" alt="pomodoro" src="http://lh6.ggpht.com/_qF6XhQdN_FM/SsdUtdy5izI/AAAAAAAAByk/RSnpDt3PLKg/pomodoro_thumb%5B6%5D.png?imgmax=800" width="240" height="199" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Y a continuación los dos controles tipo label en donde voy a escribir la cuenta atrás y la fase en la que estoy. Por último, también tendré en cuenta los dos botones en la barra de menú inferior, quedando un formulario así:   &lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_qF6XhQdN_FM/SsdUvvEZHYI/AAAAAAAAByo/JAX0K_3oTtc/s1600-h/form%5B4%5D.png" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="form" border="0" alt="form" src="http://lh5.ggpht.com/_qF6XhQdN_FM/SsdUwhX34zI/AAAAAAAABys/SfRIVbmutwc/form_thumb%5B2%5D.png?imgmax=800" width="195" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;La primera tarea que quiero hacer es todo el tema del cronometro, por lo cual me dejo la lectura de la configuración a un lado y directamente meto los parámetros en el constructor de la clase, eso sí lo dejo listo para más adelante hacer la clase de gestión de la configuración y que no tenga que modificar prácticamente nada.&lt;/p&gt;  &lt;p align="justify"&gt;Por ello también declaro una serie de constantes dentro de la propia clase. En vez de sacarlo a una estructura externa.&lt;/p&gt;  &lt;p align="justify"&gt;Para hacer el cronómetro me he apoyado en el control Timer de .NET, el cual indicándole un intervalo en milisegundos, me lanza un evento onTick en el cual le indico todo lo que tiene que ocurrir.&lt;/p&gt;  &lt;p align="justify"&gt;He creado un método pausa() que detiene y reinicia la cuenta atrás y visualiza los mensajes y los menús adecuados a cada fase.&lt;/p&gt;  &lt;p align="justify"&gt;Con cuidadin, ya que es una versión Beta inicial, aquí os dejo el código como está ahora mismo. &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:7580f9fc-1d0a-44d7-9d8a-27c3ad5739b2" 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;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Collections.Generic;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.ComponentModel;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Drawing;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Text;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;using&lt;/span&gt;&lt;span style="color: #000000;"&gt; System.Windows.Forms;&lt;br /&gt;&lt;/span&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;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;namespace&lt;/span&gt;&lt;span style="color: #000000;"&gt; Pomodoro&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;partial&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; Pomodoro : Form&lt;br /&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;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; minutosDescansoLargo;&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;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; minutosDescansoCorto;&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;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; minutosTrabajo;&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;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; numIteracionesTrabajo;&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; TimeSpan horario;&lt;br /&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; minutoActual;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; minutoFin;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt; iteraciones;&lt;br /&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;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; Nos indica si estamos en periodo de trabajo&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; trabajo;&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; Nos indica si el reloj está iniciado&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;bool&lt;/span&gt;&lt;span style="color: #000000;"&gt; encendido;&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; Repositorio temporal de mensajes&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&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; mensajeTemporal;&lt;br /&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;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; Objeto reproductor de sonidos&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: #000000;"&gt;        sonido sonidos;&lt;br /&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;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; Constantes de mensajes"&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajeIniciar &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;Iniciar&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;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajePausa &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;Pausa&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;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajeContinuar &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;Continuar&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;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajeDescansoCorto &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;Descanso breve&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;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajeDescansoLargo &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;Descanso largo&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;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;const&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; mensajeTrabaja &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;Trabajando&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&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;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; Constructor del formulario&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; Pomodoro()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;            sonidos &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; sonido();&lt;br /&gt;            leeConfiguracion();&lt;br /&gt;        }&lt;br /&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;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; Lee la configuración desde un fichero xml&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: #000000;"&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&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; leeConfiguracion()&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Lee configuración del xml&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; En desarrollo meto los valores a cañon.&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            minutosDescansoLargo &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: #800080;"&gt;15&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            minutosDescansoCorto &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: #800080;"&gt;5&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            minutosTrabajo &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: #800080;"&gt;25&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            numIteracionesTrabajo &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: #800080;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;Reinicio los valores&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; TimeSpan.FromMinutes(minutosTrabajo);&lt;br /&gt;&lt;br /&gt;            iteraciones &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; numIteracionesTrabajo;&lt;br /&gt;            menuItem2.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeIniciar;&lt;br /&gt;            lblMensaje.Text &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;string&lt;/span&gt;&lt;span style="color: #000000;"&gt;.Empty;&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.WhiteSmoke;&lt;br /&gt;&lt;br /&gt;            timer1.Interval &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: #800080;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;Un segundo&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            encendido &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;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            trabajo &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;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;        }&lt;br /&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;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; Reloj. Gestiona los mensajes y los contadores de fases.&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="sender"&amp;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;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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; timer1_Tick(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            lblReloj.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; timeSpan2minutos(horario);&lt;br /&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;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Si hemos llegado al final de la cuenta regresiva&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (horario.Minutes &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: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000;"&gt; horario.Seconds &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: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Si entramos en un periodo distinto del de trabajo&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (trabajo &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;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;                {&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Si entramos en un periodo de descansoCorto&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (iteraciones &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        iteraciones&lt;/span&gt;&lt;span style="color: #000000;"&gt;--&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;                        horario &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; TimeSpan.FromMinutes(minutosDescansoCorto);&lt;br /&gt;                        lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeDescansoCorto;&lt;br /&gt;                    }&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;                    {&lt;br /&gt;                        iteraciones &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; numIteracionesTrabajo;&lt;br /&gt;                        horario &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; TimeSpan.FromMinutes(minutosDescansoLargo);&lt;br /&gt;                        lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeDescansoLargo;&lt;br /&gt;                    }&lt;br /&gt;                    trabajo &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;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;                }&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;else&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;                {&lt;br /&gt;                    horario &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; TimeSpan.FromMinutes(minutosTrabajo);&lt;br /&gt;                    trabajo &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;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;                    lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeTrabaja;&lt;br /&gt;                }&lt;br /&gt;                alarma();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&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;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; Pausa/continuar&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: #000000;"&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; pausa()&lt;br /&gt;        {&lt;br /&gt;            lblReloj.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; timeSpan2minutos(horario);&lt;br /&gt;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;switch&lt;/span&gt;&lt;span style="color: #000000;"&gt; (menuItem2.Text)&lt;br /&gt;            {&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Ponemos el mensaje de trabaja&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeIniciar:&lt;br /&gt;                    lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeTrabaja;&lt;br /&gt;                    menuItem2.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajePausa;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Guardamos el mensaje de texto&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Y ponemos el mensaje de pausa&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajePausa:&lt;br /&gt;&lt;br /&gt;                    mensajeTemporal &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; lblMensaje.Text;&lt;br /&gt;                    lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajePausa;&lt;br /&gt;                    menuItem2.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeContinuar;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Recuperamos el mensaje de texto original&lt;br /&gt;                &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Y lo visualizamos&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;                &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;case&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeContinuar:&lt;br /&gt;                    lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeTemporal;&lt;br /&gt;                    menuItem2.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajePausa;&lt;br /&gt;                    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;break&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;            }&lt;br /&gt;            &lt;br /&gt;            encendido &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: #000000;"&gt;encendido;&lt;br /&gt;            timer1.Enabled &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; encendido;&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (encendido &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;true&lt;/span&gt;&lt;span style="color: #000000;"&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.WhiteSmoke; }&lt;br /&gt;        }&lt;br /&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;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: #000000;"&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;br /&gt;&lt;br /&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;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: #000000;"&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;br /&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;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; Menú izquierdo&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="sender"&amp;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;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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; menuItem1_Click(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            leeConfiguracion();&lt;br /&gt;            lblReloj.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; timeSpan2minutos(horario);&lt;br /&gt;            menuItem2.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeIniciar;&lt;br /&gt;            lblMensaje.Text &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; mensajeIniciar;&lt;br /&gt;            timer1.Enabled &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;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&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;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; Menú derecho&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="sender"&amp;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;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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; menuItem2_Click(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            pausa();&lt;br /&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;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; Imágen del tomate&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="sender"&amp;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;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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; pictureBox1_Click(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;DrawString();&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;            sonidos.click.Play();&lt;br /&gt;            pausa();&lt;br /&gt;        }&lt;br /&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;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; Botón de salir&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="sender"&amp;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;param name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&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; bSalir_Click(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;object&lt;/span&gt;&lt;span style="color: #000000;"&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            Application.Exit();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&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;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; Clase que inicializa los sonidos utilizados en la aplicación.&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: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt; sonido&lt;br /&gt;    {&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&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;        &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt; sonido()&lt;br /&gt;        {&lt;br /&gt;            click.Play();&lt;br /&gt;        }&lt;br /&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;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;¿Lo siguiente?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_508.html"&gt;Efectos sonoros y visuales&lt;/a&gt;….&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-3958038665475637647?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4BiCYpz3svXPgm70CJboE1R7qyw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4BiCYpz3svXPgm70CJboE1R7qyw/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/4BiCYpz3svXPgm70CJboE1R7qyw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4BiCYpz3svXPgm70CJboE1R7qyw/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/6NT3XX51wn4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/3958038665475637647/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=3958038665475637647" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3958038665475637647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3958038665475637647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/6NT3XX51wn4/aplicacion-pomodoro-en-c-mobile-65_03.html" title="Aplicación Pomodoro en C# Mobile 6.5 – Construyendo el reloj" /><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_03.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDRXk9eSp7ImA9WxNVFkg.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-594055136600136014</id><published>2009-10-02T12:17:00.002+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 - Instalación del entorno de desarrollo.</title><content type="html">&lt;div style="text-align: justify;"&gt;Después de unas cuantas vueltas y desesperaciones, por fin caí en el post bueno que me indica en un “&lt;a href="http://blog.wadewegner.com/index.php/2009/09/02/getting-ready-for-the-race-to-market-challenge/"&gt;guía burros&lt;/a&gt;” qué y cómo hay que instalar en el equipo de desarrollo para que el VS2008 me permita trabajar contra un emulador de Mobile 6.5 con calidad VGA (800x400).&lt;br /&gt;&lt;br /&gt;Paso 1. Desinstalar el Mobile 6.0 Sdk si lo tuviéramos instalado, como me pasó a mí.&lt;br /&gt;Paso 2. Descargarse e instalar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;displaylang=en"&gt;Windows Mobile 6 Professional and Standard Software Development Kits Refresh&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e"&gt;Windows Mobile 6.5 Developer Tool Kit&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;Paso 3. Dependiendo del Sistema Operativo descargar e instalarse:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;XP: &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9E641C34-6F7F-404D-A04B-DC09F8141141&amp;amp;displaylang=es"&gt;Active Sync 4.5 &lt;/a&gt;&lt;/li&gt;&lt;li&gt;Vista o Win7: &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=es"&gt;Centro de dispositivos de Windows Mobile 6.1 para Windows Vista (32-bits) &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;*NOTA: Las descargas debieran ser todas en el mismo idioma. O en inglés o en español. Yo me he bajado las versiones en ambos idiomas. Hago referencias a las versiones de 32bits, pero existen para las versiones de 64bits.&lt;br /&gt;&lt;br /&gt;Las demás descargas que se leen en el blog de Wade Wegner no son necesarias en este punto, pero yo me las he bajado e instalado igualmente.&lt;br /&gt;&lt;br /&gt;Ahora si, podemos crear nuestro proyecto C# para Windows Mobile 6.0 en resolución VGA.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Agradecimientos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.wadewegner.com/"&gt;Wade Wegner blog &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/windowsmobile/es-es/default.mspx"&gt;Microsoft Mobil&lt;/a&gt;e  &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dotnetfordevices.com/forum.html"&gt;Maarten's Blogs en .Net for devices&lt;/a&gt;&lt;/li&gt;&lt;/ul&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-594055136600136014?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bO5RuERTmsacwmcanP2Q0q2ziGI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bO5RuERTmsacwmcanP2Q0q2ziGI/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/bO5RuERTmsacwmcanP2Q0q2ziGI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bO5RuERTmsacwmcanP2Q0q2ziGI/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/Zy34PSJrHZA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/594055136600136014/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=594055136600136014" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/594055136600136014?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/594055136600136014?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/Zy34PSJrHZA/aplicacion-pomodoro-en-c-mobile-65_02.html" title="Aplicación Pomodoro en C# Mobile 6.5 - Instalación del entorno de desarrollo." /><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_02.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4HRnYzeCp7ImA9WxNXFEo.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-2766014045414605063</id><published>2009-10-02T11:51:00.002+02:00</published><updated>2009-10-02T12:22:17.880+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T12:22:17.880+02: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</title><content type="html">Bueno, ya tengo mi flamante HTC Touch HD en mis manos e inmediatamente me he puesto a  trastear en ella para hacer un Hello World, el cual he tardado 3 minutos en hacerlo y probarlo.&lt;br /&gt;&lt;br /&gt;Pero, para empezar a hincar el diente he decidido hacer una pequeña aplicación que me haga un reloj Pomodoro.  Vamos un cronometro de cocina con pequeñas variaciones para utilizarlo con la técnica antes descrita.&lt;br /&gt;&lt;br /&gt;Requisitos iniciales:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    El reloj debe de contar por minutos de forma regresiva. Y se debe ver.&lt;/li&gt;&lt;li&gt;    En cualquier momento puedo detener la cuenta atrás.&lt;/li&gt;&lt;li&gt;    En cualquier momento puedo reiniciar el reloj.&lt;/li&gt;&lt;li&gt;    Los periodos a contar son:&lt;/li&gt;&lt;/ul&gt;             o    Periodo de trabajo (25minutos)&lt;br /&gt;            o    Periodo de pausa (5 minutos)&lt;br /&gt;            o    Periodo de descanso (15 minutos)&lt;br /&gt;            o    Iteraciones trabajo/pausa hasta el periodo de descanso (4)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Efecto sonoro de cambio de periodo (3), pausa y reinicio.&lt;/li&gt;&lt;li&gt;    Efecto visual de cambio de periodo (3), pausa y reinicio.&lt;/li&gt;&lt;li&gt;    Las acciones de pausa y reinicio deben ser poder realizadas pulsando sobre el tomate y sobre el menú.&lt;/li&gt;&lt;li&gt;    Efectos visuales y sonoros de las acciones sobre el tomate.&lt;/li&gt;&lt;/ul&gt;Esto requisitos no son definitivos ya que quiero ir realizando mejoras con el transcurrir el tiempo. Como pudieran ser:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Gestor de configuración. Editar el xml de configuración.&lt;/li&gt;&lt;li&gt;    Integrar con la hoja de Inventario de actividades y el To Do Today.&lt;/li&gt;&lt;li&gt;    Utilizar remeber the milk o servicios similares en la nube.&lt;/li&gt;&lt;li&gt;    Integrarse con el Task de Outlook Mobile.&lt;/li&gt;&lt;li&gt;    Multi idioma&lt;/li&gt;&lt;li&gt;    Efectos visuales el tomate en DirectX (funcionamiento igual que uno de verdad)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Manos a la obra y &lt;a href="http://1poquitodtodo.blogspot.com/2009/10/aplicacion-pomodoro-en-c-mobile-65_02.html"&gt;empecemos&lt;/a&gt;…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-2766014045414605063?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DffnyiccrZ1XuHqZWF2XhA0BrDk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DffnyiccrZ1XuHqZWF2XhA0BrDk/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/DffnyiccrZ1XuHqZWF2XhA0BrDk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DffnyiccrZ1XuHqZWF2XhA0BrDk/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/cC0cFn-HxR8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/2766014045414605063/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=2766014045414605063" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2766014045414605063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/2766014045414605063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/cC0cFn-HxR8/aplicacion-pomodoro-en-c-mobile-65.html" title="Aplicación Pomodoro en C# Mobile 6.5" /><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.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYFRHs-fSp7ImA9WxNXFEs.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-577948643859062892</id><published>2009-10-01T20:46:00.003+02:00</published><updated>2009-10-02T08:48:35.555+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T08:48:35.555+02:00</app:edited><title>Reunión Agile-Madrid 30/09/09</title><content type="html">&lt;p&gt;Estoy de Gallardón y sus obras hasta las narices..,&lt;/p&gt;&lt;p&gt;Pasando por encima de la acera, entre zanjas abiertas y vallas amarillas, llegué a la sede de &lt;a href="http://11870.com/blog/encuentro-de-agile-spain-en-nuestras-oficinas"&gt;11870&lt;/a&gt;  a mi primera reunión del grupo Agile de Madrid. Con la ilusión de conocer a José María y a más gente “rarita” con esto del agilísimo. &lt;/p&gt;&lt;p&gt;Mi primera sorpresa es la oficina de 11870 que tienen un aire a buen rollito y a diseño gráfico que me recuerda viejos y buenos tiempos en Mc Erikson.&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_qF6XhQdN_FM/SsT4xnslB8I/AAAAAAAABxo/YOw0enosFaU/s1600-h/IMAG0011%5B5%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0011" alt="IMAG0011" src="http://lh6.ggpht.com/_qF6XhQdN_FM/SsT4ypIvkYI/AAAAAAAABxs/-xg2nXfKiuM/IMAG0011_thumb%5B3%5D.jpg?imgmax=800" border="0" height="387" width="644" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;La gente fue llegando poco a poco, pero al final nos juntamos un grupo realmente grande y diverso. Gente maja y con ganas de escuchar, de aprender y de colaborar.&lt;br /&gt;&lt;a href="http://lh4.ggpht.com/_qF6XhQdN_FM/SsT4zfzaU8I/AAAAAAAABxw/bVWSWGexZ4I/s1600-h/IMAG0002%5B3%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0002" alt="IMAG0002" src="http://lh5.ggpht.com/_qF6XhQdN_FM/SsT40BiYHNI/AAAAAAAABx0/znFeQBWLBA0/IMAG0002_thumb%5B1%5D.jpg?imgmax=800" border="0" height="387" width="644" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;En cuanto llegó José Manuél Beas nos pusimos a cocinar una retrospectiva y Ángel Medinilla demostró el porqué es un gurú en el mundo Agile en España al hacer un coaching muy bueno a José Manuél que hacía las veces de facilitador.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_qF6XhQdN_FM/SsT40hjEH1I/AAAAAAAABx4/cqkR8N3Czkk/s1600-h/IMAG0010%5B3%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0010" alt="IMAG0010" src="http://lh3.ggpht.com/_qF6XhQdN_FM/SsT41ezNNEI/AAAAAAAABx8/-JXMh9J3h1s/IMAG0010_thumb%5B1%5D.jpg?imgmax=800" border="0" height="387" width="644" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;El grupo fue bastante interactivo e, increíblemente, muy disciplinado con los timebox (caja de tiempo). Obteniéndose al final conclusiones claras y concisas que se podrán leer en el foro de Agile-Spain.&lt;/p&gt;&lt;p&gt;A partir de ese momento entramos en un coloquio con Ángel (lo que habla el Horda este… ;D) que empezó frio y acabo como tienen que acabar estas cosas… delante de unas cervecitas.&lt;br /&gt;&lt;a href="http://lh3.ggpht.com/_qF6XhQdN_FM/SsT42B0WuvI/AAAAAAAAByA/2fmon6WnE1Q/s1600-h/IMAG0012%5B3%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0012" alt="IMAG0012" src="http://lh6.ggpht.com/_qF6XhQdN_FM/SsT42nYLivI/AAAAAAAAByE/uFecx5nhBik/IMAG0012_thumb%5B1%5D.jpg?imgmax=800" border="0" height="387" width="644" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Flores (como nos enseñó Angel) para Agustín Yagüe, que ya hubiera querido de profesor cuando hice la carrera , por supuesto para José M. y para Angel &lt;/p&gt;&lt;div align="center"&gt;&lt;table align="center" border="0" cellpadding="2" cellspacing="0" width="342"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" width="163"&gt;&lt;a href="http://lh4.ggpht.com/_qF6XhQdN_FM/SsT43aM6HaI/AAAAAAAAByI/NS9cZODiZ4M/s1600-h/IMAG0007%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0007" alt="IMAG0007" src="http://lh3.ggpht.com/_qF6XhQdN_FM/SsT431cjebI/AAAAAAAAByM/4HAW85ILFcA/IMAG0007_thumb.jpg?imgmax=800" border="0" height="244" width="148" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign="top" width="165"&gt;&lt;a href="http://lh5.ggpht.com/_qF6XhQdN_FM/SsT44YVv3rI/AAAAAAAAByQ/icMA-A9dXFc/s1600-h/IMAG0003%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0003" alt="IMAG0003" src="http://lh4.ggpht.com/_qF6XhQdN_FM/SsT44064uGI/AAAAAAAAByU/eD_cuwYwWPk/IMAG0003_thumb.jpg?imgmax=800" border="0" height="244" width="148" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td valign="top" width="12"&gt;&lt;a href="http://lh6.ggpht.com/_qF6XhQdN_FM/SsT45SSo9UI/AAAAAAAAByY/_5jiw2x53eo/s1600-h/IMAG0004%5B2%5D.jpg"&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="border: 0px none ; display: inline;" title="IMAG0004" alt="IMAG0004" src="http://lh3.ggpht.com/_qF6XhQdN_FM/SsT46E4aHhI/AAAAAAAAByc/zOCq50i29mU/IMAG0004_thumb.jpg?imgmax=800" border="0" height="148" width="244" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;Resumen: me muero de ganas de ir a la siguiente reunión y al Open.  GRACIAS!! – óiganse aplausos -&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-577948643859062892?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sl8S3ljir9kZQVSYnS14gSDjM_c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sl8S3ljir9kZQVSYnS14gSDjM_c/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/sl8S3ljir9kZQVSYnS14gSDjM_c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sl8S3ljir9kZQVSYnS14gSDjM_c/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/o-1FYbLwKTA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/577948643859062892/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=577948643859062892" title="6 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/577948643859062892?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/577948643859062892?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/o-1FYbLwKTA/reunion-agile-madrid-300909.html" title="Reunión Agile-Madrid 30/09/09" /><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">6</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/10/reunion-agile-madrid-300909.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIGRn8zfSp7ImA9WxNQF04.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-3085767089103133236</id><published>2009-09-23T22:42:00.001+02:00</published><updated>2009-09-23T22:42:07.185+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T22:42:07.185+02:00</app:edited><title>TDD rulez!!</title><content type="html">&lt;p align="justify"&gt;Después de mucho tiempo de leer y oír sobre TDD, hoy lo he puesto en práctica. &lt;/p&gt;  &lt;p align="justify"&gt;Haciendo un test unitario para una clase, me he encontrado que al ir describiendo los diferentes Assert de la clase de prueba, estos describían casos que la clase a probar no contemplaba.&lt;/p&gt;  &lt;p align="justify"&gt;Osea, que cuando he terminado de definir todos los casos de prueba del test, me he ido a la clase y le he añadido –como dicta el TDD- el código para pasar la prueba.&lt;/p&gt;  &lt;p align="justify"&gt;Y si, como tantas veces he leído, el código es más limpio y empiezo a entender la potencia de este paradigma de desarrollo.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-3085767089103133236?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zkkhdST5vjis6o9RiD3axV32RvM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zkkhdST5vjis6o9RiD3axV32RvM/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/zkkhdST5vjis6o9RiD3axV32RvM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zkkhdST5vjis6o9RiD3axV32RvM/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/ewyENm5HwqQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/3085767089103133236/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=3085767089103133236" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3085767089103133236?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/3085767089103133236?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/ewyENm5HwqQ/tdd-rulez.html" title="TDD rulez!!" /><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/09/tdd-rulez.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcHRno4eip7ImA9WxNQF04.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-5912959787408744827</id><published>2009-09-23T21:58:00.002+02:00</published><updated>2009-09-23T22:00:37.432+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T22:00:37.432+02:00</app:edited><title>Controlar si un XmlDocument está vacio</title><content type="html">&lt;p&gt;Describamos un método simple que utilice un parámetro del tipo xmlDocument:&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:0712d316-93c2-4ed1-9f0f-29e1167b4b83" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#0000ff;"&gt;public&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; leeNodo(XmlDocument configuracion)&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt; valor &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;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;.empty;&lt;br /&gt;    configuracion.SelectSingleNode(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;//Nodo&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;).InnerText &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; valor;&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;Si le remito un xmlDocument vacio me va a provocar la siguiente excepción “System.Xml.XmlException: Invalid XML document, The document does not have a root element... “ ya que –obviamente- no hay ningún nodo que seleccionar. &lt;p&gt;Para evitarlo podemos realizar una simple comprobación (tal vez demasiado)&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:0872f621-b2fd-4147-b01a-8d54289c7866" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (configuracion.InnerXml.Length &lt;/span&gt;&lt;span style="color:#000000;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#800080;"&gt;0&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;Y con ello nos evitamos esta excepción en nuestro código.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-5912959787408744827?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oeNfo3bSHtzzWYznl4QvlIwZl_g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oeNfo3bSHtzzWYznl4QvlIwZl_g/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/oeNfo3bSHtzzWYznl4QvlIwZl_g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oeNfo3bSHtzzWYznl4QvlIwZl_g/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/vS7zWqKsadE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/5912959787408744827/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=5912959787408744827" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5912959787408744827?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5912959787408744827?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/vS7zWqKsadE/controlar-si-un-xmldocument-esta-vacio.html" title="Controlar si un XmlDocument está vacio" /><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/09/controlar-si-un-xmldocument-esta-vacio.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QHSHg_eyp7ImA9WxNQEEQ.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-138273370836063486</id><published>2009-09-16T11:52:00.003+02:00</published><updated>2009-09-16T12:02:19.643+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-16T12:02:19.643+02:00</app:edited><title>La belleza de la sencillez. Gestor de web.config</title><content type="html">&lt;div style="text-align: justify;"&gt;A veces nos complicamos la vida por no leernos los manuales de nuestras herramientas. Durante años llevo sufriendo los inesperados errores de web.config por una mala declaración o implementación de valores. Y hete aquí que el propio Visual Studio tiene un pequeña pequeña herramienta de Administración de sitios web que te permite modificar el web.config sin los temidos “pantallazos amarillos”.&lt;br /&gt;&lt;br /&gt;Para ello solamente tienes que acceder por el menú principal dentro del menú Sitio Web y seleccionar “configuración de Asp.net”. Y desde está página Web se pueden realizar operaciones básicas de gestión en tres configuraciones claves:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Seguridad: O por medio de un Wizard o accediendo a las pestañas de Usuarios, funciones y Reglas de acceso, puedes configurar la seguridad de tu aplicación web.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Aplicación: Crear o editar el web.config en su sección de configuración de la aplicación. Definir el servidor smtp para correo electrónico, situar la aplicación off-line y configurar las trazas, depuraciones y páginas de errores predeterminadas.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; Proveedor: Y finalmente la gestión de las cadenas de conexión a las fuentes de datos.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Vamos, que con esto te quitas un montón de tiempo pegándote con el web.config.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_qF6XhQdN_FM/SrC2Hd1BAMI/AAAAAAAABww/RKl2bC5AZGc/s1600-h/Configuracion_de_ASP_NET.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 320px;" src="http://1.bp.blogspot.com/_qF6XhQdN_FM/SrC2Hd1BAMI/AAAAAAAABww/RKl2bC5AZGc/s400/Configuracion_de_ASP_NET.JPG" alt="" id="BLOGGER_PHOTO_ID_5382001794090074306" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-138273370836063486?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S8VMCdR_TDjOVede8pjLHCdHG74/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S8VMCdR_TDjOVede8pjLHCdHG74/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/S8VMCdR_TDjOVede8pjLHCdHG74/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S8VMCdR_TDjOVede8pjLHCdHG74/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/FLgBkM932hs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/138273370836063486/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=138273370836063486" title="4 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/138273370836063486?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/138273370836063486?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/FLgBkM932hs/la-belleza-de-la-sencillez-gestor-de.html" title="La belleza de la sencillez. Gestor de web.config" /><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/SrC2Hd1BAMI/AAAAAAAABww/RKl2bC5AZGc/s72-c/Configuracion_de_ASP_NET.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://1poquitodtodo.blogspot.com/2009/09/la-belleza-de-la-sencillez-gestor-de.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMQXs9fip7ImA9WxNRGU8.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-5967917166557225235</id><published>2009-09-14T12:20:00.000+02:00</published><updated>2009-09-14T12:21:20.566+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-14T12:21:20.566+02:00</app:edited><title>Nuevo proyecto, nuevas metas.</title><content type="html">&lt;div align="justify"&gt;Poco a poco me voy convirtiendo en un especialista en proyectos en el Estado. Desde que cerré mi empresa e inicié mi andadura en el mercado de la consultoría llevo pasado por el Ministerio de Hacienda, el Congreso de los Diputados, la Dirección General de seguros y Fondos de Pensiones, el Ministerio de Exteriores, Dirección General de Patrimonio, Servicio de Salud de Castilla la Mancha y, ahora, Ministerio de Industria.&lt;br /&gt;&lt;br /&gt;Me he puesto la gorra de líder de equipo/analista funcional, y he de reconocer que las condiciones laborales tanto materiales como de horario son las mejores halladas hasta el momento.&lt;br /&gt;&lt;br /&gt;Nuevo camino en donde voy a utilizar todo lo aprendido de CMMI para poner un poco de orden y concierto en mi desempeño.&lt;br /&gt;&lt;br /&gt;Ya os iré contando…&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-5967917166557225235?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SRqckONwzEZ1-8HlACL7uVp-cvQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SRqckONwzEZ1-8HlACL7uVp-cvQ/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/SRqckONwzEZ1-8HlACL7uVp-cvQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SRqckONwzEZ1-8HlACL7uVp-cvQ/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/UNMZHGUr_N0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/5967917166557225235/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=5967917166557225235" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5967917166557225235?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/5967917166557225235?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/UNMZHGUr_N0/nuevo-proyecto-nuevas-metas.html" title="Nuevo proyecto, nuevas metas." /><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/09/nuevo-proyecto-nuevas-metas.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDSXg-fip7ImA9WxNQF04.&quot;"><id>tag:blogger.com,1999:blog-5131648709766508754.post-8792798408044956545</id><published>2009-09-13T17:17:00.002+02:00</published><updated>2009-09-23T21:34:38.656+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-23T21:34:38.656+02:00</app:edited><title>Construir un XML con XMLDocument.</title><content type="html">Lo primero declaramos nuestro flamante objeto XmlDocument que nos permite hacer todo tipo de virguerías. &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:d6f12638-36e2-4d87-8615-991754bd50af" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#000000;"&gt;XmlDocument peticion &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; XmlDocument();&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;&lt;br /&gt;Lo siguiente es cargar en él la estructura o el xml entero (en este caso muy simple para no liarnos más)&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:c726b3ad-ca4c-425a-9790-842969d28091" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Introduciendo la declaración y la estructura manualmente&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;peticion.LoadXml(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;?xml version='1.0' encoding='UTF-8'?&amp;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;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;peticion&amp;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;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;cuerpo&amp;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;br /&gt;            &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;id&amp;gt;&amp;lt;/id&amp;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;br /&gt;            &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;secreto&amp;gt;&amp;lt;/secreto&amp;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;br /&gt;        &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;/cuerpo&amp;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;br /&gt;    &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;&amp;lt;/peticion&amp;gt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&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;&lt;br /&gt;Sencillo, no? Pero muy poco útil obviamente porque perdemos toda la potencia de poder crear los XML de forma dinámica.&lt;br /&gt;&lt;br /&gt;El siguiente método es mucho más complejo pero a la par que nos permite el control total de nuestra construcción:&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:9dc96fcc-f1bd-4846-b901-cd57290cbb5a" class="wlWriterEditableSmartContent"&gt;&lt;pre style="BACKGROUND-: auto;color:#ffffff;" &gt;&lt;span style="color:#000000;"&gt;XmlDocument peticion &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; XmlDocument();&lt;br /&gt;XmlNode xmlnode;&lt;br /&gt;XmlDeclaration xmldeclaracion;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Creo la línea de declaración de dos formas diferentes.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Esta por métodos de Xdocument&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;xmlnode &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.CreateNode(XmlNodeType.XmlDeclaration, &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Empty, &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;&lt;span style="color:#000000;"&gt;.Empty);&lt;br /&gt;peticion.AppendChild(xmlnode);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Le indico el encoding&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;xmldeclaracion &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; (XmlDeclaration) peticion.FirstChild;&lt;br /&gt;xmldeclaracion.Encoding &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;UTF-8&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Añado el raiz peticion&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;xmlnode &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.CreateNode(XmlNodeType.Element, &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;peticion&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:#800000;"&gt;""&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;br /&gt;peticion.AppendChild(xmlnode);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Le añado el nodo cuerpo&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;XmlNode nodoPeticion &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.DocumentElement;&lt;br /&gt;XmlNode nodoCuerpo &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.CreateNode(XmlNodeType.Element, &lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;cuerpo&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:#0000ff;"&gt;null&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;br /&gt;nodoPeticion.AppendChild(nodoCuerpo);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;"&gt;//&lt;/span&gt;&lt;span style="color:#008000;"&gt; Le añado los elementos id y secreto y le doy valores.&lt;/span&gt;&lt;span style="color:#008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;XmlElement elementoId &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.CreateElement(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;id&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;br /&gt;XmlElement elementoSecreto &lt;/span&gt;&lt;span style="color:#000000;"&gt;=&lt;/span&gt;&lt;span style="color:#000000;"&gt; peticion.CreateElement(&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#800000;"&gt;secreto&lt;/span&gt;&lt;span style="color:#800000;"&gt;"&lt;/span&gt;&lt;span style="color:#000000;"&gt;);&lt;br /&gt;&lt;br /&gt;nodoCuerpo.AppendChild(elementoId);&lt;br /&gt;nodoCuerpo.AppendChild(elementoSecreto);&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;&lt;br /&gt;Y con esto obtenemos el mismo XML que con el ejemplo anterior.&lt;br /&gt;&lt;br /&gt;Más adelante, os contaré como manipular los valores en estos elementos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5131648709766508754-8792798408044956545?l=1poquitodtodo.blogspot.com'/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/syaCEQaUkWJcV61LBvMtNWeVURg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/syaCEQaUkWJcV61LBvMtNWeVURg/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/syaCEQaUkWJcV61LBvMtNWeVURg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/syaCEQaUkWJcV61LBvMtNWeVURg/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/hm6WnUMdnMA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://1poquitodtodo.blogspot.com/feeds/8792798408044956545/comments/default" title="Enviar comentarios" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=5131648709766508754&amp;postID=8792798408044956545" title="0 comentarios" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8792798408044956545?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5131648709766508754/posts/default/8792798408044956545?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CeSv/~3/hm6WnUMdnMA/construir-un-xml-con-xmldocument.html" title="Construir un XML con XMLDocument." /><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/09/construir-un-xml-con-xmldocument.html</feedburner:origLink></entry></feed>
