JASoft.org

Cómo poner un tono de teléfono propio en Windows Phone 7.5 "Mango"

Cómo poner un tono de teléfono propio en Windows Phone 7.5 "Mango"
La nueva versión de Windows Phone 7, la 7.5 que es conocida como "Mango", tiene por fin una capacidad muy trivial pero que hasta ahora no era posible: la posibilidad de usar un archivo de sonido propio como todo del timbre del teléfono. En la versión original de WP esto no era posible. Sin embargo en Mango tampoco existe una forma muy intuitiva de conseguirlo, aunque sí es muy fácil. En el MarketPlace existen diversas aplicaciones que contienen tonos de audio que podemos elegir para incorporar al teléfono, ya que ahora conseguir eso mediante programación es realmente fácil. Pero ¿qué pasa si queremos usar nuestro propio sonido e incorporarlo sin complicarnos la vida?. Es muy sencillo conseguirlo usando Zune, aunque hay que saber el "truco". Condiciones Los sonidos de tono de llamada para el teléfono deben cumplir la siguientes condiciones: Formatos admitidos: MP3 y WMA, sin protección (DRM). Menores de 1 MB de tamaño Máximo 39 segundos de duración ... [Más]

Cómo detectar un cambio de sesión o que el usuario bloquea la sesión en Windows

Cómo detectar un cambio de sesión o que el usuario bloquea la sesión en Windows
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 en el sistema operativo: cambio de los ajustes de pantalla, agregar o quitar fuentes, que el equipo se está apagando o suspendiendo, cambios de preferencia de usuario, cambio de la hora del sistema, etc... Es realmente útil, y utiliza por debajo... [Más]

Recibir resultados de una página en otra: Transferencias y Cross-page posting

Recibir resultados de una página en otra: Transferencias y Cross-page posting
Hay ocasiones en las que tenemos una página muy poblada de controles que se deben mostrar en pasos sucesivos. Desde una simple recogida de datos que se haya complicado un poco, hasta varios pasos de un asistente, por ejemplo. Existen muchas maneras de solucionar esta situación y hacer que las páginas estén un poco más despejadas. Por ejemplo, podemos usar un control Wizard nativo de ASP.NET Web Forms. Sin embargo una forma mucho más natural de conseguirlo es recibir los resultados de la primera página en una nueva que los procesa y continúa el flujo de la aplicación. De hecho, en los paradigmas de programación convencionales (o sea, en todo lo que no sea Web Forms, incluyendo ASP.NET MVC pero también PHP, etc...) realmente es como se ha hecho siempre: unas páginas pasan datos a otras para procesarlos. Transferencia en el lado del servidor En ASP.NET disponemos de la instrucción Server.Transfer que nos permite derivar la ejecución actual de una página hacia otra, como si se ejecutase... [Más]

Mostrar fechas relativas estilo Facebook en nuestras aplicaciones

Mostrar fechas relativas estilo Facebook en nuestras aplicaciones
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 medio. Así, en lugar de mostrarles simplemente la fecha, resultaría mucho más útil decirles cosas como "Hace 3 minutos", "Dentro de 2 días" o expresiones similares. Incluso podríamos mostrarle ambas cosas, por ejemplo expresi... [Más]

Direcciones MAC y cómo obtener información detallada sobre tarjetas de red con .NET.

Direcciones MAC y cómo obtener información detallada sobre tarjetas de red con .NET.
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 con los eventos de la clase NetworkChange, como también expliqué en su momento, lo cual nos permite detectar cambios en la dirección IP o que se pierda la conexión a Internet por ejemplo. Direcciones MAC Ayer, para un experimento, estuve constr... [Más]

El examen 70-536 NO se retira

El examen 70-536 NO se retira
Desde que salieron las nuevas certificaciones para Visual Studio 2010 el año pasado, ya no es necesario hacer el examen de fundamentos de la plataforma .NET, el examen 70-536. Como ya he manifestado en multitud de ocasiones y también indicaba en el post del enlace anterior, personalmente me parece un grave error y creo que esto hará que las personas que se certifican ahora estén menos preparadas en la -tan necesaria- base que los anteriores. Pero aunque muchos se lo hemos dicho a Microsoft por escrito no nos han hecho ni caso. En cualquier caso la no necesidad de presentarse al 70-536 ha llevado a mucha gente a pensar que es un examen que ya no vale y que se va a retirar. Y me gustaría aclarar la situación para que no hay confusiones al respecto. El examen 70-536 no se retira Microsoft mantiene una página en Internet en la que informa exactamente de qué exámenes se retiran y cuando, con un año de antelación: http://www.microsoft.com/learning/en/us/certification/exam-dev.aspx#tab4 ... [Más]

Campos ReadOnly y InsertVisible en edición de datos con controles enlazados Web Forms

Campos ReadOnly y InsertVisible en edición de datos con controles enlazados Web Forms
En las rejillas (y en realidad en cualquier control enlazado a datos de ASP.NET Web Forms) es posible marcar algunos campos como de solo lectura estableciendo como verdadera su propiedad ReadOnly. Si establecemos un campo como ReadOnly, a la hora de editarlo se comporta como una etiqueta, es decir, se muestra de la misma manera tanto en modo visualización como en modo edición, normalmente en forma de etiqueta de texto que muestra el contenido del campo. Si se trata de una plantilla, ya no tendremos la propiedad ReadOnly y tendremos que sustituir el TextBox por defecto para edición por una etiqueta o similar en el caso de la plantilla de edición de registros, pero esto es otra historia. Bien, la cuestión es que este comportamiento tiene un efecto secundario que puede causarnos algunos problemas (o al menos despistarnos un poco según lo que esperemos) y es que los campos ReadOnly no se envían al servidor durante las inserciones y actualizaciones. Es decir, a todos los efectos es co... [Más]

Cómo usar expresiones regulares en las búsquedas de Visual Studio

Cómo usar expresiones regulares en las búsquedas de Visual Studio
Aparte de para las labores habituales de todo desarrollador (o sea, escribir código, jeje), Visual Studio es también una estupenda herramienta para procesar archivos, sobre todo cuando necesitas hacer cambios masivos en contenidos mediante buscar y reemplazar. Como te permite abrir muchos archivos y luego buscar cadenas sobre ellos usando expresiones regulares, puedes hacer cambios más o menos complejos con relativa facilidad. Sin embargo la sintaxis de expresiones regulares que admite difiere en bastantes cosas de la sintaxis habitual en la mayoría de los lenguajes de programación, como C#/.NET o JavaScript, por ejemplo. Para expresiones regulares básicas es igual y no tendrás problemas, pero hay otras cuestiones que, de entrada, resultarán más complejas porque cambia la sintaxis. Por ejemplo, imagina que tienes que cambiar todas las etiquetas <ul>  dentro de varios archivos HTML por etiquetas <ol>, para convertir todas las listas en listas ordenadas. Abrirías el ... [Más]

Cómo activar las búsquedas en SharePoint 2010

Cómo activar las búsquedas en SharePoint 2010
Si has creado un sitio de SharePoint 2010 y al utilizar el recuadro de búsqueda obtienes cero resultados y un mensaje de error que dice: "No se puede completar la búsqueda porque este sitio no está asignado a un indexador..." Entonces es que tienes el servicio de búsquedas de SharePoint detenido. Para activarlo tienes que abrir la Administración Central de SharePoint e irte al apartado de "Gestión de Aplicaciones", y dentro de éste a "Gestionar los servicios en el servidor": Una vez entre en este apartado verás que el servicio está detenido, por lo que debes pulsar sobre el botón de activarlo: Pulsa para aumentar En la figura es el segundo desde abajo. Al Iniciarlo se nos pedirá que configuremos algunas cosas: Se especifican los usuarios que se utilizarán para ejecutar el servicio y acceder a los contenidos (una descripción detallada de los permisos que necesitas la tienes aquí), se le otorga un nombre (y un servidor SQL Server q... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.