Archivo

Archivo para la categoría ‘Delphi’

RAD Studio XE6

miércoles, 16 de abril de 2014 8 comentarios
Share Button

Está claro que a estas alturas si alguien no se ha enterado de que el nuevo RAD Studio XE6 ha visto la luz, es que no tiene conexión a Internet y está viviendo en una isla desierta…

A algunos nos ha pillado un poco de sorpresa, ya que todavía estamos asimilando la salida al mercado de la penúltima apuesta de embarcadero en el mundo del desarrollo; Appmethod.

Al fin y al cabo están estrechamente relacionados, y la nueva imagen en Appmethod nos daba pistas en su lanzamiento de lo que íbamos a ver en breve. Igualmente las novedades que disfrutaremos en XE6 (excluyendo las de la VCL) pronto se verán plasmadas en AppMethod.

Ambos productos evolucionan a la par, puesto que uno no es más que un subconjunto del otro.

radstudioxe6banner_11792

Leer más…

Categories: Delphi, Eventos, XE6 Tags: , , ,

(5/5) Publicación en AppStore (Google Play) paso a paso.

miércoles, 5 de febrero de 2014 16 comentarios
Share Button

Aquí comenzamos la que será la última entrada de esta serie, completando el "ciclo de vida" de este desarrollo, con la publicación de la aplicación en la “tienda” de Google (Google Play). Tal vez para el ejemplo que estamos tratando no sea el “final lógico”, pues recordemos que trabajamos sobre el supuesto de que la aplicación es para una empresa. En ese caso la distribución podría ser de forma “interna” y no tendría sentido publicarla para todos los usuarios de Google Play.  Pero me váis a permitir que en este caso me tome esta “licencia” y aprovecharé así esta aplicación para documentar este último paso.

Recordemos lo que hemos visto hasta ahora, y aprovecho para actualizar los links en el resto de las entradas.

“ROADMAP” DE LAS ENTRADAS

Hay una serie de pasos que necesitaremos completar, antes de poder publicar nuestra aplicación. En las pruebas normales del día a día tal vez no sean todos necesarios, pero una vez que vamos a publicar la aplicación deberíamos completarlos.

Leer más…

(4/5) Generación del cliente iOS/Android (código compartido)

martes, 4 de febrero de 2014 28 comentarios
Share Button

mobile-productsContinuando con la  «hoja de ruta» y después de que en la última entrada de esta serie creáramos un cliente de «escritorio» para acceder a la Base de Datos a través de un webservice; En esta entrada vamos a generar una aplicación móvil para acceder a los datos, tal y como estaba definido en las premisas iniciales.

“ROADMAP” DE LAS ENTRADAS

Para ello voy a utilizar Delphi XE5. Basándonos en uno de los ejemplos anteriores, ya casi tenemos todo el trabajo hecho, ya que la base del código y los componentes utilizados van a ser los mismos. Por lo tanto, lo único que voy a tener que definir es la nueva interficie para la plataforma móvil.

Iniciaremos el proyecto utilizando la opción desde el IDE para un nuevo proyecto móvil.

Leer más…

Categories: Delphi, WebService, XE5 Tags: , , , ,

(3/5) Generación de un cliente (WebService) en Delphi.

martes, 28 de enero de 2014 92 comentarios
Share Button

En las dos entradas anteriores de esta serie, hemos planteado el problema y hemos visto cómo generar un WebService en PHP que nos permita acceder a nuestra Base de Datos. Una vez completada la parte Servidor, vamos a comenzar a desarrollar las aplicaciones cliente que van a consumir los datos.

“ROADMAP” DE LAS ENTRADAS

Siguiendo con nuestra “hoja de ruta”, vamos a desarrollar varios clientes de escritorio en Windows, utilizando diferentes alternativas y posibilidades de las que disponemos.

web-service-overview-1

CLIENTE 1: Delphi6 + Indy + LkJSON

Nuestra primera opción va a ser una aplicación (creada en Delphi 6) que acceda al primer webservice que hemos creado aquí y para ello utilizaremos las librerías Indy.

Leer más…

(2/5) Generación del Webservice en PHP.

lunes, 27 de enero de 2014 13 comentarios
Share Button

imagesContinuando en el lugar dónde nos quedamos en la primera entrada, vamos a pasar al siguiente punto. La generación del Servidor.

“ROADMAP” DE LAS ENTRADAS

Antes de comenzar a generar código, necesitamos generar la Base de Datos, de esta forma podremos ir realizando pruebas sobre ella.
Para la creación de la tabla de «usuario» podéis utilizar la siguiente sentencia:

 

CREATE TABLE IF NOT EXISTS `agenda` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(30) NOT NULL,
`apellidos` VARCHAR(40) NOT NULL,
`telefono` VARCHAR(9) NOT NULL,
`extension` INT(11) DEFAULT NULL,
`departamento` VARCHAR(15) DEFAULT NULL,
`interno` INT(11) NOT NULL,
`email` VARCHAR(40) DEFAULT NULL,
PRIMARY KEY (`id`)

Leer más…

(1/5) Aplicación de acceso a datos (Introducción)

miércoles, 22 de enero de 2014 10 comentarios
Share Button

estructEsta entrada y las siguientes, como otras del blog, viene «provocada» por una inquietud o un problema con el que me he encontrado. A raíz de eso y de la necesidad de solventarlo ha surgido esta solución; Seguramente no es la única, y me gustaría que me propusierais otras diferentes (sobre el mismo escenario) si las tenéis. Espero esta que os propongo sea útil a otros programadores en situaciones similares.

Mi intención es dividir todo el proceso (por lo extenso) en varias entradas sucesivas. Os adjunto el «Roadmap» (que suena como muy serio  ;-D ) del proceso completo y a medida que vaya completando los pasos, iré actualizando los links en todas ellas.

“ROADMAP” DE LAS ENTRADAS

Leer más…

Internacionalizar aplicaciones con DKLang

viernes, 10 de enero de 2014 6 comentarios
Share Button

1326079952_297898748_1-Traductor-Espanol-Rumano-Rumano-Espanol-Coche Ya he hablado anteriormente de varios sistemas y paquetes de  componentes para internacionalizar aplicaciones en el blog. Por ejemplo, aquí y aquí. A raiz de un comentario de otro usuario, esta vez, por necesidad en este proyecto (IBCC) he decidido probar los componentes DKLang.

A primera vista me han sorprendido,  pues cuenta con versión para XE5 incluyendo aplicaciones móviles (Android/iPhone) así como para VCL y FMX. Más adelante hablaré de la versión para XE5 (versión 5), aunque en esta entrada y para este proyecto he usado la versión 3, que es la que soporta Delphi 6. 

Para la compilación del componente, al menos en esta versión (Delphi 6), hacen falta los componentes TNT para unicode. Gratuítos y con código fuente que podéis bajar desde esta misma web o desde internet sin problemas.

Imagen1138 La compilación e instalación de los packages se hace sin problemas. Basta con añadir un par de directorios al path para que encuentre los ficheros necesarios. Una vez instalado el package de diseño, ya me aparece el componente DKLanguageController en la pestaña de System.

He echado en falta algún manual sencillo para poder seguir a la hora de empezar con un proyecto nuevo. En la web y en la ayuda no hay nada que de una guía rápida de funcionamiento. Aun así, no lleva más de 10 minutos ver cómo se maneja el componente.

Todos los ejemplos que se incluyen están realizados utilizando los componentes TNT, aunque es fácil sustituirlos en el DFM por componentes estándar y el funcionamiento es correcto.

Leer más…

Interbase/Firebird Control Center (v 1.0 beta)

viernes, 3 de enero de 2014 5 comentarios
Share Button

Desde un tiempo acá he vuelto a trabajar con Interbase/Firebird de forma indistinta, por necesidades de trabajo.
Hace unos días, revisando documentación y webs sobre FB, me encontré con la herramienta gratuita, Firebird Control Center de Achim Kalwa.

La podéis encontrar para descarga en su Web (http://www.achim-kalwa.de/fbcc.phtml), junto con una explicación del funcionamiento y algunas notas sobre capacidades, instalación,…
Es una herramienta sencilla (nada sofisticada), pero útil y simple (suficiente en la mayoría de los casos).

Leer más…

Una semana más… (22/11/2013)

viernes, 22 de noviembre de 2013 2 comentarios
Share Button

Últimamente continuo con cambios a nivel laboral, consecuencia de ello es que la periodicidad de las entradas está siendo menor de lo habitual, así como el tiempo que me queda libre para continuar con las pruebas en XE5/Android (que tengo unas cuantas a medias). Tampoco puedo dedicarle todo el tiempo que me gustaría al blog, así que esperemos que en breve las cosas vayan mejorando en ese aspecto.

Esta semana David Esperalta, ha publicado en los foros del ClubDelphi un set de componentes  para Android (gratuítos y con código fuente). La publicación, los comentarios y la evolución la podéis seguir en este hilo.

Ahí mismo está el enlace de descarga y una vez descargado, hay un fichero de texto con las instrucciones a seguir para la instalación.

Además de bajarlo para que puedan ser útiles en nuestras aplicaciones, os recomiendo que echéis un vistazo al código y tratéis de entenderlo. Si lo hacéis podréis ver ejemplos de utilización de los Intents (y las clases y objetos que utilizamos para hacerlos funcionar en Delphi), así como referencias  a otras clases que ya existen en Delphi y que aquí se utilizan.

Esta semana, también hemos leído una publicación de Salvador Jover en el grupo de facebook de delphi solidario acerca de los cambios que ha sufrido la página del directorio de MVP de Embarcadero. Más visual y sobre todo con más información. Ahora para cada uno de sus integrantes, están sus “social links” (como lo han denominado). Ahí podemos encontrar los accesos a Twitter, Facebook, Google+, LinkedIn, Youtube, Blogs, incluso el de Stackoverflow.
Me parece muy acercado, ya que a partir de esos links, podemos obtener mucha información actualizada (sobre todo usando subscripciones) de las “últimas noticias” en lo que se refiere a Delphi y a Embarcadero.

 

DelphiAndroid Estos días se está celebrando en la península el “Iberian Tour” para XE5. En esta ocasión Danysoft ha ampliado las ciudades de las presentaciones (más allá de Barcelona y Madrid, que venían siendo las habituales). Ya había comentado en los foros y redes sociales que personalmente a mi me parecía una gran iniciativa y otros compañeros me habían mostrado la misma opinión. Había que esperar, para ver la aceptación de los desarrolladores, pero por lo que se, las presentaciones están siendo un éxito (en cuanto a asistencia), cosa que me alegra.

Os dejo algunas fotos de las que se han hecho hasta ahora.

Ver Iberian Tour

NewCodeRage8_680x150_RNPor último, recordar que los videos del CodeRage 8 ya están disponibles y se pueden revisar todas las presentaciones realizadas. Es difícil no encontrar entre todas ellas algunas (o bastantes) que no sean de interés a cualquier persona que trabaje con Delphi, ya que los temas que se tocan son “para todos los gustos” (como se suele decir). Podéis acceder a ellos desde el canal de Embarcadero Tech Net (al cual os sugiero que os subscribáis).

Aquí os dejo un listado, donde podéis ver rápido todas las presentaciones y acceder a ellas.

Oct 15, 05am – Opening Keynote
Oct 15, 06am – Introduction to the FM Application Platform
Oct 15, 07am – Introduction of FireDAC Multi-device
Oct 15, 08am – A VCL Developers Guide To FireMonkey
Oct 15, 09am – What’s New in FireMonkey for XE5
Oct 15, 10am – Designing Common User Interfaces for iOS & Android
Oct 15, 11am – LiveBindings and Rapid Prototyping
Oct 15, 12pm – Introduction to iOS and Android Devices connecting to a DataSnap Server
Oct 15, 01pm – Beyond The App
Oct 15, 02pm – Devices and Sensors in IOS and Android
Oct 15, 03pm – Common Delphi Coding Anti-Patterns
Oct 15, 04pm – Escaping The Delphi Try..Finally..Free Nest
Oct 15, 05pm – Real Mobile Implementation Patterns

Oct 16, 05am – PDF and Office Document Processing Tools for Delphi from Gnostice
Oct 16, 06am – DataSnap Architectures, Optimizations, and Use Cases
Oct 16, 07am – Secure DataSnap Development
Oct 16, 08am – From Idea to Submitted Mobile App in 30 Minutes
Oct 16, 09am – The New REST Client Library, A Tool of Many Trades
Oct 16, 10am – The New REST Client Library, Dive into the Details
Oct 16, 11am – Deep Dive Into Creating Android Apps
Oct 16, 12pm – CodeSite Logging Strategies & Techniques
Oct 16, 01pm – Responsive Delphi Design
Oct 16, 02pm – Effectively Using List Controls in Mobile Apps
Oct 16, 03pm – Creating Custom Controls for the FM Application Platform
Oct 16, 04pm – Things You Should Know about IntraWeb Development
Oct 16, 05pm – Maintainable Code – Separating Logic from UI

Oct 17, 05am – What’s New in FastReport 5 and FastCube 2
Oct 17, 06am – Accessing The iOS API
Oct 17, 07am – Accessing The Android API
Oct 17, 08am – Developing A Simple Mobile Game with FireMonkey
Oct 17, 09am – Secure Database Storage for Mobile and Desktop
Oct 17, 10am – Introduction To FireDAC with InterBase
Oct 17, 11am – Introducing TMS Aurelius, a Delphi ORM
Oct 17, 12pm – Avoiding the Top 5 Mistakes Developers Make when Going Mobile
Oct 17, 01pm – ClientDataSets Part 5: Cloning Cursors
Oct 17, 02pm – Caching Updates with FireDAC
Oct 17, 03pm – InterBase XE3 Updates and Performance Monitoring
Oct 17, 04pm – Functional Programming in Delphi XE5
Oct 17, 05pm – Developing Windows & Android Apps with Mitov Software Component Libraries

Como siempre, comentarios, sugerencias, críticas y demás…, serán bienvenidos.

Un saludo y hasta la próxima.

“Server PING” utilizando WMI…

domingo, 13 de octubre de 2013 4 comentarios
Share Button

Imagen1Ya he hablado otras veces en el blog de la WMI (Windows Management Instrumentation), con ejemplos y artículos; Además también podéis encontrar en la sección de componentes la librería GLibWMI que utiliza esta característica de windows para acceder a diferente información de un  sistema que corra el susodicho S.O. de Microsoft.

En este caso quiero compartir con vosotros una sencilla aplicación que permite “monitorizar” a través de PING el estado de un ordenador remoto.

Esta pequeña aplicación la he creado a partir de la necesidad de conocer el tiempo de respuesta de un equipo a lo largo de una jornada. Necesitaba saber si a lo largo de unas horas se producían cortes o bajadas en el tiempo de respuesta.

Para ello he realizado un ping periódico y almacenando los resultados, para poder analizar a posteriori si la respuesta ha sido homogénea.

imagesPodemos realizar un PING desde Delphi utilizando las librerías Indy, mediante el componente TIdIcmpClient y otra opción es  utilizar la librería ICMP.DLL de Windows y Winsock.

En este caso, lo he realizado utilizando una tercera opción que es, mediante WMI.

Leer más…

Categories: Delphi, Ping, WMI Tags: , ,