Aunque seguro que no es una de las características más utilizadas hoy en día en los programas nuevos desarrollados en Delphi, es probable que tengamos programas antiguos que funcionan con esta interfaz de usuario. Yo mismo tengo alguno que todavía la usa.
Hasta ahora migrar esos programas a versiones nuevas podía ser un problema debido a que Microsoft ha declarado MDI como obsoleta y el funcionamiento no acaba de de ser el correcto. Problemas con el repintado, los estilos y con High DPI entre otros.
Para la versión 12 de Delphi se ha intentado solventar estos problemas implementando la solución desde el propio Delphi y no dejando que lo solvente Windows. El resultado no sólo es, que ahora ya podemos recompilar nuestras aplicaciones antiguas con la versión 12 y volver a tener lo mismo que teníamos antes, sino que con esta modificación, el resultado puede ser «mejor» todavía que el que teníamos en la versión antigua.
¿Porqué esto último?
Porque además de implementar las características del MDI para que funcionen correctamente, se ha añadido un nuevo componente, que si lo utilizamos (no es obligatorio), las mejorará sobre todo a nivel visual y de usabilidad.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
(Tened paciencia que como hay fotos tarda en cargar…)
Lo prometido es deuda, así que os adjunto algunas fotos del encuentro del pasado Jueves 14 de Marzo en Madrid.
Desde aquí mi felicitación a Danysoft por la organización del evento.
Las fotos no son de mucha calidad (que estaba pendiente de otras cosas ;-D ), pero espero que sirvan para que os hagáis una idea.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Para los que echabais en falta los eventos presenciales, pues hay buenas noticias.
El próximo día 14 en Madrid Danysoft ha organizado un evento completo para desarrolladores Delphi y C++ Builder. La información completa la tenéis aquí. Y el acceso al registro aquí.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
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.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
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:
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.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
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.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
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.
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:
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…
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.
Embarcadero MVP.
Analista y Programador de Sistemas Informáticos.
Estudios de Informática (Ingeniería Técnica Superior) en la UPC (Universidad Politécnica de Barcelona).
Llevo utilizando Delphi desde su versión 3. Especialista en diseño de componentes, Bases de Datos, Frameworks de Persistencia, Integración Continua, Desarrollo móvil,…