Skip to content
Jun 18 10

El Namespace de Visual Basic My version c#

by admin

Si de casualidad alguna vez te ha dado ganas de hacer esto :

 My.Computer.FileSystem.CopyFile("c:\a.txt", "c:\b.txt", FileIO.UIOption.AllDialogs, FileIO.UICancelOption.ThrowException);

O que tal?:

bool isWheel = My.Computer.Mouse.WheelExists;
if(isWheel) Console.WriteLine("Theres mouse wheel");

Vb.net My for C#, es una libreria que contiene todas las funcionalidades del namespace My de visual basic para que sean utilizadas en c#. La librería esta escrita en Visual Basic.net con la versión 2.0 del .net framework.

Se puede descargar desde el area de descargas en esta pagina.

Jun 6 10

HOTSERVER C#.net

by admin

Esta es una clase escrita en c#.net version 2.0 del .net framework. Se puede descargar del area de descarga en esta pagina y puedes hacer lo que quieras con ella, modifica lo que quieras de esta.

Sirve para hacer disponible en la red un directorio fisico en tu disco duro mediante el protocolo http, es decir, que se pueda acceder a este como un recurso web. Solo soporta el metodo GET del http.

Su implementacion es bastante simple. En el ejemplo siguiente te indico como lo puedes usar:

HOTSERVER server = new HOTSERVER();       //asignamos una nueva instancia a la clase.
erver.VirtualDir = "d:\files";     //asignamos el directorio que queremos que este disponible, esta ruta de prueba
                                // es relativa, tambien se puede ruta absoluta (ej. d:\nuevoFolder )
server.Port = 8001;              //asignamos el puerto que queremos.
server.DefaultFile = "do.html";  //asignamos el archivo que estara por defecto en caso de que se hagan
                                // solicitudes y no se especifique que archivo es que se quiere

//en las siguientes lineas, agregamos muchas extensiones de archivos con su mime type correspondiente.
//Estos son los tipos de archivos que estaran disponibles.
//Si no asignamos una extension de archivo con su mime type, entonces no estara
//disponible aunque se encuentre en el folder
server.MimeTypes.Add(".htm", "text/html");
server.MimeTypes.Add(".html", "text/html");
server.MimeTypes.Add(".gif", "image/gif");
server.MimeTypes.Add(".jpg", "image/jpg");
server.MimeTypes.Add(".exe", "application");

//En las siguientes dos lineas asignamos dos metodos para dos eventos que se ejecutaran respectivamente
//cuando invoquemos el metodo start() y cuando invoquemos el metodo stop();
//si no eres nuevo en .net framework entonces sabras que hacer con estas lineas
server.onArrancar += new ArracarDetenerEventHandler(server_onArrancar);            //server_onArrancar es un metodo de prueba
server.onDetener += new ArracarDetenerEventHandler(server_onDetener);              //server_onDetener es un metodo de prueba

Para iniciar el proceso solo hay que llamar al metodo start(), igualmente para pararlo solo hay que invocar el metodo stop() como lo muestro en las siguientes lineas:

server.start();           //iniciamos el proceso que hace disponible los recursos de la carpeta anteriormente definida

server.stop();           //detiene el proceso

Cabe destacar, que no documente esta clase. Estoy un poco cansado para hacerlo hoy :D

Ya, finalmente, con el codigo anteriormente mostrado se podra acceder a la carpeta en la ruta “d:\files” mediante un buscador o navegador web con la siguiente direccion: http://localhost:8001/

Esto nos devolvera el archivo que le asignamos a la propiedad DefaultFile de nuestra clase. Si queremos acceder a algun archivo seria algo asi: http://localhost:8001/med.jpg suponiendo que med.jpg se encuentre dentro de la carpeta d:\files.

May 24 10

RSSGenerator C#.net

by admin

Bueno, RSSGenerator es una clase creada en c#.net para ayudarme a crear rss feeds en algunos proyectos que realice a partir de un DataTable. Su funcionamiento es simple, solo hay que instanciar la clase, luego se le asigna varias propiedades y finalmente invocamos el metodo Build el cual genera el texto final en formato xml listo para ser un rss feed. Para descargar esta herramienta puede ir al area de descargas de este sitio.

Ejemplo de como utilizarlo:

//instanciar la clase.
Generator ge = new Generator();

//Asignar las propiedades del canal rss.
//titulo del canal.
ge.CHANNEL.TITLE = "CANAL DE ARTICULOS";

//categoria del canal.
ge.CHANNEL.CATEGORY = "ARTICULOS";

//descripcion del canal.
ge.CHANNEL.DESCRIPTION = "Esta es la descripcion de la categoria";

//lenguaje del canal, clase de System.Globalization.
ge.CHANNEL.LANGUAGE = new System.Globalization.CultureInfo("es-DO");

//link del canal.
ge.CHANNEL.LINK = null;

//tipo de encoding.
ge.ENCODING = "utf-8";

//Asignarle los miembros que se encuentran en el DataTable que es de donde sacara la informacion de los items.
ge.BIND.ItemDescription = "ARTBODY";  //Le asigno el nombre de la columna en el DataTable que contiene la descripcion.

//le asigno el nombre de la columna en el DataTable que contiene el titulo.
ge.BIND.ItemTitle = "ARTTITLE";

//le asigno el nombre de la columna en el DataTable que contiene la url al articulo.
ge.BIND.ItemLink = "ARTLINK";

//Le asigno el DataTable que contiene los datos.
ge.BIND.Item_data_source = GetData();

//Al invocar este metodo se genera el documento xml representando el rss en la propiedad RESULTS
ge.Build();

Hay funcionalidad especial para asignarle la url al item rss. Si no se tiene la url del item rss almacenada en una base de datos, sino que se construye,  agregando un metodo al evento OnCustomItemLink hara que cada vez que la herramienta requiera de la url para asignarsela al item correspondiente, ejecutara dicho metodo en donde podemos construir la url y luego devolversela. Al igual que este evento, hay unos cuantos mas para las propiedades del item rss.

Un ejemplo de como usar estas caracteristicas personalizables:

//Agregamos el metodo al evento
ge.OnCustomItemLink += new rssChannelItemLinkHandler(CustomLinkProvider);

//El metodo se veria algo parecido al esto. El argumento es un DataRow que representa la fila en el DataTable
public Uri CustomLinkProvider(System.Data.DataRow cr)
{
    string idArt = Convert.ToString(cr["artid"]);
    return new Uri("http://anyei.com/articulos.aspx?id=" + idArt);
}
May 20 10

TWO DIGITS YEAR CUTOFF (UN ARREGLO PARA EL Y2K)

by admin

Bueno, no sabia que el sql server 2005 necesitaba una especie de arreglo para combatir “Y2K”. El two-digit-year que traducido al español seria algo como año-dos-digitos, ayuda a manejar “los problemas del y2k” ( que por cierto si me lo preguntan no se de que se tratan para ser sincero ), convirtiendo un año de dos digitos (digamos 90)  a un año de cuatro digitos (digamos 1990) basado en los valores dados.  Sql Server 2005 por defecto interpreta año de dos digitos como si ese año dado fuese del siglo 20. Podemos modificar ese comportamiento diciendole a Sql Server 2005 mediante el stored procedure sp_configure a cual centuria perteneceran los años de dos digitos.

Como?

Primero encendemos las opciones avanzadas de la manera siguiente:

exec sp_configure 'show advanced option',1

reconfigure

Luego entonces, ejecutamos el stored procedure sp_configure pasandole como primer parametro ‘two digit year cutoff” y luego le pasamos un año dentro del siglo el cual queremos poner ( digamos 2049 para el siglo 21 etc..)

exec sp_configure 'two digit year cutoff', 2049

reconfigure

Si decidimos pasar como segundo parametro 3049 en vez de 2049 entonces el año de dos digitos sera para el año tres mil (01/01/20 sera interpretado por Sql Server 2005 como 01/01/3020).

Abr 11 10

Bienvenido al blog Anyei.com

by admin

Bueno, este es mi primer post… ehh, que decirles.. pues nada. Bienvenidos a mi blog, espero que les sea provechosa las informaciones que encontraran aqui d(^_^)b.