in

ASP.NET Weblogs

This Blog

Syndication

ASP.NET Espanol Blogs

Browse by Tags

All Tags » Programación (RSS)
  • Volta: desarrollo de aplicaciones Web usando sólo los materiales que tienes en la habitación

    Ese es el original eslógan de la nueva herramienta de desarrollo Web salida de los laboratorios de Windows Live y de Microsoft Research . Se trata de Microsoft Volta , una serie de extensiones y bibliotecas para Visual Studio 2008, presentada oficialmente hace 4 días. La novedad de este interesante proyecto es que permite desarrollar aplicaciones Web sin importarnos si su funcionalidad se va a ejecutar en el cliente (navegador) o en el servidor. Nosotros desarrollamos y es más tarde, antes del despliegue, cuando decidimos de qué forma distribuimos todas las capas de la aplicación. Así, podemos decidir que una determinada funcionalidad se ejecute en el servidor por ser más compleja y con menos necesidad de inmediatez, mientras qeu por otro lado...
  • Burradas de programadores: ¿la clave de licencia, por favor? Aquí está. De nada...

    Esta es otra de esas buenísimas que cuando las veo no me puedo resistir a contar aquí, para que veamos que siempre hay quien supera al resto en algo :-D Resulta que un programa cuya licencia había caducado, al arrancar le mostraba al usuario un mensaje de error sin permitirle continuar y ni siquiera recuperar algunos datos que tenía dentro. Investigando un poco en la carpeta de archivos del programa con la esperanza de encontrar la base de datos del programa e intentar extraer la información de allí con un poco de esfuerzo se encontró un archivo llamado Licence.key . Como es de esperar (yo hubiera hecho lo mismo) abrió el archivo -que era de texto- y encontró el siguiente contenido: ! Legalese Pro License File - Do Not Modify ! Generated Mon...
  • Reproducir MP3, vídeo y otros tipos de archivos con .NET

    En mis dos anteriores post comentaba la manera de reproducri archivos de sonido del sistema con .NET, tanto en la versión 1.x como en la 2.0. En el último un visitante preguntaba cómo podemos reproducir MP3 desde .NET. La solución más sencilla es la de toda la vida: recurrir a la API de MCI para hacerlo. MCI es el acrónimo de Media Control Interface . se trata de una API basada en comandos de texto que permite controlar los diferentes dispositivos multimedia de reproducción y grabación que hay en el sistema. Gracias a MCI podemos reproducir vídeo, audio, CDs, MIDI, etc.. . así como grabar desde micrófonos, cámaras y demás, todo ello de forma estándar e independiente del dispositivo real que haya detrás. La única función importante de MCI que...
  • Reproducir sonidos del sistema en nuestra aplicación .NET 1.x

    Este post surge a raíz del anterior en el que explicaba como reproducir sonidos en .NET 2.0 (viene muy facilito), ya que un asiduo lector de este blog ha preguntado cómo se harí en versiones anteriores. La respuesta a esta pregunta es: ¡usando la API de Windows! . Los que llevamos unos cuantos años programando con tecnologías Microsoft (los dinosaurios que usábamos ActiveX y estas cosas) estamos todos muy acostumbrados a usar la API de windows y no nos suena raro. En .NEt se sigue usando para algunas cosas, pero la verdad es que está todo tan mascado que pocas veces suele hacer falta. En este caso la función clave de la API MessageBeep . Esta función permite reproducir sonidos predefinidos del sistema con sólo pasarle su código numérico. Por...
  • Reproducir sonidos del sistema en nuestra aplicación .NET

    Este es un truco rápido para la tarde del sábado (estoy un poco vago), pero que seguro que a más de uno le resulta útil... ¿Te gustaría que, por ejemplo, cuando muestres un cuadro de mensaje se oiga el sonido del sistema adecuado a la situación?. Por ejemplo, lanzas un mensaje de error y que suene el sonido que el usuario tenga configurado para los errores. En .NET 2.0 es algo realmente fácil gracias a la nueva clase SystemSounds del espacio de nombres System.Media . Podemos escribir: System.Media.SystemSounds.Asterisk.Play() MessageBox.Show( "Error en la aplicación" , "Se ha producido un error xxxxx, blah, blah" , MessageBoxButtons.OK, MessageBoxIcon.Error) la primera línea hace que suene el sonido predeterminado de atención, consiguiendo un...
  • Excepción con 'ARITHABORT' al insertar datos en una base de datos SQL Server

    Este error me pasó el otro día en una aplicación que estoy desarrollando para una empresa de logística y me pareció lo suficientemente interesante como para reseñarlo aquí. El caso es que tienes un código de actualización INSERT normal y corriente de acceso a datos, escrito directamente con código ADO.NET, a través de un procedimiento almacenado o incluso mediante el uso de un TableAdapter de un DataSet tipado (por debajo es ADO.NET normal). Cuando vas a actualziar cualquier registro, de repente, te salta el siguiente error: INSERT failed because the following SET options have incorrect settings: 'ARITHABORT' Bueno. Esta excepción es el resultado resultado directo de una particularidad de SQL Server. El caso es que si tenemos una tabla que está...
  • Tipos anulables en .NET 2.0

    Una interesante característica nueva que ofrece la versión 2.0 de la plataforma.NET es la de "Tipos anulables" o, en inglés, "Nullable types". Se trata de un tipo especial de dato que permite que los tipos base por valor se puedan comportar como valores por referencia nulos cuando sea necesario (repasa mi post sobre tipos por valor y por referencia ). De este modo este nuevo tipo anulable permite representar valores concretos o la ausencia de valor. Por ejemplo, una variable de tipo 'int' siempre contiene un número entero. Aunque no le asignemos explícitamente nada, al ser un tipo base por valor siempre toma un valor por defecto, en este caso concreto un 0. Pero claro, un 0 no es lo mismo que decir 'esta variable no contiene valor alguno'. En...
  • Funcionalidad AJAX en el control GridView de ASP.NET 2.0

    Volviendo un poco sobre el tema de AJAX que ya he tratado en muchos de los post anteriores, voy a hacer un pequeño comentario respecto a dotar de funcionalidad similar a la esperada en un entorno AJAX cuando estamos usando el nuevo control GridView de ASP.NET 2.0. Como es sabido este estupendo control nos permite dotar de funcioalidades de paginación y ordenación de datos a un origen de datos sin necesidad de escribir código alguno. Lo que ya no sabe mucha otra gente es que, además, en la mayoría de los casos se puede conseguir esta funcionalidad sin tener que refrescar la página completa, al más puro estilo AJAX. De este modo al pulsar sobre la cabecera de la rejilla o al cambiar de página se recargan exclusivamente los contenidos de ésta,...
  • XHTML (y IV) - Uso del estándar desde ASP.NET 1.1

    Todo lo que he contado hasta ahora es estupendo si ya te has pasado a ASP.NET 2.0 y VS2005 Pero ¿qué pasa con los que todavía siguen usando la versión anterior, ASP.NET 1.1? Pues que están bastante fastidiados si necesitan XHTML, la verdad. Pero como casi todo en esta vida tiene solución y encima está en Internet ;-) los amigos de RiderDesing.com (especializados en sitios Web ecuestres, lo flipas) han creado un gestor de peticiones para ASP.NET 1.1 que se encarga de que las páginas hechas en ésta versión generen XHTML 1.1 Strict, incluso quitando el atributo 'target' de los enlaces y otras lindezas por el estilo. Y encima es gratuito (o eso parece). Por si fuera poco tiene otro más que genera XHTML 1.0 Transitional, para cuando no se necesita...
  • XHTML (III) - Validación desde el entorno de desarrollo

    Siguiendo con la serie iniciada hace poco sobre XHTML, y para terminarla, vamos a ver cómo establecer las opciones de validación de éste desde Visual Studio 2005. Cuando editamos una página en modo "Marcadores" (es decir, viendo el código HTML) el editor nos ayuda con "Intellisense" (es decir, adelantándose a lo que vamos a escribir para no tener que aprendernos los atributos y valores) y además valida los posibles errores de una manera similar a como lo hace Word cuando encuentra faltas ortográficas: subrayándolos con una línea ondulada de color azul: Además del subrayado también nos ofrece información sobre el error en el "Tooltip" que aparece cuando nos colocamos encima con el cursor, y si tenemos abierta la ventana de errores veremos una...
More Posts Next page »