<?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:blogger='http://schemas.google.com/blogger/2008' 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-5648525342930777999</id><updated>2024-11-01T00:25:50.657-07:00</updated><category term="C#"/><category term="Asp.Net"/><category term="SQLServer"/><category term="JavaScript"/><category term="Windows Form"/><category term=".Net"/><category term="Ajax"/><category term="Parámetro XML"/><category term="XML"/><category term="android"/><category term="app android"/><category term="java"/><category term="Ajax Control Toolkit"/><category term="Base"/><category term="COALESCE"/><category term="Ceros a la izquierda"/><category term="Conversiones"/><category term="Enviar e-mail"/><category term="Extension"/><category term="F5"/><category term="Herencia"/><category term="Importe"/><category term="KeyDown"/><category term="Leer archivo de texto"/><category term="Moneda"/><category term="MultiProcesos"/><category term="Métodos extendidos"/><category term="PageMethods"/><category term="RIGHT"/><category term="RISERROR"/><category term="ROUND"/><category term="Random"/><category term="Redondear"/><category term="SubProcesos - Hilos"/><category term="Sólo números"/><category term="TRY...CATCH"/><category term="Thread"/><category term="ValidatorCallout"/><category term="Web Controls Server"/><category term="WebMethod"/><category term="app"/><category term="caricaturas"/><category term="cliente"/><category term="concatenar elemento con comas"/><category term="concatenar valores"/><category term="conceptos basicos"/><category term="cookie"/><category term="correo electronico"/><category term="curso android"/><category term="curso basico"/><category term="hola mundo"/><category term="juego"/><category term="juego android"/><category term="logos y marcas"/><category term="personajes"/><category term="quiz"/><category term="sin validar primero y ultimo elemento a concatenar"/><category term="sp_xml_preparedocument"/><category term="teclado"/><category term="temas de android"/><category term="trivia de caricaturas"/><category term="trivia de imagenes"/><category term="trivias"/><title type='text'>.Net y mas...</title><subtitle type='html'>Ejemplos sobre lenguajes de programación como C#, VB.Net, Java(android), JavaScript, VB6, AJAX, SQLServer, Oracle...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-7790300420642086210</id><published>2015-11-12T11:07:00.005-08:00</published><updated>2015-11-12T11:27:22.185-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="app android"/><category scheme="http://www.blogger.com/atom/ns#" term="conceptos basicos"/><category scheme="http://www.blogger.com/atom/ns#" term="curso android"/><category scheme="http://www.blogger.com/atom/ns#" term="curso basico"/><category scheme="http://www.blogger.com/atom/ns#" term="hola mundo"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="temas de android"/><title type='text'>Android - Tema 1 - Inicio</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola, a partir de hoy iré publicando temas de programación de apps para android, espero que esto les ayude para despejar sus dudas o con los cuales puedan empezar adentrarse sobre este mundo de desarrollo de apps para android.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Antes de empezar hay que seguir estos 3 pasos para poder tener nuestro ambiente desarrollo:&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;1. Instalar JDK &lt;/b&gt;(&lt;a href=&quot;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&quot;&gt;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2. Instalar Android Studio&lt;/b&gt; (&lt;a href=&quot;https://developer.android.com/intl/es/sdk/index.html&quot;&gt;https://developer.android.com/intl/es/sdk/index.html&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;3. Configuración del Android Studio. &lt;/b&gt;Después de instalar nuestro IDE debemos configurar una variable de entorno, solo da click derecho en&lt;b&gt; Mi Equipo&lt;/b&gt;, en seguida click en &lt;b&gt;propiedades&lt;/b&gt;, despues en la ventana que te aparece busca &lt;b&gt;Propiedades Avanzadas del sistema&lt;/b&gt;, y despues da click en &lt;b&gt;variables de entorno&lt;/b&gt; y por ultimo agrega una &lt;b&gt;nueva variable de sistema&lt;/b&gt; llamada &lt;b&gt;JAVA_HOME&lt;/b&gt;, como valor pon la &lt;b&gt;ruta de tu jdk&lt;/b&gt; que instalaste previamente.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsT7xWS3qWqIHH5wJYFOSJbLIL1lG_CYhi4kpVUr50fs68xM2j_dDgKrYZU-aqhbmVlrB2zmpXIi-cDRq1v_j_2UlnU0RrHw8E4egso6Iw9TwvObnJ9j6PBr5cXkUmp0JNd5bIKz1EajGC/s1600/java_home.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;363&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsT7xWS3qWqIHH5wJYFOSJbLIL1lG_CYhi4kpVUr50fs68xM2j_dDgKrYZU-aqhbmVlrB2zmpXIi-cDRq1v_j_2UlnU0RrHw8E4egso6Iw9TwvObnJ9j6PBr5cXkUmp0JNd5bIKz1EajGC/s400/java_home.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Conceptos&amp;nbsp;Básicos&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Ahora si, empecemos, primero lo que deven saber es que el lenguaje oficial para programar en android es java, existen otras alternativas como lo es appcelerator, flex, mono, etc., pero eso es harina de otro costal, jeje, aqui veremos la alternativa oficial, o mas bien dicho la forma nativa de crear apps.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Activity.&amp;nbsp;&lt;/b&gt;Son las encargadas de mostrar la interfaz de usuario e interactuar con él. Responden a los eventos generados por el usuario (pulsar botones etc). Heredan de la clase Activity.&lt;b&gt;&amp;nbsp;&lt;/b&gt;Yo las veo como&amp;nbsp;una clase que representa una pantalla en tu app. Estas cuentan con un evento llamado onCreate, en el cual se especifica el contenido de tu view, que en este caso es un layout que se crea al momento de agregar un activity (.xml).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Layout. &lt;/b&gt;Es un xml que representa la interfaz del usuario.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Ciclo de vida de una actividad:&amp;nbsp;&lt;/b&gt;En este diagrama se expresa el ciclo de vida de una actividad, esto te sirve para identificar a que eventos entra nuestra actividad desde que se inicia.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvoBE3N6q-r3sn4xdAhJnZ3ri7JXiRNlu4KoWzE8FvCFBnWxWa0QfikuDeveyMI5x4_NroNekt0H0ogZeTVN9delyrF_2i78Qbo4nygjjUx9rEjNsVRLyFpr_E5de9W-dgASr74BwNT6Ps/s1600/ciclo_vida_activity.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvoBE3N6q-r3sn4xdAhJnZ3ri7JXiRNlu4KoWzE8FvCFBnWxWa0QfikuDeveyMI5x4_NroNekt0H0ogZeTVN9delyrF_2i78Qbo4nygjjUx9rEjNsVRLyFpr_E5de9W-dgASr74BwNT6Ps/s640/ciclo_vida_activity.png&quot; width=&quot;484&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Nuestra primera app&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Ahora si, manos a la obra...&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;1. &lt;/b&gt;Abran el Android Studio y den click en &lt;b&gt;Start new Android Studio project&lt;/b&gt;, en la segunda pantalla que aparece configuren su proyecto, para este ejemplo capturen:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Aplication name: &lt;/b&gt;HolaMundo&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Company Domain:&amp;nbsp;&lt;/b&gt;ejemploganda.com (aquí normalmente yo pongo mi nickname de desarrollador, necesariemente debes tener registrado un dominio con el nombre que pongas)&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;2.&amp;nbsp;&lt;/b&gt;En seguida den click en &quot;Next&quot; y en la nueva pantalla dejen los valores default y presionen &quot;Next&quot;.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;3. &lt;/b&gt;En esta nueva pantalla seleccionen la opción &quot;Emty Activity&quot; y presionen &quot;Next&quot;.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;4. &lt;/b&gt;En la pantalla Customize the Activity, dejen los valores default&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;ActivityName: &lt;/b&gt;MainActivity&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Generate Layout File &lt;/b&gt;(seleccionada)&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;Layout Name:&amp;nbsp;&lt;/b&gt;activity_main&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Presionen &quot;&lt;b&gt;Finish&lt;/b&gt;&quot; (esperen a que cree el proyecto).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Así se vera el proyecto creado:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSbOljfg5EG7CCPelahCk5Os-6NymoL8ehHs1egLtKE-EiIgNWvYZsFRgo0llPAhdf2PlQmt-_y3Cvcg2dv-VufgWO13PP4yRhn67DNLyGFT2EA9ndx1GO3d-2lLDOY1ZkA_I6PxifHjy/s1600/pantalla+hola+mundo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;247&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjSbOljfg5EG7CCPelahCk5Os-6NymoL8ehHs1egLtKE-EiIgNWvYZsFRgo0llPAhdf2PlQmt-_y3Cvcg2dv-VufgWO13PP4yRhn67DNLyGFT2EA9ndx1GO3d-2lLDOY1ZkA_I6PxifHjy/s400/pantalla+hola+mundo.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Como puedes observar en tu clase MainActivity esta el evento OnCreate en el cual se le especifica el layout que esta relacionado a la actividad.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;6. &lt;/b&gt;En el panel izquierdo en el folder res, podrás encontrar los layouts, en este caso activity_main, el cual es nuestra vista de nuestra actividad, si la abres veras que por default te agrego una etiqueta.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt2WzKkBhla4R2RwuFdPx1_C6VLLTjOn7PIE2LbS6mCVzSv8q7iwPvbyF4iVottbVisT9-3R3W_0Si7_MhJ2f5qqaxSJjRqiqJR5khiMuvPc0Agrzp0mpOPw9HL4-tE3HC3TlNOtZch_0I/s1600/holamundo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;248&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt2WzKkBhla4R2RwuFdPx1_C6VLLTjOn7PIE2LbS6mCVzSv8q7iwPvbyF4iVottbVisT9-3R3W_0Si7_MhJ2f5qqaxSJjRqiqJR5khiMuvPc0Agrzp0mpOPw9HL4-tE3HC3TlNOtZch_0I/s400/holamundo.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;7. &lt;/b&gt;Da click en el menú Run, opción Run &#39;app&#39;, al hacer esto te preguntara como quieres correrlo, con el emulador o con algun celular conectado al equipo, esto lo dejo a tu elección, por default al instalar el android studio devio crearte un virtual device para el emulador, si no fue así, hay que crearlo en &quot;Tools-&amp;gt;Android-&amp;gt;AVD Manager&quot;. Si lo corres con tu dispositivo, recuerda activar la instalación de aplicaciones de origen desconocido y el debug en opciones de desarrollo de tu dispositivo.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0EJFZHJpU5nXPH5nquFtICGZOyEsTXGRe7Q6GZ4L8YlUpX14L-NCFKnwyXAWpjQVdiubm61muhk5ql1p1sBLh0v-5Qf1Ker1pJqKvuxztnK9X-lEtGZSZBup0cnJGrafKQ_1SBw5adWAz/s1600/pantalla2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0EJFZHJpU5nXPH5nquFtICGZOyEsTXGRe7Q6GZ4L8YlUpX14L-NCFKnwyXAWpjQVdiubm61muhk5ql1p1sBLh0v-5Qf1Ker1pJqKvuxztnK9X-lEtGZSZBup0cnJGrafKQ_1SBw5adWAz/s320/pantalla2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;b&gt;8. &lt;/b&gt;Listo!!!, tu primera app&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjROdipWz7a_uc2kyPDkNfnLjJglVYB_u3fs3RdEWsD1ubNRBjScqcxdHAVZzf2EDNiv1e4XSL0NntLmYlXKQ_2xzm3IXu9Uo8Fx8H_K0LU2UDJ-jUKVtIsmObzYcMFwpJqjOvLkKovrELt/s1600/pantalla3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjROdipWz7a_uc2kyPDkNfnLjJglVYB_u3fs3RdEWsD1ubNRBjScqcxdHAVZzf2EDNiv1e4XSL0NntLmYlXKQ_2xzm3IXu9Uo8Fx8H_K0LU2UDJ-jUKVtIsmObzYcMFwpJqjOvLkKovrELt/s320/pantalla3.png&quot; width=&quot;180&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
En el siguiente tema adentraremos mas sobre algunos controles y eventos que podemos agregar, esto fue mas como un pre para tener las bases de como configurar nuestro ambiente y posteriormente como crear nuestros proyectos.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Estaré subiendo los proyectos al github, aquí el primer link.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;a href=&quot;https://github.com/ganda12/TemasAndroid/tree/master/HolaMundo&quot;&gt;https://github.com/ganda12/TemasAndroid/tree/master/HolaMundo&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
Recuerden que pueden descargar mi juego para probarlo, les dejo el link de descarga:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.apps.ganda.trivias&quot;&gt;
  &lt;img alt=&quot;Get it on Google Play&quot; src=&quot;https://developer.android.com/images/brand/es-419_generic_rgb_wo_60.png&quot; /&gt;
&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/7790300420642086210/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2015/11/android-tema-1-inicio.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/7790300420642086210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/7790300420642086210'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2015/11/android-tema-1-inicio.html' title='Android - Tema 1 - Inicio'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsT7xWS3qWqIHH5wJYFOSJbLIL1lG_CYhi4kpVUr50fs68xM2j_dDgKrYZU-aqhbmVlrB2zmpXIi-cDRq1v_j_2UlnU0RrHw8E4egso6Iw9TwvObnJ9j6PBr5cXkUmp0JNd5bIKz1EajGC/s72-c/java_home.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-6068682767835948379</id><published>2015-11-10T10:03:00.001-08:00</published><updated>2015-11-13T09:48:18.186-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="android"/><category scheme="http://www.blogger.com/atom/ns#" term="app"/><category scheme="http://www.blogger.com/atom/ns#" term="app android"/><category scheme="http://www.blogger.com/atom/ns#" term="caricaturas"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="juego"/><category scheme="http://www.blogger.com/atom/ns#" term="juego android"/><category scheme="http://www.blogger.com/atom/ns#" term="logos y marcas"/><category scheme="http://www.blogger.com/atom/ns#" term="personajes"/><category scheme="http://www.blogger.com/atom/ns#" term="quiz"/><category scheme="http://www.blogger.com/atom/ns#" term="trivia de caricaturas"/><category scheme="http://www.blogger.com/atom/ns#" term="trivia de imagenes"/><category scheme="http://www.blogger.com/atom/ns#" term="trivias"/><title type='text'>Juego Android (Trivia de Imagenes)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola, hace mucho que no escribia en mi blog, pero pienso retomarlo con temas de desarrollo de apps para android, como entrada les dejo como ejemplo el juego que hice y que ya esta publicado en google play. En estos próximos temas explicare desde lo mas básico hasta como implementar algunos servicios de google como lo es la publicidad y la integración de gloogle games.&lt;/div&gt;
&lt;br /&gt;
Aquí el link de mi juego:&lt;br /&gt;
&lt;br /&gt;
Trivia de Imágenes, diviértete adivinando el nombre de las caricaturas de tu infancia.&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.apps.ganda.trivias&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;http://cdn8.staztic.com/app/a/7021/7021237/trivias-2-0-s-307x512.jpg&quot; height=&quot;450px&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.apps.ganda.trivias&quot;&gt;
  &lt;img alt=&quot;Get it on Google Play&quot; src=&quot;https://developer.android.com/images/brand/es-419_generic_rgb_wo_60.png&quot; /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Inicio - Temas Android&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;http://ganda-csharp.blogspot.mx/2015/11/android-tema-1-inicio.html&quot;&gt;http://ganda-csharp.blogspot.mx/2015/11/android-tema-1-inicio.html&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/6068682767835948379/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2015/11/juego-android-trivia-de-imagenes.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/6068682767835948379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/6068682767835948379'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2015/11/juego-android-trivia-de-imagenes.html' title='Juego Android (Trivia de Imagenes)'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-1303167707209778146</id><published>2013-11-22T07:09:00.002-08:00</published><updated>2013-11-22T07:15:59.621-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Controls Server"/><title type='text'>Añadir css embebidos en tus controles web(.net)</title><content type='html'>&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Hola, hoy les explicare como embeber un archivo css en tu control web que estés desarrollando, lo primero que hay que hacer es lo siguiente:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;1. &lt;/b&gt;Modifica el archivo&amp;nbsp;&lt;span style=&quot; line-height: 17.804800033569336px;&quot;&gt;AssemblyInfo.cs y agrega esto:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;[assembly: System.Web.UI.WebResource(&quot;CustomControls.Styles.GridStyles.css&quot;, &quot;text/css&quot;), PerformSubstitution = true)]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;Donde&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;CustomControls es tu proyecto y style tu carpeta donde tienes el css,&amp;nbsp;prácticamente&amp;nbsp;es ponerlo como&amp;nbsp;se&amp;nbsp;formaría&amp;nbsp;un namespace.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;b&gt;2.&lt;/b&gt; Al archivo .css aplicale la propiedad de&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; line-height: 17.804800033569336px;&quot;&gt;BuildAction a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 17.804800033569336px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;Embedded Resource, para que se&amp;nbsp;embeba&amp;nbsp;en nuestra dll.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;line-height: 17.804800033569336px;&quot;&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;3.&lt;/b&gt; Ahora si, el&amp;nbsp;código&amp;nbsp;que necesitamos es el siguiente:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-family: Arial, Liberation Sans, DejaVu Sans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 17.804800033569336px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;pre class=&quot;lang-cs prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;protected&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;override&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;OnPreRender&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;EventArgs&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; e&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; 
   &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        bool linkIncluded &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Control&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; c &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Page&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Header&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Controls&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ID &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;GridStyle&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
                linkIncluded &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(!&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;linkIncluded&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;HtmlGenericControl&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; csslink &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;HtmlGenericControl&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;link&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            csslink&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ID &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;GridStyle&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            csslink&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Attributes&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;href&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Page&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ClientScript&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;GetWebResourceUrl&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;GetType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(),&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;CustomControls.Styles.GridStyles.css&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;));&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            csslink&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Attributes&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;type&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;text/css&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            csslink&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Attributes&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;rel&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;stylesheet&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Page&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Header&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Controls&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Add&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;csslink&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
        &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;4.&lt;/b&gt; Si quieres hacer una referencia a una imagen pues embeber la imagen y referenciarla de esta manera en tu css:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;lang-cs prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;background&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; url&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;&amp;lt;%=WebResource(&quot;CustomControls.Styles.Cross.png&quot;)%&amp;gt;&#39;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; no&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;repeat &lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;95&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;background-color: transparent; border: 0px; color: maroon; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;%;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;Como ven esto es muy facil de implementar y espero que les sea de utilidad.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/1303167707209778146/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2013/11/anadir-css-embebidos-en-tus-controles.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1303167707209778146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1303167707209778146'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2013/11/anadir-css-embebidos-en-tus-controles.html' title='Añadir css embebidos en tus controles web(.net)'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-8927419565344829264</id><published>2013-03-04T14:10:00.002-08:00</published><updated>2013-03-04T14:11:41.036-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Parámetro XML"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>Pasar XML a stored procedure en SQLServer 2005 o superior</title><content type='html'>Hola, hace tiempo vimos como pasar un XML a un sp en SQL2005, hoy les traigo una forma mas eficiente de pasar un xml por parámetro que funciona en 2005 o superior.&lt;br /&gt;
&lt;br /&gt;
La diferencia principal radica que ahora si mandamos un tipo de datos XML propio del manejador de base de datos.&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;CREATE PROC spPrueba&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@sXML XML&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;AS&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;BEGIN&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- Logica&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;END&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;background-color: white; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
Si mal no recuerdo el tipo de dato XML esta disponible a partir de la version 2005 de SQLServer y por lo tanto pueden aplicar la lectura de ese xml de la siguiente forma:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;SELECT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;t.value(&#39;./@Clave&#39;,&#39;INT&#39;),&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;t.value(&#39;./@Descripcion&#39;,&#39;VARCHAR(30)&#39;)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;FROM&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@sXML.nodes(&#39;//row&#39;) x(t)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Donde @sXML es nuestro parametro, y &quot;row&quot; es nuestro nodo de cada elemento de nuestro xml, y por medio de &quot;t&quot; y la funcion &quot;value&quot; obtenemos nuestro valor de cada propiedad de nuestro nodo.&lt;br /&gt;
&lt;br /&gt;
Les dejo aquí un ejemplo completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;CREATE PROC spPrueba&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@sXML XML&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;AS&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BEGIN&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SELECT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;t.value(&#39;./@Clave&#39;,&#39;INT&#39;),&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;t.value(&#39;./@Descripcion&#39;,&#39;VARCHAR(30)&#39;)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;FROM&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@sXML.nodes(&#39;//row&#39;) x(t)&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;END&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;go&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;--Ejecuto sp&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;EXEC dbo.spPrueba @sXML = &#39;&amp;lt;row Clave=&quot;1&quot; Descripcion=&quot;Dato 1&quot; /&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;row Clave=&quot;2&quot; Descripcion=&quot;Dato 2&quot; /&amp;gt;&#39; -- xml&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;go&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;DROP PROC spPrueba&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
De igual manera como lo hicimos en el ejemplo pasado podrian ejecutar un insert select para guardar directo en su tabla o en unta tabla temporal para procesar la información.&lt;br /&gt;
&lt;br /&gt;
Espero que les sea de utilidad....&lt;br /&gt;
---------------------------------------&lt;br /&gt;
&lt;span style=&quot;background-color: #1c1c1c; color: #cccccc; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: xx-small; line-height: 14px;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Nota: Articulo anterior:&amp;nbsp;&lt;a href=&quot;http://ganda-csharp.blogspot.mx/2012/07/pasar-un-xml-por-parametro-un-stored.html&quot;&gt;http://ganda-csharp.blogspot.mx/2012/07/pasar-un-xml-por-parametro-un-stored.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/8927419565344829264/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2013/03/pasar-xml-stored-procedure-en-sqlserver.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/8927419565344829264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/8927419565344829264'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2013/03/pasar-xml-stored-procedure-en-sqlserver.html' title='Pasar XML a stored procedure en SQLServer 2005 o superior'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-2366245619847656092</id><published>2012-10-23T15:00:00.000-07:00</published><updated>2012-10-23T15:00:21.984-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Extension"/><category scheme="http://www.blogger.com/atom/ns#" term="Métodos extendidos"/><title type='text'>Agregar método extendido a un objeto (clase o control) en C#</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hoy veremos como agregar un&amp;nbsp;método adicional&amp;nbsp;a un clase o control que no son propios de nuestro&amp;nbsp;código&amp;nbsp; por ejemplo&amp;nbsp;podríamos&amp;nbsp;agregar una&amp;nbsp;extensión&amp;nbsp;a la clase DataTable que permita convertir todos sus datos a un XML, o agregar una&amp;nbsp;extensión&amp;nbsp;a un GridView para poder exportar a Excel. Estos tipos de&amp;nbsp;métodos&amp;nbsp;son muy&amp;nbsp;útiles&amp;nbsp;para encapsular una funcionalidad&amp;nbsp;común&amp;nbsp;para un tipo de objeto en especifico.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ejemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Primero agregamos una clase nueva a nuestro proyecto &quot;ListBoxExtension&quot;, esta clase&amp;nbsp;tendrá&amp;nbsp;todos los&amp;nbsp;métodos&amp;nbsp;extendidos del control ListBox.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;public static class ListBoxExtension&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;public static string ConvertToXml(this GandA.Web.UI.Controls.ListBox listBox)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string xml = string.Empty;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (ListItem item in listBox.ControlListBox.Items)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xml = xml + &quot;&amp;lt;Item&amp;gt;&amp;lt;Value&amp;gt;&quot; + item.Value + &quot;&amp;lt;/Value&amp;gt;&amp;lt;/Item&amp;gt;&quot;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!string.IsNullOrEmpty(xml))&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xml = &quot;&amp;lt;Items&amp;gt;&quot; + xml + &quot;&amp;lt;/Items&amp;gt;&quot;;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return xml;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
Como pueden&amp;nbsp;observar, para decir que nuestro&amp;nbsp;método&amp;nbsp;sera un&amp;nbsp;extensión&amp;nbsp;recibe como&amp;nbsp;parámetro&amp;nbsp;el control anteponiendo la palabra &quot;&lt;b&gt;this&lt;/b&gt;&quot;.&lt;br /&gt;
Si queremos utilizar el&amp;nbsp;método, lo haremos de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;protected void btnGuardar_Click(object sender, EventArgs e)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;lstEstPaq.ConvertToXml();&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
Donde &quot;&lt;b style=&quot;font-size: small;&quot;&gt;lstEstPaq&lt;/b&gt;&quot;, es nuestro control ListBox, y &quot;&lt;b style=&quot;font-size: small;&quot;&gt;ConvertToXml&lt;/b&gt;&quot; es nuestro extension.&amp;nbsp;Podrán&amp;nbsp;observar que este&amp;nbsp;método&amp;nbsp;sólo va a aparecer si se esta haciendo referencia a la clase ListBoxExtension, para ello agreguen su using.&lt;/div&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;using CLab.Utils.Extensions;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;
Donde &quot;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;MiProyecto.Utils.Extensions&lt;/span&gt;&lt;/b&gt;&quot; es mi namespace donde se encuentra mi clase ListBoxExtension.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Como pueden darse cuenta la extensión de&amp;nbsp;métodos&amp;nbsp;es algo muy sencillo de implementar y que nos ayuda a encapsular y agregar funcionalidades extras a clases o controles que no son parte de nuestro&amp;nbsp;código.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Espero que esto les ayude, y cual quier duda preguntes&lt;/div&gt;
&lt;br /&gt;
--------------------------------------------------------------&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/2366245619847656092/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/10/agregar-metodo-extendido-un-objeto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2366245619847656092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2366245619847656092'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/10/agregar-metodo-extendido-un-objeto.html' title='Agregar método extendido a un objeto (clase o control) en C#'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-796848655557021482</id><published>2012-07-11T07:41:00.000-07:00</published><updated>2012-07-11T07:42:23.299-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Random"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form"/><title type='text'>Número Aleatorio en C# - Random</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hoy veremos como obtener&amp;nbsp;números&amp;nbsp;aleatorios en C# con la clase Random, esta clase que nos proporciona el framework como&amp;nbsp;verán&amp;nbsp;es muy&amp;nbsp;fácil&amp;nbsp;de utilizar, sólo hay que instanciar un objeto de esta clase y ejecutar el&amp;nbsp;método&amp;nbsp;Next, NextDouble o NextBytes.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Como&amp;nbsp;verán&amp;nbsp;podrán&amp;nbsp;obtener aleatoriamente&amp;nbsp;&amp;nbsp;números&amp;nbsp;enteros, decimales y arreglos de bytes, aquí les dejo un ejemplo:&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;background-color: white; font-size: x-small;&quot;&gt;using System;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;namespace ConsoleApplication1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; class Program&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; static void Main(string[] args)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Random numAleatorio = new Random();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Numero maximo 100&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(&quot;Numero maximo aleatorio 100&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(numAleatorio.Next(100));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(Char.ToString((char)32));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(&quot;Numero aleatorio entre 100 y 1000&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Rango de 100 a 1000&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;amp;lt; 10; i++)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(numAleatorio.Next(100, 1000));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(Char.ToString((char)32));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(&quot;Numero aleatorio doble(decimal) entre 0 y 1&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Numero decimal entre 0 y 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(numAleatorio.NextDouble());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(Char.ToString((char)32));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Console.WriteLine(&quot;Presione Enter para Salir...&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int tecla = Console.Read();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Espero que esto les sea de utilidad....&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Lo que se puede imaginar... se puede programar</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/796848655557021482/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/numero-aleatorio-en-c-random.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/796848655557021482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/796848655557021482'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/numero-aleatorio-en-c-random.html' title='Número Aleatorio en C# - Random'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-158159115097588830</id><published>2012-07-10T10:10:00.003-07:00</published><updated>2012-07-10T10:13:57.177-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="MultiProcesos"/><category scheme="http://www.blogger.com/atom/ns#" term="SubProcesos - Hilos"/><category scheme="http://www.blogger.com/atom/ns#" term="Thread"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form"/><title type='text'>Thread C#, Manejo de multiprocesos - hilos en .Net</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola, hoy veremos como manejar subprocesos en C# para evitar que nuestras pantallas se congelen al hacer una acción, esto aplica tanto para windows forms como para web forms, pero es mas&amp;nbsp;común&amp;nbsp;manejar lo&amp;nbsp;en windows form. El manejo de estos hilos se pueden manejar con la clase Thread, aquí un ejemplo sencillo:&lt;/div&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;background-color: white; font-size: x-small;&quot;&gt;Thread t = new Thread(new ThreadStart(Process));
t.Start();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;// Función a ejecutar en un hilo del proceso principal&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;private void Process()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; ////... Código&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Como&amp;nbsp;verán&amp;nbsp;es muy sencillo ejecutar un&amp;nbsp;método&amp;nbsp;en un subproceso/hilo, con en metodo &lt;i&gt;Start&lt;/i&gt; se dara inicio a ese subproceso y con la instrucción &lt;i&gt;Abort,&amp;nbsp;&lt;/i&gt;como su nombre lo dice&amp;nbsp;podrás&amp;nbsp;detener el subproceso lanzado de manera explicita.&amp;nbsp;A continuación&amp;nbsp;les dejo un ejemplo mas real de como se&amp;nbsp;comportaría&amp;nbsp;una pantalla si se ejecuta un proceso como subproceso y de manera normal.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;using System;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;using System.Windows.Forms;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;using System.Threading;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;namespace Multihilo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; public partial class Form1 : Form&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public Form1()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void BtnProcess_Click(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thread t = new Thread(new ThreadStart(Process));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //BtnProcess.Enabled = false;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.Start();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //t.Join();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //BtnProcess.Enabled = true;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Sin Multiproceso&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Process()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double i, j;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; double num=0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (i = 0; i &amp;lt; 10000; i++)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (j = 0; j &amp;lt; 90000;j++ )&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; num = i;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(&quot;Numero = &quot; + num.ToString());&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void BtnNormal_Click(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Process();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void BtnJoin_Click(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thread t = new Thread(new ThreadStart(Process));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //BtnProcess.Enabled = false;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.Start();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.Join();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //BtnProcess.Enabled = true;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Espero que esto les sea de utilidad.&lt;br /&gt;
&lt;br /&gt;
Código&amp;nbsp;fuente:&lt;br /&gt;
&lt;a href=&quot;http://gandasystems.brinkster.net/blog/codigos/Multihilo.rar&quot;&gt;Descargar&lt;/a&gt;(en VS2008)&lt;br /&gt;
-------------------------------------&lt;br /&gt;
Lo que se puede imaginar... se puede programar</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/158159115097588830/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/thread-c-manejo-de-multiprocesos-hilos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/158159115097588830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/158159115097588830'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/thread-c-manejo-de-multiprocesos-hilos.html' title='Thread C#, Manejo de multiprocesos - hilos en .Net'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-858563943943850605</id><published>2012-07-06T12:53:00.001-07:00</published><updated>2013-03-22T15:55:52.060-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Parámetro XML"/><category scheme="http://www.blogger.com/atom/ns#" term="sp_xml_preparedocument"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>Pasar un XML por parámetro a un Stored Procedure en SQLServer 2005</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola, hoy les traigo algo muy interesante y que me a ayudado mucho a la hora de guardar un conjunto de información que traigo en memoria dentro de mi aplicación. Con esto podran guardar toda su información en una sola llamada al sp, sin necesidad de hacer un ciclo y mandar a llamar el sp n veces por cada registro a insertar.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Ejemplo:&lt;/b&gt;&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;background-color: white; font-size: x-small;&quot;&gt;CREATE PROC spTestXML&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@psXML&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; N&lt;/span&gt;VARCHAR(max)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;AS&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SET NOCOUNT ON&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;DECLARE @nIdXml INT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;DECLARE @tblRegistros TABLE (Indice INT IDENTITY(1,1), ClaEmpleado INT, Nombre VARCHAR(100))&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;IF ISNULL(@psXML,&#39;&#39;) &amp;lt;&amp;gt; &#39;&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;BEGIN&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exec dbo.sp_xml_preparedocument @nIdXml OUTPUT, @psXML&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;INSERT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;INTO @tblRegistros (ClaEmpleado, Nombre)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;SELECT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ClaEmpleado, Nombre&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;FROM&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;OPENXML (@nIdXml, &#39;/Empleados/Empleado&#39;, 3)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;WITH&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;(ClaEmpleado INT, Nombre VARCHAR(100))&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;EXEC dbo.sp_xml_removedocument @nIdXml&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SELECT * FROM @tblRegistros&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SET NOCOUNT OFF&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;END&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Ejecución:&lt;/b&gt;&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&lt;span style=&quot;background-color: white; font-size: x-small;&quot;&gt;EXEC spTestXML @psXML = &#39;&amp;lt;Empleados&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;ClaEmpleado&amp;gt;2001&amp;lt;/ClaEmpleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;Nombre&amp;gt;Hugo&amp;lt;/Nombre&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;/Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;ClaEmpleado&amp;gt;5214&amp;lt;/ClaEmpleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;Nombre&amp;gt;Paco&amp;lt;/Nombre&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;/Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;ClaEmpleado&amp;gt;7841&amp;lt;/ClaEmpleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;&amp;lt;Nombre&amp;gt;Luis&amp;lt;/Nombre&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;       &lt;/span&gt;&amp;lt;/Empleado&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;      &lt;/span&gt; &amp;lt;/Empleados&amp;gt;&#39;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Puntos importantes:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;El&amp;nbsp;parámetro&amp;nbsp;del sp sera de tipo VARCHAR o&amp;nbsp;NVARCHAR&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Hay que ejecutar el sp &quot;
&lt;span style=&quot;font-size: x-small;&quot;&gt;sp_xml_preparedocument&lt;/span&gt;&amp;nbsp;&quot;&amp;nbsp;el cual te devuelve un ID (sobre este valor se trabaja para obtener los datos)&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;La función&amp;nbsp;&amp;nbsp;&quot;&lt;span style=&quot;font-size: x-small;&quot;&gt;OPENXML&quot; &lt;/span&gt;&amp;nbsp;y&amp;nbsp;&amp;nbsp;&quot;&lt;span style=&quot;font-size: x-small;&quot;&gt;WITH&quot;&lt;/span&gt;&amp;nbsp;&amp;nbsp;nos ayudaran a obtener nuestros datos, digamos que nos convierte el xml a una tabla. Esta función recibe como&amp;nbsp;parámetro&amp;nbsp;el ID antes obtenido y un string&amp;nbsp;especificándole&amp;nbsp;la estructura de nuestro xml. En la función&amp;nbsp;
&lt;span style=&quot;font-size: x-small;&quot;&gt;WITH&lt;/span&gt;&amp;nbsp;&amp;nbsp;se especifican los atributos que va a contener los valores del xml, digamos que&amp;nbsp;aquí&amp;nbsp;especificamos el nombre y tipo de dato que&amp;nbsp;recibirá&amp;nbsp;los valores que contiene nuestro xml.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&quot;
&lt;span style=&quot;font-size: x-small;&quot;&gt;sp_xml_removedocument&amp;nbsp;&lt;/span&gt;&amp;nbsp;&quot;, al final sólo removemos nuestro xml cargado en memoria con ayuda del ID generado con el primer sp.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Como pueden ver el manejo de xml en SQLServer es muy facil y nos puede ayudar en performance, para evitar ciclos inicesarios, si lo que queremos es insertar un conjunto de registro, en lugar de insertar uno por uno sólo sera necesario un INSERT SELECT.&lt;br /&gt;
&lt;br /&gt;
Actualización (chequen esta forma que es mas sencilla de utilizar):&lt;br /&gt;
&lt;a href=&quot;http://ganda-csharp.blogspot.mx/2013/03/pasar-xml-stored-procedure-en-sqlserver.html&quot;&gt;http://ganda-csharp.blogspot.mx/2013/03/pasar-xml-stored-procedure-en-sqlserver.html&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Espero que esto les sea de utilidad&lt;br /&gt;
----------------------------------------------------------&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/858563943943850605/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/pasar-un-xml-por-parametro-un-stored.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/858563943943850605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/858563943943850605'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/pasar-un-xml-por-parametro-un-stored.html' title='Pasar un XML por parámetro a un Stored Procedure en SQLServer 2005'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-713383680691201391</id><published>2012-07-05T12:34:00.001-07:00</published><updated>2012-07-05T12:35:29.708-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cliente"/><category scheme="http://www.blogger.com/atom/ns#" term="cookie"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Leer y escribir en una Cookie desde JavaScript</title><content type='html'>Hola, hoy les dejo un ejemplo que me pareció muy interesante, leer y escribir en una Cookie desde JavaScript, normalmente cuando leemos una cookie lo hacemos desde código del lado del servidor, pero bueno aqui el ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 580px;&quot;&gt;
&amp;lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
readCookie();&lt;br /&gt;
&lt;br /&gt;
function readCookie() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if (document.cookie == &quot;&quot;) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;writeCookie();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alertMessage();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;} else {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var the_cookie = document.cookie;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;the_cookie = unescape(the_cookie);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;the_cookie_split = the_cookie.split(&quot;;&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;for (loop=0;loop&amp;lt;the_cookie_split.length;loop++) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;var part_of_split = the_cookie_split[loop];&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;var find_name = part_of_split.indexOf(&quot;nfti_date&quot;)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if (find_name!=-1) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;break;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;} // Close if&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;} // Close for&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if (find_name==-1) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;writeCookie();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;} else {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;var date_split = part_of_split.split(&quot;=&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;var last = date_split[1];&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;last=fixTheDate(last);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;alert (&quot; - Bienvenido - Tu última visita a esta página fue: &quot;+last);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;writeCookie();&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;} // Close if (find_name==-1)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
} // Close function readCookie()&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function writeCookie() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var today = new Date();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var the_date = new Date(&quot;December 31, 2023&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var the_cookie_date = the_date.toGMTString();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var the_cookie = &quot;nfti_date=&quot;+escape(today);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var the_cookie = the_cookie + &quot;;expires=&quot; + the_cookie_date;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;document.cookie=the_cookie&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function alertMessage(){&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;alert (&quot;Bienvenido\aquí agregas un mensaje de bienvenida.&quot;)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function fixTheDate(date) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var split = date.split(&quot; &quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var fix_the_time = split[3].split(&quot;:&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var hours = fix_the_time[0]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if (hours&amp;gt;=12) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var ampm=&quot;PM&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;} else {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;var ampm=&quot;AM&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if (hours &amp;gt; 12) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;hours = hours-12&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var new_time = hours+&quot;:&quot;+fix_the_time[1]+&quot; &quot;+ampm&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;var new_date = split[0]+&quot; &quot;+split[1]+&quot;, &quot;+split[2]+&quot; at &quot;+new_time+&quot;, &quot;+split[5]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;return new_date;&lt;br /&gt;
}&lt;br /&gt;
//--&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
Para probar el ejemplo hagan copy paste en una pagina y al visualizarla en el explorador presionen F5 para recargar la pagina y el script pueda leer la cookie ya escrita al cargar por primera vez la pagina.&lt;br /&gt;
&lt;br /&gt;
Espero que esto les sea de utilidad&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/713383680691201391/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/leer-y-escribir-en-una-cookie-desde.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/713383680691201391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/713383680691201391'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/leer-y-escribir-en-una-cookie-desde.html' title='Leer y escribir en una Cookie desde JavaScript'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-2986203100354432182</id><published>2012-07-04T13:17:00.001-07:00</published><updated>2012-07-04T13:37:21.248-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="RISERROR"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><category scheme="http://www.blogger.com/atom/ns#" term="TRY...CATCH"/><title type='text'>Errores manejados en SQLServer, TRY ... CATCH, RAISERROR</title><content type='html'>Hola, hoy veremos como manejar los errores en SQLServer 2005, y tambien como lanzar errores personalizados con la&amp;nbsp;instrucción RAISERROR&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
El Try.. Catch funciona de manera similar como en C#, intenta la ejecución de un bloque de codigo y si marca&amp;nbsp;algún&amp;nbsp;error lo cacha.&lt;br /&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Sintaxis en SQL:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 300px;&quot;&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
BEGIN TRY&lt;/div&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;-- Instrucciones&lt;/div&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
END TRY&lt;/div&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
BEGIN CATCH&lt;/div&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-- Manejo del error&lt;/div&gt;
&lt;div style=&quot;font-size: x-small;&quot;&gt;
END CATCH&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
A&amp;nbsp;continuación&amp;nbsp;muestro un ejemplo de como tratar un error que nos arroje SQL. La&amp;nbsp;función&amp;nbsp;ERROR_MESAGE propia de SQLServer&amp;nbsp;contendrá&amp;nbsp;la descripción del error.&lt;/div&gt;
&lt;b&gt;Ejemplo&lt;/b&gt;, error&amp;nbsp;división&amp;nbsp;entre cero:&lt;br /&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 300px;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;BEGIN TRY&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SELECT 1/0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;END TRY&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;BEGIN CATCH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;SELECT ERROR_MESSAGE()&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;END CATCH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;-----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Error manejado por usuario&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(1 row(s) affected)&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Ahora, para lanzar un error manejado por el usuario utilizaremos la funcion RAISERROR, se utiliza para devolver mensajes a las aplicaciones con el mismo formato que un error del sistema o un mensaje de advertencia generado por SQL Server Database Engine.&lt;br /&gt;
&lt;b&gt;Ejemplo:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div font-size:=&quot;&quot; style=&quot;background-color: white; border: 1px solid silver; color: black; width: 300px;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;IF (SELECT 10/2) = 5&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;BEGIN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;RAISERROR(&#39;Error manejado por usuario&#39;,16,1)&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;END&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;-----------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Error manejado por usuario&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Para mas información de la funcion RAISERROR:&lt;br /&gt;
&lt;a href=&quot;http://msdn.microsoft.com/es-es/library/ms177497(SQL.90).aspx&quot;&gt;http://msdn.microsoft.com/es-es/library/ms177497(SQL.90).aspx&lt;/a&gt;
&lt;br /&gt;
&lt;br /&gt;
Espero que esto les sea de utilidad, hasta la&amp;nbsp;próxima&amp;nbsp;publicación.&lt;br /&gt;
------------------------------------------&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/2986203100354432182/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/errores-manejados-en-sqlserver-try.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2986203100354432182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2986203100354432182'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/07/errores-manejados-en-sqlserver-try.html' title='Errores manejados en SQLServer, TRY ... CATCH, RAISERROR'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-7214548525068326210</id><published>2012-06-29T16:07:00.002-07:00</published><updated>2012-06-29T16:09:35.381-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="COALESCE"/><category scheme="http://www.blogger.com/atom/ns#" term="concatenar elemento con comas"/><category scheme="http://www.blogger.com/atom/ns#" term="concatenar valores"/><category scheme="http://www.blogger.com/atom/ns#" term="sin validar primero y ultimo elemento a concatenar"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><title type='text'>Concatenar valores por comas sin validar si es el primero o ultimo elemento</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Para concatenar elementos en SQLServer ya sea separadas por coma u otro&amp;nbsp;carácter&amp;nbsp;de separación podemos utilizar la&amp;nbsp;función&amp;nbsp;COALESCE, esta&amp;nbsp;función es parecido a un CASE, si la primera expresión es nula tomara la siguiente expresión y&amp;nbsp;así&amp;nbsp;de esta manera nos evitaremos validar si es la primera vez para no ponerle el&amp;nbsp;carácter&amp;nbsp;de separación &quot;,&quot;.&lt;/div&gt;
&lt;br /&gt;
&lt;b&gt;Ejemplo:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;-- Tabla temporal&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;DECLARE @tblNombres TABLE(Nombre VARCHAR(30))&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;-- Inserto sus valores&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;INSERT INTO @tblNombres&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ( Nombre )&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT &#39;Jose&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;UNION&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT &#39;Juan&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;UNION&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT &#39;Pedro&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;UNION&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT &#39;Paco&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;UNION&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT &#39;Luis&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT * FROM @tblNombres&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;-- Aquí la solución sencialla de concatenar sin case o if&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;DECLARE @sNombres VARCHAR(100)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@sNombres = COALESCE(@sNombres + &#39;,&#39;, &#39;&#39;) + Nombre&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;FROM&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;@tblNombres&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT @sNombres AS Nombres&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Resultado:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(5 row(s) affected)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Nombre&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Jose&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Juan&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Luis&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Paco&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Pedro&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(5 row(s) affected)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Nombres&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;----------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Jose,Juan,Luis,Paco,Pedro&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;(1 row(s) affected)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
No se les olvide comentar y darle un +1.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;----------------------------------------------------------------------------------------------------&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/7214548525068326210/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/06/concatenar-valores-por-comas-sin.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/7214548525068326210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/7214548525068326210'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/06/concatenar-valores-por-comas-sin.html' title='Concatenar valores por comas sin validar si es el primero o ultimo elemento'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-1605389854572135966</id><published>2012-06-29T15:35:00.002-07:00</published><updated>2012-06-29T15:43:26.419-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Redondear"/><category scheme="http://www.blogger.com/atom/ns#" term="ROUND"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><title type='text'>Redondear o truncar decimales en SQLServer</title><content type='html'>Después&amp;nbsp;de&amp;nbsp;bastante&amp;nbsp;tiempo por fin me doy el tiempo de hacer otra&amp;nbsp;publicación sobre programación, hoy veremos como redondear o truncar decimales en sql.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Con redondeo:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT ROUND(100.4658, 2)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;---------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;100.4700&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Truncado:&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;SELECT ROUND(100.4658, 2, 1)&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;---------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;100.4600&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Truncar y quitar ceros a la derecha&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
SELECT CONVERT(FLOAT, ROUND(100.4658, 2, 1))&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
----------------------&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
100.46&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Espero que estoy les sea de utilidad, y no se olviden comentar y dar un +1.&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
---------------------------------------------------------------&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
Lo que se puede imaginar... se puede programar&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/1605389854572135966/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/06/redondear-o-truncar-decimales-en.html#comment-form' title='4 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1605389854572135966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1605389854572135966'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/06/redondear-o-truncar-decimales-en.html' title='Redondear o truncar decimales en SQLServer'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-5946910842903901191</id><published>2012-02-19T14:53:00.000-08:00</published><updated>2012-02-19T14:54:49.543-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="Ajax Control Toolkit"/><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="ValidatorCallout"/><title type='text'>Como utilizar el ValidatorCallout de Ajax Control Toolkit</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Hoy veremos como utilizar un extender de los controles Validation de asp.net, este control nos ayudara a mostrar una interfaz mas amigable para el usuario, como se muestra en la siguiente imagen:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjric4mXknAG0YVnzdiM7worVi_E6Y9HPkp70qSpZ8UjXFiDOC23MCiaXVgo0RxVpnPd-_Pr3OGllvopds1ZPuDmzOZ_4fKn-YmapcJvqyaEkMz5q-1gQb2-9cHRCACgN4ibRiMIIr5RbOp/s1600/ValidatorCallout.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;211&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjric4mXknAG0YVnzdiM7worVi_E6Y9HPkp70qSpZ8UjXFiDOC23MCiaXVgo0RxVpnPd-_Pr3OGllvopds1ZPuDmzOZ_4fKn-YmapcJvqyaEkMz5q-1gQb2-9cHRCACgN4ibRiMIIr5RbOp/s400/ValidatorCallout.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Como&amp;nbsp;podrán&amp;nbsp;observar en la imagen el controles se muestran marcados en rojo y si alguno de ellos esta en foco se muestra un mensaje en forma de globo, este puede contener una imagen y texto con el error de validación.&lt;br /&gt;
Ahora veamos como utilizarlo:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;En el aspx&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;asp:TextBox ID=&quot;TxtUsuario&quot; runat=&quot;server&quot; Width=&quot;160px&quot; MaxLength=&quot;20&quot; CssClass=&quot;TextBox&quot;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;lt;asp:RequiredFieldValidator ID=&quot;rfvUsuario&quot; runat=&quot;server&quot; ErrorMessage=&quot;Nombre de usuario requerido&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ControlToValidate=&quot;TxtUsuario&quot; SetFocusOnError=&quot;true&quot; Display=&quot;None&quot;&amp;gt;&amp;lt;/asp:RequiredFieldValidator&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;ajax:ValidatorCalloutExtender ID=&quot;ValidatorCalloutExtender1&quot; runat=&quot;server&quot; TargetControlID=&quot;rfvUsuario&quot;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HighlightCssClass=&quot;validatorCalloutHighlight&quot;&amp;nbsp;CssClass=&quot;CustomValidatorCalloutStyle&quot;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;/ajax:ValidatorCalloutExtender&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;b&gt;Los estilos que utiliza:&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;text-align: -webkit-auto;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
.CustomValidatorCalloutStyle div,&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
.CustomValidatorCalloutStyle td {&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
&amp;nbsp; &amp;nbsp; border:solid 1px Gray; background-color: #F7F3F3;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
.validatorCalloutHighlight&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
{&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;border:solid 1px red;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #FFF4F4;&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;font-size: small; text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
Como&amp;nbsp;verán&amp;nbsp;es algo sencillo de utilizar, lo importante aqui es en lazar el control al extender con la propiedad&amp;nbsp;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;b&gt;TargetControlID&lt;span style=&quot;font-size: x-small;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-size: x-small; text-align: left;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
Otra cosa importante es que agreguen la referencia del control a la pagina o al Web.config&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;lt;pages&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;controls&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;add tagPrefix=&quot;ajax&quot; namespace=&quot;AjaxControlToolkit&quot; assembly=&quot;AjaxControlToolkit&quot;/&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;add tagPrefix=&quot;recaptcha&quot; namespace=&quot;Recaptcha&quot; assembly=&quot;Recaptcha&quot;/&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/controls&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&amp;lt;/pages&amp;gt;&lt;/div&gt;
&lt;div style=&quot;font-size: small;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
Espero que esto les sea de utilidad y pronto pondre mas ejemplos sobre los controles de Ajax Control Toolkit.&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
Visiten:&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;a href=&quot;http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/&lt;/span&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: -webkit-auto;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar ... se puede programar&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/5946910842903901191/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/02/como-utilizar-el-validatorcallout-de.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/5946910842903901191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/5946910842903901191'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/02/como-utilizar-el-validatorcallout-de.html' title='Como utilizar el ValidatorCallout de Ajax Control Toolkit'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjric4mXknAG0YVnzdiM7worVi_E6Y9HPkp70qSpZ8UjXFiDOC23MCiaXVgo0RxVpnPd-_Pr3OGllvopds1ZPuDmzOZ_4fKn-YmapcJvqyaEkMz5q-1gQb2-9cHRCACgN4ibRiMIIr5RbOp/s72-c/ValidatorCallout.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-4893637814212894580</id><published>2012-01-26T14:00:00.000-08:00</published><updated>2012-02-19T14:22:20.886-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="PageMethods"/><category scheme="http://www.blogger.com/atom/ns#" term="WebMethod"/><title type='text'>PageMethods en Asp.Net AJAX</title><content type='html'>&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Hola, hoy
veremos como utilizar ajax de una manera muy sencilla, esto se logra atreves de
los PageMethods, estos se comunicaran con un WebMethod que este en nuestro código
de la pagina (del lado del servidor)&amp;nbsp;&lt;/span&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Lo
primero que aremos es definir nuestro WebMethod, esto significa que a nuestro método
lo decoraremos con el atributo [WebMethod], ejemplo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Collections.Generic;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Linq;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Web;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Web.Services;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Web.UI;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;using
System.Web.UI.WebControls;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;namespace
WebApplication2&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class _Default :
System.Web.UI.Page&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [WebMethod]&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static List&amp;lt;Persona&amp;gt;
SendForm(string name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ////return name + &quot; - Fue al
servidor&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;Persona&amp;gt; p = new
List&amp;lt;Persona&amp;gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;p.Add(new Persona(&quot;Nombre
1&quot;, 26));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p.Add(new
Persona(&quot;Nombre 2&quot;, 26));&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;return p;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void Page_Load(object sender,
EventArgs e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class Persona&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Persona()&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
Persona(string nombre, int edad)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Nombre = nombre;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Edad = edad;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Nombre&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get; set;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int Edad&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;get; set;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Cabe
aclarar que un un PageMethod podrá retornar casi cualquier tipo de datos que
regrese el WebMethod, en este ejemplo retorna una lista de objetos de tipo
Persona.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Ahora
del lado del cliente definimos lo siguiente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 1. Habilitar
los PageMethods&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Lo que hay que hacer
para permitir PageMethods es prender una propiedad de nuestro ScriptManager.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 36pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;lt;asp:ScriptManager ID=&quot;ScriptManager1&quot;
runat=&quot;server&quot; EnablePageMethods=&quot;true&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Scripts&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;lt;asp:ScriptReference
Path=&quot;~/Scripts/Default.js&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;lt;/Scripts&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:ScriptManager&amp;gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; margin-left: 1.5pt; margin-right: 0cm; margin-top: 0cm; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tambien aprovechamos para hacer
referencia a nuestro js que contiene las funciones que utilizaremos.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 2. Crear
nuestro script (Default.js)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Esta es la función que
llamaremos desde el click de un botón (el nombre es indistinto), el objeto
PageMethods contiene los webMethods que tengamos en nuestro codigo de la pagina (en el
.cs)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;function SendForm() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var name =
$get(textBox1).value;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PageMethods.SendForm(name,
OnSucceeded, OnFailed);&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;Las funciones de OnSucceeded y OnFailed deben ser incluidas como&amp;nbsp;parámetros&amp;nbsp;en la ejecución de nuestro PageMethod&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium;&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;PageMethods.SendForm(name, OnSucceeded, OnFailed), y el primer&amp;nbsp;parámetro&amp;nbsp;es parte de nuestro WebMethod.&lt;/span&gt;&lt;/b&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Esta function cacha
el resultado de nuestro webMethod:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;function OnSucceeded(lista) {&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $get(lblPrueba).innerHTML =
string;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;Esta function es
utilizada para cachar un possible error:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;function OnFailed(error) {&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;alert(error.get_message());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;En
el aspx:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp;&amp;lt;p&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:TextBox
ID=&quot;TextBox1&quot; runat=&quot;server&quot;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:UpdatePanel
ID=&quot;UpdatePanel1&quot; runat=&quot;server&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;ContentTemplate&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Button
ID=&quot;Button1&quot; runat=&quot;server&quot; Text=&quot;Button&quot;
OnClientClick=&quot;SendForm();&quot; /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/ContentTemplate&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:UpdatePanel&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Label
ID=&quot;LblPrueba&quot; runat=&quot;server&quot;
Text=&quot;Label&quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/p&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script
type=&quot;text/javascript&quot;&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;var lblPrueba =
&#39;&amp;lt;%=LblPrueba.ClientID %&amp;gt;&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var textBox1 = &#39;&amp;lt;%=TextBox1.ClientID
%&amp;gt;&#39;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 10pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;Como ven esta manera de utilizar ajax es muy facil y te olvidas de mandar a llamar un pagina y en el load procesar la petición... entre otras cosas, de esta forma el codigo queda en la misma pagina y se manda a llamar de una manera transparente.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;Espero que esto les sea de utilidad.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: xx-small;&quot;&gt;&lt;b&gt;Lo que se puede imaginar ... se puede programar&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/4893637814212894580/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2012/01/pagemethods-en-aspnet-ajax.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/4893637814212894580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/4893637814212894580'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2012/01/pagemethods-en-aspnet-ajax.html' title='PageMethods en Asp.Net AJAX'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-1934034076032619716</id><published>2011-12-08T13:09:00.001-08:00</published><updated>2012-06-29T15:43:47.458-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="Sólo números"/><title type='text'>TextBox sólo números enteros</title><content type='html'>Hoy veremos como validar un input de tipo text (aplica&amp;nbsp;también&amp;nbsp;para controles de asp.net) para que acepte sólo&amp;nbsp;números&amp;nbsp;enteros.&lt;br /&gt;
Lo primero que hay que hacer es agregar estas dos funciones que detallo a&amp;nbsp;continuación:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Esta&amp;nbsp;función&amp;nbsp;permite validar un numero entero con una expresión regular y que utilizaremos para validar la entrada de datos (onkeypress):&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function validarNum(e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; tecla = (document.all) ? e.keyCode : e.which;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (tecla == 8) return true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; patron = /\d/;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; te = String.fromCharCode(tecla);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return patron.test(te);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Esta función la utilizaremos en el evento &quot;onchange&quot; para validar los datos pegados (ctrl v) a nuestro textbox, este evento entrara cuando se pierda el foco del control y exista un cambio, y es&amp;nbsp;ahí&amp;nbsp;cuando validamos si lo introducido es un numero entero valido, si no lo es lo borramos.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
function quitaNoNumero(obj)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;patron = /\d/;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (!patron.test(obj.value))&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;obj.value=&quot;&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Estas dos funciones de javascript pueden estar en la propia pagina o en un archivo .js, ya depende de ustedes,&amp;nbsp;aquí&amp;nbsp;les dejo el un ejemplo de como utilizarlas:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;
function validarNum(e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; tecla = (document.all) ? e.keyCode : e.which;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (tecla == 8) return true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; patron = /\d/;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; te = String.fromCharCode(tecla);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return patron.test(te);&lt;br /&gt;
}&lt;br /&gt;
function quitaNoNumero(obj)&lt;br /&gt;
{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;patron = /\d/;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (!patron.test(obj.value))&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;obj.value=&quot;&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;input type=&quot;text&quot; onkeypress = &quot;return validarNum(event)&quot; onchange=&quot;quitaNoNumero(this)&quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Los comentarios son bien recibidos... hasta la&amp;nbsp;próxima.&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Lo que se puede imaginar ... se puede programar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/1934034076032619716/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/textbox-solo-numeros-enteros.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1934034076032619716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1934034076032619716'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/textbox-solo-numeros-enteros.html' title='TextBox sólo números enteros'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-8213077399333414911</id><published>2011-12-07T11:56:00.001-08:00</published><updated>2011-12-07T12:48:59.796-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><category scheme="http://www.blogger.com/atom/ns#" term="KeyDown"/><category scheme="http://www.blogger.com/atom/ns#" term="teclado"/><title type='text'>Manejo de teclado en web</title><content type='html'>Como lo vimos anteriormente en web&amp;nbsp;también&amp;nbsp;podemos tener el control de cachar las teclas pulsadas por el usuario, esto lo hacemos&amp;nbsp;sobrescribiendo&amp;nbsp;el evento keydown de document:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;document.onkeydown = function(){&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, si queremos agregar funcionalidad de que al presionar F5 se&amp;nbsp;realice&amp;nbsp;cierta acción&amp;nbsp;o&amp;nbsp;que al presionar ESC se cancele o cierre cierta ventana o div&amp;nbsp;flotante, etc. lo haremos mediante este evento.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;El ejemplo que muestro a continuación, cancela todas las teclas F (F2 a F12):&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Poner en el Head&lt;br /&gt;
&lt;b&gt;document.onkeydown = function(){&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if(window.event){&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;switch(window.event.keyCode)&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;{&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 112:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 113:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 114:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 115:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 116:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 117:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 118:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 119:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 120:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 121:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 122:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 123:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;case 219:&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;window.event.keyCode = 505;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;break;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&amp;nbsp; &amp;nbsp; } &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&amp;nbsp; &amp;nbsp; if(window.event &amp;amp;&amp;amp; window.event.keyCode == 505){ &amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;return false; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
}&lt;/div&gt;
&lt;div style=&quot;font-weight: bold;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Como pueden ver no se puede cancelar la tecla &lt;b&gt;F1 (&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;112&lt;/span&gt;&lt;b&gt;)&lt;/b&gt;&amp;nbsp;de la manera anterior, por que esta tecla es usada por el explorador para mostrar la ayuda (por lo menos en internet explorer)... pero si agregamos el siguiente evento en el &lt;b&gt;body&lt;/b&gt; podemos cancelar esa tecla:&lt;br /&gt;
&lt;br /&gt;
onhelp=&quot;return false;&quot;&lt;br /&gt;
&lt;br /&gt;
Así&amp;nbsp;como&amp;nbsp;sobrescribimos&amp;nbsp;este evento podemos&amp;nbsp;sobrescribir&amp;nbsp;otros eventos para nuestros usos...&lt;br /&gt;
Espero que les sea de utilidad... no olviden comentar&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------&lt;br /&gt;
Lo que se puede imaginar...se puede programar&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/8213077399333414911/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/manejo-de-teclado-en-web.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/8213077399333414911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/8213077399333414911'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/manejo-de-teclado-en-web.html' title='Manejo de teclado en web'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-2110943173937187164</id><published>2011-12-07T11:42:00.001-08:00</published><updated>2011-12-07T11:55:57.748-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="F5"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript"/><title type='text'>Cancelar el F5 en una pagina web</title><content type='html'>Hoy veremos como cancelar la tecla F5 (refresh) para evitar que recarguen nuestra pagina. Esto lo haremos&amp;nbsp;sobrescribiendo&amp;nbsp;el evento &lt;b&gt;keydown &lt;/b&gt;de document:&lt;br /&gt;
&lt;br /&gt;
document.onkeydown = function(){ &amp;nbsp;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Y para saber cual tecla pulso lo aremos por medio de&amp;nbsp;&lt;b&gt;window.event.keyCode&lt;/b&gt;, para nuestro ejemplo agregamos una&amp;nbsp;función&amp;nbsp;que pone la hora y de esta manera vemos que realmente que no se esta refrescando nuestra pagina. De igual manera agrego un evento a un input para que vean que no se esta&amp;nbsp;sobrescribiendo&amp;nbsp;los eventos de los&amp;nbsp;demás&amp;nbsp;controles.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ejemplo completo:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;lt;script language=&quot;javascript&quot;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;document.onkeydown = function(){ &amp;nbsp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if(window.event){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if(window.event.keyCode ==&amp;nbsp;116)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;return false;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;
&amp;nbsp; &amp;nbsp; } &lt;br /&gt;
&amp;nbsp; &amp;nbsp;} &amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;function pon_hora(){ &lt;br /&gt;
&amp;nbsp; &amp;nbsp; var dHora = new Date(); &lt;br /&gt;
&amp;nbsp; &amp;nbsp; var res = String(dHora.getHours()) + &quot;:&quot; + String(dHora.getMinutes()) + &quot;:&quot; + String(dHora.getSeconds()); &lt;br /&gt;
&amp;nbsp; &amp;nbsp; document.frm.txt.value = res; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; return res; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;} &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;function txtKey()&lt;br /&gt;
&amp;nbsp; &amp;nbsp;{&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;alert(&#39;No sobreescribe el evento keydown de los controles&#39;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp;}&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;lt;/script&amp;gt; &amp;nbsp;&lt;br /&gt;
&amp;nbsp;&amp;lt;/head&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;lt;body onload=&quot;pon_hora()&quot;&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;lt;form name=&quot;frm&quot;&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;&amp;lt;h1&amp;gt;&amp;lt;b&amp;gt;ANULACIÓN DE LA TECLA TECLA F5&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/h1&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;Hora actual:&amp;amp;nbsp;&amp;lt;input type=&quot;text&quot; name=&quot;txt&quot; onkeydown=&quot;return txtKey();&quot;&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;nbsp; &amp;nbsp;(Al seleccionar el botón &quot;Actualizar&quot; del navegador la hora debería actualizarse, pero con la tecla F5 no) &lt;br /&gt;
&amp;nbsp; &amp;lt;/form&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;lt;/body&amp;gt; &lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/2110943173937187164/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/cancelar-el-f5-en-una-pagina-web.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2110943173937187164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/2110943173937187164'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/cancelar-el-f5-en-una-pagina-web.html' title='Cancelar el F5 en una pagina web'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-867635573812435547</id><published>2011-12-05T11:50:00.001-08:00</published><updated>2011-12-05T12:02:58.474-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ceros a la izquierda"/><category scheme="http://www.blogger.com/atom/ns#" term="RIGHT"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><title type='text'>Rellenar un valor con ceros a la izquierda en SQLServer</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Como&amp;nbsp;sabrán&amp;nbsp;en SqlServer no existe ninguna&amp;nbsp;función&amp;nbsp;que te permita rellenar un valor numerico con ceros a la izquierda, bueno aunque no se si el la versión 2008 ya exista, hasta el momento sólo he manejado hasta la 2005.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Para completar una cifra con ceros a la izquierda utilizaremos un truco muy sencillo que he utilizado, esto se hace con la instrucción &lt;b&gt;Right&lt;/b&gt;.&lt;/div&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DECLARE @nMiCampo INT&lt;br /&gt;
SET @nMiCampo = 20&lt;br /&gt;
SELECT RIGHT(&#39;00000&#39; + CONVERT(VARCHAR(10), @nMiCampo), 5)&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Lo que hacemos con nuestro valor es&amp;nbsp;concatenar una cadena de ceros a su derecha y&amp;nbsp;después&amp;nbsp;con la instrucción Right sólo tomamos nuestro tamaño de caracteres que queremos.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ejemplo, si queremos mostrar un consecutivo de 6&amp;nbsp;dígitos, concatenamos 5 ceros, tomando en cuenta que siempre tendremos un&amp;nbsp;dígito&amp;nbsp;en nuestro valor y&amp;nbsp;así&amp;nbsp;con la&amp;nbsp;instrucción&amp;nbsp;Right&amp;nbsp;tomaríamos&amp;nbsp;los primero 6&amp;nbsp;dígitos&amp;nbsp;de derecha a izquierda.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Buenos, espero que les sea de utilidad, hasta la&amp;nbsp;próxima&amp;nbsp;publicación.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
---------------------------------------&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Lo que se puede imaginar ... se puede programar&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/867635573812435547/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/rellenar-un-valor-con-ceros-la.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/867635573812435547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/867635573812435547'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/rellenar-un-valor-con-ceros-la.html' title='Rellenar un valor con ceros a la izquierda en SQLServer'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-5902497532729007921</id><published>2011-12-05T11:33:00.001-08:00</published><updated>2012-07-10T13:57:46.032-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Conversiones"/><category scheme="http://www.blogger.com/atom/ns#" term="Importe"/><category scheme="http://www.blogger.com/atom/ns#" term="Moneda"/><category scheme="http://www.blogger.com/atom/ns#" term="SQLServer"/><title type='text'>Formatear número a tipo moneda en SQLServer</title><content type='html'>Hoy veremos como formatear un valor&amp;nbsp;numérico&amp;nbsp;a tipo moneda (###,###.00), las siguientes instrucciones nos permitirá&amp;nbsp;darle ese formato a nuestro dato.&lt;br /&gt;
&lt;br /&gt;
Ejemplo 1:&lt;br /&gt;
SELECT CONVERT(VARCHAR(30), CONVERT(MONEY, 1250.86), 1)&lt;br /&gt;
Resultado:&lt;br /&gt;
1,250.86&lt;br /&gt;
&lt;br /&gt;
Ejemplo 2:&lt;br /&gt;
&lt;br /&gt;
SELECT CONVERT(VARCHAR(30), CONVERT(MONEY, 1250), 1)&lt;br /&gt;
Resultado:&lt;br /&gt;
1,250.00&lt;br /&gt;
&lt;br /&gt;
Ejemplo 3: Si queremos que no&amp;nbsp;aparezcan&amp;nbsp;los dos decimales&lt;br /&gt;
SELECT LEFT(CONVERT(VARCHAR(30), CONVERT(MONEY, 1250), 1), LEN(CONVERT(VARCHAR(30), CONVERT(MONEY, 1250), 1))-3)&lt;br /&gt;
Resultado:&lt;br /&gt;
1,250&lt;br /&gt;
&lt;br /&gt;
Bueno esto fue algo&amp;nbsp;rápido&amp;nbsp;y sencillo que no necesita mas explicación, espero que les sirva.&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar ... se puede programar&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/5902497532729007921/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/formatear-numero-tipo-moneda-en.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/5902497532729007921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/5902497532729007921'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/formatear-numero-tipo-moneda-en.html' title='Formatear número a tipo moneda en SQLServer'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-3623917561703271807</id><published>2011-12-04T17:45:00.001-08:00</published><updated>2011-12-04T18:06:33.835-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="correo electronico"/><category scheme="http://www.blogger.com/atom/ns#" term="Enviar e-mail"/><title type='text'>Enviar un correo electrónico en .Net</title><content type='html'>Les dejo el siguiente&amp;nbsp;código&amp;nbsp;para enviar un correo&amp;nbsp;electrónico:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Clase Smtp&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Net.Mail;&lt;br /&gt;
using System.Net;&lt;br /&gt;
&lt;br /&gt;
namespace ServerSmtp&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; public class Smtp&lt;br /&gt;
&amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #region Variables&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _To;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _From;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _ServerSMTP;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _Password;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _Body;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String _subject;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool _isBodyHtml;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int _puerto;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #endregion&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #region Propiedades&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String To&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _To = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String From&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _From = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String SMTP&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _ServerSMTP = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String Password&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _Password = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String Body&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _Body = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public String Subject&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _subject = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public bool isBodyHtml&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _isBodyHtml = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public int Puerto&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set { _puerto = value; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #endregion&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void Send()&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SmtpClient clienteSmtp = new SmtpClient(this._ServerSMTP, this._puerto);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clienteSmtp.UseDefaultCredentials = false;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clienteSmtp.EnableSsl = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (this._Password.Trim() != &quot;&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clienteSmtp.Credentials = new NetworkCredential(this._From, this._Password);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MailMessage msg = new MailMessage();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.To.Add(new MailAddress(this._To));&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.From = new MailAddress(this._From);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.Subject = this._subject;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.IsBodyHtml = true;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; msg.Body = this._Body;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clienteSmtp.Send(msg);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (SmtpException ex)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new Exception(ex.Message);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception e)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw e;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Como utilizar la clase:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Smtp email = new Smtp();&lt;br /&gt;
email.From = &quot;prueba@gmail.com&quot;;&lt;br /&gt;
email.Password = &quot;password&quot;;&lt;br /&gt;
email.SMTP = &quot;smtp.gmail.com&quot;;&lt;br /&gt;
email.Puerto = 587;&lt;br /&gt;
email.To = para@gmail.com;&lt;br /&gt;
email.isBodyHtml = true;&lt;br /&gt;
email.Subject = &quot;Subject&quot;;&lt;br /&gt;
email.Body = &quot;&amp;lt;div style=&#39;font-family:Arial, Helvetica, sans-serif;font-size:11px;&#39;&amp;gt;Prueba&amp;lt;/div&amp;gt;&quot;;&lt;br /&gt;
email.Send();&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Lo que se puede imaginar .. se puede programar&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/3623917561703271807/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/enviar-un-correo-electronico-en-net.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/3623917561703271807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/3623917561703271807'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/enviar-un-correo-electronico-en-net.html' title='Enviar un correo electrónico en .Net'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-159126599484342411</id><published>2011-12-01T12:41:00.001-08:00</published><updated>2011-12-01T13:13:25.197-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="Base"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Herencia"/><title type='text'>Crear una pagina base en .Net</title><content type='html'>&lt;div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
Hoy veremos lo sencillo que es crear una pagina base en .Net y la utilidad que tiene.&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;¿Que es una pagina base?&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
Es una clase responsable de definir las propiedades comunes, definir los valores por defecto, lógica de renderización básica.&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;Por ejemplo, puede ser utilizada para validar si la&amp;nbsp;sesión&amp;nbsp;del usuario sigue activa y si no es&amp;nbsp;así&amp;nbsp;sacarlo de la pagina actual. Hay mil funcionalidades que tus paginas pueden tener en&amp;nbsp;común, y esto te ayudara a que el&amp;nbsp;código&amp;nbsp;quede centralizado y reutilizado por cada pagina que herede de la pagina base.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;Ahora si, sabiendo para que nos sirve una pagina base vamos al ejemplo.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;b&gt;Ejemplo en C#&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;Clase Base:&lt;/b&gt;&amp;nbsp;Nuestra clase base hereda de Page como lo hacen todas la paginas.&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Collections.Generic;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Linq;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Web;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;namespace Ejemplo.Base&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; public class PageBase : System.Web.UI.Page&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Aquí&amp;nbsp;sobre escribimos los eventos de una pagina, de igual manera podemos agregar&amp;nbsp;métodos&amp;nbsp;y propiedades&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected override void OnLoad(EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Logica comun al cargar la pagina&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Ejecuta el load de la pagina que utiliza la pagina base&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; base.OnLoad(e);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // De igual manera podemos sobreescribir otros eventos&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected override void OnLoadComplete(EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; base.OnLoadComplete(e);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;b&gt;Aplicando nuestra pagina base:&lt;/b&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Collections.Generic;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Data;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Web;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Linq;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;using System.Text;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;namespace&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;Ejemplo&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; public partial class CarritoDetalle : PageBase //-&amp;gt; Antes&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;System.Web.UI.Page, se remplaza por nuestra clase&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; protected void Page_Load(object sender, EventArgs e)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//La&amp;nbsp;código&amp;nbsp;del load se esta ejecutando&amp;nbsp;después&amp;nbsp;del load de la pagina base&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;Este es un ejemplo muy practico y&amp;nbsp;fácil que pueden utilizar, espero que les sea de utilidad.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;-----------------------------------------------------&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Calibri;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar ... se puede programar&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: Calibri;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/159126599484342411/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/crear-una-pagina-base-en-net.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/159126599484342411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/159126599484342411'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/crear-una-pagina-base-en-net.html' title='Crear una pagina base en .Net'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-1462455753259821912</id><published>2011-12-01T12:36:00.001-08:00</published><updated>2012-07-11T07:45:07.262-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form"/><title type='text'>IsDate() en C#</title><content type='html'>C# no cuenta con una función IsDate como Visual Basic, pero la podemos emular de la siguiente manera:&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private void Form1_Load(object sender, EventArgs e)&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (IsDate(&quot;01/12/2011&quot;))&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(&quot;Es fecha valida&quot;);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private bool IsDate(string fecha)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DateTime dt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return DateTime.TryParse(fecha, out dt);&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
------------------------------------------&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/1462455753259821912/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/isdate-en-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1462455753259821912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/1462455753259821912'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/isdate-en-c.html' title='IsDate() en C#'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-377665087020145653</id><published>2011-12-01T12:02:00.001-08:00</published><updated>2012-07-11T07:45:07.267-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form"/><title type='text'>IsNumeric en C#</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;La función isNumeric en C# no existe, pero podemos utilizar el tryparse para emular esta&amp;nbsp;función&amp;nbsp;de Visual Basic.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;Aquí&amp;nbsp;les dejo un ejemplo de como utilizarla:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;   &lt;/span&gt;private static bool IsNumeric(string value)
   {
      int number;
      return Int32.TryParse(value, out number);
   }&lt;/pre&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; word-break: break-all; word-wrap: break-word;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; word-break: break-all; word-wrap: break-word;&quot;&gt;--------------------------------------------------------&lt;/pre&gt;
&lt;pre style=&quot;font-family: Consolas, Courier, monospace; font-size: 13px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; word-break: break-all; word-wrap: break-word;&quot;&gt;Lo que se puede imaginar... se puede programar&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/377665087020145653/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/isnumeric-en-c.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/377665087020145653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/377665087020145653'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/12/isnumeric-en-c.html' title='IsNumeric en C#'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5648525342930777999.post-6269202673574638451</id><published>2011-11-30T08:39:00.001-08:00</published><updated>2012-07-11T07:45:21.423-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Leer archivo de texto"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form"/><title type='text'>Leer un archivo de texto mediante System.IO</title><content type='html'>&lt;br /&gt;
Hoy veremos cómo leer un archivo de texto y almacenarlo en un ArrayList mediante la librería System.IO.&lt;br /&gt;
Para cargar y leer un archivo de texto desde Visual C# .NET, siga estos pasos:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Haga referencia a namespace System.IO y System.Collections para poder leer el archivo y manejar los ArrayList.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Collections;&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Para abrir un archivo y leerlo, cree una nueva instancia de un objeto StreamReader y pase la ruta del archivo en el constructor de la siguiente manera:&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;StreamReader objReader = new StreamReader(&quot;c:\\test.txt&quot;);&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Necesitará una variable de cadena en la que almacenar cada una de las líneas del archivo a medida que avanza en el proceso. Puesto que agregará estas líneas a un objeto ArrayList, debe declarar y crear un objeto de este tipo también.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;string sLine=&quot;&quot;;&lt;/b&gt;&lt;b&gt;ArrayList arrText = new ArrayList();&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Existen varios métodos para leer el archivo, incluido el método &lt;b&gt;ReadToEnd &lt;/b&gt;que lee todo el archivo de una vez. Sin embargo, para este ejemplo, puede utilizar el método &lt;b&gt;ReadLine &lt;/b&gt;para que las líneas del archivo se muestren de una en una. Al llegar al final del archivo, este método devuelve un valor nulo, lo que permite terminar el bucle. Mientras lee cada línea del archivo, puede utilizar el método &lt;b&gt;Add &lt;/b&gt;de ArrayList para insertar las líneas en la clase ArrayList.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;while (sLine != null)&lt;/b&gt;&lt;b&gt;{&lt;/b&gt;&lt;b&gt;sLine = objReader.ReadLine();&lt;/b&gt;&lt;b&gt;if (sLine != null)&lt;/b&gt;&lt;b&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;arrText.Add(sLine);&lt;/b&gt;&lt;b&gt;}&lt;/b&gt;&lt;b&gt;objReader.Close();&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Utilice un bucle For Each para escribir el contenido del objeto ArrayList recién llenado en la consola de la siguiente manera (el arraylist puede ser utilizado dependiendo de tu funcionalidad):&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;foreach (string sOutput in arrText)&lt;/b&gt;&lt;b&gt;Console.WriteLine(sOutput);&lt;/b&gt;&lt;b&gt;Console.ReadLine();&lt;/b&gt;&lt;/blockquote&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #93c47d;&quot;&gt;Lista completa de código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;using System.Collections;&lt;br /&gt;namespace TextFileReader_csharp&lt;br /&gt;{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/// Descripción de resumen para Class1.&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/// &amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;class Class1&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;static void Main(string[] args)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;StreamReader objReader = new StreamReader(&quot;c:\\test.txt&quot;);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;string sLine=&quot;&quot;;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;ArrayList arrText = new ArrayList();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;while (sLine != null)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;sLine = objReader.ReadLine();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;if (sLine != null)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;arrText.Add(sLine);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; objReader.Close();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;foreach (string sOutput in arrText)&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;Console.WriteLine(sOutput);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;Console.ReadLine();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;/b&gt;&lt;/blockquote&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Espero que esto les haya servido de ayuda.&lt;br /&gt;
Lo que se puede imaginar… se puede programar&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://ganda-csharp.blogspot.com/feeds/6269202673574638451/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ganda-csharp.blogspot.com/2011/11/leer-un-archivo-de-texto-mediante.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/6269202673574638451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5648525342930777999/posts/default/6269202673574638451'/><link rel='alternate' type='text/html' href='http://ganda-csharp.blogspot.com/2011/11/leer-un-archivo-de-texto-mediante.html' title='Leer un archivo de texto mediante System.IO'/><author><name>ganda</name><uri>http://www.blogger.com/profile/09318137387487406517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitEyMWZQuHFdQ9JG6umXm3qbhkRZafvPA60WCXXG5Te7W1_v6JE21qRYW2-UULLx2zfssvgkqFQ3LokmrnBh-PiNKdtcZH4wQcNek0ARcaZgaLsiQ9Z24SrHT7PO5fGQ/s150/homer_simpson_grim_reaper.jpg'/></author><thr:total>0</thr:total></entry></feed>