JASoft.org

Visual Basic 1.0 se desarrolló en la India

Visual Basic 1.0 se desarrolló en la India
Leyendo el blog de Curt Monash en ComputerWorld me he encontrado con una curiosidad que, a mi por lo menos, me ha sorprendido mucho... y es que al parecer la primera versión de VB la creó una conocida empresa de servicios profesionales de la India, y no Microsoft. Puedes leer el texto completo en Microsoft = biggest R&D outsourcer of all..

Cómo obtener el último autonumérico en distintos sistemas de base de datos

Cómo obtener el último autonumérico en distintos sistemas de base de datos
Cuando definimos un campo (normalmente una clave primaria) de una tabla de base de datos como Autonumérico lo que estamos indicando es que, el propio gestor dedatos, al introducir un nuevo registro en la tabla generará un valor consecutivo para la secuencia, aislándonos del problema que representaría el tener que hacerlo nosotros mismos (transacciones, bloqueos, etc...). Una vez insertado el registro en la mayor parte de las ocasiones es necesario averiguar qué valor se ha generado. Los SGBD más importantes del mercado ofrecen una forma sencilla de obtener este dato, aislándonos del hecho que desde que lo hayamos generado hasta que lo consultemos (dentro de la misma conexión) éste ya puede haber aumentado (en una inserción paralela de otra conexión). La forma de obtener esta información es la siguiente: · SQL Server 2000 o superior: SELECT SCOPE_IDENTITY() en SQL 7.0 y anteriores era SELECT IDENTITY() que aún funciona, pero que devuelve el último autonumérico generado en cualqui... [Más]

Pequeño toque de calidad en Visual Studio 2005

Pequeño toque de calidad en Visual Studio 2005
He de confesarlo, no lo sabía, pero es que aunque uso mucho el teclado miro poco para la pantalla y se me había pasado este detalle. Sin embargo hoy, leyende un artículo de Coding4fun, lo comentaba el autor y me he fijado. En los entornos multi-documento co pestañas para pasar de unos a otros se usa CTRL+TAB. Yo lo hago continuamente. En Visual Studio 2005 han ido un paso más allá y si pulsas esa combinación aparece un diálogo como este: Mantén CTRL pulsado y con TAB puedes ir variando la posición dentro de la lista de archivos en la que estás. Con las teclas del cursor podrás moverte de una lista a otra. Puedes moverte por los archivos o por las herramientas que tengas abiertas, obteniendo información en la parte inferior. En la versión en castellano de la Beta 2 el texto es demasiado largo y se solapa (míralo en la figura). Ya lo he notificado y supongo que lo solucionarán. En fin, una chorradilla pero que denota calidad y me ha parecido chulísima.

Nuevo espacio de nombres NetworkInformation - Ejemplo de Ping

Nuevo espacio de nombres NetworkInformation - Ejemplo de Ping
.NET 2.0 dispone de un nuevo espacio de nombres pensado específicamente para crear aplicaciones de diagnóstico de redes. Se trata de System.Net.NetworkInformation. En él encontramos clases para obtener información sobre las interfaces de red de un equipo, información trasegada por la red, recibir notificaciones (por ejemplo de que se ha modificado la dirección de una tarjeta), etc... Es muy interesante echarle un vistazo. A mi me ha gustado, para hacer un primer ejemplo, la clase Ping, que permite (claro está) hacer un "ping" ICMP a cualquier nodo de una red. Permite hacerlo de forma síncrona o asíncrona. En la versión anterior de la plataforma había que hacerlo "a pelo" y era bastante complicado. Ahora es sencillísimo. Por ejemplo, el siguiente código realiza cuatro pings a Google y devuelve los resultados de cada petición. using System.Net;using System.Net.NetworkInformation; IPAddress ip = IPAddress.Parse("66.249.87.104"); //GooglePing ping = new Ping();for (int i = 0; i < ... [Más]

Menús de Smartphone ocultables de verdad

Menús de Smartphone ocultables de verdad
En mi anterior post comentaba que los menús de aplicaciones escritas para Smartphone con la .NET Compact Framework tienen una serie de limitaciones entre las cuales se incluye la de que es "imposible" ocultarlos. Tal y como mencioné entonces, Microsoft recomienda deshabilitarlos y quitarles el texto. En este post precedente hice un ejemplo con una clase nueva para menús ocultables que seguía la recomendación de Microsoft. El resultado es bastante feo como se veía en las figuras y, la verdad, a mi no me convence en absoluto. Así, me planteé como tarea de entretenimiento para cuando tuviese un rato libre el crear un nuevo tipo de menú que sea ocultable de verdad. La primera idea que tuve fue recurrir a la API del sistema con Interop y utilizar algunas funciones nativas de manejo de menús pero se convierte en un lío demasiado gordo porque la clase MenuItem ni siquiera ofrece forma directa de averiguar el manejador del menú que gestiona. La idea que he seguido al final es mucho más se... [Más]

Idiosincrasia de los menús en aplicaciones para Smartphone

Idiosincrasia de los menús en aplicaciones para Smartphone
Como comenté el otro día he estado jugueteando con el desarrollo .NET para Smartphone y lo cierto es que me he encontrado con cosas, al parecer básicas, pero de las que no sabía nada. Por ejemplo de algo tan tonto como los menús. La aplicación de ejemplo que quería hacer era un pequeño editor de texto que guardara el contenido cifrado (primera sorpresa: nada de System.Security.Criptography en Smartphones, hubo que buscarsela vida). Añadí un formulario, un campo de texto multilínea, código para ajustar su tamaño (nada de docking tampoco) y un menú de Abrir, Guardar, Salir y este tipo de cosas... El entorno no se quejaba pero en cuanto ejecutaba la "aplicación" recibía una excepción del tipo NotSupportedException. Para más "INRI", la línea en la que lo indicaba era una tontería (asignaba el título del formulario sin más). ¡Misterio! Bueno, el caso es que al final el error estaba en otro lugar (error de VS2003 marcando su ubicación, pasa bastante a menudo) y tenía que ver con la forma ... [Más]

Desarrollo de aplicaciones .NET para Smartphone

Desarrollo de aplicaciones .NET para Smartphone
He de reconocerlo: nunca he desarrollado nada para ejecutarse en Smartphones. Sin embargo últimamente y dado que existe desde hace tiempo un SDK para .NET y Visual Studio 2003, he estado haciendo unas pruebecillas tontas para cogerle el puntito al desarrollo en esta plataforma. La verdad es que estoy bastante desilusionado. El desarrollo desde .NET para Smartphone es bastante limitado y desde luego ofrece un soporte mucho menor de .NET que la Compact Framework (CF) de un PocketPC. Para casi todo hay que recurrir a P-Invoke y llamar a la API, el soporte de controles es muy reducido, etc... La documentación del SDK para la CF no es que sea para echar cohetes tampoco, la verdad :-( La versión 2.0 de la Compact Framework unifica el desarrollo en ambos sistemas. Ahora está en fase beta (con VS 2005) y está muchísimo mejor, pero claro sólo sirve para terminales con Windows Mobile 5.0. En Pocket PC existe la posibilidad de descargar l a beta de la CF 2.0 y todo listo, pero los Smartphone... [Más]

Accidente y abandono

Accidente y abandono
Antes de nada gracias a las miles de visitas que haceis cada mes a este blog. Lo reconozco. Hace quince días o así que tengo el blog abandonado. En esta ocasión tengo una buena disculpa: estuve varios días de viaje y, justo el día que volví (el pasado viernes 17) tuve un accidente de moto que me envió al hospital. Me acaban de "soltar" hace un par de dias pero, aparte de esguinces, raspazos y golpes varios, tengo una mano rota. Ello me complica bastante hacer cualquier cosa y más en concreto escribir con el ordenador (la "sana" también está algo magullada y con rascazos), así que.... imagino que publicaré menos que de costumbre pues me supone bastante esfuerzo. En fin... Si puedo pondré cosillas en breve, incluso algo hoy mismo, que ya me apetece. Por cierto, por si a alguien le intriga; el accidente NO FUE CULPA MIA. Estaba con la moto parado en un semáforo en rojo y me embistió un conductor despistado (de coche) por detrás:  ¡a volaaaar!. Tuve mucha suerte, así que podré segui... [Más]

Cómo renombrar un archivo

Cómo renombrar un archivo
De acuerdo, se trata de un tarea bastante básica si sabes cómo hacerlo, claro, pero lo cierto es que es una pregunta que me hacen de vez en cuando amiguetes, visitantes, y demás.... Cuando te pones a buscar en las clases de entrada y salida de datos algo sobre renombrar un archivo, seguramente buscas algo así como un método Rename o similar. No existe tal método. El truco es que para renombrar un archivo lo que hay que hacer es... ¡moverlo!. Al mismo sitio pero con otro nombre. Así de tonto. Sabiendo esto la función renombrar sale directa: private static void RenameFile(string sFileFullPath,string sNewFileName) {  File.Move(sFileFullPath, Path.Combine(Path.GetDirectoryName(sFileFullPath), sNewFileName)); } Lo único que se hace es mover el archivo poniendo como destino la misma carpeta (se obtiene con Path.GetDirectoryName) pero un nombre diferente. ;-)

Cómo hacer autenticación Windows en Servicios Web (the easy way!)

Cómo hacer autenticación Windows en Servicios Web (the easy way!)
Haz una prueba.... Crea un servicio web sencillo (sumar dos números por ejemplo), y en IIS desactiva la casilla de autenticación anónima, dejando marcada alguna de las que exigen autenticación Windows. A continuación llama al servicio web desde un cliente cualquiera...  ¡Moooc! Falla, como es lógico, porque al contrario que al usarlo desde un navegador, no aparece un diálogo de autenticación que te solicite las credenciales. Entonces, ¿cómo hacemos? Lo normal es que queramos pasarle automáticamente las credenciales del usuario actual, para así validarlo y hacer la autorización en los métodos del servicio web en función de los roles a los que pertenezca. En realidad es muy sencillo conseguirlo, sólo hay que usar el siguiente código: servicioWeb.Credentials= System.Net.CredentialCache.DefaultCredentials; Esto hace que se le pasen las credenciales por defecto usando para ello un objeto de la clase NetworkCredential. Por cierto mucho cuidado al usar esto desde ciertos tipos de clie... [Más]

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

¡Sígueme en Twitter!

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.

Histórico