<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5951259512504856081</id><updated>2012-01-13T10:06:42.093-08:00</updated><category term='Visual Studio'/><category term='RTM'/><category term='visual basic'/><category term='metodos extension'/><category term='manejar impuestos en computo'/><category term='consulta datos'/><category term='juego para consola'/><category term='Xbox 360'/><category term='pares con C#'/><category term='windows server'/><category term='aprender .net'/><category term='aprender c#'/><category term='Visual Studio 2010'/><category term='c#'/><category term='Windows caduca'/><category term='Windows 7 RTM'/><category term='recorrido recursivo de controles'/><category term='concurso'/><category term='licencias expression'/><category term='funciones extension'/><category term='.net'/><category term='server 2008'/><category term='recursos net framework'/><category term='server foundation'/><category term='vb.net'/><category term='trato con el cliente'/><category term='Windows 7'/><category term='operaciones basicas'/><category term='iva en sistemas'/><category term='Windows 7 God Mode'/><category term='iva'/><category term='recorrido controles'/><category term='licencias visual studio'/><category term='duelo de maestros IT'/><category term='errores comunes en entrevista'/><category term='hacer juego'/><category term='concurso de it'/><category term='ado.net'/><category term='small basic'/><category term='iva en computo'/><category term='errores en entrevistas'/><category term='aprender vb.net'/><category term='aprender a programar'/><category term='ado.net 2.0'/><category term='Windows 7 Modo Dios'/><category term='licencias gratis'/><category term='clientes de TI'/><category term='aprender visual basic'/><category term='videojuego'/><category term='comunidad .net'/><category term='migrar a .NET'/><category term='crisis'/><category term='correccion Windows'/><category term='error iva'/><category term='dotnetguerrero'/><title type='text'>Sobre Programación...</title><subtitle type='html'>En este blog describiré algunas cosas importantes que he aprendido en todo el tiempo que le he dedicado a programar en diferentes lenguajes, así como algunas recomendaciones para que no caigan en ciertos errores comunes.

Principalmente me dedico al desarrollo de aplicaciones .NET y tecnologías Microsoft.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-3449712895753535769</id><published>2010-04-23T08:27:00.000-07:00</published><updated>2010-04-23T08:36:09.266-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='concurso'/><category scheme='http://www.blogger.com/atom/ns#' term='Xbox 360'/><title type='text'>Del infinito al mas alla!!!</title><content type='html'>&lt;div&gt;Sube un video y tendrás un regalo, desde un libro de Visual Studio 2010, hasta un Xbox!!!.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;a href="http://www.delinfinitoalmasalla.com/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 557px; DISPLAY: block; HEIGHT: 383px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5463356734249530962" border="0" alt="" src="http://2.bp.blogspot.com/_7Bw6Jfx_RZU/S9G-APIudlI/AAAAAAAAAB8/ulgGq92MDhk/s400/infinitomasalla.png" /&gt;&lt;/a&gt; &lt;div&gt;&lt;/div&gt;&lt;div&gt;La temática es ¿Cómo eres como desarrollador?, ¿A qué dedicas el tiempo libre?, ¿Qué piensas de Visual Studio 2010?.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Inscríbete y Consulta las bases en la &lt;a href="http://www.delinfinitoalmasalla.com/"&gt;PÁGINA&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/5951259512504856081-3449712895753535769?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/3449712895753535769/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/04/del-infinito-al-mas-alla.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3449712895753535769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3449712895753535769'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/04/del-infinito-al-mas-alla.html' title='Del infinito al mas alla!!!'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7Bw6Jfx_RZU/S9G-APIudlI/AAAAAAAAAB8/ulgGq92MDhk/s72-c/infinitomasalla.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-8490220137093536010</id><published>2010-04-06T09:07:00.000-07:00</published><updated>2010-04-06T09:36:06.113-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Lanzamiento Visual Studio 2010</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;a href="http://www.tuvidaencodigo.com/Content/Images/TopBanner.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 672px; DISPLAY: block; HEIGHT: 96px; CURSOR: hand" border="0" alt="" src="http://www.tuvidaencodigo.com/Content/Images/TopBanner.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Un nuevo Framework, un Nuevo Visual Studio, y un montón de mejoras....&lt;/div&gt;&lt;br /&gt;Si eres desarrollador, y utilizas Visual Studio, estarás muy contento de que por fin tendremos el Visual Studio 2010.&lt;br /&gt;Microsoft, anunció que el lanzamiento en México es el 22 de Abril. Sin embargo, para las comunidades de México, lo tendremos un poco antes!!!!., así que si no te quieres perder este gran evento, consulta tu ciudad mas cercana y registrate a este evento.... (&lt;a href="http://www.tuvidaencodigo.com/Evento/Index"&gt;clic aqui para ver el mapa&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Lo mejor es que es el evento estará en la Ciudad de Chilpancingo!!!!&lt;br /&gt;&lt;a href="http://dotnetguerrero.net/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 688px; DISPLAY: block; HEIGHT: 996px; CURSOR: hand" border="0" alt="" src="http://public.bay.livefilestore.com/y1pNuzSYtj-nuzJsBwZ6RdzYaMCA5lLRDWAJDAXgq4CZ8JK8jc0PS1Nkr91yV1p0rhloxFka663doabAns8KkoAxQ/LayerDNG.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;(&lt;a href="http://www.dotnetguerrero.net/"&gt;Registrate en la página de la comunidad!!&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;¿Quieres más?, pues bien, puedes participar, en lo que mas te gusta... "Desarrollar", en el concurso "Tu vida en código", en el cual puedes ganar una Lenovo Think Pad W700ds de doble pantalla, consulta las bases!!! &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/mexico/tuvidaencodigo/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 271px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5457063752749804658" border="0" alt="" src="http://3.bp.blogspot.com/_7Bw6Jfx_RZU/S7tikgNP7HI/AAAAAAAAAB0/bYXARLi98pA/s400/image003.png" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-8490220137093536010?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/8490220137093536010/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/04/lanzamiento-visual-studio-2010.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/8490220137093536010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/8490220137093536010'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/04/lanzamiento-visual-studio-2010.html' title='Lanzamiento Visual Studio 2010'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7Bw6Jfx_RZU/S7tikgNP7HI/AAAAAAAAAB0/bYXARLi98pA/s72-c/image003.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1517370131415099518</id><published>2010-03-02T10:37:00.000-08:00</published><updated>2010-03-02T10:56:05.627-08:00</updated><title type='text'>Impresión en .NET</title><content type='html'>&lt;div&gt;Tal como lo prometí en la charla que tuvimos el día Lunes 1 de Marzo ("Impresión en .NET"), dejo aqui los link a los recursos que presenté en la Sala Audiovisual del Instituto Tecnológico de Chilpancingo.&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Código (&lt;a href="http://cid-c4b2574a51c8f3c2.skydrive.live.com/self.aspx/Impresi%c3%b3n%20en%20.NET/Impresion.NET.pptx#resId/C4B2574A51C8F3C2!555"&gt;archivo1&lt;/a&gt; y &lt;a href="http://cid-c4b2574a51c8f3c2.skydrive.live.com/self.aspx/Impresi%c3%b3n%20en%20.NET/Impresion.NET.pptx#resId/C4B2574A51C8F3C2!556"&gt;archivo 2&lt;/a&gt;) donde encontrarán las demos que hice en la plática (algunas ya mejoradas, jeje).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://cid-c4b2574a51c8f3c2.skydrive.live.com/self.aspx/Impresi%c3%b3n%20en%20.NET/Impresion.NET.pptx"&gt;Presentación de Power Point &lt;/a&gt;donde encontrarán la presentación, así como los link's a los recursos para poder imprimir (incluye link a Reporting Services).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Y para muestra un boton, o que diga, una imagen:&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 433px; DISPLAY: block; HEIGHT: 436px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5444111992267703762" border="0" alt="" src="http://2.bp.blogspot.com/_7Bw6Jfx_RZU/S41fA0iPhdI/AAAAAAAAABk/ykoUrZyp60A/s400/Untitled.png" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Las fotos del evento las estaré subiendo en la semana a mi blog, o directamente a la página de la comunidad &lt;a href="http://www.dotnetguerrero.net/"&gt;http://www.dotnetguerrero.net/&lt;/a&gt; (esten pendientes), y por favor si tienen alguna sugerencia de otro tema, pues háganlo saber a &lt;a href="mailto:soporte@dotnetguerrero.net"&gt;soporte@dotnetguerrero.net&lt;/a&gt;, para que en un evento posterior hagamos una conferencia sobre ello.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Sin mas.... a programar!!! (o modificar!!!, como gusten, jeje)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1517370131415099518?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1517370131415099518/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/03/impresion-en-net.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1517370131415099518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1517370131415099518'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/03/impresion-en-net.html' title='Impresión en .NET'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7Bw6Jfx_RZU/S41fA0iPhdI/AAAAAAAAABk/ykoUrZyp60A/s72-c/Untitled.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-6924576985220168510</id><published>2010-01-06T15:46:00.000-08:00</published><updated>2010-01-06T15:58:58.706-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7 Modo Dios'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7 God Mode'/><title type='text'>Windows 7 'God Mode'</title><content type='html'>&lt;div align="justify"&gt;Windows 7 tiene un modo llama God Mode ('Modo Dios' en español), lo cual hace alusión a que todo lo que trae el SO lo puedes hacer desde una ventana (todas las herramientas estan disponibles en una sola ruta), es como si tuvieras un 'super panel de control'.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Para habilitar el 'God Mode' tienes que realizar el siguente paso:&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Crear una carpeta y llamarla asi:&lt;/li&gt;&lt;/ul&gt;&lt;p align="center"&gt; 'GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}'&lt;/p&gt;&lt;br /&gt;&lt;p align="justify"&gt;Cambiará su icono, y se verá mas o menos así (como si fuera otra particion):&lt;/p&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 610px; DISPLAY: block; HEIGHT: 404px; CURSOR: hand" border="0" alt="" src="http://i.i.com.com/cnwk.1d/i/bto/20100104/Windows_7_godmode_610x404.PNG" /&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;p align="justify"&gt;Como puedes ver, están todos los tipos de controles para hacer y deshacer configuraciones, servicios y tareas en un sólo lugar.&lt;/p&gt;&lt;p align="justify"&gt;Por último... gracias a &lt;a href="http://news.cnet.com/8301-13860_3-10423985-56.html"&gt;Ina Fried &lt;/a&gt;por este descubrimiento...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-6924576985220168510?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/6924576985220168510/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/01/windows-7-god-mode.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/6924576985220168510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/6924576985220168510'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2010/01/windows-7-god-mode.html' title='Windows 7 &apos;God Mode&apos;'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-7820647588180773497</id><published>2009-11-21T11:19:00.001-08:00</published><updated>2009-11-21T11:25:17.647-08:00</updated><title type='text'>C# desde cero - Primera Sesion para Descargar</title><content type='html'>Como bien saben, hemos estado impartiendo un curso de C# desde cero, en la comunidad DotNetGuerrero, el cual, hasta el día de hoy me ha dado tiempo de subir, entonces les dejo el link para descarga, para todos aquellos que no estuvieron presentes en la sesion:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-c4b2574a51c8f3c2.skydrive.live.com/browse.aspx/Curso%20C%5E3%20desde%20cero?lc=2058"&gt;http://cid-c4b2574a51c8f3c2.skydrive.live.com/browse.aspx/Curso%20C%5E3%20desde%20cero?lc=2058&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;En cada sesión subiré el video y la presentacion en formato Power Point, así como los códigos fuentes de los ejemplos que vayamos haciendo...&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Nota: Estaré subiendo a esa misma carpeta, las demas sesiones del curso, conforme vayamos avanzando..&lt;br /&gt;&lt;br /&gt;Y recuerden que si aun no se han inscrito, pueden mandar un correo a &lt;a href="mailto:"&gt;'soporte@dotnetguerrero.net'&lt;/a&gt; con el Asunto: 'inscripcion al curso C# online', y en el cuerpo del mensaje su nombre y su lugar de residencia, aun estan a tiempo, solo hemos hecho 1 de las 14 sesiones que dura el curso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-7820647588180773497?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/7820647588180773497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/11/c-desde-cero-primera-sesion-para.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7820647588180773497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7820647588180773497'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/11/c-desde-cero-primera-sesion-para.html' title='C# desde cero - Primera Sesion para Descargar'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-7419126352910474356</id><published>2009-11-13T08:34:00.000-08:00</published><updated>2009-11-13T08:45:59.818-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender a programar'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender c#'/><title type='text'>Curso de 'C# desde cero' online</title><content type='html'>Como sabrán, hemos estado creando y consolidando una comunidad de .NET en mi ciudad, llamada. DotNetGuerrero, la cual tiene como objetivo compartir y hacer crecer a través de esos conocimientos la calidad del desarrollo y elevar el mismo en nuestro estado y ciudad.&lt;br /&gt;&lt;br /&gt;Nuestro primer gran evento es este Curso de 'C# desde cero', y les explico como va la cosa...&lt;br /&gt;Cuando andamos queriendo aprender a programar, buscamos siempre una plataforma, o buscamos la mejor, y la que mejor nos convenga y convenza, si tu eres de los que quiere hacer programas, pero se encuentra con... qué sigue aquí?, cómo hago esto?, o bien vienes de una tecnología como Java, pues a veces no encuentras cómo funcionan las cosas con .NET.&lt;br /&gt;&lt;br /&gt;Este curso servirá para aprender .NET de una manera algo nativa.. con C#, en este curso trataremos de enseñar cómo funciona .NET, así como las operaciones básicas que se pueden hacer en C#, al estilo de C++ y de Java.&lt;br /&gt;&lt;br /&gt;Esto quiere decir que veremos estruturas, arreglos, ciclos, clases y objetos, sobrecarga, herencia, polimorfismo, etc., casi todo aquello que te enseñan en la universidad, pero con C++ (en mi caso Borland c++), pues vamos a ver todo eso pero con C#.&lt;br /&gt;&lt;br /&gt;Esto es un punto de partida, despues estarás interesados en aprender mas... ADO.NET, ASP.NET, WinForms, WCF, WPF, etc., y claro que estaremos ahí para llevarte junto con otras comunidades, el mejor contenido de aprendizaje.&lt;br /&gt;&lt;br /&gt;Sin más les digo que pueden registrarse online, enviando un correo a &lt;a href="mailto:"&gt;'soporte@dotnetguerrero.net'&lt;/a&gt; con su nombre y su lugar de residencia, y nosotros le enviaremos los datos para poder acceder a este curso.&lt;br /&gt;&lt;br /&gt;El curso iniciará el 17 de Noviembre a las 17:00 hrs. (-6 GTM hora de México), se impartirán los días Martes y Jueves con 14 sesiones, a lo largo de 7 semanas, cada sesión durará 1 hora y media aproximadamente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-7419126352910474356?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/7419126352910474356/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/11/curso-de-c-desde-cero-online.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7419126352910474356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7419126352910474356'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/11/curso-de-c-desde-cero-online.html' title='Curso de &apos;C# desde cero&apos; online'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-4997923117716739310</id><published>2009-10-28T00:58:00.000-07:00</published><updated>2009-10-28T01:27:30.781-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='manejar impuestos en computo'/><category scheme='http://www.blogger.com/atom/ns#' term='iva en computo'/><category scheme='http://www.blogger.com/atom/ns#' term='iva en sistemas'/><category scheme='http://www.blogger.com/atom/ns#' term='error iva'/><category scheme='http://www.blogger.com/atom/ns#' term='iva'/><title type='text'>El error del IVA en programas de computo</title><content type='html'>Desde 1980, al parecer ser, según &lt;a href="http://pastranarodriguez.com/index.php/archives/32"&gt;este&lt;/a&gt; articulo, se aplica Oficialmente el impuesto denominado IVA en México, el cual esta bien sabido por la mayoría de Mexicanos es del 15% (y del 10% en regiones fronterizas, segun tengo entendido) y se aplica a bienes y servicios (enajenación de bienes, servicios independientes, importacion de bienes y servicios, otorguen uso o goce de bienes, etc., etc.).&lt;br /&gt;&lt;br /&gt;Bueno, y se preguntarán, a qué viene al caso en un blog de programación...&lt;br /&gt;&lt;br /&gt;Pues bien, publico esto porque recientemente nuestros queridos representantes políticos (estoy siendo sarcástico) estan por aprobar una ley de ingresos en México, que entre otras cosas pretende aumentar el porcentaje del 15, al 16% del IVA (y 3% al sector comunicaciones, etc.), aun en estos momentos, no se aprueba dicha ley, pero no se van a tardar mucho (creo yo).&lt;br /&gt;En fin, el contenido total y los detalles específicos no estarán a discusión en este post.&lt;br /&gt;&lt;br /&gt;El punto es que muchos programas de cómputo circulando por el país (puntos de ventas para abarrotes, centros comerciales, zapaterías, boutique's, ferreterías, farmacias, así como sistemas para restaurants, hoteles, bares, discotecas, etc., etc.) deben haber implementado un sistema que considerara los productos o servicios que graban iva (la gran mayoría), para poder determinar en una factura, cuáles productos son lo que se les aplica el iva y por qué cantidad.&lt;br /&gt;&lt;br /&gt;He aqui el problema, si tu como yo, hiciste por ejemplo un pequeño 'sistemita', de punto de venta o similar, aplicaste invariablemente el cálculo de dicho impuesto, la pregunta aquí es... ¿Cómo?&lt;br /&gt;&lt;br /&gt;Podría ser que en el producto o servicio hayas puesto un campo 'IVA' de tipo boleano, especificando si el producto graba o no el IVA, o si tal vez pusiste un campo 'ValorIVA', donde especificaste el porcentaje del IVA (en la gran mayoría llevaría 15, por su puesto), o si simplemente omitiste el punto.&lt;br /&gt;&lt;br /&gt;De cualquier manera tengo 2 noticias:&lt;br /&gt;&lt;br /&gt;1. Tendrás que actualizar el sistema si es que se aprueba dicha ley, modificando el código para aquellos que pensaron que nunca pasaría eso jeje (como el error del milenio, no creyeron que algunas computadoras llegaran al 2000), o bien, si pensaste acertadamente, solo tendras que cambiar algun archivo de configuracion (o cualquier forma dinpamica de hacerlo sin tocar el código fuente) sin tener que compilar y distribuir nuevamente el software.&lt;br /&gt;&lt;br /&gt;2. Noticias buenas para los desarrolladores, y es que la gran mayoría cobrarán por dicha modificación a las organizaciones cliente que fueron las que compraron el sistema, o ya sea que tengan algun convenio o contrato, pues lo harán conforme lo establecido, pero la gran mayoría, les aseguro que costará un dinero mas a los bolsillos de empresarios (que al final, decae en los costos a los consumidores finales, como yo, jeje).&lt;br /&gt;&lt;br /&gt;Espero y esto sirva para que de ahora en adelante, siempre pensemos en cambio..., en la mágina frase.. que pasaría si... (les aseguro que aplicando dicho cuestionamiento a cada módulo de su sistema, podrán obtener una mas clara vision y poder así preparar a su software para el futuro)&lt;br /&gt;&lt;br /&gt;Me despido, dejando algunos links de interes:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://info4.juridicas.unam.mx/ijure/tcfed/88.htm?s="&gt;Ley del Impuesto al IVA Vigente&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.diputados.gob.mx/LeyesBiblio/"&gt;Leyes Federales Vigentes&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vanguardia.com.mx/diario/noticia/politica/nacional/aprueban_ley_de_ingresos_para_2010:_camara_de_diputados/420782"&gt;Noticias: Aprobacion de Ley de Ingresos en la Camara de Diputados&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-4997923117716739310?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/4997923117716739310/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/10/el-error-del-iva-en-programas-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/4997923117716739310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/4997923117716739310'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/10/el-error-del-iva-en-programas-de.html' title='El error del IVA en programas de computo'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-5640353528185264482</id><published>2009-10-18T23:16:00.000-07:00</published><updated>2009-10-18T23:41:57.279-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='crisis'/><category scheme='http://www.blogger.com/atom/ns#' term='server 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='windows server'/><category scheme='http://www.blogger.com/atom/ns#' term='server foundation'/><title type='text'>Qué es Windows Server 2008 Foundation</title><content type='html'>&lt;strong&gt;&lt;span style="font-size:130%;"&gt;En tiempos de crisis... mientras unos lloran, otros venden pañuelos!!&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Con esta frase quiero iniciar este post para dar a conocer (si es que aun no se habían enterado) de una propuesta de Microsoft, junto con otras compañías fabricantes, para ofertar inovación tecnológica a la Pequeña y Mediana Empresa (PYME) a un bajo costo (comparado con otras versiones) su Sistema Operativo de Servidor... Me enteré de esto gracias a un evento que realizó una importante empresa de venta de equipo de cómputo aquí en mi ciudad Chilpancingo, Gro., MEX, ya que en una conferencia del equipo de HP (del cual escuché la frase del pincipio) presentaron sus servidores (también baratos) y dieron a conocer este SO...&lt;br /&gt;&lt;br /&gt;Windows Server 2008 Foundation 2008 R2&lt;br /&gt;&lt;br /&gt;Este Sistema Operativo esta pensado para las PYME's y sólo está disponible en algunos países (inicialmente 40, incluyendo a México por supuesto) y su costo es realmente bajo. El objetivo primordial es llegar a esas empresas pequeñas que necesiten una solución viable a sus necesidades a un bajo costo, y por supuesto sin perder la funcionalidad de un SO de Servidor, claro está que tiene algunas restricciones, entre las que destacan: &lt;ul&gt;&lt;br /&gt;&lt;li&gt;Sólo esta disponible a través de los fabricantes de equipos originales (OEM), esto quiere decir, que sólo en ciertas marcas de servidores: &lt;/li&gt;&lt;/ul&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 700px; FLOAT: left; HEIGHT: 188px; CURSOR: hand" border="0" alt="" src="http://www.microsoft.com/global/windowsserver2008/en/us/PublishingImages/foundation-partners.gif" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;El SO soporta únicamente 1 sólo procesador.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unicamente trabaja con procesadores de 64 bits.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No soporta Virtualización.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tiene un límite máximo de 15 cuentas de usuario.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sólamente puede conectarse en la raíz del dominio y no para crear dominios secundarios.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;El dominio no puede tener relaciones de confianza con otro dominio.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Para más información, les paso la página oficial de Windows Server 2008 Foundation:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/windowsserver2008/en/us/foundation-es-ww.aspx"&gt;http://www.microsoft.com/windowsserver2008/en/us/foundation-es-ww.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Ah y no sin antes hacer el comercial, jeje... Existen en stock varios servidores HP con este SO, por si alguien quiere comprobar el precio... no dude en contactarme: &lt;a href="mailto:kyoriorochi@hotmail.com"&gt;kyoriorochi@hotmail.com&lt;/a&gt; (hay facturacion, todo es legal!, es aquí en Guerrero..), de cualquier manera, espero y este post les sirva para conocer que hay opciones, y que hay que aprovechar cuando hay crisis, es una oportunidad, así hay que verlo...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-5640353528185264482?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/5640353528185264482/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/10/que-es-windows-server-2008-foundation.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/5640353528185264482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/5640353528185264482'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/10/que-es-windows-server-2008-foundation.html' title='Qué es Windows Server 2008 Foundation'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-5613684452529642651</id><published>2009-09-30T17:42:00.000-07:00</published><updated>2009-09-30T17:59:41.111-07:00</updated><title type='text'>El 7 de Octubre comienza.. LA NUEVA EFICIENCIA...</title><content type='html'>&lt;a href="http://www.microsoft.com/latam/technet/nuevaeficiencia/"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 353px; DISPLAY: block; HEIGHT: 415px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5387428206652735682" border="0" alt="" src="http://2.bp.blogspot.com/_7Bw6Jfx_RZU/SsP9aP50wMI/AAAAAAAAAA4/eaurGkblT_E/s400/Untitled.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="justify"&gt;Con el proposito de dar a conocer la 'NUEVA EFICIENCIA' de tecnologías para este año Microsoft lanza su evento virtual este 7 de Octubre, en el cuál se presentará a la comunidad Windows 7, Windows Server 2008 R2, Exchange Server 2010 y Forefront, ya que estos productos pretenden ser la nueva eficiencia para usted.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;No deje de participar en este evento, yo estoy mas que apuntado....&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-5613684452529642651?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/5613684452529642651/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/el-7-de-octubre-comienza-la-nueva.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/5613684452529642651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/5613684452529642651'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/el-7-de-octubre-comienza-la-nueva.html' title='El 7 de Octubre comienza.. LA NUEVA EFICIENCIA...'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7Bw6Jfx_RZU/SsP9aP50wMI/AAAAAAAAAA4/eaurGkblT_E/s72-c/Untitled.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-3320130302803447512</id><published>2009-09-30T10:25:00.000-07:00</published><updated>2009-09-30T10:44:42.141-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='licencias expression'/><category scheme='http://www.blogger.com/atom/ns#' term='licencias gratis'/><category scheme='http://www.blogger.com/atom/ns#' term='licencias visual studio'/><title type='text'>Licencias Microsoft gratis para desarrollo</title><content type='html'>Tal y como lo han escuchado...&lt;br /&gt;&lt;br /&gt;Microsoft venía ofreciendo soporte desde hace ya algun tiempo a pequeñas empresas (o emprendedores) a quienes se les conoce como 'StartUp' de manera gratuita durante algun tiempo a través del programa --BizPark--, el cual ya había posteado sobre el en mi blog &lt;a href="http://sobreprogramacion.blogspot.com/2009/05/donde-y-como-aprendo-net.html"&gt;'donde y como aprendo .net'&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Sin embargo, ahora Microsoft le da mas realce, al anuciarlo como '&lt;span style="color:#000000;"&gt;Un programa que provee Software, Soporte y Visibilidad para Emprendedores de Software', y también al promoverlo con licencias gratuitas para desarrollo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Cabe destacar que este programa es para desarrolladores independientes o empresas pequeñas que se dediquen al desarrollo, pues el programa ofrece de manera gratuita las siguientes licencias:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Todo el software incluido es equivalente a un Microsoft® Visual Studio® Team System Team Suite (VSTS) con suscripción a MSDN® Premium. Además, VSTS Team Foundation Server (Standard Edition) está disponible para ser utilizado por todo el equipo de desarrollo. &lt;/li&gt;&lt;li&gt;Expression® Studio Versión 2 &lt;/li&gt;&lt;li&gt;Los derechos de uso de producción para hospedar una solución “Software-plus-Services” (desarrollada durante la participación en el programa BizSpark en cualquier plataforma) en Internet, en relación a las versiones más recientes de productos de Microsoft, incluidos: &lt;/li&gt;&lt;li&gt;Microsoft Windows Server® (todas las ediciones hasta Enterprise, inclusive) &lt;/li&gt;&lt;li&gt;Microsoft SQL Server® (todas las ediciones) &lt;/li&gt;&lt;li&gt;Microsoft Office SharePoint® Portal Server &lt;/li&gt;&lt;li&gt;Microsoft BizTalk® Server &lt;/li&gt;&lt;li&gt;Microsoft System Center para la administración de operaciones del servidor de hosting. &lt;/li&gt;&lt;li&gt;Además de las ofertas de programas principales, las Startups de BizSpark pueden reunir las condiciones para otras ofertas de Microsoft, como Virtual Earth&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Las Startups también pueden trabajar con un Hosting Partner de BizSpark para ofrecer su solución Software-plus-Services usando los productos de servidores de Microsoft más recientes. Para obtener los detalles específicos sobre las ofertas de tecnología y los escenarios de hosting, consulte el Manual del programa Microsoft BizSpark para Startups (apéndice A y apéndice B). &lt;/p&gt;&lt;p&gt;Los requisitos:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Haber participado activamente en el desarrollo de un producto o servicio basado en un software que constituirá un elemento principal de su actual o futuro negocio.&lt;/li&gt;&lt;li&gt;Ser de propiedad privada. &lt;/li&gt;&lt;li&gt;Estar en el negocio menos de 3 años en el momento de la inscripción.&lt;/li&gt;&lt;li&gt;Tener menos de US $1 millón en ingresos anuales. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Así que ni hablar, no hay que perder esta oportunidad que ofrece Microsoft, aquí el sitio de &lt;a href="http://www.microsoft.com/BizSpark/Default.aspx"&gt;Microsoft Bizpark&lt;/a&gt;. No sin antes mencionarles, que si desean soporte para insfraestructura, existe el programa&lt;a href="http://www.itpromomentum.com/"&gt; ITPro-Momentum&lt;/a&gt;, que se dedica a ofertar licencias a programas pilotos, tales como Windows Server, Hyper-V, SQL Server, Windows 7, Dynamic CRM, etc.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-3320130302803447512?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/3320130302803447512/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/licencias-microsoft-gratis-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3320130302803447512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3320130302803447512'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/licencias-microsoft-gratis-para.html' title='Licencias Microsoft gratis para desarrollo'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-3759858639753868797</id><published>2009-09-29T20:32:00.001-07:00</published><updated>2009-09-29T20:50:27.764-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='comunidad .net'/><category scheme='http://www.blogger.com/atom/ns#' term='dotnetguerrero'/><title type='text'>DotNetGuerrero.. Creando una nueva comunidad de .NET</title><content type='html'>Hola mis pequeños saltamontes jeje..&lt;br /&gt;&lt;br /&gt;Con el unico objetivo de dar a conocer las tecnologías que microsoft nos pone a disposicion para realizar diversas tareas como la de programar, diseñar, modelar, etc. y también para compartir los conocimientos con los demás, nace para todos una nueva comunidad de .net para los guerrerenses...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;color:#000099;"&gt;&lt;strong&gt;&lt;a href="http://dotnetguerrero.net/"&gt;DotNetGuerrero.net&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt; es la nueva comunidad de desarrolladores en el estado de guerrero, México, que pretende enseñar a las personas que deseen aprender y compartir conocimientos de tecnologías microsoft, tales como .Net Framework y sus lenguajes, VB.NET, C#, etc., así como SQL Server, Silverlight, Expression, Windows Server, etc., etc.&lt;br /&gt;&lt;br /&gt;Esta comunidad de desarrollo .NET es fundada por un grupo de alumnos egresados del ITCH, con el fin de compartir sus conocimientos con los estudiantes y profesionales allegados a tecnologías Microsoft.&lt;br /&gt;&lt;br /&gt;Muy pronto tendremos eventos en el ITCH, UAG y demás universidades de Chilpancingo Guerrero, para mantenerte en contacto, no dudes en visitar la página, ahí encontraras los eventos y recursos que compartimos con gusto con todos.&lt;br /&gt;&lt;br /&gt;No sin antes agradecer a Miguel Muñoz, MVP de la comunidad .NET de Puebla, quien nos ha brindado todo el apoyo, así como también a todos los que de una u otra manera harán que este proyecto sea una realidad, espero por el bien del software y de esta comunidad un guerrerense (un tanto olvidada) que este sea un buen proyecto.&lt;br /&gt;&lt;br /&gt;Nota: estaremos actualizando constantemente nuestra página, sean pacientes por favor, jeje.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-3759858639753868797?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/3759858639753868797/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/dotnetguerrero-creando-una-nueva.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3759858639753868797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/3759858639753868797'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/09/dotnetguerrero-creando-una-nueva.html' title='DotNetGuerrero.. Creando una nueva comunidad de .NET'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-7645678722512570485</id><published>2009-08-31T07:56:00.000-07:00</published><updated>2009-08-31T09:54:14.004-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='videojuego'/><category scheme='http://www.blogger.com/atom/ns#' term='juego para consola'/><category scheme='http://www.blogger.com/atom/ns#' term='Xbox 360'/><category scheme='http://www.blogger.com/atom/ns#' term='hacer juego'/><title type='text'>Quiero hacer un videojuego...</title><content type='html'>&lt;div align="justify"&gt;Hola, compañeros, si algun día tienen esta inquietud de realizar un videojuego, aquí algunas plataformas y lenguajes que le van a venir de lujo para quienes deseen desarrollar, programar y diseñar un verdadero videojuego para distintas plataformas.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Una de las cosas que estuve viendo, es que no necesitan 'demasiados' conocimientos para poder empezar con esta ardua tarea, sólo imaginación y por supuesto... ganas de hacer las cosas...&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;a href="http://research.microsoft.com/en-us/projects/kodu/"&gt;&lt;span style="font-size:180%;"&gt;Kodu&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;Es un lenguaje visual de programación hecho específicamente para creadores de juegos. Está diseñado para ser accesibles para niños y 'disfrutable' para cualquiera. El entorno de programación corre en XBox.&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 530px; DISPLAY: block; HEIGHT: 295px; CURSOR: hand" border="0" alt="" src="http://research.microsoft.com/en-us/projects/kodu/programming_ui.jpg" /&gt;Características:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;Lenguaje de alto nivel que incorpora características de tiempo real: colisión, color, visión.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Utiliza el control del Xbox360 para la entrada (no requiere teclado)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Corre en Xbox 360 y PC.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Editor de terreno interactivo.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Constructor de caminos y puentes.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Editor de terreno: crea mundo de forma y tamaño arbitrario.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;20 personajes diferentes con capacidades diferentes.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="right"&gt;&lt;a href="http://marketplace.xbox.com/en-US/games/media/66acd000-77fe-1000-9115-d8025855024c/?p=1&amp;amp;of=7&amp;amp;bt=0&amp;amp;sb=1#offers"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Descargalo!!!&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://www.alice.org/"&gt;Alice&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;Es un software educativo que enseña a los estudiantes programación en un entorno 3D. Alice es un innovador entorno de programación 3D que hace fácil crear una animación para contar una historia, jugando un juego interactivo, o un video para compartir en la web. Alice es una herramienta de enseñanza para el cálculo de introducción. Utiliza gráficos en 3D y un 'arrastrar y soltar' para facilitar una experiencia en programación en primer lugar y que sea más atractiva y menos frustrante.&lt;/p&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 413px; DISPLAY: block; HEIGHT: 267px; CURSOR: hand" border="0" alt="" src="http://www.developer.com/img/2007/04/java1516a01.jpg" /&gt; &lt;p align="right"&gt;&lt;a href="http://www.alice.org/index.php?page=downloads/download_alice2.2"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Descargalo!!!&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="font-size:180%;"&gt;&lt;a href="http://scratch.mit.edu/"&gt;Scratch&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;Scratch es un nuevo lenguaje de programación que hace fácil crear tus propias historias interactivas, animaciones, juegos, música y arte - y compartir sus creaciones en la web. Scratch está diseñado para ayudar a los jóvenes (de 8 años en adelante) a desarrollar habilidades de aprendizaje del siglo 21. A medida que crean y comparten proyectos de Scratch, los jóvenes aprenden importantes ideas matemáticas y computacionales, mientras que también aprenden a pensar creativamente, razonar de forma sistemática, y trabajar en colaboración.&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;embed style="WIDTH: 305px; HEIGHT: 194px" height="194" type="application/x-shockwave-flash" width="305" src="http://vimeo.com/moogaloop.swf?clip_id=" server="vimeo.com&amp;amp;show_title=" show_byline="0&amp;amp;show_portrait=" color="ffffff&amp;amp;fullscreen=" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="right"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://scratch.mit.edu/download"&gt;Descargalo!!!&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;strong&gt;&lt;a href="http://education.mit.edu/drupal/starlogo-tng"&gt;StarLogo&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="justify"&gt;También es un software educativo, cuyo objetivo es facilitar el uso de sistemas de simulacion para la creacion de multimedia.&lt;/p&gt;&lt;p align="justify"&gt;Es la próxima generación de software de modelado y simulación. Si bien esta versión se mantiene fiel a la premisa de StarLogo como una herramienta para crear y entender las simulaciones de sistemas complejos, también trae consigo varios avances&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 530px; DISPLAY: block; HEIGHT: 295px; CURSOR: hand" border="0" alt="" src="http://education.mit.edu/drupal/files/images/front_page_pic_0.jpg" /&gt; &lt;/p&gt;&lt;p align="right"&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://education.mit.edu/starlogo-tng/download/"&gt;Descargalo!!!&lt;/a&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-7645678722512570485?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/7645678722512570485/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/quiero-hacer-un-videojuego.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7645678722512570485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7645678722512570485'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/quiero-hacer-un-videojuego.html' title='Quiero hacer un videojuego...'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-385451914172294392</id><published>2009-08-16T22:12:00.000-07:00</published><updated>2009-08-16T22:23:53.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='concurso de it'/><category scheme='http://www.blogger.com/atom/ns#' term='duelo de maestros IT'/><category scheme='http://www.blogger.com/atom/ns#' term='Xbox 360'/><title type='text'>Gana un XBOX 360 con Duelo de Maestros IT</title><content type='html'>&lt;a href="http://www.mslatam.com/latam/technet/no-se-trata-de-suerte/home.aspx"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 389px; DISPLAY: block; HEIGHT: 373px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5370796500898065026" border="0" alt="" src="http://1.bp.blogspot.com/_7Bw6Jfx_RZU/Sojm9jzwqoI/AAAAAAAAAAo/gFXTHdOu1XU/s320/duelomaestros.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div align="justify"&gt;Pues bien... les dejo este concurso abierto desde julio por parte de microsoft technet para debatir en duelo con un 'colega' IT Pro, esto es para acabar con mitos y charlatanes que se dicen ser 'Profesionales de IT' y son capaces de hacer o decir cualquier cosa para conseguir una cita o un ascenso, o simplemente hacerse los importantes y pensar que ellos saben mucho, jaja, y vaya que he visto a muchos de esos que se dicen ser Ingenieros o Licenciados en Informática, ups, que verguenza!!!, y no voy a decir nombres para no quemar a nadie (no porque tenga miedo de decir nombres, mejor... los reto a un duelo, jeje).&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Si alguien quiere invitar a otro a un duelo, y ganar premios como un Xbox 360, teclados y mouses, y packs de subscripciones a simplified technet, esta es su oportunidad....&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Ingresa &lt;a href="http://www.mslatam.com/latam/technet/no-se-trata-de-suerte/instructivo.aspx"&gt;aqui&lt;/a&gt; para ver el instructivo, espero que si invito a alguien no se me raje, jaja.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-385451914172294392?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/385451914172294392/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/gana-un-xbox-360-con-duelo-de-maestros.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/385451914172294392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/385451914172294392'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/gana-un-xbox-360-con-duelo-de-maestros.html' title='Gana un XBOX 360 con Duelo de Maestros IT'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7Bw6Jfx_RZU/Sojm9jzwqoI/AAAAAAAAAAo/gFXTHdOu1XU/s72-c/duelomaestros.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1083804776845201888</id><published>2009-08-15T14:25:00.000-07:00</published><updated>2009-08-16T22:24:13.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7 RTM'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><title type='text'>Mi experiencia en Windows 7</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_7Bw6Jfx_RZU/SocunNYB1fI/AAAAAAAAAAY/Ap7K8XmT-24/s1600-h/windows7.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 531px; DISPLAY: block; HEIGHT: 332px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5370312331802826226" border="0" alt="" src="http://3.bp.blogspot.com/_7Bw6Jfx_RZU/SocunNYB1fI/AAAAAAAAAAY/Ap7K8XmT-24/s320/windows7.png" /&gt;&lt;/a&gt;Desde su lanzamiento, y gracias a la subscripción technet plus que tengo, descargué la versión RTM de Windows 7, ya que soy 'early adopter', pero tengo que confesar que no toque la Beta, por cuestiones de tiempo, sin embargo ahora instalado y todo ya trabajo en Windows 7 RTM y aquí mi escasa experiencia es estos días.....&lt;br /&gt;&lt;br /&gt;Si desean saber las cosas 'nuevas' y cómo se ve el Windows 7, ps al menos mi experiencia como usuario la calificaría como 'satisfactoria', después de que no me gustó mucho el Windows Vista (mas que nada por su lentitud), el Windows 7 es mas rápido que su antecesor, también (y es obvio) que en cuanto más cosas tengas activadas, pues menor será el rendimiento de tu S.O.&lt;br /&gt;&lt;br /&gt;Lo que me gustó:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://windows7noticias.com/barra-de-tareas-potenciada-con-aero-peek/"&gt;Aero Peek:&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ipg6ltIZRw0&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/ipg6ltIZRw0&amp;hl=es&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://windows7noticias.com/organiza-las-ventanas-abiertas-con-aero-snap/"&gt;Aero Snap:&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SjXUuezuGlI&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/SjXUuezuGlI&amp;hl=es&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://windows7noticias.com/limpia-el-escritorio-rapidamente-con-aero-shake/"&gt;Aero Shake:&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LMD0Geg-1H4&amp;amp;hl=es&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;br /&gt;&lt;embed src="http://www.youtube.com/v/LMD0Geg-1H4&amp;hl=es&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Además de interfaces Ribbon para aplicaciones como WordPad y Paint:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;a href="http://2.bp.blogspot.com/_7Bw6Jfx_RZU/Socz_bRbldI/AAAAAAAAAAg/HvH_m_IFqQ0/s1600-h/pantallas.png"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 441px; DISPLAY: block; HEIGHT: 314px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5370318245408249298" border="0" alt="" src="http://2.bp.blogspot.com/_7Bw6Jfx_RZU/Socz_bRbldI/AAAAAAAAAAg/HvH_m_IFqQ0/s320/pantallas.png" /&gt;&lt;/a&gt;&lt;br /&gt;Además de que existe el llamado 'Modo Windows XP' (XP Mode) incluído para compatibilidad con aplicaciones antiguas y además facilitar la migración a Windows 7.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Lo malo....&lt;/div&gt;&lt;p&gt;Tiene que haber algo malo chicos!!!!, jaja, bueno los peros que yo le encontré es en cuanto a dispositivos se refiere, la verdad con la multifuncional Lexmark si pude descargar el controlador para imprimir, pero aun no puedo escanear, jeje, bueno seguiré intentando..., lo otro, pues es que cuando la prendo no se conecta automáticamente con internet, supongo que por problemas de IP, lo que se resuelve con 'Troubleshoot problems' del 'Network and Sharing Center', cosa que también sirve como lo esperaba, sin tanta espera y sin tanto rollo.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;En general, lo puedo calificar como 'bueno y aceptable', lo estoy corriendo en una máquina x64 con 1024 GB RAM y un Intel Core 2 Duo, y tengo instalados: Office Ultimate 2007, Visual Studio 2008 SP1, SQL Server 2008 EE, Microsoft Expression 3 y algunas otras cosillas más, y me va de maravilla, no se tarda mucho en prender (como el vista) y su asistente para detectar problemas y advertencias, llamado 'Action Center' (el cual ya había probado en Windows Server 2008 RC), si me funciona para lo que fue creado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1083804776845201888?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1083804776845201888/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/mi-experiencia-en-windows-7.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1083804776845201888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1083804776845201888'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/mi-experiencia-en-windows-7.html' title='Mi experiencia en Windows 7'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7Bw6Jfx_RZU/SocunNYB1fI/AAAAAAAAAAY/Ap7K8XmT-24/s72-c/windows7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-9097681876763361151</id><published>2009-08-06T10:15:00.000-07:00</published><updated>2009-08-06T11:08:22.136-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='RTM'/><title type='text'>Windows 7 RTM disponible</title><content type='html'>Para los desarrolladores y profesionales de TI suscritos a MSDN y TechNet, respectivamente, esperamos ansiosos la descarga disponible de Windows 7 RTM (Release To Manufacturing), que como saben, ya finalizó su desarrollo, entonces esta es la versión 'antes' de que sea puesto a la venta a todo el mundo.&lt;br /&gt;&lt;br /&gt;Windows 7 RTM ya está disponible para subscriptores MSDN en este link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/es-mx/subscriptions/default.aspx"&gt;http://msdn.microsoft.com/es-mx/subscriptions/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;y para Profesionales de TI suscritos de TechNet, el siguiente link:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://technet.microsoft.com/es-mx/subscriptions/default.aspx"&gt;https://technet.microsoft.com/es-mx/subscriptions/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Que esperas!!!, descargalo y pruebalo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-9097681876763361151?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/9097681876763361151/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/windows-7-rtm-disponible.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/9097681876763361151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/9097681876763361151'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/08/windows-7-rtm-disponible.html' title='Windows 7 RTM disponible'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-237609162640181614</id><published>2009-07-27T15:55:00.000-07:00</published><updated>2009-07-27T16:41:48.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='metodos extension'/><category scheme='http://www.blogger.com/atom/ns#' term='funciones extension'/><category scheme='http://www.blogger.com/atom/ns#' term='pares con C#'/><title type='text'>Métodos de Extensión en Visual Studio 2008</title><content type='html'>Alguna vez, cuando estaba programando, me preguntaba si las cosas en la POO se podían hacer algo mas 'elegantes' y sin tanto rollo.&lt;br /&gt;&lt;br /&gt;Un ejemplo común en la escuela es el clásico... 'De un arreglo de números enteros, decir cuáles son pares', y es típico que tenemos que hacer una función que me diga si es par o no, y mandar a llamar en un ciclo que recorra número por número...&lt;br /&gt;&lt;br /&gt;Y me cuestionaba si se podía hacer algo como:&lt;br /&gt;&lt;br /&gt;int[10] arrayNumeros;&lt;br /&gt;arrayNumeros[0] = 4;&lt;br /&gt;...&lt;br /&gt;arrayNumeros[9]=62;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;int[] arrayPares = arrayNumeros.Pares();&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Quería hacer lo que está en color azul, que mandara a llamar a una función Pares y me regresara todos los pares en la función 'Pares', sin que tuviera que llamarla así:&lt;br /&gt;&lt;br /&gt;int[] arrayPares = Pares(arrayNumeros);&lt;br /&gt;&lt;br /&gt;Lo primero que se me vino a la cabeza es utilizar la Herencia, pero imagínense heredar de una clase solo para poder implementar un método.&lt;br /&gt;&lt;br /&gt;Pues bien, la respuesta es que sí se puede hacer sin herencia en Visual Studio 2008 (con cualquiera de los lenguajes .NET, como C# o VB.NET), y el nombre de esta característica es 'Métodos de Extensión'.&lt;br /&gt;&lt;br /&gt;Los métodos de extensión, son, como su nombre lo indica, métodos que se agregan a los tipos existentes en el .NET Framework o cualquiera que nosotros hayamos creado con cualquier lenguaje .NET, SIN NECESIDAD de hacer uso de la herencia para poder 'añadirle' alguna función o procedimiento (estos métodos se manejan de manera especial, pero se invocan como si se tratase de un método propio del tipo al que extendemos).&lt;br /&gt;&lt;br /&gt;Lo explicaré utilizando el lenguaje C# (para mejor similitud con el añejo C++)&lt;br /&gt;&lt;br /&gt;Primero, se define una clase estática donde estarán todas los métodos 'agregados' o extendidos, sin anidar esta clase con alguna otra.&lt;br /&gt;&lt;br /&gt;por ejemplo:&lt;br /&gt;&lt;br /&gt;namespace PruebaPares{&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;    public static class Extensiones{&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;       &lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;    }&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Después, se define el método o función que 'extienda' al tipo de: 'arreglos de enteros' (en nuestro caso), para esto el método también tiene que ser estático (Shared en VB.NET) y el primer parámetro debe ser el tipo del que se va a extender, en nuestro caso será un arreglo de enteros ( int[] ):&lt;br /&gt;&lt;br /&gt;namespace PruebaPares{&lt;br /&gt;&lt;br /&gt;    public static class Extensiones{&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;         public static int[] Pares(this int[] arreglo){&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;         }&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Observe que el tipo que devuelve es un arreglo de enteros con los resultados, es decir, con los números que son pares.&lt;br /&gt;&lt;br /&gt;Voy a implementar este método utilizando LINQ, una tecnología, la cual merece un post (varios diría yo..) aparte:&lt;br /&gt;&lt;br /&gt;namespace PruebaPares{&lt;br /&gt;&lt;br /&gt;    public static class Extensiones{&lt;br /&gt;&lt;br /&gt;         public static int[] Pares(this int[] arreglo){&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;              IEnumerable&lt;int&gt; resul = from p in arreglo&lt;br /&gt;                                                              where (p % 2) == 0&lt;br /&gt;                                                              select p;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;strong&gt;&lt;br /&gt;              return resul.ToArray&lt;int&gt;();&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;         }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Lo que hace esa consulta en LINQ es recorrer el arreglo y buscar los elementos que cumplen la condición en la cláusula 'WHERE', para quienes conozcan algo de SQL, verán esta sintaxis muy parecida. Bueno, después que filtra los resultados, lo convertimos en un arreglo de enteros y lo retornamos, así pues, un ejemplo para utilizar este método, y llamarlo de manera 'decente' sería así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;class Program&lt;br /&gt;{&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;     static void Main(string[] args){&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;     int[] arrayEnteros = new int[]{2,3,4,5,7,8,9};&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;Console.WriteLine("Numeros pares");&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;foreach (int x in arrayEnteros.Pares()) {&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;System.Console.WriteLine("Numero :" + x);&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;}&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;System.Console.ReadLine();&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;}&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#000099;"&gt;}&lt;/span&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-237609162640181614?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/237609162640181614/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/metodos-de-extension-en-visual-studio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/237609162640181614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/237609162640181614'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/metodos-de-extension-en-visual-studio.html' title='Métodos de Extensión en Visual Studio 2008'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-2984677143130330923</id><published>2009-07-09T08:31:00.000-07:00</published><updated>2009-07-09T08:58:04.408-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='small basic'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender a programar'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender c#'/><title type='text'>Aprende a Programar con Small Basic</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://i.msdn.microsoft.com/cc950524.SmallBasic_logo(en-us).png"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 460px; FLOAT: left; HEIGHT: 126px; CURSOR: hand" border="0" alt="" src="http://i.msdn.microsoft.com/cc950524.SmallBasic_logo(en-us).png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Para los 'principiantes' en el maravilloso mundo de la programación, este enlace para la descarga del tutorial de Small Basic en español gratis.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;amp;FamilyID=61481b74-eb45-42b8-a777-8f3644406787"&gt;Descarga del Tutorial Introducción a Small Basic&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Este tutorial muestra los primeros pasos en condiciones, sentencias, bucles, etc.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Y también gráficamente (e insisto en español) muestras para realizar programas sencillos y algunos algo complejos: Explica cómo hacer el juego del Paddle o cambiar el fondo del escritorio aleatoriamente, etc.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;Algunos programas de juegos que se pueden hacer con small basic (con codigo fuente):&lt;/div&gt;&lt;br /&gt;&lt;a href="http://smallbasic.com/program/?ASTEROIDS"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 353px; FLOAT: left; HEIGHT: 264px; CURSOR: hand" border="0" alt="" src="http://smallbasic.com/drop/asteroids_1.png" /&gt;&lt;/a&gt; &lt;a href="http://smallbasic.com/program/?VDK353"&gt;&lt;img style="WIDTH: 201px; HEIGHT: 251px; CURSOR: hand" border="0" alt="" src="http://smallbasic.com/drop/lightsout.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;También el link para que descarguen el programa 'Small Basic' y empiecen a hacer sus pininos con la programación:&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b006d58d-c2c7-44ad-936b-e7e2d7de793e"&gt;Descarga del Programa Small Basic&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Pdt. Ojalá y me hubieran enseñado este tipo de herramientas cuando empecé, pero no!!, todo en el crudo Turbo C, me hubieran ahorrado unas cuantas desveladas jaja. Así que.. Aprovéchenlo..&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Gracias por el aporte a Fernando Machado y Sandra Aldana.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-2984677143130330923?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/2984677143130330923/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/aprende-programar-con-small-basic.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/2984677143130330923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/2984677143130330923'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/aprende-programar-con-small-basic.html' title='Aprende a Programar con Small Basic'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1835532958606756453</id><published>2009-07-01T16:53:00.000-07:00</published><updated>2009-07-01T23:12:50.787-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clientes de TI'/><category scheme='http://www.blogger.com/atom/ns#' term='trato con el cliente'/><category scheme='http://www.blogger.com/atom/ns#' term='errores en entrevistas'/><category scheme='http://www.blogger.com/atom/ns#' term='errores comunes en entrevista'/><title type='text'>Seis errores comunes en entrevistas con los clientes</title><content type='html'>&lt;div align="justify"&gt;De esto no hay mucha relación con .NET, pero es igual de importante para el trato con los clientes que no tienen mucho o nada que ver con las Tecnologías de la Información, es decir, no lo conocen, lo conocen muy poco o ellos creen que lo conocen.&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Lo hago, por que la corta experiencia que tengo, me ha servido para no cometer 'errores' al platicar o proponer algun proyecto, y esto después después de leer libros como Ingeniería de Software, donde te proponen pláticas y entrevistas con los clientes de una cierta manera, pero en la vida real...., pues es otro asunto.&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Cuando trates con un cliente, él te abordará diciendo algo como....&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#336666;"&gt;&lt;span style="color:#000099;"&gt;"Necesito un sistema que...."&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000099;"&gt;"Quiero una página que maneje...."&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000099;"&gt;"Quiero imprimir directamente..."&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000099;"&gt;"Quiero tener un inventario de...."&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color:#000099;"&gt;"Necesito controlar a...."&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;&lt;strong&gt;Primer error:&lt;/strong&gt; &lt;span style="color:#990000;"&gt;en la misma platica nosotros estaremos pensando en una base de datos, en un lenguaje de programación, en una cierta tecnología, incluso hasta la vista de cómo quedará nuestra aplicación.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;No pienses en nada de eso, sólo escúchalo y déjalo terminar, pon atención muy bien de los detalles que te menciona... es en los 'detalles' donde radica la verdadera lógica o problema que necesita resolver.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Después de todo el rollo del cliente, termina diciéndote algo como:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color:#000099;"&gt;"Y.. como cuánto me costará?..."&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;&lt;strong&gt;Segundo error:&lt;/strong&gt; &lt;span style="color:#990000;"&gt;Cotizar de manera inmediata el proyecto, nosotros hacemos un cálculo mental de lo que nos llevaremos en hacer todo (la base de datos, la aplicación, etc.) y terminamos por dar un precio que asusta al cliente. (jaja, sí, a todos nos pasa eso al principio)&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;Para poder dar una cotización tienes que ANALIZAR detenida y detalladamente todas y cada una de las actividades que vas a hacer.... si tienes que hacer documentación, si tienes que modelar una base de datos, si tendrás que ponerle imágenes o inclusive un 'estilo de vista' a la aplicación (en páginas web, pues fijate si harás las hojas de estilo y diseñarás las capas de la página, o harás como muchos... tomar templates y modificarlos...). No des un precio final en menos de 5 minutos... ni si quiera lo has pensado bien!!!, aunque el cliente te presione para darle un precio, debes de ser profesional..., tienes que ver qué actividades vas a hacer y en qué tiempo las piensas realizar.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Tercer error:&lt;/strong&gt; &lt;span style="color:#990000;"&gt;empezar a hablarle en términos técnicos que sólo los desarrolladores conocen, con términos como 'bases de datos' (en serio, pregúntale que entiende por base de datos, y en algunos casos te sorprenderán de lo que piensan), 'Aplicación distribuída', 'Software en capas', 'servicios', 'cloud computing', 'minería de datos', 'dominios, subdominios', mucho menos le digas 'HTTP', 'CSS', 'SOAP', 'XML', etc., etc.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;Al platicar con el cliente sabrás por la manera en cómo describe los procesos y cómo cree que se pueden solicionar o 'automatizar' el nivel de conocimiento que tiene sobre las TI, y aunque se vea que sabe mucho, trata de hablar siempre en términos que hasta un niño pueda comprender... Dile que la página web se verá 'bonita', 'interactiva' y fácil de entrar y navegar, que la aplicación almacenará 'automáticamente' los datos, que sus datos estarán disponibles cuando lo necesite, que el procesamiento será muchísimo más rápido, dile que al usuario le facilitará la vida (aunque tu te la compliques).&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Cuarto error: &lt;/strong&gt;&lt;span style="color:#990000;"&gt;nunca utilices las palabras 'creo que no se puede' cuando analices un proceso que el cliente lo tiene en su cabeza (o inclusive por escrito).&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;Empezando por el 'creo' que se escucha como a qué no lo puedes hacer y con el 'no se puede' que describe lo ineficiente que te ves en ese momento. Al cliente no le importa si tienes que utilizar hasta 10 tecnologías al mismo tiempo, o si utilizas un proceso complejo de sincronización, análisis, entrega, comparación, etc. Lo que realmente le importa es que su trabajo se haga y se haga bien.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Quinto error:&lt;/strong&gt; &lt;span style="color:#990000;"&gt;Hacerte el que todo lo sabe y dejar los pequeños detalles a un lado, como te decía, es ahí donde debes enfocarte. Comunmente en las entrevistas sólo haces las preguntas necesarias y listo.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;En cuánto más información tengas del funcioamiento de 'todo' lo que se pueda y no computar, es mucho mejor, así tienes límites (en todas las aplicaciones hay límites) para saber lo que vas y lo que no vas a contemplar. Pregunta cómo quiere se imprima un reporte, en qué formato, cómo hacen para la captura de datos (con qué están mas familiarizados... Páginas o aplicaciones de escritorio), qué tipos de máquinas son con las que cuenta o piensan contar, hasta la edad y experiencia de los usuarios en sistemas de cómputo. Todas esas preguntas que tienen o no que ver con el sistema debes saber para establecer los límites.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;Sexto error:&lt;/strong&gt; &lt;span style="color:#990000;"&gt;Darle opiniones espontáneas para 'mejorar' los procesos o problemas que vas a resolver con tu desarrollo.&lt;/span&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;span style="color:#000099;"&gt;Si bien es cierto que es nuestra obligación informarle al cliente de las maravillas que las computadoras hacen por nosotros, y que pueden hacer con su negocio, trata de medir bien las palabras que dirás, porque o le pueden fascinar, o quizá te tache de un loco. Por mas que creas que tus ideas mejorarán (y aunque así lo sean) su negocio, no te desesperes, quizá hasta el mismo cliente te dé la respuesta que necesita (lo que sucede casi siempre) aunque no sea la mejor opción.&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;Espero y te haya servido de algo, y si tienes algunos otros errores que puedas comentar (que yo sé que hay muchísimos más) son bienvenidos.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1835532958606756453?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1835532958606756453/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/seis-errores-comunes-en-entrevistas-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1835532958606756453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1835532958606756453'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/07/seis-errores-comunes-en-entrevistas-con.html' title='Seis errores comunes en entrevistas con los clientes'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-8056814945059491114</id><published>2009-06-27T08:42:00.000-07:00</published><updated>2009-06-27T11:00:27.593-07:00</updated><title type='text'>Operaciones Básicas sobre datos con ADO.NET 2.0 Parte III de III</title><content type='html'>&lt;div align="justify"&gt;Después de explicar los conceptos sobre las &lt;a href="http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con.html"&gt;operaciones con los datos&lt;/a&gt; y sobre las &lt;a href="http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con_15.html"&gt;clases de .NET que nos sirven para almacenar y manipularlos&lt;/a&gt;, ahora voy a explicar lo que se necesita para trabajar con una fuente de datos (con una base de datos SQL Server 2005).&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Para trabajar con una fuente de datos se necesita utilizar un proveedor, alguien 'intermedio' para poder conectarse con esa fuente, recoger los datos, modificarlos y actualizarlos. Pues bien, para eso necesitamos hacer uso de algunos proveedores, entre los que destacan:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.odbc(VS.80).aspx"&gt;ODBC&lt;/a&gt; (Open DataBase Conectivity)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.oledb(VS.80).aspx"&gt;OLE DB&lt;/a&gt; (Object Linking and Embedding for DataBase)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.sqlclient(VS.80).aspx"&gt;SQLServer&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.oracleclient(VS.80).aspx"&gt;Oracle&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;&lt;a href="http://dev.mysql.com/downloads/connector/net/6.0.html"&gt;MySQL&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;Otros......&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;Los proveedores ODBC y OLEDB son utilizados para algunas fuentes como Excel o Access, sin embargo, el rendimiento de nuestras aplicaciones bajan si utilizamos bases de datos como SQL Server, MySQL, Oracle, etc., ya que dichos proveedores son implementados sólo para fines de compatibilidad con algunos lenguajes y aplicaciones y no exponen toda la funcionalidad de cada una de estas fuentes.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Para resolver este problema, ADO.NET ofrece un proveedor nativo .NET para SQL Server y Oracle, en el espacio de nombres System.Data.SqlClient y System.Data.OracleClient respectivamente. Las clases que se encuentran en estos espacios de nombres heredan la funcionalidad de las clases ubicadas en el espacio de nombres System.Data.Common, que como su nombre lo indica, son clases básicas Comunes que comparten y 'deben' compartir los proveedores de datos para .NET, es por eso que hay librerías &lt;a href="http://dev.mysql.com/downloads/connector/net/6.0.html"&gt;MySQL para .NET&lt;/a&gt;, &lt;a href="http://www.ibprovider.com/"&gt;Interbase&lt;/a&gt;, etc., sólo heredan el comportamiento de las principales clases que nos sirven para la manipulación de los datos:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="justify"&gt;DbConnection: Representa una conexión a una fuente (o base) de datos.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;DbCommand: Representa un procedimiento almacenado en la base de datos o una instrucción SQL.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="justify"&gt;DbDataAdapter: Representa un conjunto de comandos de datos y una conexión de base de datos que se utilizan para rellenar un System.Data.DataSet y actualizar una base de datos.&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align="justify"&gt;*Reemplaza las iniciales 'Db' y utilizalas para fuente de datos, por ejemplo, si utilizas SQL Server, será SqlConnection, SqlDataAdapter, etc.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;La clase más compleja y la más util es DbDataAdapter, ya que ella permitirá recoger y actualizar los datos en la fuente de una manera transparente al usuario.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Veamos un ejemplo de el uso en SQL Server 2005 siguiendo el ejemplo de la tabla alumnos del post anterior:&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Dim sqlConexion As New SqlClient.SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=alumnos;Integrated Security=True")&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;'Creamos el adaptador de datos que nos servir para realizar las operaciones&lt;br /&gt;'a la base de datos, utilizando algunos comandos, le pasamos como parámetro la sentencia&lt;br /&gt;'SQL para seleccionar todos los registros y la conexión que se utilizar&lt;br /&gt;Dim sqlAdaptador As New SqlClient.SqlDataAdapter("SELECT idAlumno, nombre, telefono, fechaNac FROM alumnos", sqlConexion)&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;'Podemos establecer las demás operaciones con los datos a través de las propiedades:&lt;br /&gt;'InsertCommand (de tipo SqlCommand) que nos sirve para Agregar registros a la BD&lt;br /&gt;sqlAdaptador.InsertCommand = New SqlClient.SqlCommand("INSERT INTO alumnos VALUES (nombre=@nombre, telefono=@telefono, fechaNac=@fechaNac)")&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;'Agregamos los parámetros, para evitar inyecciones sobre las sentencias SQL&lt;br /&gt;'Como observación: (los parámetros en SQLServer y Access se escriben con la '@' al inicio)&lt;br /&gt;'y por ejemplo en MySQL deben empezar con el smbolo '?'&lt;br /&gt;sqlAdaptador.InsertCommand.Parameters.Add("@nombre", SqlDbType.NVarChar, 35)&lt;br /&gt;sqlAdaptador.InsertCommand.Parameters.Add("@telefono", SqlDbType.VarChar, 12)&lt;br /&gt;sqlAdaptador.InsertCommand.Parameters.Add("@fechaNac", SqlDbType.DateTime)&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;'UpdateCommand sirve para actualizar registros ya existentes&lt;br /&gt;sqlAdaptador.UpdateCommand = New SqlClient.SqlCommand("UPDATE alumnos SET (nombre=@nombre, telefono=@telefono, fechaNac=@fechaNac) WHERE idAlumno=@idAlumno")&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;'Agregamos los parámetros, para evitar inyecciones sobre las sentencias SQL&lt;br /&gt;sqlAdaptador.UpdateCommand.Parameters.Add("@nombre", SqlDbType.NVarChar, 35)&lt;br /&gt;sqlAdaptador.UpdateCommand.Parameters.Add("@telefono", SqlDbType.VarChar, 12)&lt;br /&gt;sqlAdaptador.UpdateCommand.Parameters.Add("@fechaNac", SqlDbType.DateTime)&lt;br /&gt;sqlAdaptador.UpdateCommand.Parameters.Add("@idAlumno", SqlDbType.Int)&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;'DeleteCommand sirve para eliminar físicamente los registros en una tabla en la base de datos&lt;br /&gt;sqlAdaptador.DeleteCommand = New SqlClient.SqlCommand("DELETE FROM alumnos WHERE idAlumno=@idAlumno")&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;'Agregamos los parámetros, para evitar inyecciones sobre las sentencias SQL&lt;br /&gt;sqlAdaptador.DeleteCommand.Parameters.Add("@idAlumno", SqlDbType.Int)&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;'ahora ya tenemos nuestro adaptador listo para utilizarse con los mtodos, Fill y Update&lt;br /&gt;sqlAdaptador.Fill(alumnosDS)&lt;br /&gt;'podemos hacer las operaciones pertinentes sobre los datos en el DataSet 'alumnosds', va el post 2&lt;br /&gt;'finalmente actualizamos esos cambios en la base de datos con un solo método que se encarga de hacer&lt;br /&gt;'las operaciones necesarias (insertar, actualizar o eliminar)&lt;br /&gt;sqlAdaptador.Update(alumnosDS)&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Nota: El servidor de la fuente de datos, la base de datos, la tabla, los campos utilizados en este ejemplo son ficticios y utilizados para demostrar el uso de las clases que nos sirven para la manipulación de los datos.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-8056814945059491114?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/8056814945059491114/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con_27.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/8056814945059491114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/8056814945059491114'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con_27.html' title='Operaciones Básicas sobre datos con ADO.NET 2.0 Parte III de III'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1233959970011681083</id><published>2009-06-15T07:54:00.000-07:00</published><updated>2009-06-15T12:53:22.283-07:00</updated><title type='text'>Operaciones Básicas sobre datos con ADO.NET 2.0 Parte II de III</title><content type='html'>En el post &lt;a href="http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con.html"&gt;pasado&lt;/a&gt;, se definieron los conceptos para trabajar con datos en ADO.NET, ahora veremos los objetos y clases que se utilizan para la manipulación de los datos.&lt;br /&gt;&lt;br /&gt;.NET ofrece un conjunto de clases que nos sirven para crear objetos que nos permitan llenar los datos provenientes de un origen de datos (un servidor de base de datos o un archivo de bd, como Access, SQL Server, Oracle, MySQL, etc.), leer estos datos (y poder presentárselos al usuario), actualizar estos datos (añadiendo nuevos registros, borrando y modificando algunos otros, y regresar los datos al origen para que se actualicen todos estos cambios. Las clases mas importantes y significativas pertenecen al espacio de nombres System.Data, y son las siguientes:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.dataset(VS.80).aspx"&gt;DataSet&lt;/a&gt;: Es la clase mas importante en el entorno de ADO.NET 2.0, contiene una representación de los datos en memoria, en él se almacenan tablas (y éstos a su vez registros) y las relaciones que hay entre ellas. Los objetos 'DataSet' son utilizados independientemente del manejador de base de datos, es decir NO son exclusivos de SQL Server, por ejemplo, ni de ningun otro manejador, así también lo podemos utilizar sin necesidad de un proveedor. Podríamos definir al DataSet, como una copia de los datos que han sido consultados en un proveedor de datos.&lt;br /&gt;&lt;br /&gt;Esta clase DataSet, la podemos utilizar para crear conjuntos de datos con una estructura previamente definida, como si fuera una base de datos, con tipos de datos tipados, relaciones entre tablas, etc, mediante la herencia, a este tipo de clases se le conoce como DataSet tipados.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;     'objeto DataSet 'genérico'&lt;br /&gt;     Dim alumnosDS as DataSet = new DataSet()&lt;br /&gt;&lt;br /&gt;      'objeto DataSet 'tipado' (la clase AlumnoDS hereda de DataSet) con tipos predefinidos&lt;br /&gt;     Dim alumnosDS as AlumnoDS = new AlumnoDS()&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.datatable(VS.80).aspx"&gt;DataTable&lt;/a&gt;: Esta clase representa a una Tabla en memoria, para que podamos hacer operaciones con ella y sus datos, y, siempre está contenida dentro de un DataSet, con ninguna o con otras tablas.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;      'En este caso, hemos declarado una tabla 'genérica', es decir, puede contener&lt;br /&gt;      'cualquier tipo de datos cuando se crea.&lt;br /&gt;      Dim tablaAlumnos as DataTable = new DataTable()&lt;br /&gt;      'Añadimos mediante código sus columnas...&lt;br /&gt;      tablaAlumnos.Columns.Add("nombre",GetType(String))&lt;br /&gt;      tablaAlumnos.Columns.Add("telefono",GetType(String))&lt;br /&gt;      tablaAlumnos.Columns.Add("fechaNac",GetType(DateTime))&lt;br /&gt;      'Nota: cuando se crea una tabla a partir de un dataset tipado, no es necesario (ni&lt;br /&gt;      'recomendable, a menos que sea muy necesario) agregar, eliminar y modificar sus columnas,&lt;br /&gt;      'ya que puede haber problemas si es que intentamos actualizar en un origen de datos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/es-es/library/system.data.datarow(VS.80).aspx"&gt;DataRow&lt;/a&gt;: Representa un registro en memoria, y comúnmente la utilizamos cuando queremos obtener un registro de una tabla, o cuando ingresamos uno nuevo.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;      'Con esta instrucción, la tabla 'crea' un nuevo registro según su estructura&lt;br /&gt;      Dim nuevoReg as DataRow = tablaAlumnos.NewRow()&lt;br /&gt;      'una vez creado, podemos asignarle los valores que el usuario introdujo (por ejemplo)&lt;br /&gt;      nuevoReg("nombre") = "Su nombre"&lt;br /&gt;      nuevoReg("telefono") = "XXXX"&lt;br /&gt;      nuevoReg("fechaNac") = new DateTime(1990,1,1)&lt;br /&gt;      'y luego lo introducimos a su tabla que lo creo&lt;br /&gt;      tablaAlumnos.Rows.Add(nuevoReg)&lt;br /&gt;&lt;br /&gt;Nota: ya que estamos tratando con el modelo 'desconectado', debemos tener en cuenta que los datos no están actualizados al 100% con el proveedor de datos, es decir no son persistentes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1233959970011681083?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1233959970011681083/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con_15.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1233959970011681083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1233959970011681083'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con_15.html' title='Operaciones Básicas sobre datos con ADO.NET 2.0 Parte II de III'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-504467539402877023</id><published>2009-06-10T11:24:00.000-07:00</published><updated>2009-06-10T12:06:03.751-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ado.net'/><category scheme='http://www.blogger.com/atom/ns#' term='consulta datos'/><category scheme='http://www.blogger.com/atom/ns#' term='ado.net 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='operaciones basicas'/><title type='text'>Operaciones Básicas sobre datos con ADO.NET 2.0 Parte I de III</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Cuando comenzamos a aprender un nuevo lenguaje, siempre nos topamos con lo mismo, ¿Cómo insertar, eliminar, modificar y consultar sobre una tabla en una Base de Datos?, y a veces resulta que ni si quiera sabemos cómo empezar, ni por dónde, qué Clases utilizar para ello, aquí un resumen...&lt;br /&gt;&lt;br /&gt;Este post, se refiere a las operaciones con los datos dentro de una base de datos, un repositorio muy común, y la manera es algo distinta cuando se trata de otros repositorios, como archivos de texto, xml, etc.&lt;br /&gt;&lt;br /&gt;Bien, las operaciones sobre una base de datos consiste en el acrónimo 'CRUD' (en inglés Create, Read, Update and Delete), que es lo mismo que Crear o Insertar, Leer, Actualizar y Eliminar los datos, vamos a hacer estas operaciones en ADO.NET 2.0 (ADO [Access Data Object]: Acceso a Datos) con Visual Studio 2005, pero es válido para Visual Studio 2008.&lt;br /&gt;&lt;br /&gt;Antes de empezar a explicar el acceso a datos, tengo que mencionar que para entender más un poquito de esto, asumo que tienen conocimientos sobre bases de datos, creación de tablas, relaciones y consultas, ya que el objetivo de este post es sobre el acceso a los datos, y no sobre la creación de ellos, espero poner un post sobre bases de datos.&lt;br /&gt;&lt;br /&gt;Existen 2 maneras de conectarse a la base de datos para hacer las operaciones sobre alguna tabla:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Modo conectado: consiste en tener una conexión abierta siempre al servidor de BD, y de ahí estar leyendo los datos para mostrarlos al usuario. Esta forma tiene sus ventajas, los datos están actualizados siempre, mejor manejo de concurrencia, etc. Se utiliza cuando se desea mantener siempre los datos mas recientes en el cliente.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Modo desconectado: consiste en hacer las operaciones con los datos cada vez que el cliente lo necesita. Sus ventajas son que sólo ocupamos conexiones y el ancho de banda cada vez que necesitemos hacer una consulta sobre la base de datos, y de ahí trabajamos con una copia local de los datos en nuestro sistema, podemos desconectarnos del servidor temporalmente y modificar los datos y así cuando necesitemos actualizarlos, volvemos a hacer las consultas pertinentes en la base de datos.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:verdana;"&gt;Voy a explicar únicamente el modo desconectado ya que a mi parecer es el más utilizado por la mayoría de los proyectos, y el más simple de comprender.&lt;br /&gt;&lt;br /&gt;Bien, las operaciones sobre la base de datos como sabrán son:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Select, para hacer una consulta de los datos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Insert, para Ingresar los registros en una tabla base de datos.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Update, para Actualizar los registos en la tabla.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:verdana;"&gt;Delete, para Borrar los registros en la tabla.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-family:verdana;"&gt;Éstas son las operaciones 'CRUD' en una base de datos.&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-504467539402877023?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/504467539402877023/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/504467539402877023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/504467539402877023'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/operaciones-basicas-sobre-datos-con.html' title='Operaciones Básicas sobre datos con ADO.NET 2.0 Parte I de III'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-7979177573114317072</id><published>2009-06-02T09:55:00.000-07:00</published><updated>2009-06-02T11:12:38.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender visual basic'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender c#'/><category scheme='http://www.blogger.com/atom/ns#' term='migrar a .NET'/><title type='text'>Una nueva forma de aprender .NET y obtener beneficios por ello</title><content type='html'>Me acabo de enterar (y no sé porque no lo hice antes) de un programa que Microsoft tiene para quienes deseen aprender o migrar de otra tecnología a .NET (como php, java, etc.) llamado &lt;a href="http://msdn.microsoft.com/en-us/rampup/dd425032.aspx"&gt;Ramp Up&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Este programa te va llevando de la mano con muchos recursos como artículos, codecast, slidecast, laboratorios en línea, etc. de acuerdo al curso que te hayas inscrito, y además, cuando lo terminas, puedes obtener un reconocimiento de graduación y premios (como vouchers de descuento).&lt;br /&gt;&lt;br /&gt;Los cursos son los siguientes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd861547.aspx"&gt;Migrando de ASP a ASP.NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd861537.aspx"&gt;Migrando de PHP a ASP.NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd861531.aspx"&gt;Desarrollo Web con ASP.NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd807370.aspx"&gt;Desarrollo de Aplicaciones Windows Mobile 6&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd221355.aspx"&gt;SharePoint para Desarrolladores Parte 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/dd320759.aspx"&gt;SharePoint para Desarrolladores Parte 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/cc562987.aspx"&gt;Visual Studio 2008&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/bb421265.aspx"&gt;Desarrollador Básico (VS2005)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/bb421266.aspx"&gt;Desarrollador Java: Aprende .NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/bb421267.aspx"&gt;Desarrollador VB 6: Aprende VB 2005&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/rampup/bb421268.aspx"&gt;Desarrollador VS 2002/2003: Aprende VS2005&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Ya me inscribí, y estoy tomando el curso de VS2008, no está por demás reafirmar los conocimientos.&lt;br /&gt;Se los recomiendo!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-7979177573114317072?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/7979177573114317072/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/una-nueva-forma-de-aprender-net-y.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7979177573114317072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7979177573114317072'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/06/una-nueva-forma-de-aprender-net-y.html' title='Una nueva forma de aprender .NET y obtener beneficios por ello'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1194416541910149932</id><published>2009-05-29T13:42:00.000-07:00</published><updated>2009-05-29T13:54:09.801-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='correccion Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows caduca'/><title type='text'>Corrección de la caducación de Windows 7</title><content type='html'>&lt;div align="justify"&gt;Para mencionarle a todos 'testers' de Windows 7, que si tienen instalado este SO, hubo una 'mala información' acerca de la fecha de caducación en relación con las Versiones:&lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Como bien saben, cuando el Windows 7 caduque, se comenzará a apagar cada 2 horas hasta una determinada fecha en que no dejará entrar al sistema.&lt;/div&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;La versión Windows 7 Beta&lt;/span&gt;&lt;br /&gt;Se empezará a apagar cada 2 horas a partir de: 1 de Julio de 2009&lt;br /&gt;Expira: &lt;span style="color:#990000;"&gt;1 de Agosto de 2009&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;La versión Windows 7 RC (Release Candidate)&lt;/span&gt;&lt;br /&gt;Se empezará a apagar cada 2 horas a partir de: 1 de Marzo de 2010&lt;br /&gt;Expira: &lt;span style="color:#990000;"&gt;1 de Junio de 2010&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Para los que aun no adquieren la versión de Windows 7 RC, pueden hacerlo desde &lt;a href="http://www.microsoft.com/windows/windows-7/download.aspx"&gt;AQUI&lt;/a&gt; (se tienen que registrar), con la novedad de que Microsoft ha anunciado que va a estar disponible en descarga hasta Julio del 2009, sin un número límite de claves.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1194416541910149932?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1194416541910149932/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/correccion-de-la-caducacion-de-windows.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1194416541910149932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1194416541910149932'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/correccion-de-la-caducacion-de-windows.html' title='Corrección de la caducación de Windows 7'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-7163454790335766143</id><published>2009-05-27T07:42:00.000-07:00</published><updated>2009-05-29T11:47:04.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aprender vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender .net'/><category scheme='http://www.blogger.com/atom/ns#' term='recursos net framework'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender visual basic'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender c#'/><title type='text'>Dónde y Cómo aprendo .NET</title><content type='html'>Muy frecuentemente los programadores que comienzan con .NET, los que tienen problemas, o simplemente los que quieren saber más, me preguntan sobre dónde pueden aprender .NET y otras tecnologías Microsoft, pues bien, aquí mis sugerencias para todo tipo de público.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Estudiantes:&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.mslatam.com/latam/msdn/comunidad/dce2005/"&gt;DCE Desarrollador 5 Estrellas&lt;/a&gt;: Programa de certificación en el cual vas aprendiendo por etapas, y obteniendo estrellas aprobando los distintos exámenes divididos por módulos.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.mslatam.com/latam/technet/mva/"&gt;MVA Microsoft Virtual Academy&lt;/a&gt;: Universidad Virtual de Tecnologías de Microsoft, muy bueno y obtienes grandes beneficios, puedes estudiar a tu ritmo en las distintas carreras y cursos opcionales que ofrece.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8BDAA836-0BBA-4393-94DB-6C3C4A0C98A1&amp;amp;displaylang=en"&gt;VS2008 and NET Framework 3.5 Training Kit&lt;/a&gt;: Ideal si lo que quieres es empezar a programar con ejemplos, demos, laboratorios virtuales.&lt;br /&gt;Nota: está en inglés.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://itastudentpass.microsoftelearning.com/"&gt;Microsoft Student Pass&lt;/a&gt;: Programa para aprender en línea, diseñado para los estudiantes. Muy recomendado si lo que quieres es tener bien definidos los conceptos buscando alguna certificación.&lt;/p&gt;&lt;p align="justify"&gt;&lt;a href="http://www.mslatam.com/latam/netcell/default.aspx"&gt;Microsoft Net Cell 2.0&lt;/a&gt;: Este programa busca formar grupos en las universidades para fomentar el uso y aprendizaje de la tecnología .NET, necesitas compañeros, un líder, y un maestro asesor de tu escuela.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Desarrolladores:&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/es-mx/default.aspx"&gt;MSDN Microsoft Developer Network&lt;/a&gt;: Este es sitio oficial de soporte de los productos de Desarrollo de Microsoft. Aqui encuentras ayuda de las librerías, clases, videos de ejemplo, webcast, etc. sobre productos de desarrollo .NET, Web, Windows, Empresarial, para Office, para Juegos, etc.&lt;/p&gt;&lt;p&gt;&lt;a href="http://connect.microsoft.com/"&gt;Microsoft Connect&lt;/a&gt;: El sitio que Microsoft llama 'El punto de conexión entre usted y Microsoft'. Me parece un sitio muy interesante, ya que te ofrece recursos gratuitos (como iconos, imágenes, controles, librerías, etc.), además de que puedes hacer preguntas a los desarrolladores de Microsoft o algun otro, el objetivo es brindar soporte o también darlo si conoces un cierto problema y sabes como solucionarlo.&lt;/p&gt;&lt;p&gt;&lt;a href="http://asp.net/"&gt;ASP.NET&lt;/a&gt;: Sitio oficial de la tecnología ASP.NET, encuentras webcast sobre AJAX, ASP.NET MVC, JQuery, etc.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/spanish/msdn/latam/mediacenter/netprotector/"&gt;Net Protector&lt;/a&gt;: Dale una mayor protección y seguridad a tus librerías y aplicaciones, con este programa, te enseñan cómo debes hacerlo.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/spanish/msdn/latam/openxml/"&gt;Open XML&lt;/a&gt;: Conceptos, herramientas y ejemplos de esta novedosa tecnología para que puedas desarrollar e incluírla en tus desarrollos.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;span style="color:#660000;"&gt;Emprendedores:&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;a href="http://www.mslatam.com/mexico/itpromomentum/"&gt;IT Pro Momentum&lt;/a&gt;: Si lo que quieres es probar y aprender las nuevas tecnologías Microsoft, recibir soporte técnico gratuito y poder ofertar tu proyecto, este es el programa que te conviene.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/BizSpark/"&gt;Microsoft BizSpark&lt;/a&gt;: Si tienes o formas parte de una empresa que está en fase de inicio y además utiliza como base las TI, este programa te puede ayudar, ya que te ofrece software y soporte técnico que necesites, todo esto gratis!!.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;Existen muchísimas herramientas más en la red y por cierto, también muy buenas, pero a mi parecer, éstas son las más importantes, y sobre todo Oficiales que Microsoft nos proporciona, así que no hay pretexto... A DESARROLLAR SE HA DICHO!!! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-7163454790335766143?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/7163454790335766143/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/donde-y-como-aprendo-net.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7163454790335766143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/7163454790335766143'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/donde-y-como-aprendo-net.html' title='Dónde y Cómo aprendo .NET'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5951259512504856081.post-1762400154386390884</id><published>2009-05-07T10:46:00.000-07:00</published><updated>2009-05-26T23:37:48.706-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vb.net'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='visual basic'/><category scheme='http://www.blogger.com/atom/ns#' term='recorrido recursivo de controles'/><category scheme='http://www.blogger.com/atom/ns#' term='recorrido controles'/><title type='text'>Recorrido de todos los controles en un Form C# y VB.NET</title><content type='html'>Hace un tiempo trabajé en un proyecto en el cual quería "formatear" a los controles de un formulario, para poder ofrecer al usuario un "skin" o un tema a la aplicación, por ejemplo, que todos los controles 'label' de un formulario se colorearan de color azul, para eso lo tenía que hacer dinámicamente, ya que tenía varios formularios en la misma aplicación, y algunos cargados de distintos tipos de controles.&lt;br /&gt;&lt;br /&gt;El recorrido de controles, se puede hacer de 2 maneras:&lt;br /&gt;&lt;br /&gt;1. Recorriendo de manera &lt;strong&gt;Iterativa &lt;/strong&gt;los controles de un control. En esta forma, sólo podemos recorrer los controles hijos de un control padre, por ejemplo, si tenemos un Form, y queremos aplicar este recorrido, entonces unicamente se recorrerá todos los controles que estén directamente agregados en el formulario y no dentro de otro control, es decir, si tenemos 3 controles dentro del Form: 1 Label, 1 GroupBox y 1 Button, pero el Label se encuentra dentro del Group Box, al hacer este recorrido, no afectará al Label, sino solo al Button y al GroupBox.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_7Bw6Jfx_RZU/SgMhdaa1KTI/AAAAAAAAAAM/1Y2z_dQoGV8/s1600-h/form1.bmp"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 290px; FLOAT: left; HEIGHT: 198px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5333143172928579890" border="0" alt="" src="http://4.bp.blogspot.com/_7Bw6Jfx_RZU/SgMhdaa1KTI/AAAAAAAAAAM/1Y2z_dQoGV8/s320/form1.bmp" /&gt;&lt;/a&gt;Suponiendo que tenemos este formulario, en este tipo de recorrido, cuando queramos recorrer todos los controles que tenemos en el Form1, solo recorreremos a GroupBox1 y a Button1.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;2. Recorriendo de manera &lt;strong&gt;Recursiva&lt;/strong&gt; TODOS los controles de un control. En esta forma se podrán recorrer todos y cada uno de los controles que esten dentro de un control padre, aún cuando algunos controles estén dentro de otro y éste a su vez de otro (esto se conoce como controles anidados), mientras formen parte del mismo control padre que establecemos, se hará dicho recorrido. Ésta es la mejor manera de hacerlo, cuando se trate de recorrer de manera DINÁMICA, es decir, cuando no se conoce ni dónde, ni cuántos controles vamos a recorrer. Cuando conozcamos su ubicación, o su tamaño, y sabemos que NO VA A CAMBIAR en el transcurso de vida de nuestra aplicación, entonces no conviene hacer un recorrido Recursivo de todos, sino almacenarlos en una colección y ahí hacer el recorrido, este tipo de recorrido es sobre una colección de elementos, en la cual conocemos su tamaño (esto lo explicaré mas adelante).&lt;br /&gt;&lt;br /&gt;Código:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Recorriendo de manera Iterativa&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;C#&lt;/li&gt;&lt;/ul&gt;&lt;span style="color:#009900;"&gt;//Recorremos con un ciclo for each cada control que hay en la coleccion Controls de un objeto llamado 'control'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;foreach&lt;/span&gt;(Control contHijo &lt;span style="color:#000099;"&gt;in&lt;/span&gt; control.Controls){&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;//Aqui va la lógica de lo queramos hacer, en mi ejemplo, voy a pintar de color azul el fondo de todos los controles&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;contHijo.BackColor = Color.Blue;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VB.NET&lt;/li&gt;&lt;/ul&gt;&lt;span style="color:#33cc00;"&gt;&lt;span style="color:#009900;"&gt;'Recorremos con un ciclo for each cada control que hay en la coleccion Controls de un objeto llamado 'control'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;For Each&lt;/span&gt; contHijo &lt;span style="color:#000099;"&gt;As&lt;/span&gt; Control &lt;span style="color:#000099;"&gt;In&lt;/span&gt; control.Controls&lt;br /&gt;&lt;span style="color:#009900;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Aqui va la lógica de lo queramos hacer, en mi ejemplo, voy a pintar de color azul el fondo de todos los controles&lt;/span&gt;&lt;br /&gt;contHijo.BackColor = Color.Blue&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Recorriendo de manera Recursiva&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;C#&lt;/li&gt;&lt;/ul&gt;&lt;span style="color:#3333ff;"&gt;public void&lt;/span&gt; RecControles(&lt;span style="color:#339999;"&gt;Control&lt;/span&gt; control) {&lt;br /&gt;&lt;span style="color:#009900;"&gt;//Recorremos con un ciclo for each cada control que hay en la colección Controls&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#3333ff;"&gt;foreach&lt;/span&gt;(&lt;span style="color:#339999;"&gt;Control&lt;/span&gt; contHijo &lt;span style="color:#3333ff;"&gt;in&lt;/span&gt; control.Controls){&lt;br /&gt;&lt;span style="color:#009900;"&gt;//Preguntamos si el control tiene uno o mas controles dentro del mismo con la propiedad 'HasChildren'&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#009900;"&gt;//Si el control tiene 1 o más controles, entonces llamamos al procedimiento de forma recursiva, para que siga recorriendo los demás controles &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;if&lt;/span&gt; (contHijo.HasChildren) &lt;span style="color:#3333ff;"&gt;this&lt;/span&gt;.RecControles(contHijo);&lt;br /&gt;&lt;span style="color:#009900;"&gt;//Aqui va la lógica de lo queramos hacer, en mi ejemplo, voy a pintar de color azul el fondo de todos los controles&lt;/span&gt;&lt;br /&gt;contHijo.BackColor = &lt;span style="color:#339999;"&gt;Color&lt;/span&gt;.Blue;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VB.NET&lt;/li&gt;&lt;/ul&gt;&lt;span style="color:#000099;"&gt;Public Sub&lt;/span&gt; RecControles(&lt;span style="color:#000099;"&gt;ByVal&lt;/span&gt; control &lt;span style="color:#000099;"&gt;As&lt;/span&gt; Control)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Recorremos con un ciclo for each cada control que hay en la colección Controls&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;For Each&lt;/span&gt; contHijo &lt;span style="color:#000099;"&gt;As&lt;/span&gt; Control &lt;span style="color:#000099;"&gt;In&lt;/span&gt; control.Controls&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Preguntamos si el control tiene uno o mas controles dentro de l mismo con la propiedad 'HasChildren'&lt;br /&gt;'Si el control tiene 1 o más controles, entonces llamamos al procedimiento de forma recursiva, para que siga&lt;br /&gt;'recorriendo los demás controles&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;If&lt;/span&gt; contHijo.HasChildren &lt;span style="color:#000099;"&gt;Then&lt;/span&gt; &lt;span style="color:#000099;"&gt;Me&lt;/span&gt;.RecControles(contHijo)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#009900;"&gt;'Aqui va la lógica de lo queramos hacer, en mi ejemplo, voy a pintar de color azul el fondo de todos los controles&lt;br /&gt;&lt;/span&gt;contHijo.BackColor = Color.Blue&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Next&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Como se dan cuenta, en el recorrido de forma recursiva, se debe hacer uso de un procedimiento que haga el recorrido (de ahí su nombre, una función [o procedimiento] que se llama a sí misma, mientras que de manera iterativa lo puedes utilizar en tu código de función o procedimiento sin necesidad de declarar otra función alterna.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora bien, esto lo hace de maravilla, y está bien hacerlo cuando NO conozcamos el tamaño ni la ubicación de los controles, ya que como ven, el recorrido pasa por TODOS los controles de un cierto control, pero... y qué pasa si sólo necesito los controles 'Button' que se encuentran en un formulario que, de antemano, sé que no voy a agregar otros controles, pues entonces lo que conviene es que realices una colección de esos botones y hagas el recorrido UNICAMENTE en esos controles. La colección la puedes hacer en un Array, en un objeto Collection, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5951259512504856081-1762400154386390884?l=sobreprogramacion.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sobreprogramacion.blogspot.com/feeds/1762400154386390884/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/recorrido-de-todos-los-controles-en-un.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1762400154386390884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5951259512504856081/posts/default/1762400154386390884'/><link rel='alternate' type='text/html' href='http://sobreprogramacion.blogspot.com/2009/05/recorrido-de-todos-los-controles-en-un.html' title='Recorrido de todos los controles en un Form C# y VB.NET'/><author><name>Eder Morales Adame</name><uri>http://www.blogger.com/profile/11606469239816541168</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7Bw6Jfx_RZU/SgMhdaa1KTI/AAAAAAAAAAM/1Y2z_dQoGV8/s72-c/form1.bmp' height='72' width='72'/><thr:total>3</thr:total></entry></feed>
