Embarcadero Delphi XE4

miércoles, 24 de abril de 2013 Sin comentarios
Share Button

A estas alturas seguro que ya estáis al corriente de que ya está disponible la nueva versión de Delphi. XE4. Aquí podéis acceder a la página oficial de Rad Studio XE4, donde se encuentra la información oficial de embarcadero de esta nueva versión.

Esta entrada pretende ser una recopilación de datos y enlaces sobre esta nueva presentación.

 

Shopsite_Header2_734x189_EN

Personalmente creo que es una versión como “de transición”, pero eso no impide que traiga bastantes mejoras y algunos nuevos detalles muy interesantes. No voy a entrar en la discusión de si es mejor sacar versiones más a menudo y con periodos “más dilatados”, y sé que cada una de estas opciones tiene defensores y detractores. Personalmente prefiero la primera, como ya he dicho otras veces, ya que la última desición (la de adquirir una versión o no) siempre estará en nuestra mano.

Continuar leyendo…

Una semana más… (18/04/2012)

miércoles, 17 de abril de 2013 5 comentarios
Share Button

Retomando la costumbre de analizar cosas relacionadas con este blog que van pasando durante la semana (o la quincena o el mes,…) vuelvo con una entrada más.

PortadaLibroEsta semana me ha llegado el anuncio de un nuevo libro publicado por Danysoft y de la mano de Francisco Charte. Gran noticia, ya no sólo por el libro en sí, sino por lo que significa. Desde hace un tiempo sólo hemos podido disfrutar de buenos libros sobre Delphi en Inglés. De un tiempo acá esa tendencia está cambiando de la mano de Danysoft. Primero con la publicación del libro sobre XE2, “La guía de Delphi” también de Francisco Charte y ahora con la publicación de “La guía de HTML5 Builder”.

47_web20_320x240_gmlib_thumb1Esta semana también se ha publicado la primera versión final (la v.1.0.0) de la librería de componentes GMlib de Cadetill. Para conocer más detalles de esta librería podéis leer la descripción completa (Español / Inglés) en la página de los componentes. Allí podéis ver la descripción, funcionalidades, clases y todo lo necesario para trabajar con ellos. Personalmente he trabajado con ellos y además de que funcionan muy bien, son un gran trabajo de diseño. Muy recomendables y superiores a algunos paquetes comerciales con un objetico similar.

Otra librería que últimamente ha sufrido “cambios” en su estado ha sido GH Freebrary de Alberto González. Renovada y que Al ha publicado con licencia Open Source. En esta publicación en los foros del club delphi, podéis ver la introducción de Alberto e información sobre la librería. En relación con esto, en los propios foros del clubdelphi se ha creado un nuevo espacio dedicado a esta librería, donde poder publicar ejemplos, dudas, mejoras,…

Siempre es bueno ver cómo nacen nuevos espacios de difusión para Delphi. Cuanta más información exista y cuantas más personas se decidan a publicarla mejor para los que trabajamos en Delphi. Y sobre todo, si además es en castellano. Esta semana he llegado a este blog “Aprendiendo Firemonkey”, de José Luis Rocha. Relativamente “joven”, pero espero que siga adelante.

Por último y para cerrar esta entrada, ayer mismo hemos empezado a escuchar campanas sobre la salida de la nueva versión de Delphi (XE4). Andreano Lanusse habla en su blog en que en apenas unos días saldrá esta nueva versión. Las mejoras sobre el compilador para iOS y FireDAC (que promete mucho) parece que serán las novedades más importantes de esta nueva versión.

NOTA: Al poco de cerrar y publicar la entrada, me ha llegado el pedido que tenía hecho. Ya tengo mi copia.  ;-)

HTML5 Builder

Un saludo y hasta la próxima.

Categories: Danysoft, Offtopic, Resumen Tags:

Juega con esta o cualquier otra web en 3D (Google Labs)

martes, 16 de abril de 2013 Sin comentarios
Share Button

Me encantan estas «cosas» que hacen la gente de Google. Tiene pinta de que se lo pasan bomba…  ;-)

[youtube BPMQb3DgQZ0 La web en Chrome Maze]

Enlace: http://www.chrome.com/maze/

Un saludo.

 

Categories: Otros Tags: ,

Persistencia de una estructura de clases.

viernes, 8 de marzo de 2013 9 comentarios
Share Button

core_data_image_1Esta entrada nace de una necesidad, la que he intentado explicar en el título, pero que tal vez, por la falta de espacio ha quedado «parca» y poco clara. Se trata de una estructura de clases almacenada en memoria y que utilizo en una de mis aplicaciones. Llegado a este punto tengo la necesidad de «respaldar» esta estructura  en disco, para posteriormente, desde este mismo programa o desde otro, poder recuperarla. Lo que comúnmente podemos llamar como un backup/restore.

Se trata de una estructura jerárquica de clases, en la que unas incluyen a otras y en la que además podemos encontrar listas de elementos. En una clase podemos encontrar propiedades de tipos simples (string, cadena), propiedades con objetos de otras clases y listas que almacenan objetos de otras clases.

Continuar leyendo…

Categories: Delphi, OOP, RTTI Tags: , ,

Feliz Cumpleaños Delphi!

jueves, 14 de febrero de 2013 5 comentarios
Share Button

Delphi acaba de cumplir la mayoría de edad. ¡¡Enhorabuena!!

Collage_Delphi2

Categories: Offtopic Tags: , ,

Felices Fiestas!

viernes, 21 de diciembre de 2012 2 comentarios
Share Button

Aprovecho la felicitación que hemos realizado las personas que formamos el Proyecto de DelpHispano, para desearos a todos los que visitáis este blog, unas Felices Fiestas.

Felicitación

 

Un saludo.

Categories: Otros Tags: ,

Programas multiidioma con Delphi

jueves, 25 de octubre de 2012 22 comentarios
Share Button

flags-all-countries_6130Ya he hablado en otras ocasiones de cómo generar un aplicación multiidioma en Delphi y de paquetes tanto comerciales, como los componentes siComponents, como de código abierto como GNU GetText. En esta entrada hablaba de ambos y explicaba cómo acometer este proceso.

Aplicación multiidioma con GNU GetText

Hace tiempo había revisado el sistema de internacionalizar aplicaciones de Delphi (en este caso en la versión 6) y no me pareció muy intuitivo, tal vez también por falta de algo de documentación. Por lo que he visto en las versiones nuevas, pocas cosas han variado en el proceso y en las herramientas que trae el IDE.

En este caso me he visto obligado por las circunstancias a utilizarlo, y aunque a priori me ha resultado un poco “confuso”, como en su momento, una vez puesto en marcha, el sistema la verdad es que no es complejo y funciona de forma bastante sencilla. Se echa en falta que determinados aspectos sean un poco más potentes, como el editor de traducciones o el repositorio y la forma en que funcionan. Estos dos elementos realizan su función pero son bastante básicos en comparación con otros paquetes que hay en el mercado.

El sistema de traducción de Delphi, se basa en añadir todos los recursos traducidos a una DLL; Una para cada idioma que necesitamos añadir a nuestra aplicación.


EL PROYECTO

Imagen44Para ver el proceso completo de internacionalización crearemos un proyecto sencillo, con dos formularios y veremos que es relativamente rápido montar toda la estructura para que funcione en varios idiomas.

Algunas etiquetas, un memo con algunos strings, unos botones y un segundo formulario para comprobar un ejemplo con más de uno y un TComboBox que nos permitirá modificar el idioma en tiempo de ejecución.

Una vez que tenemos nuestro proyecto funcionando, comencemos el proceso para añadirle dos nuevos idiomas, en este caso el catalán y el inglés, al que ya tiene por defecto (español o castellano).


INTERNACIONALIZACIÓN

Para ello lo primero que debemos hacer es añadir los 2 nuevos idiomas desde el menú de Project.

en la imagen inferior podéis ver las pantallas del asistente, aunque no tiene ninguna complicación y lo que hacemos con él es añadir los idiomas (tantos como necesitemos) a la aplicación.

internacionalizacion

Una vez finalizado el asistente, veremos que el IDE ha generado dos proyectos más (en nuestro caso) correspondientes a los idiomas que hemos seleccionado.

Imagen45

Podemos probar a compilar y grabar todos los proyectos.

Lo siguiente es comenzar a traducir las cadenas para poder utilizar múltiples idiomas en la aplicación. El editor de cadenas es similar a muchas otros aplicaciones que hay para esta función. Se trata de una pantalla que nos muestra las cadenas actuales y donde debemos introducir las cadena introducidas.

Para acceder al “Translation Manager” podemos hacerlo desde el menú en: “Project / Languages / Update resource DLLs”.

Imagen47

En esta pantalla vemos a la izquierda la estructura del proyecto y los diferentes formularios que lo componen. A la derecha la zona que nos permite traducir las diferentes cadenas. Hay columnas que identifican el elemento (ID), la que contiene las cadenas en el lenguaje original de la aplicación y la que contendrá las cadenas traducidas, en este caso con el título de “Inglés (estados Unidos)”.

He marcado en rojo una cadena que ya aparece traducida automáticamente (&Cerrar – &Close).  Este es debido a que esta cadena ya está traducida en el repositorio.


EL REPOSITORIO

El “Transation Repository” o “Repositorio” es como un diccionario de traducciones que podemos ir ampliando a medida que traducimos aplicaciones. De esta forma, podemos reutilizar las cadenas que ya hemos traducido anteriormente (en la misma aplicación o en otras). En el ejemplo que estamos viendo, mi repositorio ya tiene incluida la traducción desde el Español (internacional) al Inglés (Estados unidos) de la palabra &Cerrar. Por eso al acceder a las traducciones, esta palabra ya aparece traducida.

Imagen48El repositorio nos permite acelerar la traducción de términos. Además posee opciones para importar y exportar traducciones, con lo que podemos compartirlos o incluso utilizar herramientas de traducción automáticas externas e importar las traducciones a él.

Una vez que las cadenas están traducidas para los formularios podemos añadirlas al repositorio desde el “Translation Manager” , para tenerlas disponibles más adelante.


EJECUCIÓN

Una vez traducidas y añadidas al repositorio todas las cadenas de los diferentes idiomas, compilamos los proyectos, tanto el original, como los de los diferentes idiomas.

Para probar la ejecución, podemos seleccionar desde el menú de “Project” cual es el idioma que queremos por defecto. Si probamos con alguno de los 2 idiomas y ejecutamos, veremos que efectivamente la aplicación, como era de esperar.

Por último, nos quedaría ver cómo modificar el idioma durante la ejecución de la aplicación. Es bastante simple y para ello hay una sección en la ayuda del propio Delphi a la que podéis acceder; Dentro de la «internacionalización de aplicaciones» hay un tema concreto llamado «Dynamic switching of resource DLLs». Allí se puede leer que basta con añadir la unit Reinit en el uses, y utilizar una línea como la siguiente para cambiar el idioma.

// Cargar los recursos y releer los forms
if (LoadNewResourceModule(lang) < > 0) then begin
  ReinitializeForms;
end;

Comentar que si en alguna versión de Delphi, no encontráis la unit ReInit, podéis buscar dentro del directorio de Demos.

Al final el código que hay más arriba va a ser el único que vamos a necesitar en la aplicación.

Para apoyar la entrada, además del código de ejemplo, he añadido en este caso un vídeo.

 

[youtube dTIo5Oh-wmw]

Como siempre podéis descargar el código del ejemplo desde este link.

<DESCARGAR CÓDIGO FUENTE>

Espero que os haya sido útil y hasta la próxima.

Una quincena más… (28/09/2012)

jueves, 27 de septiembre de 2012 Sin comentarios
Share Button

Ahora que estamos envueltos en mitad de las presentaciones del nuevo RAD Studio XE3, y que las novedades del nuevo RAd Studio se están comentando en la mayoría de blogs sobre Delphi y C++, yo estoy todavía aterrizando, con la vuelta al cole, la llegada de mis vacaciones y los cambios laborales.

Utilizaré esta entrada para «poner» un poco al día el blog y como siempre repasar las últimas noticias y reseñas, aunque en este caso seguramente de más de 15 días…

Ya he hablado antes del proyecto «Embarcadero MVP»; He añadido a los miembros existentes en el programa, los últimos nueve integrantes que han formado parte de él, tal y como informó Anders Ohlsson, en su blog. Entre ellos está Xavi Martínez, que muchos de vosotros conoceréis como Cadetill, y al que tuve el placer de conocer hace un par de días en la presentación de RadStudio XE3 en Barcelona.

Otro tema del que ya he hablado es la iniciativa de un «StackOverflow en castellano»; Recordaros que para esta iniciativa aun faltan algunos votos, animaros ver si entre todos lo conseguimos.

Estos días he leído una entrada interesante (como casi siempre) de Zarko Gajic sobre la clase TScreen, en esta entrada que titula «TScreen Object Desmytified». Puedes leer la entrada y descargar los fuentes de los ejemplos.

Una de las nuevas características del nuevo Delphi XE3, es la creación de aplicaciones cuyo estilo se asemeja a «metro» de Windows 8. Desde esta web podéis descargar un set de iconos con estilo Metro de forma gratuita. Aquí podéis ver un ejemplo de los iconos disponibles (click sobre la imagen para verla a tamaño natural).

 

 

Como ya he comentado, estos días los blogs «echan humo» en cuanto a noticias  relacionadas con RAD Studio XE3; Entre todas ellas resalto la entrada en Delphi Insider con la esta tabla, donde se pueden ver de forma bastante esquemática las nuevas mejoras y cambios introducidos dependiendo de la versión del producto seleccionada…

Ayer leí en el blog de Fernando Rizzato,  que están disponibles para Delphi XE3 y para C++ Builder XE3 las JVCL en su versión 3.46.  JVCL es uno de los paquetes de componentes más ricos que existen para la la VCL con más de 600 componentes entre visuales y no visuales. Seguramente el mejor entre los paquetes gratuitos.

Igualmente ya está disponible, aunque no en versión definitiva (unstable version), la versión v. 0.9.9.635 de los cnPack,  que corresponde a la compatible con XE3. Para los que no los conozcáis, cnPack son una serie de addins para el IDE que enriquecen enormemente las posibilidades del entorno de desarrollo. Con las versiones más nuevas de los IDE’s, estas mejoras son menores (ya que los IDE’s van avanzando), pero si aun tenéis que trabajar en algunos proyectos con Delphi 6, por ejemplo (como es mi caso) entenderéis lo que os digo cuando los tengáis funcionando.

 

Ya comenté hace unos días en la entrada referente a la presentación de RAD Studio en Barcelona algo sobre el «RAD Studio Mobile», uno de los elementos más importante del RoadMap de RADStudio. Aquí se puede ver el Roadmap concreto de  RAD Studio Mobile y descargar esa información en PDF si lo preferís.

Entrando en el terreno de los Offtopic, en lo que se refiere a la temática central del blog, estos últimos días, he leído sobre la compra de VirusTotal. para los que no lo conocéis, VirusTotal es una web que permite scannear en busca de virus un fichero que se suba, con los antivirus más conocidos del mercado. Es como tener la posibilidad de instalar 20 antivirus en tu propio equipo y utilizarlos de forma simultánea. Muy útil cuando se realizan descargas o cuando te envían ficheros por correo de los que quieres estar seguro 100%. Segun esta noticia Google la ha comprado. Hay webs parecidas, aunque a mi personalmente es la que más me gusta.

Si queréis probar podéis echarle un vistazo también a Jotti o a VirScan que tienen funcionalidades similares.

 

He actualizado el contenido de la web en DropBox para que estén en todo momento accesibles los ejemplos, artículos, documentación,… Más detalles de todo ello en esta entrada.
Si os vais a dar de alta os agradecería que usarais esta invitación, de esta forma a ambos nos ofrecen un poco más de espacio, que nunca va mal…  ;-)

Por último, una curiosidad. Si no tenéis claro qué significa el concepto de Recursividad, podéis buscarlo en Google y mirar qué palabra os propone realmente Google en el «Quizás quisiste decir…», que aparece al inicio de los resultados. Al final resulta ser una gran explicación…  ;-)

Como siempre son bienvenidos los comentarios, correcciones, sugerencias, críticas,..

Un saludo y hasta la próxima.

 

Categories: Delphi, Resumen Tags: ,

Presentación RAD Studio XE3 en Barcelona.

miércoles, 26 de septiembre de 2012 6 comentarios
Share Button

 

  Como en los últimos años, hoy he asistido a la presentación de la última versión de RAD Studio en Barcelona, que organiza Danysoft. Luis Alfonso Rey, Embarcadero MVP ha sido el encargado de hacer un repaso por la diferentes novedades y cambios que se incluyen en la nueva versión del paquete de desarrollo de Embarcadero.

IMAG0408

La presentación ha comenzado con un repaso por la nuevas características de esta versión.

  • metrostyleLa nuevas posibilidades para gestionar aplicaciones estilo «metrópolis» del nuevo Windows 8.
  • Novedades en Firemonkey (FM2), que incluye muchas mejoras a nivel interno pensando en las futuras aplicaciones que se le van a dar a esta librería. esas necesidades han obligado a realizar cambios en el código existente y no sólo mejoras (aunque también tiene de estas ultimas). Se han añadido características que en la versión inicial echábamos en falta en comparación con la VCL. Actions y actionList, los Anchors para ajustar a diferentes resoluciones de pantalla, mejoras en referencia a audio y vídeo, soporte para las últimas versiones de los sistemas operativos donde se “despliega”.
  • FM2El nuevo diseñador de LiveBindings. Cuyo nombre engaña, ya que no sólo se ha creado un diseñador visual, sino que junto con él, llegan importantes mejoras en las funcionalidades de los LiveBindings. Importantes las mejoras que tienen que ver con la visualización de datos en listas y grids. ahora mucho más sencillas de realizar y mucho más potentes que en la versión inicial.
    LB
  • Además se han comentado también los avances en C++ Builder para añadirle muchas de las características que hasta ahora le faltaban para igualarse en funcionalidades a la personalidad de Delphi.
  • HTML5Por último, como gran novedad la presentación de HTML5 Builder. La herramienta que “hereda” del antiguo RADPhp, aunque remodelada por completo. Nuevo IDE de desarrollo y nuevas tecnologías que utilizan al máximo las posibilidades de HTML5 y CSS3. Posibilidad para generar aplicaciones cliente y servidor que corran en dispositivos con Windows Phone, Android, iPhone, Symbian y Blackberry, utilizando phoneGAP.

   Aparte de dar el repaso por la novedades (las comentadas como más importantes y algunas menos transcendentes) también se han visto algunas de las cosas que podremos ver en próximas versiones o en actualizaciones que verán la luz antes de la aparición de la próxima versión. En concreto muy interesantes los minutos dedicados a “Mobile Studio”, que nos permitirá finalmente desarrollar con Delphi para dispositivos móviles.

IMAG0412

 

   Como siempre, además de lo que aporta la presentación en sí, las novedades, las demos, incluso la información de primera mano que se puede obtener, siempre es agradable encontrarse con amigos y antiguos compañeros de trabajo con los que vengo coincidiendo los últimos años.

   Este año además, hemos coincidido en Barcelona (me ha faltado de Salvador Jover), tres de los cuatro “Embarcadero MVP” que hay en España. También he tenido la oportunidad de conocer a Cadetill, del que muchas veces he comentado entradas aquí en mi blog. Hemos podido conocernos, conversar un rato, y comentar algunos aspectos relacionados con Delphi, los Blogs, la Comunidad,…

Estas son las cosas que “enriquecen” las presentaciones.

IMAG0418

   Las fotos como veis no son de mucha calidad ya que están hechas con mi teléfono, que tampoco es que sea una maravilla, pero al menos dan para hacerse una imagen de la sala y de algunas de las cosas vistas en la presentación.

IMAG0407

Un saludo y hasta la próxima.

Categories: Danysoft, Delphi, XE3 Tags: ,

Aires de cambio…

martes, 25 de septiembre de 2012 8 comentarios
Share Button

fuga_cerebro1_thumbNo hace mucho tiempo, ya hubo quien me hizo referencia a esta imagen (que adjunto a la derecha del texto) incluida en una de mis entradas anteriores. Supongo que casi nadie se preguntó porqué estaba ahí y qué tenía que ver con la entrada…

Hoy la vuelvo a colocar porque lo que representa es definitivo.

He cambiado de trabajo y he comenzado una nueva etapa en mi vida profesional. Después de más de 10 años en mi último empleo, he decidido que era el momento de cambiar. No es fácil, la verdad, puesto que es mucho tiempo. Se trata de dejar atrás mucho trabajo, muchas experiencias y gente a la que aprecio mucho, pero era el momento de hacerlo.

Todo esto y algunos aspectos a nivel personal me han tenido ocupado (bastante ocupado) en los últimos días (prácticamente desde después de volver de vacaciones). Es por todo esto que el blog, mis participaciones en los foros y otros proyectos profesionales han quedado relegados a un segundo plano.

Empiezo esta nueva etapa con mucha ilusión y espero en breve poder retomar la actividad en blog con algunas entradas que tengo a medias.

Un saludo.

Categories: Offtopic Tags: ,