<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Aztek Mindz &#187; CSHARP</title>
	<atom:link href="http://www.aztekmindz.org/category/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aztekmindz.org</link>
	<description>Inseguridad informatica y Laboratorio virico</description>
	<pubDate>Mon, 08 Dec 2008 13:39:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<item>
		<title>Insertar Registro, Filtrar SqlDataSource, SqlParameter en C# y ASP.NET</title>
		<link>http://www.aztekmindz.org/2008/12/08/insertar-registro-filtrar-sqldatasource-sqlparameter-en-c-y-aspnet/</link>
		<comments>http://www.aztekmindz.org/2008/12/08/insertar-registro-filtrar-sqldatasource-sqlparameter-en-c-y-aspnet/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 13:39:24 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=289</guid>
		<description><![CDATA[Hola de nuevo aqui un pequeno codigo de como insertar un registro a una base de datos en este caso mssql tomando como datos a insertar lo recibido en dos textboxes asi mismo nos muestra varios metodos escenciales para el manejo de querys y parametros en websites realizados en ASP.NET con el lenguaje C# cualquier [...]]]></description>
			<content:encoded><![CDATA[<p>Hola de nuevo aqui un pequeno codigo de como insertar un registro a una base de datos en este caso mssql tomando como datos a insertar lo recibido en dos textboxes asi mismo nos muestra varios metodos escenciales para el manejo de querys y parametros en websites realizados en ASP.NET con el lenguaje C# cualquier duda ya saben comuniquense con el staff</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Web</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">UI</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">UI</span>.<span class="me1">WebControls</span>;</p>
<p>public partial class _Default : System.<span class="me1">Web</span>.<span class="me1">UI</span>.<span class="me1">Page</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Page_Load<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> miconn = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> micomm = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataAdapter</span> mida = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataAdapter</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">DataSet</span> mids = new System.<span class="me1">Data</span>.<span class="me1">DataSet</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="kw4">String</span> connstring = @<span class="st0">&quot;Data Source=.<span class="es0">\s</span>qlexpress;Initial Catalog=northwind;Integrated Security=True&quot;</span>;</p>
<p>
&nbsp; &nbsp; protected <span class="kw4">void</span> Button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>miconn.<span class="me1">State</span> == System.<span class="me1">Data</span>.<span class="me1">ConnectionState</span>.<span class="me1">Open</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Label1.<span class="me1">Text</span> = <span class="st0">&quot;Conexion exitosa a la base de datos&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; micomm.<span class="me1">CommandType</span> = System.<span class="me1">Data</span>.<span class="me1">CommandType</span>.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; micomm.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT * FROM Prueba WHERE (Nombre = @Nombre)&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; micomm.<span class="me1">Connection</span> = miconn;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">SelectCommand</span> = micomm;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">SelectCommand</span>.<span class="me1">Parameters</span>.<span class="me1">Add</span><span class="br0">&#40;</span>new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlParameter</span><span class="br0">&#40;</span><span class="st0">&quot;@Nombre&quot;</span>, TextBox1.<span class="me1">Text</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">Fill</span><span class="br0">&#40;</span>mids<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GridView1.<span class="me1">DataSource</span> = mids;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GridView1.<span class="me1">EmptyDataText</span> = <span class="st0">&quot;record no encontrado&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GridView1.<span class="me1">DataBind</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mids.<span class="me1">Clear</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; micomm.<span class="me1">CommandText</span> = <span class="st0">&quot;INSERT INTO Prueba VALUES(@nombre,@telefono)&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; micomm.<span class="me1">Connection</span> = miconn;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">InsertCommand</span> = micomm;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">InsertCommand</span>.<span class="me1">Parameters</span>.<span class="me1">Add</span><span class="br0">&#40;</span>new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlParameter</span><span class="br0">&#40;</span><span class="st0">&quot;@nombre&quot;</span>, TextBox2.<span class="me1">Text</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">InsertCommand</span>.<span class="me1">Parameters</span>.<span class="me1">Add</span><span class="br0">&#40;</span>new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlParameter</span><span class="br0">&#40;</span><span class="st0">&quot;@telefono&quot;</span>, TextBox3.<span class="me1">Text</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; mida.<span class="me1">InsertCommand</span>.<span class="me1">ExecuteNonQuery</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; miconn.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>
<span class="br0">&#125;</span></p>
<p>&nbsp;</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/12/08/insertar-registro-filtrar-sqldatasource-sqlparameter-en-c-y-aspnet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ExecuteScalar(), ExecuteReader(),  en C#</title>
		<link>http://www.aztekmindz.org/2008/11/17/executescalar-executereader-en-c/</link>
		<comments>http://www.aztekmindz.org/2008/11/17/executescalar-executereader-en-c/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 04:26:47 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=263</guid>
		<description><![CDATA[Hola de nuevo aqui les dejo unos Pequeños codigos sobre dos de los metodos principales de ADO.NET ExecuteReader(), y ExecuteScalar() asi como ConnectionString, SqlConnection, SqlCommand y varios metodos y propiedades mas del espacio de nombres System.Data.Common, System.Data.SqlClient En tres Tipos de proyectos diferentes como son ConsoleApplication,  Asp.Net-WebForms y WinForms Como ustedes sabran Ado.Net es la parte [...]]]></description>
			<content:encoded><![CDATA[<p>Hola de nuevo aqui les dejo unos Pequeños codigos sobre dos de los metodos principales de ADO.NET ExecuteReader(), y ExecuteScalar() asi como ConnectionString, SqlConnection, SqlCommand y varios metodos y propiedades mas del espacio de nombres System.Data.Common, System.Data.SqlClient En tres Tipos de proyectos diferentes como son ConsoleApplication,  Asp.Net-WebForms y WinForms Como ustedes sabran Ado.Net es la parte de la plataforma de desarrollo de Microsoft  .NetFramework encargada del manejo creacion de consultas Querys StoredProcedures, Triggers etc lo que nos permite desarrollar nuestras aplicaciones y proyectos en conjuncion con nuestra base de datos para el almacenamiento y explotacion de informacion ADO.NET Dispone de espacios de nombres especificos para el desarrollo especializado en ciertas bases de datos como es System.Data que contiene los metodos y propiedades generales para todos los tipos de bases de datos asi como System.Data.SqlClient que su funcion esta especificamente Creada para el manejo y programacion con Bases de datos y servidores MsSql, System.Data.Odbc y System.Data.OleDb nos permite trabajar con basesde datos tan diversas como FireBird, MySql , Access, Postgree etc y por ultimo System.Data.OracleClient que nos permite el desarrollo especifico sobre bases de datos Oracle</p>
<p>Aqui Esta un Pequeño ejemplo en Asp.Net</p>
<div class="dean_ch" style="white-space: wrap;">using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Web</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">UI</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">UI</span>.<span class="me1">WebControls</span>;</p>
<p>public partial class _Default : System.<span class="me1">Web</span>.<span class="me1">UI</span>.<span class="me1">Page</span><br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Page_Load<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; System.<span class="me1">Collections</span>.<span class="me1">ArrayList</span> miarraylist1 = new System.<span class="me1">Collections</span>.<span class="me1">ArrayList</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> misqlconn1 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="kw4">string</span> connstring = @<span class="st0">&quot;Data Source=.<span class="es0">\S</span>QLEXPRESS;AttachDbFilename=C:<span class="es0">\D</span>ocuments and Settings<span class="es0">\A</span>nita<span class="es0">\M</span>is documentos<span class="es0">\W</span>ebSite1<span class="es0">\D</span>atabase<span class="es0">\n</span>orthwind.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True&quot;</span>;<br />
&nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> misqlcommand = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; protected <span class="kw4">void</span> Button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandType</span> = System.<span class="me1">Data</span>.<span class="me1">CommandType</span>.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">Connection</span> = misqlconn1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT * FROM Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataReader</span> misqldatareader1 = misqlcommand.<span class="me1">ExecuteReader</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>misqldatareader1.<span class="me1">HasRows</span> == <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>misqldatareader1.<span class="me1">Read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ListBox1.<span class="me1">Items</span>.<span class="me1">Add</span><span class="br0">&#40;</span>misqldatareader1.<span class="me1">GetSqlInt32</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandType</span> = System.<span class="me1">Data</span>.<span class="me1">CommandType</span>.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">Connection</span> = misqlconn1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT * FROM Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataReader</span> misqldatareader2 = misqlcommand.<span class="me1">ExecuteReader</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>misqldatareader2.<span class="me1">HasRows</span> == <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>misqldatareader2.<span class="me1">Read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; DropDownList1.<span class="me1">Items</span>.<span class="me1">Add</span><span class="br0">&#40;</span>misqldatareader2.<span class="me1">GetString</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Button3_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandType</span> = System.<span class="me1">Data</span>.<span class="me1">CommandType</span>.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">Connection</span> = misqlconn1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT * FROM Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataReader</span> misqldatareader3 = misqlcommand.<span class="me1">ExecuteReader</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>misqldatareader3.<span class="me1">HasRows</span> == <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>misqldatareader3.<span class="me1">Read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miarraylist1.<span class="me1">Add</span><span class="br0">&#40;</span>misqldatareader3.<span class="me1">GetString</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GridView1.<span class="me1">DataSource</span> = miarraylist1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GridView1.<span class="me1">DataBind</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; protected <span class="kw4">void</span> Button4_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">ConnectionString</span> = connstring;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT COUNT(*) FROM Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">Connection</span> = misqlconn1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlcommand.<span class="me1">CommandType</span> = System.<span class="me1">Data</span>.<span class="me1">CommandType</span>.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> numeroregistros = <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span>misqlcommand.<span class="me1">ExecuteScalar</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; TextBox1.<span class="me1">Text</span> = <span class="st0">&quot;Tienes &quot;</span> + numeroregistros.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot; Registros&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; misqlconn1.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>Aqui otro pequeño codigo en ConsoleApplication</p>
<div class="dean_ch" style="white-space: wrap;">using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Text</span>;</p>
<p>namespace ConsoleApplication1<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; class Program<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co2">#region Numero1</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> misqlconnection1 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span>@<span class="st0">&quot;Data Source=.<span class="es0">\S</span>QLEXPRESS;AttachDbFilename=C:<span class="es0">\D</span>ocuments and Settings<span class="es0">\A</span>nita<span class="es0">\M</span>is documentos<span class="es0">\M</span>is archivos recibidos<span class="es0">\n</span>orthwind.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True &quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> misqlcommand1 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="st0">&quot;SELECT LastName FROM Employees&quot;</span>, misqlconnection1<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection1.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> a = <span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#41;</span>misqlcommand1.<span class="me1">ExecuteScalar</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection1.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection1.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span>a.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co2">#endregion</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co2">#region Numero2</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> misqlconnection2 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span>@<span class="st0">&quot;Data Source=.<span class="es0">\S</span>QLEXPRESS;AttachDbFilename=C:<span class="es0">\D</span>ocuments and Settings<span class="es0">\A</span>nita<span class="es0">\M</span>is documentos<span class="es0">\M</span>is archivos recibidos<span class="es0">\n</span>orthwind.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True &quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> misqlcommand2 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlcommand2.<span class="me1">Connection</span> = misqlconnection2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlcommand2.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT COUNT(*)FROM dbo.Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection2.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> a = <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span>misqlcommand2.<span class="me1">ExecuteScalar</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection2.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection2.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span>a.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co2">#endregion</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> misqlconnection3 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span>@<span class="st0">&quot;Data Source=.<span class="es0">\S</span>QLEXPRESS;AttachDbFilename=C:<span class="es0">\D</span>ocuments and Settings<span class="es0">\A</span>nita<span class="es0">\M</span>is documentos<span class="es0">\M</span>is archivos recibidos<span class="es0">\n</span>orthwind.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True &quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> misqlcommand3 = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlcommand3.<span class="me1">CommandText</span> = <span class="st0">&quot;SELECT * FROM Employees&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlcommand3.<span class="me1">Connection</span> = misqlconnection3;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection3.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataReader</span> misqldatareader = misqlcommand3.<span class="me1">ExecuteReader</span><span class="br0">&#40;</span>System.<span class="me1">Data</span>.<span class="me1">CommandBehavior</span>.<span class="me1">CloseConnection</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>misqldatareader.<span class="me1">HasRows</span> == <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>misqldatareader.<span class="me1">Read</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Posicion &quot;</span> + misqldatareader.<span class="me1">GetInt32</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span> + <span class="st0">&quot; Data &quot;</span> + misqldatareader.<span class="me1">GetSqlString</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection3.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconnection3.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>Por Ultimo otro Code Basado en WinForms</p>
<div class="dean_ch" style="white-space: wrap;">using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">ComponentModel</span>;<br />
using System.<span class="me1">Data</span>;<br />
using System.<span class="me1">Drawing</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Text</span>;<br />
using System.<span class="me1">Windows</span>.<span class="me1">Forms</span>;</p>
<p>namespace WindowsFormsApplication1<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; public partial class Form1 : Form<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public Form1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Collections</span>.<span class="me1">ArrayList</span> miarraylist = new System.<span class="me1">Collections</span>.<span class="me1">ArrayList</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> connstring = @<span class="st0">&quot;Data Source=.<span class="es0">\S</span>QLEXPRESS;AttachDbFilename=C:<span class="es0">\D</span>ocuments and Settings<span class="es0">\A</span>nita<span class="es0">\M</span>is documentos<span class="es0">\M</span>is archivos recibidos<span class="es0">\n</span>orthwind.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span> misqlconn = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlConnection</span><span class="br0">&#40;</span>connstring<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span> misqlcommand = new System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlCommand</span><span class="br0">&#40;</span><span class="st0">&quot;SELECT * FROM Employees&quot;</span>, misqlconn<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconn.<span class="me1">Open</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.<span class="me1">Data</span>.<span class="me1">SqlClient</span>.<span class="me1">SqlDataReader</span> misqldatareader = misqlcommand.<span class="me1">ExecuteReader</span><span class="br0">&#40;</span>CommandBehavior.<span class="me1">CloseConnection</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>misqldatareader.<span class="me1">HasRows</span> == <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>System.<span class="me1">Data</span>.<span class="me1">Common</span>.<span class="me1">DbDataRecord</span> midatarecord in misqldatareader<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miarraylist.<span class="me1">Add</span><span class="br0">&#40;</span>midatarecord<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconn.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; misqlconn.<span class="me1">Dispose</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BindingSource mibindingsource = new BindingSource<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mibindingsource.<span class="me1">DataSource</span> = miarraylist;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dataGridView1.<span class="me1">DataSource</span> = mibindingsource;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/11/17/executescalar-executereader-en-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webservices C#</title>
		<link>http://www.aztekmindz.org/2008/10/01/webservices-c/</link>
		<comments>http://www.aztekmindz.org/2008/10/01/webservices-c/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 21:42:20 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=248</guid>
		<description><![CDATA[Hola de nuevo aqui un pequeño ejemplo de creacion de un webservice en c# asi como su implementacion y consumo del servicio debemos recordar que los webservices deben de ser alojados en el IIS (internet information server) y ser llamados via service reference en Visual Studio al igual como se muestra haciendo click en la [...]]]></description>
			<content:encoded><![CDATA[<p>Hola de nuevo aqui un pequeño ejemplo de creacion de un webservice en c# asi como su implementacion y consumo del servicio debemos recordar que los webservices deben de ser alojados en el IIS (internet information server) y ser llamados via service reference en Visual Studio al igual como se muestra haciendo click en la foto vemos que hemos llamado nuestro service via webbrowser pero en este caso sin beneficio alguno unicamente mostrandonos los metodos expuestos en el web service no asi cuando hacemos referencia a nuestro webservice en nuestra aplicacion que estamos desarrollando, los webservces son llamados via http no asi como su evolucion la llamada Windows Comunication Foundation (WCF) que es una evolucion total en los webservices que en un futuro pondre un extenso post acerca de esa nueva tecnologia que nos ofrece la mas reciente version del .NetFramework 3.5</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>;<br />
using System.<span class="me1">ComponentModel</span>;<br />
using System.<span class="me1">Data</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Web</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">Services</span>;<br />
using System.<span class="me1">Web</span>.<span class="me1">Services</span>.<span class="me1">Protocols</span>;<br />
using System.<span class="me1">Xml</span>.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Runtime</span>.<span class="me1">InteropServices</span>;<br />
using System.<span class="me1">Text</span>;<br />
namespace WebService1<br />
<span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; <span class="co1">// Estos parametros nos indican que la clase es un webservice</span><br />
&nbsp; &nbsp; <span class="br0">&#91;</span>WebService<span class="br0">&#40;</span>Namespace = <span class="st0">&quot;http://tempuri.org/&quot;</span><span class="br0">&#41;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; <span class="br0">&#91;</span>WebServiceBinding<span class="br0">&#40;</span>ConformsTo = WsiProfiles.<span class="me1">BasicProfile1_1</span><span class="br0">&#41;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; <span class="br0">&#91;</span>ToolboxItem<span class="br0">&#40;</span><span class="kw2">false</span><span class="br0">&#41;</span><span class="br0">&#93;</span></p>
<p>&nbsp; &nbsp; <span class="co1">// [System.Web.Script.Services.ScriptService]</span><br />
&nbsp; &nbsp; public class Service1 : System.<span class="me1">Web</span>.<span class="me1">Services</span>.<span class="me1">WebService</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Esta propiedad nos indica que el metodo sera parte del web service</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>WebMethod<span class="br0">&#93;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// asi mismo creamos un simple metodo que nos regresa un string</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> Saludos<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;Hola desde mi webservice&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Aqui creamos un metodo no declarado como &quot;webmethod pues es el encargado de hacer la llamada &nbsp;ala api ala dll winnm.dll</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//el metodo lleva la palabra extern que nos indica que es ajeno al .net framework y que basados al espacio de nombres</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//System.runtime.interopservices el cual es necesario para hacer las apicalls</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>DllImport<span class="br0">&#40;</span><span class="st0">&quot;winmm.dll&quot;</span>, EntryPoint = <span class="st0">&quot;mciSendStringA&quot;</span>, CharSet = CharSet.<span class="me1">Ansi</span><span class="br0">&#41;</span><span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; protected <span class="kw4">static</span> <span class="kw2">extern</span> <span class="kw4">int</span> mciSendString<span class="br0">&#40;</span><span class="kw4">string</span> lpstrCommand, StringBuilder lpstrReturnString, <span class="kw4">int</span> uReturnLength, IntPtr hwndCallback<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// aqui creamos uno mas con una llamada ala api de windows que nos abre el cd del equipo donde este hospedado el webservice</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>WebMethod<span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">void</span> abrircd<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mciSendString<span class="br0">&#40;</span><span class="st0">&quot;set cdaudio door open&quot;</span>, <span class="kw2">null</span>, <span class="nu0">0</span>, IntPtr.<span class="me1">Zero</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Un simple metodo mas que nos permite conectarnos a una base de datos via webservicey que nos retorna un string</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//indicandonos el exito en el metodo</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#91;</span>WebMethod<span class="br0">&#93;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> insertarrecord<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Aqui desarrollmos todo el codigo para implementar la coneccion a una base de datos</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// asi como los metodos datasets data adapters etc para el manejo de la base de datos hospedada en el sistema</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// donde esta hospedado el host</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;exito en la insercion en la base de datos&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p><span style="color: #ff0000;">Click</span> en la <span style="color: #ff0000;">imagen</span> para ver el webservice llamado via webbrowser que simplemente nos muestra los metodos que contiene nuestro servicio y que pueden ser consumidos<br />
<a href="http://www.aztekmindz.org/wp-content/uploads/2008/10/dibujo.jpg"><img class="alignleft size-full wp-image-250" title="dibujo" src="http://www.aztekmindz.org/wp-content/uploads/2008/10/dibujo.jpg" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/10/01/webservices-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Generics C#</title>
		<link>http://www.aztekmindz.org/2008/09/22/generics-c/</link>
		<comments>http://www.aztekmindz.org/2008/09/22/generics-c/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 19:15:51 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=238</guid>
		<description><![CDATA[Hola de nuevo aqui les dejo un pequeno ejemplo de lo que son los genericos en C# una pequeña explicacion de lo que son genericos seria que por ejemplo cuando tenemos un metodo dentro de nuestra clase que recibe parametros por ejemplo de tipo int al no ser de tipo generico la clase ni nuestro [...]]]></description>
			<content:encoded><![CDATA[<p>Hola de nuevo aqui les dejo un pequeno ejemplo de lo que son los genericos en C# una pequeña explicacion de lo que son genericos seria que por ejemplo cuando tenemos un metodo dentro de nuestra clase que recibe parametros por ejemplo de tipo int al no ser de tipo generico la clase ni nuestro metodo estamos obligados que al momento de instanciar nuestra clase y llamar al metodo obligatoriamente tenemos que pasarle el paramentro de tipo int cosa muy diferente al trabajar con genericos pues podemos crear clases y metodos que reciben parametros de cualquier tipo lo que nos facilita mucho el desarrollo de nuestro codigo sin mas que agregar ahi les dejo un codigo de muestra ya saben cualuier duda comuniquense con el staff!!</p>
<div class="dean_ch" style="white-space: wrap;">
<span class="co1">//Generics in C#</span></p>
<p>using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Text</span>;</p>
<p>namespace ConsoleApplication1<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; class Program<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//ya qui en nuestro metodo principal &quot;Main()&quot; hacemos uso de nuestras clases genericas</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Primero creamos una lista generica que se encuantra en el espacio de nombres</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//System.Collections.Generics.List y como tipo agregamos nuestra clase llamada listagenerica</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//pues el uso de genericos en c# y en .net no solo se limita a tipos como int string bool etc</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List<br />
&nbsp;milistagenerica = new List<br />
<span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// y agregamos algunos objetos a nuestra lista</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; milistagenerica.<span class="me1">Add</span><span class="br0">&#40;</span>new listagenerica<span class="br0">&#40;</span><span class="st0">&quot;Octalh&quot;</span>, <span class="st0">&quot;C++ , Delphi Coder&quot;</span>, <span class="st0">&quot;Privada&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; milistagenerica.<span class="me1">Add</span><span class="br0">&#40;</span>new listagenerica<span class="br0">&#40;</span><span class="st0">&quot;xxxnocturnoxxx&quot;</span>, <span class="st0">&quot;C# .Net Coder&quot;</span>, <span class="st0">&quot;Privada&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Con el siguiente bucle representamos el contenido de nuestra lista generica con un simple foreach</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>listagenerica Coder in milistagenerica<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Nombre &quot;</span> + Coder.<span class="me1">Nombre</span> + <span class="st0">&quot;,&quot;</span> + Coder.<span class="me1">Puesto</span> + <span class="st0">&quot;,&quot;</span> + Coder.<span class="me1">Direccion</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Asi mismo podemos usar un bucle for</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt; milistagenerica.<span class="me1">Count</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Nombre &quot;</span> + milistagenerica<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">Nombre</span> + <span class="st0">&quot;,&quot;</span> + milistagenerica<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">Puesto</span> + <span class="st0">&quot;,&quot;</span> + milistagenerica<span class="br0">&#91;</span>i<span class="br0">&#93;</span>.<span class="me1">Direccion</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Aqui creamos dos instancias de nuestra clase generica una de tipo boolean y otra de tipo int</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tipos miclasetipos1 = new tipos<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miclasetipos1.<span class="me1">analisis1</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tipos miclasetipos2 = new tipos<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miclasetipos2.<span class="me1">analisis1</span><span class="br0">&#40;</span><span class="nu0">4500</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Aqui instanciamos la clase saludo y le pasamos parametros de diferente tipo al metodo de la clase generica saludo1</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saludos saludostring = new saludos<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span>saludostring.<span class="me1">saludo1</span><span class="br0">&#40;</span><span class="st0">&quot;Variable tipo string&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; saludos saludosint = new saludos<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span>saludosint.<span class="me1">saludo1</span><span class="br0">&#40;</span><span class="nu0">5000</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="co1">// creamos una clase de tipo generico que en este caso le daremos a los metodos</span><br />
&nbsp; &nbsp; <span class="co1">// el parametro de tipo string</span><br />
&nbsp; &nbsp; class saludos<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Creamos varios metodos de tipo generico</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> saludo1<span class="br0">&#40;</span>t varcualquiertipo<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;Hola &quot;</span> + varcualquiertipo;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="co1">// Creamos una clase de tipo generico aqui le daremos a los metodos que contiene</span><br />
&nbsp; &nbsp; <span class="co1">// parametros de diferente tipo</span><br />
&nbsp; &nbsp; class tipos<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">void</span> analisis1<span class="br0">&#40;</span>t tipo1<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Type mitipo = tipo1.<span class="me1">GetType</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;La variable es de tipo &quot;</span> + mitipo.<span class="me1">FullName</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="co1">// Esta clase contiene una lista generica</span><br />
&nbsp; &nbsp; class listagenerica<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//creamos tres campos dos de ellos tipo string y uno mas tipo int</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Asi mismo los encapsulamos para no tener acceso directamente</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// alas variables desde fuera de esta propia clase si no unicamente</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// a las propiedades que hemos creado gracias a la encapsulacion del campo</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> nombre;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> Nombre<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span class="br0">&#123;</span> <span class="kw1">return</span> nombre; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span class="br0">&#123;</span> nombre = value; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> puesto;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> Puesto<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span class="br0">&#123;</span> <span class="kw1">return</span> puesto; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span class="br0">&#123;</span> puesto = value; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> direccion;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> Direccion<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get <span class="br0">&#123;</span> <span class="kw1">return</span> direccion; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set <span class="br0">&#123;</span> direccion = value; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Aqui creamos el constructor primario de la clase de la clase</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public listagenerica<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nombre = <span class="st0">&quot;No establecido&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; puesto = <span class="st0">&quot;No aplica&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; direccion = <span class="st0">&quot;No aplica&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Aqui creamos el constructor secundario de la clase que al momento de que la</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// instanciemos nos permitira agregar valores a nuestro objeto</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public listagenerica<span class="br0">&#40;</span><span class="kw4">string</span> nombre, <span class="kw4">string</span> puesto, <span class="kw4">string</span> direccion<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.<span class="me1">nombre</span> = nombre;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.<span class="me1">puesto</span> = puesto;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.<span class="me1">direccion</span> = direccion;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/09/22/generics-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Linq C#</title>
		<link>http://www.aztekmindz.org/2008/08/25/linq-c/</link>
		<comments>http://www.aztekmindz.org/2008/08/25/linq-c/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 08:34:33 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=202</guid>
		<description><![CDATA[Hola saludos de nuevo aqui les dejo un pequeno codigo de ejemplo de esta nueva funcionalidad que se encuentra en el netframework 3.5 que en mi propia opinion es una maravilla pues nos permite hace querys a nuestros propios objetos bases de datos xml files etc aqui veremos el uso de operadores linq como (from,in,where,orderby,groupby [...]]]></description>
			<content:encoded><![CDATA[<p>Hola saludos de nuevo aqui les dejo un pequeno codigo de ejemplo de esta nueva funcionalidad que se encuentra en el netframework 3.5 que en mi propia opinion es una maravilla pues nos permite hace querys a nuestros propios objetos bases de datos xml files etc aqui veremos el uso de operadores linq como (from,in,where,orderby,groupby etc) asi mismo algunos metodos de extension de estos operadores como son(Reverse&lt;&gt;() To Array&lt;&gt;() ToLIst&lt;&gt;()) Ya saben cualquier duda comuniquense con el staff</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">ComponentModel</span>;<br />
using System.<span class="me1">Data</span>;<br />
using System.<span class="me1">Drawing</span>;<br />
using System.<span class="me1">Linq</span>;<br />
using System.<span class="me1">Text</span>;<br />
using System.<span class="me1">Windows</span>.<span class="me1">Forms</span>;</p>
<p>namespace WindowsFormsApplication1<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; public partial class Form1 : Form<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public Form1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* en este boton usando linq seleccionamos unicamente los miembros del array que contengan la letra &quot;a&quot; */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> nombres = <span class="br0">&#123;</span> <span class="st0">&quot;carlos&quot;</span>, <span class="st0">&quot;anita&quot;</span>, <span class="st0">&quot;mimi&quot;</span>, <span class="st0">&quot;osito&quot;</span>, <span class="st0">&quot;manuel&quot;</span>, <span class="st0">&quot;tina&quot;</span>, <span class="st0">&quot;lety&quot;</span> <span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var familia = from n in nombres where n.<span class="me1">Contains</span><span class="br0">&#40;</span><span class="st0">&quot;a&quot;</span><span class="br0">&#41;</span> select n;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">string</span> w in familia<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>w<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* en este evento usando linq seleccionamos los valores del array menores a 30 */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span><span class="br0">&#91;</span><span class="br0">&#93;</span> edades = <span class="br0">&#123;</span> <span class="nu0">20</span>, <span class="nu0">45</span>, <span class="nu0">12</span>, <span class="nu0">3</span>, <span class="nu0">67</span>, <span class="nu0">87</span>, <span class="nu0">5</span>, <span class="nu0">44</span>, <span class="nu0">90</span>, <span class="nu0">14</span>, <span class="nu0">63</span>, <span class="nu0">55</span>, <span class="nu0">77</span>, <span class="nu0">22</span> <span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var jovenes = from q in edades where q &lt; <span class="nu0">30</span> select q;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">int</span> w in jovenes<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>w.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* aqui creamos una clase anidada llamada carro que contiene los tipos necesarios para nuestra posterior lista */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; class Carro<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> conductor = <span class="kw2">null</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">int</span> velocidad = <span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">string</span> marca = <span class="kw2">null</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* Aqui hacemos uso de linq en la lista miscarros seleccionando solo lo que queremos */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button3_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List miscarros = new List<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new Carro<span class="br0">&#123;</span>conductor = <span class="st0">&quot;genkol&quot;</span>,marca = <span class="st0">&quot;bmw&quot;</span>,velocidad = <span class="nu0">350</span><span class="br0">&#125;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new Carro<span class="br0">&#123;</span>conductor = <span class="st0">&quot;xxxnocturnoxxx&quot;</span>, marca =<span class="st0">&quot;lexus&quot;</span>, velocidad = <span class="nu0">400</span><span class="br0">&#125;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new Carro<span class="br0">&#123;</span>conductor = <span class="st0">&quot;anita&quot;</span>, marca = <span class="st0">&quot;nissan&quot;</span>, velocidad = <span class="nu0">300</span><span class="br0">&#125;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new Carro<span class="br0">&#123;</span>conductor = <span class="st0">&quot;manuel&quot;</span>, marca=<span class="st0">&quot;chrysler&quot;</span>, velocidad = <span class="nu0">320</span><span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var micarro = from p in miscarros where p.<span class="me1">conductor</span> == <span class="st0">&quot;xxxnocturnoxxx&quot;</span> select p;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>var mio in micarro<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span><span class="st0">&quot;Mi carro es &quot;</span> + mio.<span class="me1">marca</span> + <span class="st0">&quot; corre &quot;</span> + mio.<span class="me1">velocidad</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot; Km/Hr&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* Aqui teenmos un array de objetos con tipos string int y bool usando linq le extraemos solo los tipos int */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button4_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; object<span class="br0">&#91;</span><span class="br0">&#93;</span> miscosas = <span class="br0">&#123;</span> <span class="nu0">10</span>, <span class="st0">&quot;carlos&quot;</span>, <span class="nu0">45</span>, <span class="kw2">true</span>, <span class="st0">&quot;mexico&quot;</span> <span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IEnumerable misints = miscosas.<span class="me1">OfType</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">int</span> a in misints<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>a.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* en este metodo simplemente usando loinq ponemos nuestro array en orden alfabetico */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button5_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> paises =<span class="br0">&#123;</span><span class="st0">&quot;mexico&quot;</span>,<span class="st0">&quot;espana&quot;</span>,<span class="st0">&quot;japon&quot;</span>,<span class="st0">&quot;china&quot;</span>,<span class="st0">&quot;argentina&quot;</span>,<span class="st0">&quot;italia&quot;</span>,<span class="st0">&quot;irlanda&quot;</span>,<span class="st0">&quot;corea&quot;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;marruecos&quot;</span>,<span class="st0">&quot;egipto&quot;</span>,<span class="st0">&quot;nigeria&quot;</span><span class="br0">&#125;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var alfabetico = from a in paises orderby a select a;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">string</span> b in alfabetico<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>b<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="coMULTI">/* asi mismo con el uso de linq en nuestros obejtos o arrayas podemos obtener variables como en el siguiente metodo */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button6_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> paises =<span class="br0">&#123;</span><span class="st0">&quot;mexico&quot;</span>,<span class="st0">&quot;espana&quot;</span>,<span class="st0">&quot;japon&quot;</span>,<span class="st0">&quot;china&quot;</span>,<span class="st0">&quot;argentina&quot;</span>,<span class="st0">&quot;italia&quot;</span>,<span class="st0">&quot;irlanda&quot;</span>,<span class="st0">&quot;corea&quot;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&quot;marruecos&quot;</span>,<span class="st0">&quot;egipto&quot;</span>,<span class="st0">&quot;nigeria&quot;</span><span class="br0">&#125;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> menor = <span class="br0">&#40;</span>from r in paises where r.<span class="me1">Length</span> &lt;= <span class="nu0">5</span> select r<span class="br0">&#41;</span>.<span class="me1">Count</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>menor.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> mayores = <span class="br0">&#40;</span>from r in paises where r.<span class="me1">Length</span> &gt; <span class="nu0">5</span> select r<span class="br0">&#41;</span>.<span class="me1">Count</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>mayores.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button7_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> nombres = <span class="br0">&#123;</span> <span class="st0">&quot;carlos&quot;</span>, <span class="st0">&quot;miguel&quot;</span>, <span class="st0">&quot;oscar&quot;</span>, <span class="st0">&quot;felipe&quot;</span>, <span class="st0">&quot;luz&quot;</span>, <span class="st0">&quot;gerardo&quot;</span>, <span class="st0">&quot;anita&quot;</span>, <span class="st0">&quot;enrique&quot;</span> <span class="br0">&#125;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var yo = from t in nombres where t.<span class="me1">Contains</span><span class="br0">&#40;</span><span class="st0">&quot;i&quot;</span><span class="br0">&#41;</span> select t;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>var s in yo<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>s<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/08/25/linq-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multithreading C#</title>
		<link>http://www.aztekmindz.org/2008/08/12/multithreading-c/</link>
		<comments>http://www.aztekmindz.org/2008/08/12/multithreading-c/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 04:20:35 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=199</guid>
		<description><![CDATA[Hola de nuevo aqui les dejo una pequeña explicacion del multithreading en C# asi como un pequeno codigo de una aplicacion de consola que muestra como crear un thread y algunos metodos y propiedades basicos relacionados a la clase thread( ) de los varios beneficios del multithreading es que podemos tener varios procesos con varios [...]]]></description>
			<content:encoded><![CDATA[<p>Hola de nuevo aqui les dejo una pequeña explicacion del multithreading en C# asi como un pequeno codigo de una aplicacion de consola que muestra como crear un thread y algunos metodos y propiedades basicos relacionados a la clase thread( ) de los varios beneficios del multithreading es que podemos tener varios procesos con varios hilos ejecutandose dentro de ellos pero porque no usar nuevos threads por cada metodo que tengamos en nuestra aplicacion no podria hacer eso que todo se ejecutara mas rapido?? la respuesta es no de hecho podemos esperar todo lo contrario cuando nos escedemos en el uso de threads en nuestra aplicacion debido a que aplcaciones multithreading requieren y consumen recursos en exceso threads requieren memoria y como puedes suponer el numero de threadas esta limitado a la memoria disponible Asi mismo cada thread incurre en adicional saturacion del procesador creando muchos threads en tu aplicacion disminuye la cantidad de tiempo que tiene para executarse y aumentando el tiempo del procesador para cambiar entra la ejecucion de threads por lo que se recomienda solo usar threads en la parte de tu aplicacion que realmente se necesiten donde el usuario final de la aplicacion tenga la sensacion que es atendido por ejemplo en metodos que toman largo tiempo para su ejecucion como descargas navegaciones se puede tomar como consideracion cuando tu aplicacion necesita correr procciertos recursos de tu aplicacion son externos como acceso a databases, http networking o quiza algun archivo en la red en este caso tambien es aceptable usar multithreading en los metodos ya saben cualquier duda comuniquense con el staff!!</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">Text</span>;<br />
using System.<span class="me1">Threading</span>;</p>
<p>namespace ConsoleApplication1<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; class Program<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// En nuestra clase creamos dos hilos estaticos</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> Thread h1;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> Thread h2;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> Thread h3;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* asi mismo creamos dos metodos que relacionaremos a cada hilo en ejecucion<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* este primer metodo ejecuta un bucle e imprime el valor de i en pantalla */</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> public <span class="kw4">void</span> hilo1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt; <span class="nu0">100</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Hilo_1 en ejecucion &quot;</span> + <span class="st0">&quot;,&quot;</span> + i.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* En este metodo igual tenemos un bucle que imprime el valor en pantalla pero este<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* metodo no se ejecuta hasta que termine de ejecutarse el metodo previo debido al uso del<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* del metodo Join() de la clase thread*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> hilo2<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h1.<span class="me1">Join</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">100</span>; i &lt;= <span class="nu0">200</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Hilo_2 en ejecucion &quot;</span> + <span class="st0">&quot;,&quot;</span> + i.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* En este metodo estatico usamos el metodo sleep() de la clase thread el cual nos permite<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* poner nuestro hilo en ejecucion en pausa por cierto tiempo especificado en milisegundos<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* este bucle pone un resultado en pantalla cada 5 segundos debido al metodo sleep()*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> hilo3<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> estadodelhilo = Thread.<span class="me1">CurrentThread</span>.<span class="me1">ThreadState</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt;= <span class="nu0">5</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Hilo_3 en ejecucion &quot;</span> + <span class="st0">&quot;,&quot;</span> + i.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;thread &quot;</span> + estadodelhilo<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread.<span class="me1">Sleep</span><span class="br0">&#40;</span><span class="nu0">5000</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="coMULTI">/* En nuestro metodo main instanciamos nuestros metodos y los ponemos en ejecucion<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* asi mismo con el metodo start() los ponemos en ejecucion notese que al instanciar cada hilo<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;* debemos de agregar cada metodo que se ejecutara con ese hilo*/</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">ForegroundColor</span> = ConsoleColor.<span class="me1">Red</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;Multithreading en C# por xxxnocturnoxxx&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="st0">&quot;[AztekMindz.org]&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread.<span class="me1">Sleep</span><span class="br0">&#40;</span><span class="nu0">5000</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console.<span class="me1">ResetColor</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Aqui instanciamos nuestros dos objetos de la clase thread</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h1 = new Thread<span class="br0">&#40;</span>new ThreadStart<span class="br0">&#40;</span>hilo1<span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h2 = new Thread<span class="br0">&#40;</span>new ThreadStart<span class="br0">&#40;</span>hilo2<span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h3 = new Thread<span class="br0">&#40;</span>new ThreadStart<span class="br0">&#40;</span>hilo3<span class="br0">&#41;</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Podemos agregarle prioridades de ejecucion a nuestros threads (Hilos)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h1.<span class="me1">Priority</span> = ThreadPriority.<span class="me1">Normal</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h2.<span class="me1">Priority</span> = ThreadPriority.<span class="me1">AboveNormal</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h3.<span class="me1">Priority</span> = ThreadPriority.<span class="me1">BelowNormal</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// Algunos de los metodos y propiedades de la clase thread</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> estado1 = h1.<span class="me1">ThreadState</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> nombredelproceso = h3.<span class="me1">Name</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">//Aqui ponemos nuestros objetos en ejecucion con el metodo start() de la clase thread</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h1.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h2.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h3.<span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/08/12/multithreading-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SerialKiller V1.0 C#</title>
		<link>http://www.aztekmindz.org/2008/08/10/serialkiller-v-10/</link>
		<comments>http://www.aztekmindz.org/2008/08/10/serialkiller-v-10/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 23:38:43 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<category><![CDATA[Herramientas]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=187</guid>
		<description><![CDATA[Hola Aqui les dejo una aplicacion llamada Serial Killer que su funcion basica es buscar seriales para programas esta programado 100% en c# y demuestra el uso de las clases Webbrowser() , HtmlDocument() , WebClient() y HtmlElement Etc El programa esta 100% funcional aunque tiene pequeños bugs pero como sea ahi les dejo el codigo [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Aqui les dejo una aplicacion llamada Serial Killer que su funcion basica es buscar seriales para programas esta programado 100% en c# y demuestra el uso de las clases Webbrowser() , HtmlDocument() , WebClient() y HtmlElement Etc El programa esta 100% funcional aunque tiene pequeños bugs pero como sea ahi les dejo el codigo para que lo analizen asi como el programita para que lo descarguen &#8212;&#8211;&gt;<a href="http://www.aztekmindz.org/wp-content/uploads/2008/08/serialkiller.rar"><span style="color: #ff0000;">SerialKiller V 1.0 </span></a>&lt;&#8212;&#8212;-</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Net</span>;<br />
using System.<span class="me1">Windows</span>.<span class="me1">Forms</span>;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;</p>
<p>namespace SerialKiller<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; public partial class Form1 : Form<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public Form1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="co1">// Aqui creamos e instanciamos los objetos que necesitamos</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; CheckedListBox checkedListBox2 = new CheckedListBox<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> urlarray;<br />
&nbsp; &nbsp; &nbsp; &nbsp; WebBrowser<span class="br0">&#91;</span><span class="br0">&#93;</span> mywebbrowsers;<br />
&nbsp; &nbsp; &nbsp; &nbsp; HtmlDocument myhtmldocument;<br />
&nbsp; &nbsp; &nbsp; &nbsp; WebClient mywebclient = new WebClient<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; WebBrowser mywebbrowser1 = new WebBrowser<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; Uri myuri = new Uri<span class="br0">&#40;</span><span class="st0">&quot;http://youserials.com/najdem.php?q=&quot;</span><span class="br0">&#41;</span>;</p>
<p><span class="co1">// En este evento guardamos y nos aseguramos que haya un criterio de busqueda</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> criterio = textBox1.<span class="me1">Text</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>criterio == <span class="st0">&quot;&quot;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span><span class="st0">&quot;Ingresa terminos de busqueda&quot;</span>, <span class="st0">&quot;Aztekmindz.org&quot;</span>, MessageBoxButtons.<span class="me1">OK</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mywebbrowser1.<span class="me1">Navigate</span><span class="br0">&#40;</span>myuri + criterio<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button1.<span class="me1">Enabled</span> = <span class="kw2">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button2.<span class="me1">Enabled</span> = <span class="kw2">true</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch <span class="br0">&#40;</span>Exception a<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>a.<span class="me1">Message</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="co1">// Aqui esta la creacion del evento que se ejecutara cuando nuestro webbrowser haya navegado</span><br />
<span class="co1">// y cargado completamente el documento web</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> Form1_Load<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mywebbrowser1.<span class="me1">Navigating</span> += new WebBrowserNavigatingEventHandler<span class="br0">&#40;</span>mywebbrowser1_Navigating<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mywebbrowser1.<span class="me1">DocumentCompleted</span> += new WebBrowserDocumentCompletedEventHandler<span class="br0">&#40;</span>mywebbrowser1_DocumentCompleted<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button2.<span class="me1">Enabled</span> = <span class="kw2">false</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button3.<span class="me1">Enabled</span> = <span class="kw2">false</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="co1">// Aqui hacemos que nuestra progress bar avance de acuerdo al progreso que lleva el</span><br />
<span class="co1">// webbrowser cargando el documento</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">void</span> mywebbrowser1_Navigating<span class="br0">&#40;</span>object sender, WebBrowserNavigatingEventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toolStripProgressBar1.<span class="me1">PerformStep</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p><span class="co1">// Aqui el documento que tenemos cargado en el webbrowser lo pasamos a un HtmlDocument()</span><br />
<span class="co1">// y usamos un foreach para buscar dentro terminos especificos en este caso links</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> mywebbrowser1_DocumentCompleted<span class="br0">&#40;</span>object sender, WebBrowserDocumentCompletedEventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button1.<span class="me1">Enabled</span> = <span class="kw2">true</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toolStripProgressBar1.<span class="me1">Value</span> = toolStripProgressBar1.<span class="me1">Maximum</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; textBox1.<span class="me1">Text</span> = <span class="st0">&quot;&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; myhtmldocument = mywebbrowser1.<span class="me1">Document</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>HtmlElement link in myhtmldocument.<span class="me1">Links</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>link.<span class="me1">OuterHtml</span>.<span class="me1">Contains</span><span class="br0">&#40;</span><span class="st0">&quot;nasiel.php&quot;</span><span class="br0">&#41;</span><br />
<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; checkedListBox1.<span class="me1">Items</span>.<span class="me1">Add</span><span class="br0">&#40;</span>link.<span class="me1">InnerText</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>HtmlElement link2 in myhtmldocument.<span class="me1">Links</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>link2.<span class="me1">OuterHtml</span>.<span class="me1">Contains</span><span class="br0">&#40;</span><span class="st0">&quot;nasiel.php&quot;</span><span class="br0">&#41;</span><br />
<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; checkedListBox2.<span class="me1">Items</span>.<span class="me1">Add</span><span class="br0">&#40;</span>link2.<span class="me1">GetAttribute</span><span class="br0">&#40;</span><span class="st0">&quot;href&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toolStripProgressBar1.<span class="me1">Value</span> = <span class="nu0">0</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">int</span> indexChecked in checkedListBox1.<span class="me1">CheckedIndices</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; checkedListBox2.<span class="me1">SetItemChecked</span><span class="br0">&#40;</span>indexChecked, <span class="kw2">true</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> j = <span class="nu0">0</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; urlarray = new <span class="kw4">string</span><span class="br0">&#91;</span>checkedListBox2.<span class="me1">CheckedItems</span>.<span class="me1">Count</span><span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span><span class="kw4">string</span> itemChecked in checkedListBox2.<span class="me1">CheckedItems</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; urlarray<span class="br0">&#91;</span>j<span class="br0">&#93;</span> = itemChecked.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mywebbrowsers = new WebBrowser<span class="br0">&#91;</span>urlarray.<span class="me1">Length</span><span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label1.<span class="me1">Text</span> = <span class="st0">&quot;Seleccionaste &quot;</span> + mywebbrowsers.<span class="me1">Length</span>.<span class="me1">ToString</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot; Seriales para Descarga&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; button3.<span class="me1">Enabled</span> = <span class="kw2">true</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> salirToolStripMenuItem1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span><span class="st0">&quot;AztekMindz.org&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Application.<span class="me1">Exit</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> reiniciarToolStripMenuItem1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Application.<span class="me1">Restart</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button3_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt; urlarray.<span class="me1">Length</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; finalurl<span class="br0">&#40;</span>urlarray<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i = <span class="nu0">0</span>; i &lt; toolStripProgressBar1.<span class="me1">Maximum</span>; i++<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; toolStripProgressBar1.<span class="me1">Value</span> = i;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> WebBrowser miw = new WebBrowser<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">static</span> <span class="kw4">void</span> finalurl<span class="br0">&#40;</span><span class="kw4">string</span> url<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miw.<span class="me1">Navigate</span><span class="br0">&#40;</span>url<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; miw.<span class="me1">DocumentCompleted</span> += new WebBrowserDocumentCompletedEventHandler<span class="br0">&#40;</span>miw_DocumentCompleted<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">static</span> <span class="kw4">void</span> miw_DocumentCompleted<span class="br0">&#40;</span>object sender, WebBrowserDocumentCompletedEventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HtmlDocument midoc = miw.<span class="me1">Document</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; foreach <span class="br0">&#40;</span>HtmlElement paras in midoc.<span class="me1">GetElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&quot;DIV&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>paras.<span class="me1">InnerHtml</span>.<span class="me1">Contains</span><span class="br0">&#40;</span><span class="st0">&quot;S/N:&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span>paras.<span class="me1">OuterText</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> nuevaBusquedaToolStripMenuItem_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Application.<span class="me1">Restart</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> acercaDeToolStripMenuItem_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; splash sp = new splash<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sp.<span class="me1">ShowDialog</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aztekmindz.org/2008/08/10/serialkiller-v-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>File Transfer C#</title>
		<link>http://www.aztekmindz.org/2008/07/19/file-transfer-c/</link>
		<comments>http://www.aztekmindz.org/2008/07/19/file-transfer-c/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 08:45:28 +0000</pubDate>
		<dc:creator>rottingbyte</dc:creator>
		
		<category><![CDATA[CSHARP]]></category>

		<guid isPermaLink="false">http://www.aztekmindz.org/?p=136</guid>
		<description><![CDATA[Hola Saludos de nuevo aqui les dejo un ejemplo basico para transferir archivos desde un cliente a un servidor en C# ojala les sirva la idea para crear alguna herramienta &#8220;interesante&#8221; en el archivo de descarga la ip esta configurada como la 127.0.0.1 o sea la localhost pero uds pueden modificarla a su gusto ya [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Saludos de nuevo aqui les dejo un ejemplo basico para transferir archivos desde un cliente a un servidor en C# ojala les sirva la idea para crear alguna herramienta &#8220;interesante&#8221; en el archivo de descarga la ip esta configurada como la 127.0.0.1 o sea la localhost pero uds pueden modificarla a su gusto ya saben cualquier duda comuniquense con el staff&#8230;</p>
<p>Descargalo Aqui&#8212;&#8211;&gt; <a href="http://www.aztekmindz.org/wp-content/uploads/2008/07/tranferencia_c.rar"><span style="color: #ff0000;">tranferencia_C#</span></a></p>
<p>xxxnocturnoxxx</p>
<p>Este es el codigo del Cliente</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">ComponentModel</span>;<br />
using System.<span class="me1">Data</span>;<br />
using System.<span class="me1">Drawing</span>;<br />
using System.<span class="me1">Text</span>;<br />
using System.<span class="me1">Windows</span>.<span class="me1">Forms</span>;<br />
using System.<span class="me1">Net</span>;<br />
using System.<span class="me1">Net</span>.<span class="me1">Sockets</span>;<br />
using System.<span class="me1">IO</span>;</p>
<p><span class="co1">//</span><br />
namespace FTClientCode<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; public partial class Form1 : Form<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public Form1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FileDialog fDg = new OpenFileDialog<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>fDg.<span class="me1">ShowDialog</span><span class="br0">&#40;</span><span class="br0">&#41;</span> == DialogResult.<span class="me1">OK</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FTClientCode.<span class="me1">SendFile</span><span class="br0">&#40;</span>fDg.<span class="me1">FileName</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> timer1_Tick<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label3.<span class="me1">Text</span> = FTClientCode.<span class="me1">curMsg</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span><span class="st0">&quot;www.aztekmindz.org&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; class Cliente<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">static</span> <span class="kw4">string</span> curMsg = <span class="st0">&quot;En espera&quot;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; public <span class="kw4">static</span> <span class="kw4">void</span> SendFile<span class="br0">&#40;</span><span class="kw4">string</span> fileName<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IPAddress<span class="br0">&#91;</span><span class="br0">&#93;</span> ipAddress = Dns.<span class="me1">GetHostAddresses</span><span class="br0">&#40;</span><span class="st0">&quot;localhost&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IPEndPoint ipEnd = new IPEndPoint<span class="br0">&#40;</span>ipAddress<span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>, <span class="nu0">5656</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Socket clientSock = new Socket<span class="br0">&#40;</span>AddressFamily.<span class="me1">InterNetwork</span>, SocketType.<span class="me1">Stream</span>, ProtocolType.<span class="me1">IP</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">string</span> filePath = <span class="st0">&quot;&quot;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileName = fileName.<span class="me1">Replace</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\\</span>&quot;</span>, <span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span>fileName.<span class="me1">IndexOf</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span> &gt; <span class="nu0">-1</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; filePath += fileName.<span class="me1">Substring</span><span class="br0">&#40;</span><span class="nu0">0</span>, fileName.<span class="me1">IndexOf</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span> + <span class="nu0">1</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileName = fileName.<span class="me1">Substring</span><span class="br0">&#40;</span>fileName.<span class="me1">IndexOf</span><span class="br0">&#40;</span><span class="st0">&quot;/&quot;</span><span class="br0">&#41;</span> + <span class="nu0">1</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte<span class="br0">&#91;</span><span class="br0">&#93;</span> fileNameByte = Encoding.<span class="me1">ASCII</span>.<span class="me1">GetBytes</span><span class="br0">&#40;</span>fileName<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>fileNameByte.<span class="me1">Length</span> &gt; <span class="nu0">850</span> * <span class="nu0">1024</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Trata con un Tamano menor&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Almacenando&#8230;.&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte<span class="br0">&#91;</span><span class="br0">&#93;</span> fileData = File.<span class="me1">ReadAllBytes</span><span class="br0">&#40;</span>filePath + fileName<span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte<span class="br0">&#91;</span><span class="br0">&#93;</span> clientData = new byte<span class="br0">&#91;</span><span class="nu0">4</span> + fileNameByte.<span class="me1">Length</span> + fileData.<span class="me1">Length</span><span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; byte<span class="br0">&#91;</span><span class="br0">&#93;</span> fileNameLen = BitConverter.<span class="me1">GetBytes</span><span class="br0">&#40;</span>fileNameByte.<span class="me1">Length</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileNameLen.<span class="me1">CopyTo</span><span class="br0">&#40;</span>clientData, <span class="nu0">0</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileNameByte.<span class="me1">CopyTo</span><span class="br0">&#40;</span>clientData, <span class="nu0">4</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fileData.<span class="me1">CopyTo</span><span class="br0">&#40;</span>clientData, <span class="nu0">4</span> + fileNameByte.<span class="me1">Length</span><span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Conectando al server&#8230;&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clientSock.<span class="me1">Connect</span><span class="br0">&#40;</span>ipEnd<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Enviando archivo&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clientSock.<span class="me1">Send</span><span class="br0">&#40;</span>clientData<span class="br0">&#41;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Desconectando..&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clientSock.<span class="me1">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Archivo transferido&quot;</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; catch <span class="br0">&#40;</span>Exception ex<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>ex.<span class="me1">Message</span> == <span class="st0">&quot;No se establecio la coneccion&quot;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Fallo en el envio Server no respondio.&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; curMsg = <span class="st0">&quot;Error Coneccion no establecida con el server.&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div>
<p>Este es el codigo del servidor</p>
<div class="dean_ch" style="white-space: wrap;">
using System;<br />
using System.<span class="me1">Collections</span>.<span class="me1">Generic</span>;<br />
using System.<span class="me1">ComponentModel</span>;<br />
using System.<span class="me1">Data</span>;<br />
using System.<span class="me1">Drawing</span>;<br />
using System.<span class="me1">Text</span>;<br />
using System.<span class="me1">Windows</span>.<span class="me1">Forms</span>;<br />
using System.<span class="me1">Net</span>;<br />
using System.<span class="me1">Net</span>.<span class="me1">Sockets</span>;<br />
using System.<span class="me1">IO</span>;</p>
<p>namespace ServerCode<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; public partial class Form1 : Form<br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; public Form1<span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InitializeComponent<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FTServerCode.<span class="me1">receivedPath</span> = <span class="st0">&quot;&quot;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button1_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>FTServerCode.<span class="me1">receivedPath</span>.<span class="me1">Length</span> &gt; <span class="nu0">0</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; backgroundWorker1.<span class="me1">RunWorkerAsync</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MessageBox.<span class="me1">Show</span><span class="br0">&#40;</span><span class="st0">&quot;Selecciona la carpeta destino&quot;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> timer1_Tick<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label5.<span class="me1">Text</span> = FTServerCode.<span class="me1">receivedPath</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; label3.<span class="me1">Text</span> = FTServerCode.<span class="me1">curMsg</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; FTServerCode obj = new FTServerCode<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> backgroundWorker1_DoWork<span class="br0">&#40;</span>object sender, DoWorkEventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; obj.<span class="me1">StartServer</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button2_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FolderBrowserDialog fd = new FolderBrowserDialog<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>fd.<span class="me1">ShowDialog</span><span class="br0">&#40;</span><span class="br0">&#41;</span> == DialogResult.<span class="me1">OK</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FTServerCode.<span class="me1">receivedPath</span> = fd.<span class="me1">SelectedPath</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; private <span class="kw4">void</span> button3_Click<span class="br0">&#40;</span>object sender, EventArgs e<span class="br