Enhorabuena a todos

miércoles, 22 de agosto de 2012 5 comentarios
Share Button

The Embarcadero MVP Program, que es el nombre definitivo de lo que ya os anuncié como «Embarcadero Community Evangelist» se ha anunciado en el blog de Anders Ohlsson.

Creo que esta es la lista definitiva:

AUSTRALIA:
Glenn Stephens
Lachlan Gemmell

BELGIUM:
Filip Lagrou – @BeDelphi
Bruno Fierens
Francois Piette

BRAZIL:
Victory Fernandes – @victoryjorge – http://tkssoftware.com/victory/
Adriano Santos – @asrsantos
Alan Glei – @AlanGlei
Caique Rodrigues- @CaiqueRodrigues
Carlos Agnes- @taturs
Guinther Pauli – @guintherpauli
Marcelo Nogueira – @noginfo
Marcelo Varela – @marcelologica
Marcos Antonio Moreira – @mantmor – http://mantmor.wordpress.com/
Marcos Gomes – @mpdelphi
Newton Michel de Oliveira – @newtongaucho – http://dug-rs.blogspot.com.br/
Pedro Bento – @PedroPauloBento
Ricardo Boaro – @rboaro – http://rboaro.com.br
Rodrigo Carreiro – @carreiromourao – http://www.rodrigocarreiro.com.br/
Samuel David – @mukadavid
Luciano Pimenta – http://www.lucianopimenta.com/
Daniel Wildt

CZECH REPUBLIC:
Radek Cervinka – @delphicz

DENMARK:
Jens Fudge – @JensFudge

FRANCE:
Didier Cabale – @dcabale
Felix Colibri

GERMANY:
Daniel Magin
Daniel Wolf
Uwe Raabe
Martin Stroha

GUATEMALA:
Juan Castillo – @jachguate – http://jachguate.wordpress.com/

ITALY:
Marco Cantu – @marcocantu – http://blog.marcocantu.com/blog/

MEXICO:
Eliseo Gonzalez – @EliseoGN – http://egostar.delphiaccess.com/
Marco Santin

NETHERLANDS:
Bob Swart – @eBob42
Danny Wind – @DannyWind

NEW ZEALAND:
Alister Christie

PERU:
Jose Castillo – @jcastillo666

RUSSIA:
Alexander Alexeev
Alexander Bozhko
Andrey Terekhov
Vladislav Bajenov

SLOVENIA:
Primoz Gabrijelcic – @thedelphigeek

SPAIN:
Germán Estévez Ruiz – @Neftali_German – http://neftali.clubdelphi.com/
Luis Alfonso Rey
Salvador Jover – @salvadorjover – http://www.sjover.com/delphi/
Xavier Martinez – http://www.cadetill.com/ 

SWEDEN:
Magnus Flysjö

UNITED KINGDOM:
Brian Long
Mike Sutton

UNITED STATES:
Alan Fletcher – @starhikers
Cary Jensen – @caryjensen
Nick Hodges
Ray Konopka
Robert Love – @delphidev
Olaf Monien
Jim McKeeth

VENEZUELA:
Luis Felipe González Torres – http://lfgonzalez.visiblogs.com

DOMINICAN REPUBLIC:
Kelyn Pena

INDIA:
Nirav Kaku

CROATIA:
Zarko Gajic

_________________________________________

ACTUALIZADO: He añadido los identificadores de twitter y algunos blogs.

Categories: Embarcadero, Offtopic Tags: ,

XE3 y más allá: Mirando hacia la movilidad

miércoles, 22 de agosto de 2012 10 comentarios
Share Button

Algunas veces compañeros y usuarios de los foros me comentan la dificultad de acceder a la información en los foros y blogs de Embarcadero, puesto que la mayoría de información está en Inglés. Algunos tienen más o menos problemas con el idioma y aunque muchos de nosotros nos ayudamos de los traductores automáticos, no siempre es fácil entender el “resultado”.

Hace un par de día apareció este artículo en los blogs de Embarcadero y me ha parecido muy interesante, para todos los desarrolladores que trabajamos con Delphi, porque aclara mucho hacia dónde se están dirigiendo los esfuerzos de Embarcadero y los que nos pueden deparar las futuras versiones de Delphi/C++.

La versión de Delphi que está a punto de salir (XE3) ”parece” que trae pocos cambios y mejoras, que poco a poco iremos conociendo, pero la realidad es que hay una “revolución en los bajos fondos” enfocada a las futuras versiones y a las próximas características

He dedicado un rato a traducirlo y publicarlo.
Valga decir que no soy ningún experto en estos temas; Leo sin problemas, pero no soy experto en el idioma, así que es bastante probable que la traducción no sea perfecta ni mucho menos. Sólo espero a que sea un poco más clara que la que ofrece cualquier traductor automático…  ;-D

___________________________________________________________________________

Link al artículo original (J T @ Embarcadero).

Estoy seguro que a estas alturas muchos de ustedes ya han visto los eventos programados del World Tour, sobre el próximo lanzamiento de XE3. Hay una gran cantidad de emocionantes novedades en XE3, que no podemos esperar a compartir con ustedes. Por ello le invitamos a alguno de los eventos del World Tour para que pueda descubrirlas. Con XE3 al caer, quiero detenerme un momento para hablarle de algunas cosas interesantes en las que estamos trabajando ya, para las versiones siguientes a XE3 -para ello XE3 y FireMonkey 2 (FM2) han sentado las bases.

Nuestros equipos están trabajando duro en la construcción de un nuevo conjunto de tecnologías y productos que traerán C++, Delphi, y FireMonkey a los dispositivos móviles, en la que será una solución diferente a cualquier otra del mercado. Esta solución incluirá un nuevo conjunto de herramientas para Delphi y C++ (frontend, backend, linker, debugger, run-time library, etc) dirigidas a conseguir que FireMonkey FM2 tenga una nueva plataforma de ejecución final dirigida a dispositivos móviles, junto con un entorno de diseño y desarrollo dirigido específicamente para plataformas móviles.

El lenguaje Delphi (front-end) está siendo mejorado para generar aplicaciones adaptadas para dispositivos móviles, añadiendo características de administración de memoria, tales como el contador de referencias automático. El nuevo backend de Delphi para tecnología móvil, es una novedad pensada y diseñada para generar binarios altamente optimizados para ARMv7. Esto incluye un nuevo linker y un nuevo debugger para trabajar con los formatos de objetos nuevos. Y, por último, tanto la biblioteca en tiempo de ejecución y el framework FireMonkey, están siendo optimizado para dispositivos móviles, con la eliminación de funcionalidades de escritorio innecesarias y añadiendo características específicas para dispositivos móviles.

Si bien hay una gran cantidad de nuevas funcionalidades que vendrán en las herramientas de compilación, en el nuevo framework FireMonkey para móviles, se aprovecharán las nuevas características del lenguaje Delphi en gestión de memoria y las características específicas para móviles; Como interfaces de usuario nativos para iOS y Android con una visualización perfecta de los controles a nivel de pixel, así como interfaces de usuario personalizadas (que pueden compartir estilos personalizados con la aplicaciones de escritorio de XE3), y un conjunto de servicios para los sensores de hardware, tales como GPS, acelerómetros, giroscopios, y cámaras, y los servicios del sistema operativo, como la ubicación, la publicidad, y las aplicaciones de pago. Y aunque los nuevos productos para dispositivos móviles incluirán nuevas herramientas específicas, FireMonkey FM2 para móviles, y un entorno de desarrollo específico para móviles, estos productos están siendo diseñados para poder aprovechar de forma fácil, los proyectos para MAC y para Windows ya existentes.

En XE2, entregamos las herramientas para ayudar a migrar aplicaciones FireMonkey de Windows a XCode y FPC, lo que permitió a los desarrolladores migrar proyectos de escritorio a XCode y recompilar estos para generar binarios dirigidos a dispositivos basados iOS. Con algunos ajustes, un desarrollador podía seleccionar una aplicación de escritorio FireMonkey y generarla para iOS sin una cantidad significativa de esfuerzo. La desventaja de este enfoque es que las aplicaciones que se ejecutan en dispositivos móviles utilizan el marco FireMonkey diseñado para las aplicaciones de escritorio, por lo que las experiencias de usuario y el rendimiento no estaban a la altura a menos que los controles se adaptaran por completo. Algunos desarrolladores han creado aplicaciones increíbles para móviles basadas en XE2, pero con un esfuerzo significativo. Además, no había ninguna experiencia de desarrollo integrando el IDE de Xcode. Las herramientas de migración en XE2 son una prueba de la capacidad multiplataforma de FireMonkey. En lo que estamos trabajando ahora para nuestro desarrollo móvil de próxima generación, es en ofrecer la mejor solución de desarrollo para dispositivos móviles a los desarrolladores.

Como resultado de los cambios en el lenguaje enfocado a dispositivos móviles y los cambios en FireMonkey (que se ejecutará en los dispositivos móviles), FireMonkey FM2 ya no es compatible con el conjunto de herramientas FreePascal utilizado para compilar aplicaciones para iOS con XCode. Por lo tanto, las herramientas de migración entregados en XE2 ya no se incluyen en XE3 y las aplicaciones FireMonkey FM2 de escritorio no serán compatibles con FreePascal y XCode. Sin embargo, como cliente de XE3 usted tendrá acceso al producto XE2 que puede seguir utilizando con FireMonkey XE2 para crear aplicaciones para iOS con Xcode y FreePascal.

Nuestras soluciones para dispositivos móviles de próxima generación, están todavía en desarrollo y serán la primera y única solución nativa de tanto para iOS y Android, que compartirán un código común (también con los proyectos de escritorio de XE3). Esta será una solución revolucionaria para los desarrolladores, que ofrecerá el mejor rendimiento en las plataformas móviles más importantes; Con un único entorno de desarrollo, un solo lenguaje (Delphi o C++), un framework y un único código para todos. Creemos que usted estará muy contento con las capacidades de ejecución y flujo de trabajo de desarrollo para dispositivos móviles; Y si usted está interesado en formar parte de la fase de pruebas (beta), recoja su copia de XE3* para poder acceder a la beta móvil, y verá que estamos muy entusiasmados con todo esto.

Mientras tanto, nos vemos en la gira mundial!

 

* El acceso a la beta móvil requiere una licencia “Professional” de XE3 o posterior.

__________________________________________________________________________

Como siempre se aceptan correcciones y sugerencias.

Si alguien considera que alguna frase no es del todo correcta o no refleja fielmente la explicación ariginal, el comentario será bienvenido.

Un saludo.

 

Una quincena más… (17/08/2012)

viernes, 17 de agosto de 2012 Sin comentarios
Share Button

Una semana más estamos con el repaso habitual de los últimos días.

Es estas fechas, todo (o casi todo) se ralentiza, los que no están de vacaciones, están con el ritmo de Agosto y de las vacaciones, al menos por aquí.  Uno de los pocos que no descansa es Salvador, que justo el día después  de publicar mi última entrada de resumen donde comentaba sus 2 primeros artículos sobre el componente TTreeView en FMX, publicaba la tercera y última entrega.

Las dos primeras:

costesmac En esta tercera entrega, se completa la serie sobre este componente ampliando lo visto en las dos anteriores. Se muestra un ejemplo completo de trabajo, nuevas clases, creación de Interfaz común a varios objetos, estilos personalizados y algunas cosas más.
Fantástica entrada para acabar la serie sobre este componente.

Arbol TTreeView en Firemonkey (y III)

Para complementar el artículo, podéis ver un video comentado y descargar todo el código fuente del proyecto.

Esta semana me  encuentro con el proyecto DelphiUnitSize, programado en Delphi XE2 y utilizando FireMonkey. Con él podemos conocer el tamaño exacto de las units que se incluyen en nuestro proyecto (EXE). Además nos da un tamaño aproximado de los símbolos (classes, métodos, procedimientos,…) contenidos en cada unit.

delphiunitsizes

En la página del proyecto podéis ver unas pequeñas guías para su utilización y configuración.

Es bueno ver que poco a poco se van viendo más programas que utilizan FireMonkey; Eso es una señal inconfundible que marca si una tecnología es “utilizable” en el mundo real o no.

images La técnica de “Class Helpers” es muy interesante y sencilla, a la vez que polivalente. Ya Salvador habló algo de ella en alguna de sus entradas sobre TreeView (link), haciendo a su vez referencia a un entrada de Carlos García (link). Desde Embarcadero podéis revisar este artículo titulado “Class Helper’s with Firemonkey” que aplica esta misma técnica a FireMonkey y revisar la DocWiki de Embarcadero donde se explica de forma sencilla cómo aplicarla a clases y a records (que también la admiten).

fm

Desde la página de Embarcadero, se han publicado una serie de documentos sobre desarrollo de FireMonkey en Windows y MAc, con el título “Get Started with Windows and Mac development”, que incluye una serie de PDF’s y videos para desarrollar con FMX.

Recordaros, desde este resumen, aunque ya lo he comentado en el blog, la iniciativa  de conseguir un “StackOverflow in SPanish”. Creo que es una buena iniciativa para la Comunidad y podeís leer toda la historia desde el Blog de Jachguate.

sigue-la-propuesta

 

Una vez más en estos resúmenes (ya es habitual) una reseña a los componentes de Cadetill para trabajo con Google Maps; La librería GMLib en su versión 0.1.6a, que se ha publicado estos días.

Aquí podeís revisar la lista de novedades de la última versión que no son pocas.

images (2) A través de un enlace que me facilita Salvador, accedo a una interesante (muy interesante) serie de tutoriales (step-by-step) de Pawel Glowacki sobre DataSnap. Muy completos con Video, WhitePaper y Código fuente necesario.

http://www.embarcadero.com/ru/rad-in-action/delphi-labs

Por último y para acabar, supongo que ya lo habréis leído estos días en foros y blogs. Ya se ha anunciado la próxima salida de RAD Studio y el RAD XE3 World Tour con las fechas de todas las presentaciones. Faltan en la lista, las de América Latina que están por concretar, en lugar y día.

La lista completa de presentaciones (países y fechas), a las que ya os podéis apuntar está aquí.

No ha trascendido mucho la lista de novedades (completa, al menos), salvo algún documento que se ha filtrado y que ha aparecido en blogs extranjeros. Está claro que Embarcadero apuesta por la nueva interface Metro o “Modern UI” como le gusta a MS que la llamemos, enfocado a los dispositivos táctiles. La referencia a FM2 nos hace pensar que siguen avanzando en la tecnología FireMonkey y nos prometen una nueva herramienta para incorporar a RAD Studio, HTML5 Builder.
Habrá que ver en acción qué nos depara esta nueva versión.

Para Barcelona y Madrid tendremos que esperar al 25 y 26 de Septiembre. Espero que nos vemos.

Un saludo y hasta la próxima.

StackOverflow en Español, nueva propuesta

jueves, 2 de agosto de 2012 2 comentarios
Share Button

 Link a a propuesta

Propuesta StackOverflow en Español

Creo que es una buena e interesante iniciativa para la comunidad.

La explicación completa y detallada del proyecto y de lo que se necesita, la tienes aquí, en el Blog de jachguate.  Échale un vistazo y anímate.

Un reto:

  • 60 seguidores.
  • 40 preguntas de ejemplo, con al menos, 10 votos cada una.

¿Lo conseguiremos?  ;-)

TRUCO: Nos interesa que las preguntas lleguen a 10 votos, pero no más; Es decir, es mejor repartir votos para que el máximo de preguntas lleguen a ese límite de 10. ;-)

Categories: Programación Tags: ,

Una quincena más… (30/07/2012)

lunes, 30 de julio de 2012 4 comentarios
Share Button

imagesRetomando un poco (o eso espero) el ritmo de las entradas, para los que estéis interesados  en FireMonkey y en las posibilidades de realizar animaciones y aplicaciones con características 3D, os remito al canal de youtube de ketufe. Podéis encontrar desde ejemplos sencillos y algunos no tanto. Los videos dan ideas de las diferentes posibilidades a utilizar. Hay mucho material para revisar, ya que el canal cuenta con más de 100 videos.

Aquí podemos encontrar un pequeño tutorial de Document Insight; La herramienta de documentación de DevJet Software que viene incluida de forma gratuita con Delphi XE2. Es una de aquellas cosas que no son fáciles de encontrar en la documentación (o que no encontramos directamente) pero que son tremendamente útiles, para los que desarrollamos componentes y librerías que luego utilizan otros programadores. En estos casos la documentación en necesaria (obligatoria diría yo) y además a la larga significa una mayor eficiencia a la hora de programar.

No hace muchos días de la publicación en la página de Salvador (Delphi básico) de dos entradas dedicadas al componente TTreeView en Firemonkey; Yo diría que indispensables para los que queráis empezar a trabajar con él y entender bien su funcionamiento.

Las dos entradas hacen un completo repaso de este componente de este componente y su utilización en Firemonkey. Las diferencias que existen entre este y su versión en la VCL, repasando propiedades, métodos y distintos comportamientos. Muy recomendable por lo compleja y extensa que es. La explicación es muy clara y podéis descargar los códigos de ejemplo para poder realizar las pruebas sin problemas. No os desvelo más del contenido del artículo, que lo hay, os invito a que lo reviséis completo. ;-)

 demo3

 

Esta semana, también ha visto la luz la siguiente versión de los componentes de Cadetill para trabajar con Google Maps. La librería GMLib; En este caso la versión 0.1.5a. Añaden bastantes correcciones y nuevas funcionalidades respecto a la anterior versión.

47_web20_320x240_gmlib 

“GMLib (Google Maps Library) son una serie de componentes para Delphi que encapsulan el API de Google Maps y así poder gestionar los mapas de Google de forma sencilla mostrando el resultado en un TWebBrowser.“

 

Siguiendo con el tema de FireMonkey, desde hace unos días podemos descargar desde la web de Embarcadero de una versión “free” de la herramienta de conversión entre VCL y FireMonkey llamada Mida. No he tenido tiempo de probarla, así que si alguien tiene oportunidad estaría bien que compartiera sus experiencias. Trabaja con componentes de terceros, además de los estándard, LiveBindings, Estilos y bastantes cosas más, aunque no todas disponibles en la versión gratuita.

Icarus_48También estos días se ha liberado la versión 3.4.4 de Icarus. Se trata de una utilidad gratuita de la casa Peganza (http://www.peganza.com) la misma que comercializa PAL (Pascal Analizer). Icarus es una “analizados de units”; Permite analizar el código de proyectos Delphi en busca de units no necesarias añadidas al uses o de aquellas que pueden ser movidas entre las secciones de Interface e Implementation.

Hoy mismo leo sobre la La versión 2.6 de las DDevExtensions se ha liberado estos días. Podéis descargarla para las diferentes versiones de los compiladores y leer sobre los cambios y correcciones de la última versión en este link (DDevExtensions 2.6). Gran trabajo que va mejorando versión a versión.

Poco a poco van apareciendo componentes nativos para FireMonkey. Es una tecnología nueva para los que trabajamos con las herramientas de Embarcadero y es normal que el arranque cueste un poco. Ya conocía un paquete de componentes específicos de la mano de TMS y estos días he leído que arcana también ha publicado Apesuite, una serie de componentes para FMX.
Siempre es una buena noticia que las empresas apuesten, se involucren y vaya generando componentes para FMX.

Por último os dejo esta completísima recopilación de reursos para FireMonkey. Si deseáis introduciros en este tema y empezar a hacer “pinitos» con esta tecnología debéis guardaros esta recopilación. Además de la propia documentación de Embarcadero, aquí podéis encontrar una amplia variedad de links que abarcan bastantes aspectos.

Introduction

Styles

What about the VCL?

Networking

IDE

Forms

File I/O

Video and sound

DataSnap

Controlling other programs

Printing

3D animation

Runtime packages and DLLs

Component development

Errors

Bugs

Third Party

 

    Un saludo y hasta la próxima.
Categories: Delphi, FireMonkey, Resumen Tags: ,

Primeras experiencias con RADPHP

miércoles, 11 de julio de 2012 14 comentarios
Share Button

   28e58a2b951637c93dfd69d9e6031a11Llevaba tiempo con ganas de probar en entorno de Embarcadero para PHP y al final estos días he podido dedicarle algo de tiempo; Al menos e podido instalarlo, que ya es mucho y hacer unos primeros ejemplos…   ;-)

   Para los que estáis como yo en estos temas (bastante verdes) os iré comentando mis primeras impresiones y los problemas con los que me he ido encontrando.

   La primera impresión una vez instalado el entorno ha sido muy gratificante, simplemente por la imagen de ver los menús en castellano. Ya se que no es algo “importante” a nivel técnico, sobre todo para los que llevamos tiempo programando en los IDE’s de Dephi, pero sí es gratificante a nivel visual.Imagen1251     Junto con la instalación de RADPHP (en mi caso ha sido un paso previo, porque ya lo tenía), he instalado WAMPServer, que instala las últimas versiones de Apache, MySQL y PHP, además de un pequeño programita para gestionar los servicios, que a mi me es de gran utilidad. Hay otros programas similares que realizan la misma instalación, como por ejemplo XAMPP.

   Aparte del detalle de los menús, la primera impresión es que el entorno es conocido y eso tranquiliza y agiliza mucho los primeros pasos. Proyectos, opciones generales, ventanas de depuración, diferentes opciones de visualización y personalización,… todo está, donde uno espera que esté, al menos para los que ya estamos acostumbrados a este entorno.

Una vez que todo parece que está correcto, lo primero que un buen programador hace es generar su primer programa.
Imagen1256¿Cual? Seguramente el programa por antonomasia y generado en el mayor número de lenguajes: “El programa Hola mundo!”.

Generamos una aplicación PHP desde el menú de Archivo, y cuando nos aparece el diseño de la UNIT1, colocamos un botón (TButton) y una etiqueta (TLabel).

En el evento OnClick del botón programamos lo siguiente:

function Button1Click($sender, $params)
    {
      $this->Label1->Caption = 'Hola Mundo';
    }

Al ejecutar se nos abre el navegador con el botón y el Label y con un funcionamiento “normal” para lo programado. Nuestro primer programa ha sido todo un éxito.   ;-D

<DESCARGA DEL CÓDIGO FUENTE>

 

Conectar a Base de Datos.

El siguiente ejemplo que he probado es una conexión a Base de Datos. Para ello, RADPHP en la carpeta de Demos trae un Script de SQL con el que generar una Base de Datos de pruebas llamada osCommerce. Corremos el script en el servidor de MySQL y tenemos la Base de Datos creada al instante.

Antes de continuar debemos descomentar la siguiente línea en el fichero de configuración php.ini.template, si no lo está:

  • extension=php_mysql.dll 

    Si vamos a trabajar con otros SGBD’s debemos buscar las líneas similares y descomentarlas. Por ejemplo, en mi caso, para Microsoft SQL Server,  hay que hacerlo con la línea:

  • extension=php_mssql.dll

En el caso de SQL Server, podéis leer más detalles en esta página de la documentación online, junto con otras opciones de configuración y posibles problemas que pueden surgir. Es de suponer que con el resto de Bases de Datos funcione de la misma manera y siguiendo pasos similares para la configuración.

Para el ejemplo he colocado componentes de forma similar a como se haría en un formulario estándar de Delphi. Un TDatabase, un TTable y un TDatasource. Con el mismo sistema de conexión (propiedades). Por último un DbGrid para visualizar la tabla de Productos.Imagen1264

Basta con activar la tabla para comprobar que obtenemos los resultados esperados.

 function Button1Click($sender, $params)
    {
      // Cambiar el estado  abierto/cerrado
      $this-&gt;tblProductos-&gt;Active = ! ($this-&gt;tblProductos-&gt;Active);
    }

 

Imagen1265

<DESCARGA DEL CÓDIGO FUENTE>

 

Uso de Templates

Por último (al menos para esta entrada) me he puesto a probar los Templates.

Podemos integrar un formulario (componentes) generado en RADPHP con una plantilla HTML utilizando “Smarty Templates Engine”, que permite utilizar TAG’s en el HTML, que posteriormente se combinan con el formulario y los componentes diseñados con las plantillas. En la ayuda en línea de RADPHP podemos encontrar la explicación del procedimiento para realizarlo.

Primero diseñamos un formulario básico para realizar un Login. Algunos labels, un par de componentes de edición para el usuario y el password, un botón para el código de comprobación y poco más.

Imagen1259

El código básicamente comprueba que el usuario y contraseña sean los definidos como admin/1234 y visualiza una de las dos imágenes que hay a a derecha.

Si lo ejecutamos en el navegador podremos ver lo siguiente (como era de esperar):

Imagen1260

Lo siguiente que tenemos que hacer es diseñar un “template”; La plantilla que utilizaremos para visualizar lo que hemos diseñado. Para ellos Tenemos que definir un fichero HTML/CSS como lo haríamos normalmente; Una vez diseñado añadimos los siguientes TAG’s para que el «Engine» de Smarty pueda realizar su trabajo:

  • {%$HeaderCode%}:  En la parte de la cabecera.
  • {%$StartForm%}{%$EndForm%}: En la parte del BODY encerrando la sección donde aparecerán los componentes.
  • {%$Nombre_Componente%}: Para cada uno de los componentes que aparezcan en la plantilla.

Importante la nomenclatura; En algún ejemplo que hay en EDN está incorrecto y yo estuve un buen rato hasta que averigüé la correcta. En mi caso he diseñado un HTML/CSS con el siguiente contenido:

Fichero HTML con el Template de smarty  (código fuente) (fichero CSS)

Si vemos la plantilla en el navegador podemos apreciar algunos de los TAG’s que hemos comentado.

Imagen1261

Configuramos en el fichero PHP las propiedades TemplateEngine y TemplateFilename. Con esto es suficiente para poder ejecutar el ejemplo y que el resultado fusione el fichero PHP con nuestra plantilla HTML/CSS. El resultado en el navegador es este:

Imagen1262

Una vez tenemos completado el proyecto y funcionando desde el IDE, lo primero es hacer el Imagen1263“deployment” en el servidor Apache que tengo instalado en local. Para ello el propio IDE de Delphi cuenta con un asistente.  Desde el menú de herramientas lanzamos el “Asistente de despliegue”.

Este asistente nos pide el directorio donde se va a copiar la aplicación; En mi caso, es el directorio c:\wamp\www, y a partir de ahí, el asistente en función de los elementos utilizados en el proyecto, copia todo lo  necesario al directorio para poder ejecutar la aplicación.

Una vez hecho esto, hay que copiar manualmente la plantilla y añadir a la configuración de PHP el directorio donde se encuentran los ficheros. Al fichero PHP.INI, a la variable include_path , le añadimos el path del directorio rpcl.

En ejemplo se ha ejecutado también correctamente.

Finalmente, he subido el ejemplo al servidor donde tengo el blog, para ver si eran necesarias configuraciones adicionales. Ha bastado con copiar los mismos ficheros a un directorio de mi servidor. Podéis probarla desde aquí.

Enlaces:

Hasta aquí esta primera entrada referente a RADPHP. La impresión general ha sido muy buena.He obtenido algunos errores en el entorno (aunque hay que decir que mi máquina de pruebas está ya muy «trasteada» y no descarto que eso tenga algo que ver), y también he echado en falta documentación (tanto desde el IDE, como fuera de él), pero la impresión final ha sido buena.
Pensé que para alguien como yo, con conocimientos reducidos en este apartado, el primer contacto sería mucho más «duro».  ;-D

Espero poder seguir avanzando es este tema.

Un saludo y hasta la próxima.

Categories: Fácil, RADPHP Tags: ,

Una quincena más… (27/06/2012)

martes, 26 de junio de 2012 Sin comentarios
Share Button

Perdonad, por la tardanza de esta última entrada; Comencé a crearla hace bastante tiempo (algo más de un mes) y es posible que alguna de las referencias ya esté anticuada (1 mes en un mundo de la “información inmediata” como el nuestro, ya es mucho).

47_web20_320x240_gmlib “Se ha publicado la versión 0.1.4 de los componentes de Cadetill para acceder a Google Maps; GMLib (Google Maps Library) son una serie de componentes que encapsulan el API de Google Maps para poder gestionar los mapas de Google de forma sencilla mostrando el resultado en un TWebBrowser.”

Tienen muy buena pinta. Podéis revisar el diagrama completo de la estructura de clases aquí, y la descripción de todas las clases en la siguiente página.

En la misma página, aunque ya es más antiguo podéis encontrar el componente TWebControl, que engloba y facilita realizar cierta operaciones con el componente WebBrowser de Delphi.

En el Grupo de Delphi Solidario (facebook), salió hace días la referencia a un problema (de nuevo) recurrente que me he encontrado en mi blog, en los foros y en algunas páginas en relación a las RxLib. Se trata de que alguna compilación para Las últimas versiones, incluye un bug (curioso, como mínimo) que hace que los Caption del TLabel sólo admita 2 caracteres. Se ha añadido también un report a QualityCentral de Embarcadero que podéis encontrar aquí.

En el grupo De Facebook, se habla de cómo remediarlo de forma “temporal” (todavía no he tenido tiempo de revisarlo a fondo) comentando la línea que registra el editor de propiedades que posee el problema y se apunta también la función que lo contiene GetEditLimit.

Desde Danysoft leo estos días una promoción/oferta para conseguir RAD Studio por 99€. Podéis leer más detalles aquí.

ltdapigrafg También desde Danysoft leo que se pueden descargar Los tomos de Delphi : El API gráfico Win32 gratis. Visitad el enlace si estáis interesados.

UPDATE: Me ha llegado un correo con enlaces a la lista completa de los libros que se pueden descargar (no sólo el comentado más arriba) y también los links de acceso al código fuente que viene con ellos. Algunos de ellos verdaderas joyas.

Esta semana también he hecho referencia en el Blog a un seminario web gratuito: 4 horas con Delphi para el día 22 de Junio. Revisad la información a aprovechad la oportunidad si podéis.

AÑADO: Ya están disponibles los vídeos (replay) de las sesiones del seminario. Aquí tenéis la página del evento con las descripciones detalladas de cada uno de los vídeos.

Parte 1 : Las nuevas fronteras de la interfaz de usuario.
Parte 2 : ¿Qué puede ganar un desarrollador con FireMonkey?
Parte 3 : Mejorando las aplicaciones cliente/servidor
Parte 4 : La Web y las aplicaciones móviles al alcance de la mano.

Hoy además me ha llegado este enlace para acceder a los contenidos de otros seminarios; Todos los del primer semestre de este año.

276807_120437051391680_417892041_n

Por último, animaros a que si todavía no habéis visitado el grupo de facebook de Delphi Solidario lo hagáis. Ya son 250 personas (hasta el momento) las que lo formas y cada día se suma mas gente.

Un saludo y hasta la próxima.      ;-)

Categories: Delphi Tags:

Embarcadero MVP Program

martes, 26 de junio de 2012 8 comentarios
Share Button

mvp

Desde ya hace unos días, se me propuso desde Embarcadero (al igual que a varios miembros de la Comunidad Hispana) el
entrar a formar parte del programa “Embarcadero MVP Program”.

¿Qué es exactamente este programa?

Bueno una descripción bastante sencilla y descriptiva podría ser esta:

“Este programa sirve para reconocer y motivar a los miembros destacados de la comunidad Embarcadero, y aprovecharlos como una extensión de las relaciones con los Desarrolladores.”

Aprovecho estas líneas para dar las gracias y expresar mi satisfacción por este ofrecimiento.

NOTA: Desde aquí felicitar a Salvador Jover (http://www.sjover.com/delphi) gran amigo y gran luchador por la Comunidad Delphi  (link al anuncio), a Juan Antonio (http://jachguate.wordpress.com), al que conozco desde hace años del ClubDelphi y otros proyectos (link al anuncio) y a Eliseo (http://egostar.delphiaccess.com)  (link al anuncio) porque han entrado, al igual que yo, a formar parte de este programa.
Un saludo.

Categories: Embarcadero Tags: ,

Visualizar rutas con OpenStreetMap

martes, 19 de junio de 2012 5 comentarios
Share Button

47051ef57b97x300.jpgAnteriormente en el blog he escrito entradas sobre cómo visualizar rutas o tracks en mapas  de Google , en diferentes formatos. Al final la idea es la misma en todos los ejemplos; Pintar una sucesión de puntos correspondientes a latitud y longitud sobre un mapa. Nada más. Hemos visto cómo hacerlo con los ficheros KML que utiliza Google o los ficheros GPX (GPS eXchange Format), que están considerados como un estándar en este tipo de representación.

No es mi intención seguir el camino que muchas compañías están tomando de “mudarse” de los mapas de Google a OpenStreetMap, desde que Google anunció que iba a cobrar por utilizar los suyos, sino más bien ampliar las posibilidades de los ejemplos que ya habíamos visto para poder utilizar estos mapas también.

Para quien no la conozca, OpenStreeMap, se trata de una plataforma de mapas a nivel mundial libre. Donde cualquiera puede añadir información (en mi caso, por ejemplo, he añadido rutas en bici).  Si queréis saber algo más sobre este proyecto podéis leer esta lista de “las 10 cosas que deberías saber sobre OpenStreetMap”.

He utilizado el mismo ejemplo que en su día hice para la visualización de tracks en Google Maps; “El Visor KML”. Como ya he dicho, la idea es la misma, pero utilizando diferente proveedor de mapas.

En el caso de Google Maps, para crear el mapa y la polilínea utilizamos las siguientes clases:

map = new GMap2(document.getElementById("map"));var polyline = new GPolyline…

En el caso de OpenStreetMap utilizamos:

map = new OpenLayers.Map ("map_canvas", options…
…
var linear_ring = new OpenLayers.Geometry.LinearRing(points);
polygonFeature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Polygon([linear_ring]), null, style);

Siguiendo con la misma idea su miramos como proveedor Bing Maps (Microsoft) o los mapas de Yahoo, el sistema es fácilmente “portable” a estos. Si buscamos un poco en la API para Bing, vemos que para crear el mapa y la polilínea podemos utilizar:

map = new MM.Map(document.getElementById("myMap"), options…
var polyline = new MM.Polyline([

Y en el caso de Yahoo Maps utilizaríamos:

var map = new YMap(document.getElementById('map'));
polylinePoints = [];
map.addOverlay(new YPolyline(polylinePoints, options…

Modificando el ejemplo antes comentado, he añadido a los mapas de Google Maps, los mapas de OPenStreetMap y los de Bing Maps. Si alguien se anima a completarlo con los de Yahoo Maps (ya he parado aquí) os lo dejo como “ejercicio” y espero que lo compartáis aquí.

Os dejo unas imágenes del resultado.

gmosmbm

Los diferentes mapas se encuentran en un fichero de recursos.

Os adjunto el código fuente del proyecto, algunas rutas de ejemplo para probar y un EXE compilado.

<DESCARGAR FUENTES + EXE>

NOTA: Es posible que debido a los cambios de licencias de Google y del resto de proveedores, no se pueda ejecutar el proyecto de ejemplo correctamente sin algunos cambios respecto a las API, pero el código sigue siendo válido y orientativo para el que tenga que trabajar con estos temas.

Categories: Delphi, GPS, Mapas Tags: , , ,

Seminario Web gratuito: 4 horas con Delphi

viernes, 15 de junio de 2012 Sin comentarios
Share Button

Nuevo seminario web gratuito para finales de Junio por parte de Danysoft, distribuidor oficial de productos de Embarcadero.

El día 22 de Junio de 9:55h.  a  14:00h.

Más información e inscripciones aquí.

Categories: Danysoft, Delphi, Eventos Tags: ,