Archivo

Archivo para la categoría ‘Delphi’

Controlador de Previsualización (PreviewHandler) para imágenes (v.1.0)

lunes, 10 de junio de 2024 3 comentarios
Share Button

ShellPreviewImagesFiles es un controlador de vista previa (PreviewHandler) para las últimas versiones de Windows que admite los tipos de imágenes más habituales actualmente.

Esta herramienta está basada en la serie de entradas que puedes encontrar en este mismo blog sobre la creación de Previews Handler en Delphi.

Los sistemas Windows traen por defecto algunas previsualizaciones incluidas, pero no todos los ficheros de tipos habituales traen una previsualización «de fábrica». Esto pasa con algunos ficheros de imágenes. Esta extensión permite ver previsualizaciones de las siguientes imágenes en el panel de Vista Previa del Explorador de Windows.

Permite trabajar con los siguientes formatos/extensiones:

Extensiones Descripción
.bmp Imagenes de mapas de bits
.jpg, .jpeg Imágenes jpg (Joint Photographic Experts Group)
.png Portable Network Graphics
.gif Graphics Interchange Format
.ico Ficheros de iconos
.wmf, .emf Windows metafiles y Enhanced Windows Metafiles
.tif, .tiff Tagged Image File Format
.svg Gráficos vectoriales (Scalable Vector Graphics)

Para algunas imágenes hacemos un tratamiento especial.

En el caso de las SVG, dado que son imágenes vectoriales que internamente se almacenan como archivos de texto (XML), la previsualización nos permite verlas como imagen (opción por defecto y más habitual), pero si es necesario también como texto.

Debajo se ve una imagen con las 2 previsualizaciones disponibles para un fichero,

En el caso de los ficheros de iconos ICO, que pueden almacenar varias imágenes en diferentes resoluciones, también reciben un comportamiento especial. Se muestra en la previsualización las diferentes imágenes incluida en el fichero de icono, junto con las dimensiones de cada uno de ellos.

Debajo de este texto se ve una imagen de la previsualización de un fichero de icono que incluye dentro varias imágenes de diferentes dimensiones.

Por ahora no necesita librerías de terceros y está totalmente programada utilizando Delphi.

Es de uso libre.

Os aquí el instalador para descarga. Por defecto la instalación se realiza sobre el directorio:
«c:\Program Files (x86)\ShellPreviewExtFiles\»

Download instalador (Windows 32b)

Cualquier duda, comentarios, error,… me lo podéis dejar en los comentarios.

 

 

IV – Instalador para PreviewHandler de imágenes/texto (Inno Setup)

lunes, 3 de junio de 2024 Sin comentarios
Share Button

Continuando con las entradas anteriores, en esta última vamos a crear una extensión para visualizar los tipos de imágenes más habituales y usados en Windows. Además vamos a «redistribuir»  un poco nuestro esqueleto inicial para reorganizar las clases (tal y como comentamos en entradas anteriores); Y finalmente vamos a crear un instalador para poder ofrecer esta extensión de una forma más profesional.

Os adjunto los links de todas las entradas de esta serie, como he hecho en las anteriores:

  1. Crear una Previsualización de ficheros en Windows
  2. «Registros» de una DLL de previsualización
  3. Generando previsualización funcional (PreviewHandler)
  4. Instalador para PreviewHandler de imágenes/texto (Inno Setup)

.

INTRODUCCION

Con todo los visto hasta ahora en las entradas anteriores, vamos a crear una DLL para imágenes de diferentes formatos, modificando un poco el esqueleto del proyecto que teníamos hasta ahora.

Vamos a tratar las extensiones más comunes con las que trabajamos:  bmp, jpg, jpeg, png, gif, ico, wmf, emf, tif, tiff

Además vamos a generar un instalador con Inno Setup que instale (y desinstale cuando sea necesario) nuestra DLL de previsualización. Inno Setup, para los que no lo conozcáis, es un generador de instalaciones para Windows muy potente y totalmente gratuito. En otras ocasiones ya he hablado de él, y a día de hoy es un estándar en generar programas de instalación.

Además de ser sencillo de utilizar, hay multitud de scripts predefinidos y de ejemplo por la web, que podéis utilizar, modificar y adaptar a vuestras necesidades. Para lo que necesitamos nosotros veréis que es sumamente sencillo y fácil.

Leer más…

El Día de los Desarrolladores Delphi y C++ llega a Barcelona

viernes, 31 de mayo de 2024 Sin comentarios
Share Button

Desde Danysoft, organizan de nuevo un evento presencial para la comunidad Delphi/C++Builder donde se hablará sobre las novedades de la última versión, y se presentarás temas de interés y casos de éxito relacionado sobre nuestras herramientas favoritas de Embarcadero.

Después de unos años de eventos online, se hace un esfuerzo para retomar los eventos presenciales. El acceso al registro y a la agende prevista la tenéis en este link. Asisten ponentes de Danysoft, Antonio Zapater de Embarcadero y gente de la comunidad Delphi; Además de una conexión en directo con David Millington (Product Manager de Embarcadero para RADStudio).

 

.

Aquí Los detalles del evento adjunto la Agenda por si queréis echarle un vistazo.
.

Agenda

  • 9:00h: Registro 
  • 9:20h: Presentación y bienvenida
    Bienvenida, presentación de los ponentes y de Danysoft.
  • 9:30h: Novedades de RAD Studio 12.1
    Antonio Zapater, Embarcadero.
    RAD Studio 12.1 es una versión que destaca por la cantidad de mejoras que se incorporan a la extensa lista de herramientas incluidas en Delphi, C++Builder y RAD Server. Realizaremos un recorrido por las principales novedades para conocer de qué forma se han potenciado nuestras capacidades de desarrollo. 
  • 10:15h: El nuevo toolchain de C++Builder
    David Millington, Embarcadero.
    David, Product Manager de C++Builder, se conectará para hablarnos del nuevo entorno de herramientas para C++, y las sinergias del IDE con Delphi. 
  • 10:30h: Dockering BD. ¡Cocina tus datos con Delphi al estilo Heisenberg!
    Jorge Cangas, Danysoft.
    En esta sesión te mostraremos de qué manera Docker facilita el desarrollo de aplicaciones compatibles con diversos entornos de bases de datos, evitando la necesidad de instalar y desinstalar software en tu PC. ¡Una receta digna del propio Heisenberg! 
  • 11:15h: Desarrollo de aplicaciones modernas con RAD Studio 12.1
    Emilio Pérez, Danysoft.
    Hay quien dice que Delphi es antiguo. Pero a lo largo de esta sesión vamos a descubrir muchas “modernidades” que quizás no conocías en Rad Studio 12 y que van a hacer que tu cabeza explote. Durante la sesión veremos términos como Agile, DevOps, Microservicios, Contenedores, Cloud-Native, Automatización, backend-frontend, APIs, seguridad, escalabilidad, experiencia de usuario, accesibilidad y muchos más que referencian al desarrollo de aplicaciones modernas y todo ello haciendo uso de Rad Studio 12.1. 
  • 12:00h: Café
    Un buen momento para charlar con los ponentes, Danysoft y con otros profesionales. 
  • 12:30h: Caso de éxito. Delphi en grandes equipos, GLOBALIA HANDLING
    Victor García Velasco, Responsable Equipo desarrollo Globalia Handling.
    Conoceremos más sobre el equipo de operaciones de Globalia Handling, que nos mostrará un caso de uso real en un proyecto con un gran equipo, y cómo idean el futuro al que dirigirse, todo ello con Delphi como recurso para el desarrollo. 
  • 12:50h: Mesa de expertos
    Antonio Zapater, Emilio Pérez, Jorge Cangas, Germán Estévez (Neftalí), Xavier Martinez (Cadetill).
    Disfrutaremos de la presencia de destacados MVPs de Delphi para conversar sobre los productos de RAD Studio en base a las dudas y consultas de los asistentes. 
  • 13:55h: Cierre y Despedida

Un saludo y para los que podáis asistir, nos vemos allí!!!

III-Generando una previsualización funcional (PreviewHandler)

lunes, 27 de mayo de 2024 Sin comentarios
Share Button

INTRODUCCIÓN

Continuamos con el tema de las 2 últimas entradas. Visto el esqueleto del proyecto y probado que funciona (la carga, descarga y registro de la DLL) ahora nos queda generar una previsualización funcional. Hasta ahora hemos visto que podemos mostrar un formulario «vacío», ahora nos toca programar realmente la carga del fichero (según su tipo).

Os adjunto los links de todas las entradas de esta serie, que iré completando a medida que avance:

  1. Crear una Previsualización de ficheros en Windows
  2. «Registros» de una DLL de previsualización
  3. Generando previsualización funcional (PreviewHandler)
  4. Instalador para PreviewHandler de imágenes/texto (Inno Setup)

.

PROGRAMAR REALMENTE LA PREVISUALIZACIÓN

Con la estructura que tenemos del proyecto anterior, lo único que tenemos que hacer ahora es programar la carga y visualización de la información del fichero en el formato que queramos ofrecerla al usuario.
Para este primer ejemplo vamos a empezar con algo sencillo.
Realizaremos una previsualización de ficheros de log (*.LOG) que vamos a tratar como ficheros de texto plano.

Leer más…

I – Creando una DLL de previsualización de ficheros (Preview Handler)

miércoles, 22 de mayo de 2024 Sin comentarios
Share Button

La idea de esta serie de entradas es ver todos los pasos necesarios para generar desde cero una DLL de Previsualización para Windows, de un determinado tipo de ficheros.

Antes de continuar os adjunto los links de las entradas de esta serie, que iré ampliando a medida que las vaya publicando:

  1. Crear una Previsualización de ficheros en Windows
  2. «Registros» de una DLL de previsualización
  3. Generando previsualización funcional (PreviewHandler)
  4. Instalador para PreviewHandler de imágenes/texto (Inno Setup)

¿A qué me refiero con eso de «PreviewHandler»?

Si abrimos el Explorador de Windows, para algunos tipos de ficheros que existen en nuestro equipo, el sistema operativo dispone de vista una previa desde el propio explorador. Nos permite ver el contenido del fichero de forma rápida, sin necesidad de abrir el programa asociado.
Al seleccionar una imagen o un fichero .INI en el explorador de Windows, si tenemos la previsualización activada, veremos directamente una «vista previa» de ese archivo sin necesidad de abrir otro programa.

Si por el contrario, el fichero no tiene vista previa definida, veremos un mensaje de Windows indicándolo. Algo similar a esto (varía dependiendo de la versión):

Leer más…

El Día de los Desarrolladores Delphi y C++ Builder 2024 (Madrid)

lunes, 11 de marzo de 2024 2 comentarios
Share Button

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í.


Nos vemos allí.

Un saludo.

Categories: Delphi, Eventos Tags: , , ,

Librería GLibWMi v.3.2 actualizada para Delphi 12

jueves, 7 de marzo de 2024 Sin comentarios
Share Button

Actualización 18/03/2024
A día de hoy ya está disponible para descarga a través de GetIt para las últimas versiones de Delphi (inluídda la 12).

__________________________________________________________________

Ya hace unos meses que está disponible Athens, la versión 12 de RAD Studio.
Anunciar que ya está disponible para descarga desde Github, la versión 3.2 de la librería GlibWMI.
Debido a problemas técnicos el repositorio ha cambiado; el nuevo es este:
https://github.com/germanestevez/GLibWMI

Y el antiguo quedará obsoleto y estancado en la versión 3.0.

Tenéis la información completa en la sección de componentes del blog.
Espero que en breve esté disponible a través de GetIt, como las versiones anteriores (hasta ahora la 3.1).
Cualquier duda o comentario estoy a vuestra disposición.

Un saludo y hasta la próxima!

JSON Data Binding Wizard (Delphi 12)

martes, 19 de diciembre de 2023 4 comentarios
Share Button

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
Share Button

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.

RAD Studio Live 2023 en Español (28 de Febrero)

jueves, 23 de febrero de 2023 Sin comentarios
Share Button

Pues ya está programado el RAD Studio Live en Español para este año 2023.

Será el día 28 de febrero y las sesiones desde las 17:00 hasta las 21:00 hora española.

Las sesiones y los ponentes son las siguientes:

La información en línea y el acceso al registro lo tenéis aquí.

Categories: Delphi Tags: , ,