Browse by Tags
All Tags »
Programación (
RSS)
Esto es bastante básico, pero a los usuarios más noveles puede que le resulte complicado y precisamente llegué a ello a raíz de la pregunta de un alumno hace poco… El caso es que los sistemas AS/400 suelen devolver los campos de fecha en un formato similar a este: 20110422, que es tal y como esta almacenado en la base de datos tipo texto. Es decir, el formato es YYYMMDD. ¿Cómo las conviertes en fechas de pleno derecho en .NET? Si es un campo de texto y siempre tiene este mismo formato exactamente (es decir, cuatro cifras para el año, 2 para el mes y 2 para el día) es muy fácil convertirlo en una fecha usando el método ParseExact de la clase DateTime : DateTime.ParseExact("20110422", "yyyyMMdd", CultureInfo.InvariantCulture...
En ocasiones resulta muy útil detectar desde tu aplicación Windows el hecho de que el usuario actual se esté conectando o desconectando a la sesión actual, o simplemente que se haya bloqueado el escritorio. Por ejemplo, si el usuario tiene el escritorio bloqueado es una tontería mostrarle mensajes o globos de notificación ya que no va a haber nadie para verlos ¿no? ¿Cómo podemos detectar estas circunstancias? La API de .NET dispone de un espacio de nombres especial llamado Microsoft.Win32 que contiene clases que encapsulan funcionalidad atada al sistema operativo Windows. Dentro de este espacio de nombres existe una clase llamada SystemEvents que ofrece multitud de eventos estáticos que nos permiten responder a diversas cuestiones que ocurren...
Este es un truco sencillo pero útil que puede ayudar a hacer más amigables las fechas de cara a los usuarios. Generalmente cuando mostramos una fecha y hora en una de nuestras aplicaciones tendemos a mostrar este dato de la forma habitual, es decir, visualizando la fecha y la hora en el formato que sea apropiado para el idioma y país actuales. Sin embargo para la mayoría de los usuarios esta información no les dice gran cosa y tienen que fijarse y hacer cálculos mentales para hacerse una idea de cuándo es exactamente ese evento, sea en el pasado o en el futuro. En este sentido sería mucho más útil mostrarle al usuario una fecha indicada de un modo más amigable, relativo al momento actual y de forma que resulte más informativa para el usuario...
Aparecido con la versión 2.0 de la plataforma, allá por 2005, el espacio de nombres System.Net.NetworkInformation resulta de gran utilidad a la hora de crear aplicaciones de diagnóstico de red basadas en la plataforma .NET. Gracias a las clases contenidas en éste podemos obtener información de todo tipo acerca de nuestros dispositivos de comunicaciones (tarjetas de red y otros adaptadores) de forma que resultaría fácil clonar algunas herramientas de diagnóstico del sistema operativo para adaptarlas a nuestras necesidades. En su día, ya hace muchos años, comenté lo fácil que era construir un clon de "ping.exe" para determinar el estado de un servidor remoto (si responde o no). También es sencillo responder a cambios en la conectividad...
Cuando se trabaja en programación paralela o multisubproceso, una palabra que sale a colación cada dos por tres es "deadlock" (o un "interbloqueo" en castellano). Muchos porgramadores principiantes tienen dudas sobre qué son y cómo se pueden producir, por lo que, a raíz de la pregunta de un alumno de mi curso de fundamentos de C# y .NET , me he decidido a escribir algo que lo explique de manera simple pero efectiva. Un deadlock , es una situación difícil de reproducir , y se dará sólo en algunas circunstancias muy concretas , por eso son situaciones muy difíciles de prever y de depurar. Un ejemplo clásico de interbloqueo es el de una cuenta bancaria. Consideremos el caso de una clase para transferir dinero entre cuentas bancarias...
Esta pregunta surgió el otro día en uno de mis cursos on-line de campusMVP y la verdad es que es bastante interesante, no tanto porque sea especialmente difícil de hacer, si no por las implicaciones que tiene su aplicación en la práctica. La idea está muy bien: dado que estoy almacenando objetos de mi programa en disco (o enviándolos a través de la red), si los comprimo debería ahorrar espacio en disco y/o ancho de banda . De hecho, la idea es tan buena que en ASP.NET 4.0 una de las novedades es que el almacenamiento de sesión fuera de proceso (es decir, cuando guardamos la sesión en un servidor de estado remoto o en un SQL Server), tiene una nueva opción para permitir la compresión de los datos antes de enviarlos para su almacenamiento o recuperación...
Algo muy habitual en los equipos de desarrollo Web es el dibujar maquetas de las pantallas y sus elementos, de forma que podamos transmitir mejor la idea de lo que queremos a los programadores que lo van a implementar. Esto es válido también para los clientes, que a veces no se hacen una idea de lo que les estamos contando si no lo ven dibujado. Este tipo de croquis o prototipos pintados a mano de las Webs (llamados generalmente wireframes ) son muy útiles, pero hacerlos realmente a mano es problemático porque no suelen quedar muy bien y luego muchas veces ni siquiera se hacen. Una herramienta especializada viene de maravilla para hacerlo mejor, más rápido y que quede de manera presentable. A continuación pongo una lista de productos, tanto...
Este es uno de los problemas/bugs más raros con los que me he topado en años, y puede llegar a ser desesperante. Si has llegado aquí a través de una búsqueda de Google porque tienes el problema que indico en el título del post, estoy seguro de que me vas a dejar una nota de agradecimiento por el consejo :-) Hace unos días hicimos una nueva plantilla estética para un cliente de nuestra plataforma de e-Learning, SELF . La plataforma tiene un sistema muy potente de plantillas estéticas que permite personalizar mucho la estética y parte de la funcionalidad de la interfaz. Se pueden asociar plantillas a los diferentes campus (entornos cerrados de formación) y también se pueden asignar muchas plantillas/fachadas diferentes a cada campus de forma que...
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...
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...
More Posts
Next page »