Archivo

Archivo para la categoría ‘Delphi’

FMX Linux – Configuración

miércoles, 10 de julio de 2019 5 comentarios
Share Button

Captura_2019-07-08 13_10_51Seguro que los que estáis un poco al tanto de las noticias de Delphi, el titular de este artículo no os sorprenderá. Se ha publicado en los foros y grupos relacionados con Delphi. Ya tenemos una herramienta que nos permite añadir a la lista de plataformas de desarrollo para Delphi, algunas versiones de Linux (FMX Linux). Está disponible en la versión Architect y Enterprise de Delphi, y para el resto vía GetIt! se puede descargar en modo demo.

El paquete propone generar aplicaciones en FireMonkey con Delphi y utilizando FMX Linux, estas estarán disponibles en Linux (utilizando para ello en compilador para Linux de Embarcadero).

No tengo grandes conocimientos de Linux/Unix, así que me he propuesto para esta entrada intentar poner en marcha el paquete y conseguir generar un ejecutable en Linux con la documentación de la wiki de Embarcadero a ver si soy capaz. De esta forma evaluar también la dificultad de hacerlo para alguien con pocos conocimientos como yo.

Primer Paso: Instalación vía GetIt!

Es la forma más sencilla de hacerlo, ya que el trabajo para nosotros es nulo. Seleccionamos el paquete en GetIt y pulsamos Install. El asistente se encargará una vez aceptada la licencia, de instalarlo, registrarlo y reiniciar el IDE para completar los últimos pasos.

Leer más…

Categories: Delphi, FMXLinux, Linux Tags: ,

Eventos de Base de Datos con SQL Server y FireDAC (Query Notifications)

jueves, 4 de julio de 2019 17 comentarios
Share Button

QueryNotificationsLa mayoría de SGBD’s disponen de un sistema para poder utilizar a lo que habitualmente llamamos eventos o notificaciones, lo que ya no es tan habitual, es que los componentes de acceso implementen esta funcionalidad.

En este artículo me voy a centrar en el sistema que nos ofrece SQL Server (las “Query Notifications”) + FireDAC (TFDEventAlerter).

¿QUE SON LAS “QUERY NOTIFICATIONS”?

Resumiendo y simplificando el concepto, podemos decir que una aplicación cliente recibe una notificación desde el Gestor de Base de Datos, cuando el contenido de una consulta que definimos, cambia. En la práctica funcionaría de la siguiente manera.

Las “query notifications” nos permiten definir la siguiente consulta:

SELECT NOMBRE, APELLIDOS FROM CLIENTES

Y recibir una notificación cuando los datos involucrados en ese consulta (NOMBRE o APELLIDOS del cliente) cambian.

Con esta configuración recibiré una notificación siempre que se AÑADA o BORRE un registro de la tabla CLIENTES y también cuando se modifiquen los campos NOMBRE y APELLIDOS de esta tabla (no así el resto de campos de la tabla).

NOTIFICACIONES EN SQL SERVER

Las notificaciones en SQL Server se introducen en a partir de la versión 2005 (9.x). Y existen varias formas de implementar las notificaciones:

  • SQLNotificationRequest: Está programado a un nivel más bajo y es en cierta forma menos automático, ya que el usuario debe implementar parte de la estructura necesaria para hacerlas funcionar.
  • SQLDependency: Su implementación es a nivel más alto y el sistema es más automatizado. Se inicia un proceso que procesa las notificaciones que se publican en una cola.
  • SQLCacheDependency: Que se utiliza para aplicaciones Web diseñadas mediante ASP.NET 2.0 o posterior.

En nuestro caso nos vamos a centrar en SqlDependency que es el método que utiliza el componente TFDEventAlerter de las FireDAC.

Leer más…

Librería de componentes GLibWMI (actualización)

miércoles, 3 de abril de 2019 2 comentarios
Share Button

Estos días he dedicado un poco de tiempo a revisar esta librería de componentes GLibWMI para trabajar con WMI que ya hace unos años diseñé. Ya he comentado otras veces que por el tipo de código que contiene (en su día la diseñé con Delphi 6) debe compilar sin mayores problemas en versiones posteriores, salvo algunos Warnings (por conversión de tipos de datos) y algún Hint, que no afectan al funcionamiento de los componentes.

He compilado el paquete de componentes con la versión 10.2 Tokyo y he icluído algunas directivas de compilación.

Captura_2019-04-03 11_48_36   Captura_2019-04-03 11_50_24

La librería se ha actualizado a la versión 2.2b y he recompilado los ejemplos y demos que la acompañan.

He mantenido las descargas anteriores por si alguien necesita descargarlas.

Aquí tenéis el acceso a la sección donde se detallan los cambios.

Captura_2019-04-03 12_01_14

CodeRage en Español 2019 (21 y 22 de Febrero)

martes, 12 de febrero de 2019 2 comentarios
Share Button

Como cada año por estas fechas, ya está todo preparado para un nuevo CodeRage en Español.

Dos jornadas con conferencias online para desarrolladores sobre Delphi y C++Builder. Novedades, planes de futuro, funcionalidades recientes, y características interesantes para la comunidad de desarrolladores.

(Actualización 06/03/2019)
Si no pudiste asistir a los Webminar, puedes acceder a la grabación de todas las conferencias en el canal de YouTube de Embarcadero Latinoamérica.

Aquí tienes los videos de todas las conferencias

Banner_facebook_CodeRage2019ES

Personalmente creo que es una gran oportunidad para ver algunos temas de los que habitualmente no se habla en los foros, blogs,…

Aquí tenéis un acceso al link a la página de registro.

A continuación os adjunto un listado de las presentaciones, con hora española (en la pñágina de registro tenéis opción de cambiar la gfranja horaria, para obtenerlas en cualquier otra)..

21 de Febrero:

  • 09:00 – Arquitectura multi-tenant con Spring Boot y Delphi CE (Daniel A. S. Verduzco)
  • 09:50 – Creando aplicaciones Web con Delphi y Unigui (Emilio Pérez)
  • 10:40 – FIREDAC: Recursos que no conoce (Jose Castillo Reyes)
  • 11:30 – RADServer, el centro de todo (Jhonny A. S. Gutierrez)
  • 12:20 – Cómo utilizar módulos de datos para simplificar el desarrollo de aplicaciones multi-plataforma (Miguel A. M. Rendón)

22 de Febrero:

  • 09:00 – El Poder de C++Builder 10.3 Rio (Luis Felipe González)
  • 09:50 – Migración de proyectos C++ Builder a Unicode (Luis Felipe González)
  • 10:40 – Caso de Estudio: Aplicación Móvil Mascotas (Edgar Ramírez Rosas)
  • 11:30 – Aprovechando todo en 10.3 Architect Edition (Fernando Rizzato)
  • 12:20 – Un vistazo introductorio a DevOps (Alejandro Ruiz)
  • 13:10 – Crear una aplicación con ExtJS Modern (Joshua Hernandez)
Categories: Delphi Tags:

(Lo que viene…) Variables Inline

viernes, 2 de noviembre de 2018 7 comentarios
Share Button

Se van descubriendo algunas de las características que tendrá la próxima versión de RAD Studio; Sobre una de ellas voy a hablar hoy y a medida que vayan saliendo comentaré algunas más a medida que las pueda ir probando en la beta. En la versión 10.3 de Delphi se introduce la característica de poder definir variables y constantes «inline».

INTRODUCCIÓN

Utilizando la definición Inline de variables y constantes podemos definir una variable, asignarle un tipo e inicializarla, todo ello en una misma línea y además en el punto donde la necesitemos. Ahora podemos utilizar un código como este que en versiones anteriores nos hubiera dado errores en compilación.

begin
  var str               := 'Hola mundo!';
  var i:integer         := 10;
  var numVersion:double := 10.3;
  var dFecha:TDateTime  := Now;
  var b:boolean         := True;
 
  ShowMessage ('Variable string:    ' + str + sLineBreak +
               'Variable integer:   ' + IntToStr(i) + sLineBreak +
               'Variable double:    ' + FloatToStr(numVersion) + sLineBreak +
               'Variable Date:      ' + DateToStr(dFecha) + sLineBreak +
               'Variable boolean:   ' + BoolToStr(b, True) + sLineBreak
               );

También podemos hacer algo similar con las constantes. De forma que podemos escribir un código como este:

procedure TForm2.Button3Click(Sender: TObject);
begin
  const iVersion:integer = 10;
  const sMensaje:string = 'Hola mundo!';
   ShowMessage(sMensaje + sLineBreak + 'Versión: ' + IntToStr(iVersion));
end;

Leer más…

Categories: beta, Delphi Tags:

Delphi Community Edition

jueves, 19 de julio de 2018 2 comentarios
Share Button

La comunidad Delphi llevaba tiempo demandando esta versión de Delphi y finalmente Embarcadero se ha decidido a dar ese paso. Hace tiempo que disfrutábamos de la versión Starter, pero con la “Delphi and C++Builder Community Edition” se da un paso más.

Se podrá disfrutar de una versión completa, con desarrollo multiplataforma (Windows, Android, iOS y macOS), acceso a Bases de Datos, IoT y el resto de características necesarias para desarrollar con una versión completa.

Delphi_10.2.3_CE_Splash

Según la web de embarcadero, esta versión está enfocada a desarrolladores independientes, startups, estudiantes y organizaciones sin fines de lucro con ingresos anuales menores a 5000$ o equipos con hasta 5 desarrolladores.  Es decir, que podemos instalar y utilizar esta versión para aplicaciones de uso propio o incluso para venderlas si nuestros ingresos por ellas no superan esos 5000$.

Personalmente creo que es una gran noticia; La única pega tal vez sea que ha llegado un poco tarde, pero eso no quita que sea algo bueno.  Disponemos de una versión Profesional completa de libre descarga y uso para todos aquellos que quieran trabajar con ella y conocerla.

Aquí tenéis la comparativa entre las diferentes versiones (incluida la Community) que distribuye ahora Embarcadero.

2018-07-19 08_15_32-000184

Si queréis conocer todos los detalles de esta versión, aquí tenéis en enlace a la página Community Edition FAQs, donde tenéis todos los detalles comerciales, de licencia, de uso,… referentes a esta versión.

Página de presentación y descarga.

Aquí os dejo también a la página en la docWiki de Embarcadero. Podéis encontrar aquí detalles más técnicos sobre la descarga, instalación, activación,…

Y algunos enlaces a Blogs y Webs de compañeros de la comunidad:

NOTA: Añado también algunos enlaces a páginas de Embarcadero con datos de la versión.

Categories: CE, Delphi, Embarcadero Tags: ,

Entornos de ejecución de test con DUnitX (Bonus track)

martes, 26 de junio de 2018 Sin comentarios
Share Button

Con la anterior entrada del blog completamos la serie sobre test unitarios y los frameworks a utilizar con Delphi, con una visión general sobre DUnitX. A continuación tenéis los links a las entradas de la serie.

Esta última no estaba prevista inicialmente, pero la última ya era bastante extensa y no quise mezclar con el tema de DUnitX este “Bonus track”. Digamos que esta es como un apéndice a la serie.

DUnitX permite ejecutar los test que diseñamos utilizando diferentes salidas. Digamos que el programa de ejecución de test puede estar diseñado en “modo consola”, utilizando un ejecutable VCL o generando un programa FMX. No hablamos de los test en sí, sino del programa que nos muestra la salida y los resultados de la ejecución.

A continuación vamos a repasar casda uno de ellos.

Leer más…

Categories: Delphi, TDD, Unit test Tags: , ,

Delphi y C++Builder Iberian Tour 2018

martes, 5 de junio de 2018 Sin comentarios
Share Button

Como viene siendo habitual los últimos años, Danysoft distribuidor oficial de Embarcadero Delphi en España y Portugal organiza el «Iberian Tour».

Presentaciones gratuitas sobre las novedades de las últimas versiones de Delphi y C++Builder.

Este año en Barcelona, Madrid y Valencia (7, 8 y 12 de Junio respectivamente).

El link para ver los contenidos y registrarse es el siguiente

Un saludo.

Test Unitarios; Framework DUnitX (Entrega 4)

martes, 15 de mayo de 2018 Sin comentarios
Share Button

Completamos con esta entrada la serie sobre test unitarios, centrándonos en el Framework DUnitX, que es el que actualmente embarcadero recomienda y se incluye en las últimas versiones de Delphi.

INTRODUCCION

Como ya he comentado en las entradas anteriores, DUnitX es una evolución de DUnit (y que además recoge ideas de otros paquetes similares como NUnit). Si no lo tenéis en la versión actual de Delphi con la que estáis trabajando, podéis descargarlo desde el repositorio de Github, y deberíais poder instalarlo sin problemas. DUnitX soporta versiones de Delphi 2010 y posteriores.

A continuación os adjunto una tabla con las diferencias más significativas en cuanto a características que DUnitX nos aporta frente a DUnit. (click sobre ella para verla ampliada).

Leer más…

Categories: Delphi, TDD, Test Tags: , , ,

Convertir Test de DUnit a DUnitX (Entrega 3)

lunes, 30 de abril de 2018 Sin comentarios
Share Button

Con este artículo pensaba completar esta serie referente a pruebas unitarias y a los Frameworks más utilizados en Delphi para realizarlas, pero el tema de conversión y migración de test entre DUnit y DUnitX se ha alargado más de lo esperado, así que para no generar una entrada muy larga y mezclar temas he decidido «partirla» en dos».

De esta forma dejo para la siguiente el Framework DUnitX en profundidad y en esta me he centrado en explicaros cómo migrar los test existentes que tengamos desarrollados en DUnit.

En las últimas versiones de Delphi, DUnitX es el framework que se recomienda usar desde Embarcadero. Veremos que es más flexible y parametrizable que DUnit, aunque si hemos trabajado con DUnit, DUnitX nos será muy familiar en su mayoría de aspectos (es una evolución de DUnit, NUnit y algunos otros…).

Si ya hemos trabajado con DUnit antes que con DUnitX (como hemos hecho en las entradas del blog) podemos «migrar» nuestros test de forma sencilla, ya que existen determinadas Units ya creadas para adaptar nuestros test existentes.

Leer más…

Categories: Delphi, OOP, TDD, Test Tags: , , , ,