RSS 2.0 Atom 1.0 CDF  
JASoft.org - Freeware
El blog de José Manuel Alarcón Aguín. Programación .NET y mucho más...
 

Hace unos meses hice una utilidad llamada FileEncodingConverter que permitía cambiar la codificaicón en masa de los archivos de una carpeta y sus subcarpetas. Toda la información aquí.

Esta utilidad sólo buscaba archivos de texto o HTM porque era loq ue me hacía falta a mi en ese momento. A raíz de varias peticiones que tuve, ahora he hecho unas modificaciones pequeñas para añadirle la capacidad de decidir qué archivos queremos procesar. Así, ahora hay un tercer parámetro opcional que te permite especificar una o varias plantillas de nombres de archivo a buscar. Si no le pones nada funciona igual que antes, pero puedes especificar, separados por comas, qué tipos de archivos quieres transformar. Por ejemplo:

FileEncodingConverter C:\MisArchivosDedatos ANSI *ES*.xml,*.txt,*.htm*

Esto transformará a codificación ANSI todos los archivos XML cuyo nombre contenga las letras 'ES', además de todos los de texto así como los HTM (tanto .htm como .html). Puedes usar los comodines que quieras separándolos con comas. Además del '*' vale también usar la letra '?' para representar un caracter cualquiera.

Lo puedes descargar desde aquí: FileEncodingConverter.

Es un programa de consola 8línea de comandos). Si lo ejecutas sin parámetros te ofrecerá información sobre como usarlo.

Espero que ahora resulte más útil.

Monday, March 03, 2008 5:09:52 PM (Hora estándar romance, UTC+01:00)  #    Comments [2]   Freeware  |  Trackback

Estos días he estado trabajando unas cuantas horas de mi (poco) tiempo libre en una idea que tuve ya hace bastante tiempo. Se puede resumir con sólo una frase: crear una pequeña biblioteca JavaScript que, añadida a tu página Web (PHP, ASP, ASP.NET...) la dotará automáticamente de funcionalidad AJAX, sin que tengas que escribir ni una sola línea de código.

Pensé que iba a resultarme mucho más dificil, pero lo cierto es que ha sido bastante fácil de conseguir.

Ahora ya la puedo presentar para que el que quiera se descargue el resultado: AJAXInterceptor 0.5 Beta.

Sólo con añadir este pequeño módulo JavaScript al final de tus páginas consigues que los envíos de tus formularios se intercepten (de ahí el nombre), y en lugar de enviarse la petición al servidor de la manera normal, se hacen de manera asíncrona y en un modo suave estilo AJAX.

Dado que es una biblioteca de lado de cliente funcionará con cualquier tecnología de servidor: ASP.NET, PHP, JSP, Classic ASP... e incluso con archivos locales HTM. No obstante sólo lo he probado con aplicaciones ASP.NET y ASP 3.0 (por favor, mándame un correo si lo pruebas con otra tecnología de servidor),

He incluido extensibilidad en el módulo de modo que puedes añadir fácilmente tus propios indicadores de progreso personalizados (he incluido varios) y mostrar mensajes de error de la forma que prefieras (por defecto muestra una ventana de alerta para los errores).

La biblioteca funciona interceptando el envío de los formularios. Soporte tanto formularios enviados automáticamente (con botones de envío o la tecla 'enter'), y envíos de formularios hechos mediante código llamando al método submit(). Respeta además los posibles manejadores del evento onsubmit que hayas creado, por lo que puedes hacer la validación de formularios de la manera habitual (he buscado que sea lo más transparente posible).

Resumen de características:

• AJAXificación de aplicaciones Web sin escribir código
• Soporte de cualquier tecnología Web incluyendo ASP.NET, JSP, PHP, ASP 3.0...
• En ASP.NET soporte cualquier tipo de postback: directos y por código.
• Funciona en cualquier navegador moderno que soporte AJAX.
• Soporte el envío cruzado de formularios, es decir, puedes enviar la información a otras páginas diferentes dentro del mismo dominio. Si todas las páginas de tu sitio tienen AJAXInterceptor incluido (por ejemplo porque lo metes en una Master Page o en una plantilla) puedes tener todo el sitio AJAXificado.
• Respeta tus manejadores de evento de onsubmit.
• Soporta la historia del navegador de forma que tus usuarios pueden pulsar el botón "Atras" en el navegador y volver a la página anterior aunque la actual haya sido cargada con AJAX.
• He incluido dos versiones del módulo:
    - AJAXInterceptor.js: comentado por completo. Útil para depurar apliaciones.
    - AJAXINterceptor_r.js: versión reducida de tamaño. Se descarga más rápido ya que sólo ocupa 2.6 kB. Es mejor usar esto en aplicaciones en producción.
• Muestra y oculta automáticamente indicadores de progreso personalizados.
• Soporta la cancelación de las peticiones.
• Soporta la visualización personalizada de mensajes de error.
• Soporta cualquier formulario que haya en una página (si hay varios).

Obviamente no es un sustituto de una API potente como ASP.NET AJAX de Microsoft, PHPLiveX o AJAX.NET, pero te permitirá añadir soporte AJAX a tus aplicaciones en unos segundos y sin escribir código. ¡Dale una oportunidad y pruébalo!

En el ZIP encontrarás el módulo, un ejemplo de uso con ASP.NET y un PDF con la documentación de ayuda.

Me gustaría mucho que me escribieses en caso de que lo llegues a usar en alguna aplicación real o si lo mejoras con nuevas características. Usa el enlace "Contacto" que hay en el lateral de esta página para enviarme un e-mail.

Descargar: AJAXInterceptor 0.5 Beta (834 KB) ¡Freeware!

Actualización: Hoy (16/1/2008) he añadido el proyecto a CodePlex: http://www.codeplex.com/AJAXInterceptor. A partir de ahora las modificaciones y añadidos (de haberlos) irán apareciendo allí.

Saturday, January 12, 2008 5:30:43 PM (Hora estándar romance, UTC+01:00)  #    Comments [3]   AJAX | Freeware  |  Trackback

These last days I've been working a few hours of my spare time on a idea I had long time ago. It can be summed up in just one sentence: to write a small JavaScript library that added to your Web page (PHP, ASP, ASP.NET...) will enable it to be AJAX-enabled without you needing to write a single line of code.

I thought that it would be more difficult, but the fact is that it's been quite easy to achieve.

Now I can present it for you to freely download the result: AJAXInterceptor 0.5 Beta.

Just by adding this small JavaScript module to the end of your web pages, you get your form's submissions intercepted and, instead of sending request to the server in the usual way, they are done asynchronously and in an AJAX-style smooth way.

As long as it is a client-side library it will work with any server technology: ASP.NET, PHP, JSP, Classic ASP... and even with local HTM files. However I've only tested it against ASP.NET and ASP 3.0 applications (please, drop me a line if you test it with other server technologies).

I've included extensibility so that you can add easily your own progress indicators (several included) and show error messages the way you prefer (by default it shows an alert).

The library works by intercepting the submission of forms. It supports automatically submited forms (with submit buttons or the 'enter' key), and form submissions doing by code calling the submit() method. It respects the possible onsubmit event handlers you may have, so you can make your form validation as usual.

Features summary

• No-code AJAXification of web apps
• Supports any server technology, including ASP.NET, JSP, PHP, ASP 3.0...
• In ASP.NET it supports all kinds of postbacks: direct and by code.
• Works in any modern browser that supports AJAX.
• Supports cross-posting of forms, that is, you can send the information to any web page in the same domain. If all your web pages have AJAXInterceptor included (for example, you include it in your master page or template) you can hace
• Respects your custom onsumit event handlers.
• Supports browser history so that your users can hit the previous button and get the last rendered page.
• Two versions of the module:
    - AJAXInterceptor.js: full commented one. Useful for debugging purposes.
    - AJAXINterceptor_r.js: reduced-size version. It downloads faster as it only is  2.6 kB in size. It's better to use this on production apps.
• Automatically show/hide custom progress indicators.
• Support for cancelling operations.
• Support for custom message displaying.
• Supports any form in your page

Obviously this is not substitute at all of full-fledged APIs like Microsoft's ASP.NET AJAX, PHPLiveX or AJAX.NET, but will let you add AJAX support to your apps in a few seconds and without writing any code. Just give it a try!

In the ZIP you will find teh module, a working sample with ASP.NET and a PDF with the help documentation.

I will be very glad if you drop me a line in case you use AJAXInterceptor in any real-world application or if you enhance it with new features. Just use the 'contact' link in the left side of this page to send me an email.

Download: AJAXInterceptor 0.5 Beta (834 KB) ¡Freeware!

Update: Today (1/16/2008) I've added the project to CodePlex: http://www.codeplex.com/AJAXInterceptor. Next releases and additions (if any) will be added there.

Saturday, January 12, 2008 5:21:42 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   AJAX | Freeware  |  Trackback

Ayer tuve la necesidad de hacer uncambio de codificación masivo de archivos para un proyecto. El caso es que tenía varias decenas de archivos de texto y HTML distribuidos en varios niveles de carpetas. Éstos estaban codificados como UTF-8 y necesitaba disponer de los mismos con codificación ANSI. Dado que es un problema que se puede presentar a menudo en empresas como la nuestra que maneja muchos contenidos decidí escribir una utilidad que hicera conversiones entre diferentes tipos de coficación. Así que mientras veía un par de capítulos de CSI (no me pueden dejar de rodrgíguez, si ya lo digo yo) escribí esta pequeña utilidad que estoy seguro que a muchos les puede resultar de ayuda.

Se trata de FileEncodingConverter.exe. Es una aplicación de consola que toma como parámetros la ruta base que contiene nuestros archivos y, opcionalmente un tipo de codificación a la que queremos convertirlos. Acepta rutas relativas a la carpeta actual y rutas absolutas.

Los tipos de codificación soportados son los siguientes: ANSI, ASCII, Unicode, UnicodeBI (Big Indian), UTF32, UTF7, UTF8.  No se distinguen mayúsculas y minúsculas. Si omitimos la codificación se usará ANSI.

Lo que hace es recorrer la carpeta base especificada y todas sus subcarpetas y transforma todos los archivos con extensiones .htm, .html y .txt a la codificación de destino especificada. Sólo transforma un archivo si es necesario, puesto que si ya está guardado con la codificación especificada no pasa el trabajo inutilmente. Muestra un progreso de los archivos que va transformando, y al final muestra un resumen de lo que ha hecho.

Así, por ejemplo, para transformar todos los archivos de una carpeta y sus subcarpetas de su codificación actual a Unicode Big Indian escribiríamos:

FileEncodingConverter C:\Micarpeta UnicodeBI

o para convertir todos a ANSi valdría con poner:

FileEncodingConverter C:\Micarpeta

Si no ponemos nada o uamos los parámetros /? o -? muestra una ayuda básica por consola.

Te lo puedes descargar desde aquí: FileEncodingConverter (3,73 KB). Necesitarás la versión 2.0 o superior de .NET instalada.

¡Que lo disfrutes!

Tuesday, September 11, 2007 7:44:33 PM (Hora de verano romance, UTC+02:00)  #    Comments [4]   Freeware  |  Trackback

El otro día me topé de casualidad con un post de Daniel Fisher que hablaba de una pequeña utilidad que había escrito para lanzar el servidor Web que viene con Visual Studio 2005 para cualquier carpeta. Su código lo había adaptado de otro hecho por Chris Fraizer.

El caso es que la he retocado un poco, la he "castellanizado" y he hecho que funcione bien el lanzamiento final de Internet Explorer, además de ofrecer un archivo de registro válido. El resultado lo puedes descargar desde aquí (11,8 KB), y el código fuente desde aquí (27,1 KB).

Descarga el primer archivo con el programa y descomprímelo en C:\Windows o análogo (en el raíz de tu sistema, vamos, aunque puede ser en cualquier carpeta que esté en el "path" del sistema). Haz doble clic sobre el archivo CassiniAqui.reg. A partir de este momento tienes una nueva opción en el menú contextual de las carpetas en el explorador de Windows: "Lanzar la web de esta carpeta"

Si utilizas esta opción se abrirá el servidor integrado que viene con Visual Studio 2005 o Visual Web Developer 2005 Express Edition. Se pondrá a escuchar en un puerto aleatorio (igual que pasa con Visual Studio) y se abrirá el navegador predeterminado yendo directamente a la nueva web que hemos creado al vuelo.

El servidor de VS2005 es una versión modificada del servidor Cassini. Por eso he bautizado la utilidad como "CassiniAqui".

A mi me parece muy útil ya que no necesitarás abrir Visual Studio para probar ciertos cambios o para ver qué demonios hacía una página determinada de una de tus aplicaciones.

Si no usas Visual Studio 2005 (sigues con Visual Studio 2003) y aún así quieres hacer algo similar lo tienes fácil: descárgate el servidor Cassini con el enlace anterior y retoca el código de CassiniAqui para que en lugar de usar la versión modificada de VS2005 use directamente Cassini. Lo recompilas con VS2003 y ya está.

¡Que te aproveche!

Friday, December 16, 2005 9:07:00 PM (Hora estándar romance, UTC+01:00)  #    Comments [0]   Freeware | Programación  |  Trackback
Page 1 of 2 in the Freeware category Next Page
Copyright © 2008 José Manuel Alarcón Aguín. All rights reserved.