jueves, 26 de noviembre de 2009

TaskList En Visual Studio

Muchos hemos intentado (sin éxito) hacer que en el TaskList aparezcan comentarios diferentes al tipo //Todo. Así es como me puse a investigar y la manera de realizarlo es la siguiente:

  1. Vaya a Tools->Options
  2. Environment->Task List
  3. Escriba en Name, el nuevo item a reconocer
  4. Escoja la prioridad
  5. Click en el botón Add
Si no tiene visible el Task List, vaya a  View->Task List (Ctrl+T).


Y ya ahora podrá ver listados los task (Comentarios en el código), justo como siempre lo había deseado :). Ya es posible ver listados los comentarios, algunos ejemplos pueden ser:

viernes, 20 de noviembre de 2009

LastWriteTime de un archivo difiere en una hora

Como siempre, nuevos problemas, nuevas soluciones. Cuando intentaba usar la propiedad



Me estaba retornando una hora más, comparado con Visual Basic y el mostrado en las propiedades del archivo (en el explorador de Windows). Encontré este post, pero no me ayudó en mucho :P

http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/20a95e84-ada7-4144-97d1-e6df3bbb5fcd

Después de algo de investigación, logré llegar a la raíz del problema: El IsDaylightSavingTime. Así que la solución que propongo es no usarlo :P. Para saltarse esto, se puede usar el UTC time y sumarle directamente el desplazamiento horario:



Nota: La clase TimeZoneInfo solamente funciona en el Framework 3.5 o superior

lunes, 9 de noviembre de 2009

Problemas con el Evento DateChanged en el MonthView Calendar

Estuve teniendo problemas similares a los de los siguientes posts:

http://bytes.com/topic/c-sharp/answers/428395-monthcalendar-datechanged-event-problem
http://www.groupsrv.com/dotnet/about215734.html

Este código presenta el problema descrito, que el evento se enclicla (loop), la línea que causa el problema es un MessageBox.Show o un UpdateBoldedDates (Puede haber otras instrucciones).



Nadie parece haber encontrado la solución, pero, creo que una aproximación que me funcionó es utilizar la función BeginInvoke con aquellas funciones que puede que disparen el evento de nuevo. El código corregido sería:



El BeginInvoke ejecuta el UpdateBoldedDates después de haber ejecutado el evento DateChanged, evitando así que se encicle. Espero que a alguien le sea útil.


Nota: El evento se dispara 2 veces, es por eso que se agrega la variable processedDate y se valida que sea diferente a la fecha de inicio.

domingo, 1 de noviembre de 2009

Integrar Twitter y Facebook

Bueno, no sé si muchas personas han tenido los mismos dilemas que yo, pero a veces imagino que sí, así que publico algo por si alguien se enfrenta a la misma situación. Como usuario del enviciante e interesante mundo de twitter, siempre me ha dado por escribir cosas que quiero compartir, aunque a veces dudo que a alguien más le interesen. Tiempo después, me hice un perfil en Facebook (por motivos que no voy a explicar) y lo primero que pensé fue en el hecho de que me gustaría publicar en mi estatus de facebook todo lo que pusiera en Twitter.

Hice lo que cualquier persona haría, busqué en las aplicaciones de Facebook y encontré estas 2:

1. Twitter
Esta aplicación postea todos tus tiwts en tu status de Facebook. Dependiendo de la manera en la que uses tu cuenta twitter, puede que te sirva utilizar ésta aplicación. En la descripción dice que la aplicación no postea los replies, pero a mi en varias ocasiones sí me ocurrió. Lo que sucede es que vas a publicar una entrada que quizá nadie va a entender (especialmente pq no van a saber a qué hiciste reply, ni van a tener contexto suficiente para deducirlo). Esto me hizo buscar otras alternativas...


2. Selective Twitter Status
Esta aplicación hace lo que promete, solamente los twits que desees van a ser posteados en tu cuenta en Facebook. Esto es muy útil, aunque no parezca a primera vista (para mí, ésta fue mi segunda opción), dado que evita que se publiquen muchas cosas que no deseas (seamos sinceros, en twitter, mucho de lo que dices es SPAM). Solamente se postean los twits que lleven el hastag #fb.

Por supuesto que ahora utilizo la segunda aplicación, pero tal vez a alguien le interese la primera. Espero que este post les sea de utilidad.

Importar un blog a tus notas en Facebook

FBueno, quizá no todo el mundo tiene un blog, pero para los que sí lo tienen, saben lo importante que es compartir tus publicaciones. Muchos de nosotros terminaremos haciendo un link en nuestro mensaje de Facebook y listo, sin embargo, sería mucho mejor si automatizaramos el proceso, no creen?

Usando las notas de facebook, es muy sencillo importar tu blog y así cuando escribas algo, se creará automáticamente una nota, en la cual posteriormente podrás etiquetar a tus amig@s en facebook, además aparecerá en tu estatus y será visible para tus contactos.

No sé si los logré convencer, pero si alguien está interasado, éstos son los pasos:


1. Visite el siguiente Link http://www.facebook.com/editnotes.php o vaya a su Perfil->Notas->Mis Notas->Importar Blog Externo.

2. Llene la información que le solicitan, es decir la dirección de su blog. Al incluir esta, son responsables del contenido que se publique y deben asegurar que poseen la propiedad del material (jeje, es decir, respeten la propiedad intelectual).






3. Ahora su blog se importará automáticamente a Facebook, ahorrandole tiempo :D . Por lo general las notas importadas se actualizan cada dos horas, por lo que puede ser que tarde un tiempo no mayor a éste en publicarse.

Que se diviertan y ojalá que aprovechen el tiempo que se ahorren, tal vez haciendo un interesante quiz en Facebook :D

miércoles, 28 de octubre de 2009

Descargar los Símbolos en Visual Studio

Muchas veces debugueando, nos topamos con un problema: Vemos el Call Stack, pero no podemos ver las llamadas internas del Framework de .NET. Hay varios trucos con los cuales podemos jugar, para poder obtener más información, ya sea en caso de una excepción o un evento.

1. Configurar el Symbols Server: Esto nos ayuda a descargar los símbolos de los dll's del framework de .NET (los .pdb), es con ellos que podemos ver las llamadas al mismo. Para ésto basta con seguir estos pasos:

  • En Visual Studio, ir a Tools->Options
  • En la ventana de Options, ir a Debugging -> Symbols
  • Agregar un Symbol File Location con la dirección http://msdl.microsoft.com/download/symbols
  • Configurar una ruta en la máquina local donde se van a almacenar los archivos



2. Opciones del CallStack




miércoles, 21 de octubre de 2009

Cómo desactivar la opción "Debug Only Just My Code" en Visual Studio

Muchas veces, cuando estoy debugeando (lo cual es muy usual) y necesito debuguear el código del designer para ahorrarme algo de tiempo, es entonces que la opción "Debug Just My Code"resulta molesta. Cuando esto pasa, tengo que ir al código y comentar la línea:

[System.Diagnostics.DebuggerNonUserCode()]

Esto se comienza a hacer molesto, pq tengo que detener el proceso, comentar la línea, compilar y volver a ejecutar, además de que tengo que tener cuidado a la hora de hacer un commit en svn para que esa línea no se vaya en el código. Es para ésto que deshabilité la opción Debug Just My Code. Con esto, ya puedo debuguear sin problema esas partes, y para mí, mas bien ésta debería ser la opción default.


Para deshabilitarlo vaya al Menu->Tools->Options y en el árbol de opciones de la derecha, buscar el de Debugging->General. Ahí se encuentra la opción "Enable Just My Code (Managed Only)", basta con deshabilitarla para poder debuggear sin problemas los designer de los forms o los user controls.