Liberado jachLog 2.3

Hoy se ha liberado la versión 2.3 de la biblioteca jachLog.

Puedes obtener más información sobre la biblioteca en el anuncio de jachLog v2.0.

Esta es una versión menor que introduce mejoras en el funcionamiento de la biblioteca.

Continuar leyendo «Liberado jachLog 2.3»

Liberado jachLog 2.2

Hoy se ha liberado la versión 2.2 de la biblioteca jachLog.

Puedes obtener más información sobre la biblioteca en el anuncio de jachLog v2.0.

Esta es una versión menor que ha corregido un par de bugs e introduce mejoras en el funcionamiento.

Continuar leyendo «Liberado jachLog 2.2»

Liberado jachLog 2.1

Hoy se liberó la versión 2.1 de la biblioteca jachLog.

Puedes obtener más información sobre la biblioteca en el anuncio de jachLog v2.0.

Esta es una versión menor que simplifica la integración de la biblioteca, soluciona problemas menores y agrega nuevos destinos visuales al log para ser utilizados en aplicaciones visuales de escritorio (Hay soporte para VCL y FMX). De las notas de la versión:

Continuar leyendo «Liberado jachLog 2.1»

jachLog v 2.0

jachLog es una biblioteca de código abierto que nos ayuda a integrar de manera super rápida una maquinaria flexible, estable y poderosa para la generación de entradas de Log a nuestras aplicaciones Delphi. Está disponible en github.com/jachguate/jachLogMgr.

Yo soy el autor de la biblioteca, que liberé bajo licencia MIT, sin mayores anuncios a mediados del año pasado. No hice muchos anuncios, porque la biblioteca, si bien es estable, probada y lista para poner en producción, estaba careciendo de una serie de características que he tenido en mente desde hace tiempo y no quería hacer tantos anuncios hasta que estuviera bien organizado, con un plan y algunas de dichas características ya integradas.

Recientemente he liberado la versión 2.0 de la biblioteca y creo que, si no la conocías, es tiempo que le eches un vistazo y veas si puede ser de utilidad en tus proyectos.

Sus principales características son:

Continuar leyendo «jachLog v 2.0»

TStopWatch y cómo medir tiempos con alta precisión con Delphi

Las versiones modernas de Delphi cuentan con la unidad System.Diagnostics que implementa la clase TStopWatch, un cronómetro de alta precisión con el que podemos medir fácilmente el desempeño del código que escribimos, con soporte multiplataforma.

TStopWatch es un registro que tiene métodos para iniciar, pausar y resetear el cronómetro (muy similar a los botones que encontramos en el cronómetro de pulsera promedio).

Cuando digo alta precisión, hablamos de que la resolución del cronómetro suele estar en el orden de los nano-segundos o incluso fracciones de nanosegundo (esta puede variar de un procesador a otro). En mi equipo de desarrollo actual (Corei7 8va Generación/Windows 10), el menor tiempo que he podido medir es de 0.1 nanosegundos, la idea básica sería algo como:

Continuar leyendo «TStopWatch y cómo medir tiempos con alta precisión con Delphi»

Código de ejemplo de la sesión de DataSnap en CodeRage América Latina 2014

CodeRage Latinoamérica 2014

En relación a mi presentación en el reciente CodeRage América Latina 2014, titulada:

Aplicaciones iOS y Android con soporte para arquitecturas Multi-capas utilizando DataSnap

Haciendo clic en el botón, puedes descargar el código del ejemplo que se desarrolló durante la misma
Continuar leyendo «Código de ejemplo de la sesión de DataSnap en CodeRage América Latina 2014»

Clase genérica para convertir una enumeración en cadena y viceversa

Una de las cosas que siempre olvido como hacer, y por lo mismo me toca hacer una búsqueda en Google para volver a escribir el código necesario, es como convertir una enumeración en un string y viceversa (EnumToStr, StrToEnum).

Esto es, primero, porque tradicionalmente hay que escribir una rutina distinta para cada tipo de enumeración que nos interesa, o peor aún, escribir una llamada directamente a GetEnumName/GetEnumValue, que son las que hacen el trabajo sucio.

También esto se debe, en parte, porque hasta ahora no se me había ocurrido la idea de valerme de los genéricos para tener un trozo de código que sea re-utilizable y meter mi rutina en alguna biblioteca de las que suelo tener a mano mientras escribo código.

Ya con la idea, y luego de algún esfuerzo, escribí la clase que ahora les comparto, pero primero, veamos su uso, que vendría a ser, por ejemplo:

begin
  Memo1.Lines.Add(
    TEnumConverter<TAlign>.ToString(Self.Align));
end;

Continuar leyendo «Clase genérica para convertir una enumeración en cadena y viceversa»

Delphi para Android es una realidad

AndroidHelmetHoy, a primera hora de la mañana, Embarcadero ha realizado el anuncio oficial de RAD Studio XE5, la primera versión de RAD Studio y Delphi que incluye soporte para compilar proyectos para Android, la plataforma móvil más utilizada en nuestros días. Este compilador viene a sumarse a los tradicionales compiladores para Win32, Win64, y a los más recientes, para OSX e iOS de la herramienta.

No puedo ocultar que estoy muy emocionado, con grandes expectativas para esta nueva versión de Delphi, sobre la que hay mucho por decir y en la que se enfocarán mis próximas publicaciones.

Por ahora, la idea de esta corta entrada, es hacer eco de la noticia y dejarte estos enlaces oficiales de Embarcadero, donde encontrarás más información (en inglés):

RAD Studio XE4 está aquí

delphihelmet100x100

El día de hoy ha sido anunciado oficialmente el lanzamiento de RAD Studio XE4 y Delphi XE4, cuya principal novedad es el soporte para desarrollo de aplicaciones nativas para iOS, basado en un nuevo compilador, conocido como nextgen que debuta en su versión para procesadores ARM, y utilizando FireMonkey3 como plataforma de desarrollo visual

Por ahora estoy corto de tiempo para entrar en detalles de esta nueva entrega, que son muchos, pero si estas interesado en el desarrollo multi-dispositivo, esta es, con seguridad, la versión de Delphi que estabas esperando, así que te invito a probarla!

Actualización del libro Programación paralela con OmniThreadLibrary

Portada del libroEl día de hoy, luego de algunos meses de espera, se ha publicado la versión actualizada del libro Programación paralela con OmniThreadLibrary.

Esta versión contiene ya culminado el capítulo 5: Sincronización, que habla sobre algunas primitivas de sincronización disponibles en la biblioteca, y vuelve a estar al día con la versión en Inglés. Todos los lectores anteriores pueden realizar la descarga de esta nueva versión sin costo alguno, desde su página de administración de compra, en Leanpub.com.

Si aún no has comprado el libro, ¿qué esperas? 😀

A %d blogueros les gusta esto: