Archivo

Entradas Etiquetadas ‘Delphi’

JSON Data Binding Wizard (Delphi 12)

martes, 19 de diciembre de 2023 2 comentarios

Hace poco que ya está disponible la última versión de RAD Studio.

La versión 12 Athens trae bastantes novedades; Podéis ver la lista completa y explicada en la propia web de embarcadero:

En esta entrada me voy a centrar en el nuevo asistente “JSON Data Binding Wizard”.
Anteriormente en otras entradas ya he realizado ejemplos para trabajar con ficheros JSON. A continuación os adjunto algunos links de entradas donde por diferentes necesidades he trabajado con archivos de este tipo:

Es junto al XML el formato más utilizado para intercambio de datos en la web y mayoritariamennte usado cuando descargamos información desde servidores REST mediante API, como se hace en las entradas anteriores.
Lo habitual en versiones antiguas de Delphi, es utilizar una librería externa ya que Delphi no la trae integrada (lkJSON, SuperObject,…) y en las versiones nuevas de Delphi ya se puede utilizar la que trae el propio Delphi (System.Json, REST.Json).

Lo que he necesitado hacer en esos ejemplos, es leer la estructura de datos y navegar por esa estructura jerárquica del JSON (similar al XML) e ir saltando por diferentes nodos hasta encontrar la información que necesitamos. Si el archivo es muy grande y la estructura compleja con muchos niveles, esta navegación (y su implementación puede ser más o menos compleja). Para escribir debemos completar los diferentes nodos de la estructura para finalmente generar el JSON.

Leer más…

Categories: Código, Delphi, JSON, OOP Tags: , ,

RAD Studio Live 2023 (Integración Continua)

miércoles, 15 de marzo de 2023 Sin comentarios

El pasado 28 de Febrero se celebró el RAD Studio Live 2023 en Español.

Ya comenté sobre él y las diferentes charlas en la anterior entrada.

Por si no pudisteis asistir o por si queréis ver de nuevo alguno de los vídeos, ya se han publicado en el canal de Youtube de Embarcadero Latinoamérica.

La referente a “Integración continua con Delphi”, que presenté yo mismo, también la podéis ver (formato original) en mi canal de youtube.

Igualmente aquí tenéis los enlaces individuales a los vídeos de la 4 charlas:

Espero que disfrutéis de todas ellas.

Object Pascal Handbook by Marco Cantu

viernes, 11 de diciembre de 2020 2 comentarios

Está disponible para descarga el manual “Object Pascal Handbook” de Marco Cantú, actualizado a la versión Delphi 10.4 Sydney.

Se puede descargar desde la web de embarcadero de forma grauíta.
https://lp.embarcadero.com/Object-Pascal-Handbook-2021

Os dejo una imagen de la tabla de cotenido:

El código fuente de todos los ejemplos está disponible en GitHub.

Categories: books, Código, Delphi, Embarcadero Tags: ,

DelphiMVCFramework; Soporte para ActiveRecord

jueves, 3 de diciembre de 2020 8 comentarios

Avanzando un poco más en el tema de las últimas entradas, voy a centrarme en esta característica que implementa DMVC. Voy a mostrar la utilización de ActiveRecord para “reimplementar” los métodos de GET, POST, PUT y DELETE que vimos en la última entrada. El resultado final será el mismo, pero cambiaremos la forma de obtener y devolver los datos y de realizar las operaciones sobre la Base de Datos.

A diferencia de la técnica de la tercera entrada, ActiveRecord, sólo podemos utilizarlo si estamos utilizando como componentes de conexión FireDAC.

A continuación os pongo los links de las anteriores:

Entrada 1: DelphiMVCFramework; Framework REST para Delphi
Entrada 2: DelphiMVCFramework; Primeros pasos
Entrada 3: DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)
Entrada 4: DelphiMVCFramework; Soporte para ActiveRecord

A continuación vamos a ver una introducción al funcionamiento de ActiveRecord, característica que incluye DMVC, como patrón de programación.

PATRON ACTIVERECORD

Es un patrón de diseño que permite hacer mapeo objeto-relacional (ORM). Mapea un registro de una tabla de la Base de Datos a un objeto. Soporta operaciones CRUD.

ActiveRecord

Leer más…

DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)

viernes, 6 de noviembre de 2020 Sin comentarios

Continuando con las entradas anteriores (adjunto los links a continuación), en esta vamos a implementar las operaciones básicas  para nuestra API Rest.

Entrada 1: DelphiMVCFramework; Framework REST para Delphi
Entrada 2: DelphiMVCFramework; Primeros pasos
Entrada 3: DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)

Ya vimos la operación GET, que es método por defecto que utilizamos en nuestras llamadas cuando las hacemos mediante un navegador.

Cuando realizamos la siguiente llamada y obtenemos esta respuesta y aunque no lo estemos especificando, el método que estamos utilizando es un GET.

https://neftali.clubdelphi.com/wp-content/uploads/image-65.png

En realidad estamos ejecutando este código en nuestro controlador:

[MVCPath]
[MVCHTTPMethod([httpGET])]
procedure Index;

Por defecto, como he dicho todas las llamadas que hacemos desde el navegador ejecutan el método GET, así que para poder ejecutar el resto de métodos necesitaremos alguna herramienta extra. Hay bastantes en el mercado, algunas de ellas las podemos instalar como plugins del navegador y otras funcionan como ejecutables.

Leer más…

Categories: Delphi, DMVCFramework, JSON, REST Tags: , , ,

DelphiMVCFramework; Primeros pasos

viernes, 30 de octubre de 2020 4 comentarios

En la última entrada del blog vimos una presentación a DMVC como framework REST. En este caso vamos a avanzar un poco más y vamos a dar un vistazo rápido a la configuración y a la estructura de las respuestas que podemos dar desde el servidor.

Entrada 1: DelphiMVCFramework; Framework REST para Delphi
Entrada 2: DelphiMVCFramework; Primeros pasos
Entrada 3: DelphiMVCFramework; Acciones básicas (GET, POST, PUT y DELETE)

Antes de avanzar en nuestro controlador, vamos a detenernos un momento en el “controlador de sistema” (por llamarlo así). Un controlador que viene integrado “de serie” en nuestro servidor.

CONTROLADOR DE SISTEMA

En nuestro primer ejemplo, en la entrada anterior vimos como se genera un proyecto de ejemplo utilizando el wizard que se instala con MVC. Al crear un proyecto de ejemplo se nos genera automáticamente un controlador (TMyWebController) que incluye varias acciones.

Una vez que aceptamos el wizard, obtendremos en el código unas acciones de ejemplo como estas:

image

Leer más…

Categories: Delphi, JSON, REST Tags: , ,

“Code Faster in Delphi” y DelphiMVCFramework

miércoles, 21 de octubre de 2020 Sin comentarios

Siempre en buena señal que haya publicaciones sobre Delphi, para mi es un indicativo de la buena salud de un producto. En el caso de Delphi al enos creo que es un indicativo de mejora.

Desde hace poco tiempo están disponibles estos dos libros que me parece interesantes como para comentarlos en este blog.

Libros

Leer más…

Categories: Delphi, libros Tags: , ,

GLibWMI v.3.0 ya disponible a través de GetIt!

miércoles, 5 de agosto de 2020 Sin comentarios

Ya hace unos días que publiqué la versión 3.0 de la librería GLibWMI. Si queréis saber más información tenéis esta entrada de no hace mucho.

Captura_2020-08-05 09_32_09Como ya comenté, esta versión está totalmente renovada respecto a las anteriores. He reescrito mucho código y he creado nuevos componentes. He añadido documentación al código fuente para facilitar su uso y consulta y he ampliado las demos disponibles. Además el código fuente lo he subido a Github.

Por último, ya he considerado esta build como “estable” (hasta ahora la librería estaba marcada como beta).

Todo esto, junto con la reciente aparición de Sydney me animó a proponer a Embarcadero la librería GlibWMI para ser añadida al portfolio de GetIt! Veo que han aceptado y desde hace unos días está disponible en las últimas versiones para descarga e instalación a través de él.

Captura_2020-08-03 13_30_37

________________________________________________________________

ACTUALIZACIÓN (05/08/2020): He visto que dependiendo de la versión de descarga, el paquete se copila correctamente, pero a una de las demos (BIOSdemo) le falta un fichero (TestBiosInfo_Icon1.ico) y al compilar aparece este error:
“[BRCC32 Error] TestBiosInfo.vrc(63): file not found: TestBiosInfo_Icon1.ico”

Para solucionarlo, basta con eliminar esa línea que da el error del fichero vrc, o copiar un icono de otra demo con ese nombre es esa carpeta.

_________________________________________________________________________

Como siempre comentarios, sugerencias, dudas y críticas (si son constructivas) son bienvenidas.

Hasta la próxima.

Categories: Delphi, GLibWMI, Install, WMI Tags: , , ,

Instalando Delphi 10.4 + patches (updates 1, 2, y 3)

lunes, 3 de agosto de 2020 2 comentarios

Ya hay varios updates que solucionan problemas de la verión 10.4 de Delphi.

Aunque una de las novedades de esta versión es que se pueden instalar desde el propio IDE, todavía falta pulir el proceso un poco. Sí es cierto que el la mayoría de los casos se ins5talan, pero en el caso del Patch 2 (no se si porque afecta también a los ficheros de GetIt!) es necesario realizar el último paso desde fuera.

Lo primero es que desde el IDE ya nos debería aparecer un aviso de que tenemos “IDE Patches” disponibles para instalar.

image Leer más…

Categories: Delphi, GetIt, IDE, Sydney Tags: , , , ,

Pasado, presente y futuro… #Delphi104

lunes, 25 de mayo de 2020 5 comentarios

Hay 2 cosas que me han motivado a realizar esta entrada, una positiva y otra negativa.
Empezaré con las negativas y así dejamos un buen sabor de boca para el final.

Estos días he escuchado (por n-esima vez) decir cosas similares a estas:

“La nueva versión de Delphi trae 4 cosas y poco más que justifiquen la actualización…”
“Incluye cosas que nadie quiere y temas visuales poco importantes…”

Y lo peor es que no es algo sólo de esta versión 10.4, sino que son comentarios recurrentes que leo en grupos y foros, versión tras versión. No me gusta entrar en discusiones así y respeto la opinión de cada uno, pero me parece una postura poco objetiva.

Todavía recuerdo la presentación de Firemonkey (Delphi XE2) en Barcelona con Pawel Glowacki, donde Salvador Jover y yo tuvimos la oportunidad de charlar con él y hacerle una pequeña entrevista (que podéis releer aquí). Mucho ha llovido desde aquella fecha y estoy seguro de que Pawel estaría orgulloso de la evolución que ha tenido el producto, desde aquella versión “inicial” que presentaba FMX.

VersionesSplashDelphi

Desde finales de 2011 “algunas” cosas han cambiado…

Leer más…