Datapayasadas

Octubre 26, 2009

Feliz Cumple Matías!!!

Archivado en: Uncategorized — pabloide86 @ 9:37 am

Te deseamos lo mejor! Que los cumplas muy feliz!!!

Saludos!

Octubre 25, 2009

Actualizador (2da Parte)

Archivado en: .Net, C#, Desarrollo — Etiquetas:, — Matías @ 12:11 am

En el artículo previo (Actualizador 1era Parte) llegamos a definir la estructura iba a tener nuestro archivo de actualizaciones, ahora solo nos falta descargar esa información, parsearla y hacer algo útil con ella.

Recuerden que el formato a utilizar en dicho archivo será el siguiente:

ruta relativa y nombre de archivo : versión

donde la primer parte antes de caracter : es la ruta relativa tanto remota como local; y la segunda es la última versión disponible.
Veamoslo con un ejemplo que va a ser más fácil de entender. Suponiendo que mi programa consiste de los siguientes archivos:

C:\Mi Programa\EjecutablePrincipal.exe
C:\Mi Programa\una_carpeta\OtroArchivo.dll
C:\Mi Programa\otro path con espacio\Lala.dll

En el servidor de actualizaciones tendríamos:

http://miservidor.algo/actualizaciones.txt
http://miservidor.algo/EjecutablePrincipal.exe
http://miservidor.algo/una_carpeta/OtroArchivo.dll
http://miservidor.algo/otro path con espacio/Lala.dll

(más…)

Octubre 22, 2009

Pimp my Visual Studio / Enchúlame el Visual Studio

Archivado en: Boludeces, Desarrollo, Herramientas — Etiquetas: — Matías @ 12:34 pm

Levante la mano aquel que todavía no se cansó de ese fondo blanco con letras negras y colores apagados con el que Visual Studio nos tiene acostumbrados desde tiempos inmemoriales. O si sos uno de esos que ya no aguanta más tener los ojos en compota cada vez que te quedas hasta tarde programando, donde la única fuente de luz es la brillante pantalla de tu notebook o desktop; o si simplemente mirabas Pimp My Ride y te gusta llevarlo a cada extremo de tu vida, hoy tengo la solución para ustedes, y no involucra ningún ¡llame ya!.

Ragnarok Grey

Ragnarok Grey

(más…)

Octubre 20, 2009

Actualizador (1era Parte)

Archivado en: .Net, C#, Desarrollo — Etiquetas:, — Matías @ 10:17 am

Buenas,

Esta es la primera parte de una serie de artículos en los que voy a mostrarles como hacer su propio Actualizador para utilizar en sus programas. Todavía no he decidido de cuantas partes va a constar, porque en realidad no he planificado nada, así que si después terminan siendo solo dos, ¡quedan avisados de antemano!.

Comencemos

Por lo general, siempre que creamos un programa y lo liberamos al público, vemos al (poco) tiempo la necesidad de hacerle algunos retoques ya sea por la aparición de bugs (si, si, aparecen de la nada, no es que estaban y los pasamos por alto, jajaja) que nos reportan nuestros usuarios o porque queremos agregarle nuevas funcionalidades. Sea por lo que sea, una parte importante para mantener un software estable es la capacidad del mismo para informar la existencia de nuevas versiones o mejor aún, auto actualizarse simplificándole la vida al usuario.

(más…)

Octubre 19, 2009

IDataPayasadas: Trabajando con Interfaces

Archivado en: C# — Etiquetas:, — pabloide86 @ 9:00 am

Buenas amigos! Hoy vamos a hablar un poquito sobre el uso de interfaces. ¿Qué son? ¿Para qué sirven? ¿Cómo usarlas? Éstas son algunas de las interrogantes que intentaremos responder.

¿Qué son?

Las interfaces son un conjunto de miembros abstractos (es decir, que no proveen una implementación por defecto) definidos bajo un nombre. Dichos miembros pueden ser por ejemplo métodos.

¿Para qué sirven?

Las interfaces expresan un protocolo o un comportamiento que las clases o estructuras deben implementar. Podemos pensarlo como un contrato que aceptan las clases si quieren implementar ese protocolo.

¿Cómo se usan?

Veamos un ejemplo para aclarar el panorama. Supongamos que tenemos la siguiente interface:

(más…)

Septiembre 15, 2009

Hack Reporting Services 2005 y la división por cero

Archivado en: Reporting Services — Etiquetas:, , , — pabloide86 @ 9:14 am

Buenas amigos… me he encontrado con este problemita de la división por cero en Reporting Services 2005.

Lo primero que pensé fue en hacer algo como esto:

=IIF(Fields!Numerador.Value <> 0, (Fields!Numerador.Value) / (Fields!Denominador.Value), 0)

Pero resulta que el IIF siempre ejecuta tanto la expresión de la parte verdadera como la expresión de la parte falsa y por eso siempre va a devolver #Error.

Ahora bien, una pequeña chanchada que podemos hacer para evitar ésto es:

=IIF(Fields!Numerador.Value <>  0, (Fields!Numerador.Value) / (IIF(Fields!Denominador.Value <> 0, Fields!Denominador.Value  0, 1), 0)

Qué fue lo que hicimos? Simplemente engañamos al IIF cuando el denominador es 0. Cuando eso ocurre de todas formas el primer IIF va a devolver 0 pero ya la expresion (Fields!Numerador.Value) / (Fields!Denominador.Value) no va a dar #Error ya que estaríamos dividiendo por 1 y no por 0.

No es lo mejor ni lo mas óptimo, pero remitiendome a las palabras de mi amigo Carlos A.:
“Primero que funcione, despues que funcione bien, y por último que funcione como uno quiere.”

Salutes!

Septiembre 11, 2009

Recuperar el QueryString en un WebPart de SharePoint

Archivado en: ASP.NET, C#, SharePoint — Etiquetas:, , , — pabloide86 @ 4:01 pm

Para recuperar un parametro del QueryString en un WebPart de SharePoint:

Supongamos que queremos recuperar el valor de tipo int del Parametro IdProyecto en el QueryString:

using System.Web;
.
.
.

int idProyecto = Convert.ToInt32(HttpContext.Current.Params["IdProyecto"]);

Espero que les sirva. Saludos!

Parámetros Multivalor con Reporting Services 2005 y ASP.NET ReportViewer

Archivado en: .Net, ASP.NET, C#, Reporting Services — Etiquetas:, , , — pabloide86 @ 3:21 pm

Buenasss como les va? Esta vez me trae por aquí este tema de los reportes. Resulta que me han pedido que haga un reporte donde pueda filtrar los valores a mostrar en el reporte pero desde el Report Viewer en una página Aspx…

Empecemos por el reporte. Supongamos que tenemos un reporte que debe mostrar un listado de proyectos y quiero elegir cuales mostrar y cuales no.

(más…)

Junio 4, 2009

Response.Redirect en una ventana nueva

Archivado en: ASP.NET — pabloide86 @ 1:11 pm

Buenas. Hoy me topé con un problemita. Tenia que abrir en una ventana nueva una página pasandole un parametro por query string. Como lo estaba haciendo del lado del servidor me encontré con que Response.Redirect no tiene forma de pasarle el target ya que esto es un concepto del lado cliente.

Por suerte encontré este snippet que funcionó:

Response.Write("<script type='text/javascript'>window.open('TuPagina.aspx?parametro=1');</script>");

La desventaja que tiene esto es que se produce un Postback en la página que hace el llamado. Si necesitamos generar la URL en forma dinámica esta es una buena alternativa. Espero que les sea útil!

Saludos

Obtener WorkItems de TFS mediante código C#

Archivado en: .Net, TFS — Etiquetas:, — pabloide86 @ 12:53 pm

Recientemente me tocó armar una pequeña aplicación que debía tomar desde el repositorio de Team Foundation Server los items de trabajo de todos los proyectos asignados a mí, que no hayan sido completados o eliminados.

(más…)

Entradas más antiguas »

Blog de WordPress.com.