Archivo

Entradas Etiquetadas ‘Código’

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…

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…

Testeando XE2… (soporte nativo para ficheros ZIP)

miércoles, 14 de septiembre de 2011 16 comentarios
Share Button

ZIPFile   Otra de las nuevas funcionalidades que trae la versión de XE2 es el soporte para ficheros ZIP. No es que sea especialmente transcendental, pero en mi caso la he utilizado bastante en mis desarrollos y hasta ahora lo había tenido que hacer mediante componentes externos (he  probado varios paquetes).

   Para ello se ha añadido a la unit System.ZIP, todo lo necesario para el trabajo con este tipo de ficheros.

   En sistema de trabajo es bastante sencillo. Para trabajar con un fichero de este tipo tenemos que crear un objeto de la clase TZIPFile y abrirlo (utilizando la función Open). Tenemos diferentes modos de apertura dependiendo de las operaciones a realizar con el fichero (read,write o readwrite).

// Abrir un fichero
procedure Open(ZipFileName: string; OpenMode: TZipMode); overload;
procedure Open(ZipFileStream: TStream; OpenMode: TZipMode); overload;

Leer más…

Categories: Delphi, Ejemplos, XE2 Tags: , , ,

RxLib para RadStudio XE

jueves, 17 de febrero de 2011 8 comentarios
Share Button

A la sección de «Recopilatorio de las RxLib», he subido una nueva versión (oficiosa como las últimas) que compila bien en la nueva versión de Dephi (RAD Studio XE). Los ficheros de INCLUDE están actualizados para la nueva versión y he añadido alguna directiva de compilación para evitar errores segun diferentes configuraciones.

He modificado algunas units en la demo principal (RxDemo) de forma que compile para las últimas versiones.

Un saludo y a disfrutarla.  ;-)

ENCUESTA: Sistema de control de versiones

lunes, 7 de junio de 2010 4 comentarios
Share Button

Después de un breve tiempo de innacividad, espero en breve volver a publicar de forma más asídua.

Vuelvo a publicar con una escuesta sobre los sistema de Control de Versiones.

Una de las cosas que creo básicas para un programador, cuando uno ya lleva un tiempo en esto y el volumen de código generado empieza a ser grande, es un  buen control de versiones, que además se puede utilizar como backup y repositorio de fuentes. Y ya no sólo cuando se trabaja en grupo, sino a nivel personal.

Para mi, es una de quellas cosas, que una vez que las pruebas, a no puedes «vivir» sin ellas.   ;-)

Os animo a que votéis y déis vuestra opinión.

Un saludo.

GlibWMI 1.8beta liberada (Sourceforge)

miércoles, 24 de febrero de 2010 6 comentarios
Share Button

Acabo de cerrar la versión 1.8b de la librería GLibWMI.

Nuevos componentes y algunas correciones a errores referentes a propiedades y «leaks» de memoria (los más importantes).

La librería está accesible completa en SourceForge (GLibWMI).

SourceForge

Podéis descargar los fuentes vía SVN desde:

http://glibwmi.svn.sourceforge.net/svnroot/glibwmi/

O también podéis descargar los ficheros desde aquí.

GLibWMI Versión 1.3 (beta)

lunes, 11 de enero de 2010 Sin comentarios
Share Button

Acabo de empaquetar la versión 1.3 (beta) de la librería de componentes GLibWMI, basados en la WMI de Windows.

Básicamente he añadido nuevos componentes y he corregido algunos errores que incluía la demo general. Además he testado la librería en Delphi 2009 sin ningun problema a la hora de compilar. Doy por supesto que en todas las intermedias entre D7 y D2009 fucionará sin problemas.

Los componentes nuevos son:

  • CProcessInfo:  Información acerca de los procesos que hay ejecutándose en el sistema..
  • CServiceInfo:   Información detalleda de los servicios que hay instalados en el sistema..
  • CDesktopMonitorInfo:   Información detallada sobre el monitor o dispositivo de visualización que hay en el sistema.
  • CComputerSystemInfo:   Información acerca del sistema en General.
  • CStartupCommandInfo:    Información acerca de los procesos que se ejecutan automáticamente cuando el usuario hace el Login en el sistema.

<Ver más detalles>

Librería de componentes GLibWMI 3.2

viernes, 8 de enero de 2010 82 comentarios
Share Button

GLibWMI es una librería/biblioteca de componentes enfocados a la Administración de Sistemas Windows.
Están basados en la WMI de Windows (Windows Management Instrumentation). Podéis conocer algo más sobre WMI en la entrada del blog titulada «WMI – Introducción«.

ACTUALIZACIÓN 01/02/2024.

Actualmente se ha liberado la versión 3.2 estable (compatible con Delphi 12 Athens).

El código se ha subido en GitHub y en el blog se mantienen las versiones antiguas.
NOTA IMPORTANTE: Debido a problemas con la autentificación de Github la ubicación antigua del proyecto queda obsoleta (https://github.com/NeftaliDelphi/GLibWMI), las nuevas actualizaciones se harán en este repositorio:
https://github.com/germanestevez/GLibWMI

Proyecto en GitHub.

 

 

 

_________________________________________________________

ACTUALIZACIÓN 16/09/2021.

Actualizada la librería de componentes para que funcione con la versión 11 de delphi.

_________________________________________________________

ACTUALIZACIÓN 01/07/2020.

La librería de componentes se ha actualizado a la versión 3.0 considerada como estable (hasta ahoira estaba en fase beta). Se han añadido además nuevas demos y se han actualizado las existentes.

La versión 3.0 cuenta con nuevos componentes y compila sin problemas desde Delphi 6 hasta la versión Delphi 10.3 (por ahora no se ha probado en 10.4, pero debería compilar sin ningun problema).

ACTUALIZACIÓN 03/04/2019.

Actualizada la librería la versión 2.2b. Compatible con Delphi 10.2 (Tokyo) y anteriores.

  • Eliminados Hints y Warnings en los de componentes.
  • Eliminados Hints y Warning en los ejemplos .
  • Se añaden Units a los uses necesarias para versiones nuevas.
  • Se añade fichero incluyendo directivas de compilación.
  • Se generan packages para las nuevas versiones de delphi.

<DESCARGAR LIBRERÍA COMPLETA versión 2.2b>
<DESCARGAR SOURCE DEMOS versión 2.2b>
<DESCARGAR EXE DEMOS versión 2.2b>

_________________________________________________________

ACTUALIZACIÓN:  1o/09/2014.

Liberada la Versión 2.1b.

Nuevas propiedades en los componentes y algunos errores corregidos.

Además la librería se ha compilado con Delphi XE7 sin problemas.

ejemplos_thumb.png

<DESCARGAR LIBRERÍA COMPLETA versión 2.1b>

<DESCARGAR SOURCE DEMOS versión 2.1b>

<DESCARGAR EXE DEMOS versión 2.1b>

_________________________________________________________

ACTUALIZACIÓN:  01/08/2013.

Liberada la Versión 2.0b.

Nuevos componentes añadidos (BootConfigurationInfo, DesktopInfo CodecsInfo, RegistryInfo, TimeZoneInfo) y corrección de algunos bugs.
Compilado para las nuevas versiones de Delphi, incluídas XE4 y XE5.

 Versión 2.0 GLibWMI

<DESCARGAR LIBRERÍA COMPLETA versión 2.0b>

<DESCARGAR SOURCE DEMOS versión 2.0b>

<DESCARGAR EXE DEMOS versión 2.0b>

_________________________________________________________

ACTUALIZACIÓN:  23/02/2010.

Liberada la Versión 1.8b.

Nuevos componentes añadidos y corrección de algunos bugs; Correción en la recuperación de propiedades y algunas pérdidas de memoria.

Actualizadas las demos con los nuevos componentes.

Como la anterior verión, los últimos cambios están subidos en Sourceforge (GLibWMI).

<Descargar librería completa;  Sources+Bin versión 1.8b>

<Descargar demos; Sources+Bin versión 1.8b>

<Descargar demos; Bin versión 1.8b>

_________________________________________________________

ACTUALIZACIÓN:  22/01/2010.

Versión 1.6b.

He subido el proyecto a Sourceforge (GLibWMI). La ultima versión estará disponible allí para su descarga.

Se distribuye con licencia GNU y todos los ficheros (incluídos los fuentes se pueden descargar).

Descargar ficheros:

<GLibWMI completa 1.6b>
<GLibWMI demos 1.6b>
<GLibWMI EXE demos 1.6b>

_________________________________________________________

La librería está en fase beta y se puede usar de forma libre y gratuíta.

Las versiones actuales están disponibles (ficheros compilados) para D6, D7 y D2009.

Se pueden descargar diferentes paquetes:

<GLibWMI>
<GLibWMI para Delphi 6>
<GLibWMI para Delphi 7>
<GLibWMI para Delphi 2009>
<Demos compiladas>>

Funciona sin problemas en sistemas basados en Windows 2000 y posteriores.
Para más información consultar:
«Operating System Availability of WMI Components»

Como bien he dicho, están en fase beta, así que se aditen sugerencias, errores, comentarios,…

Un saludo.

Componentes Generales GLib

viernes, 8 de enero de 2010 32 comentarios
Share Button

GLib es una librería/biblioteca de componentes de uso general

Son de uso gratuito y de licencia libre.

Puedes usarlos libremente y descargar el código fuente para estudiarlo o modificarlo; Puedes utilizarlos en cualquier tipo de aplicaciones; Gratuías o comerciales. Sólo te pido que si haces cambios en el código (mejoras, correcciones,…) me lo comuniques para actualizar los componentes, si son de interés para mi y para otras personas.

Puedes descargar los componentes de forma individual o todos juntos en un package, dependiendo de lo que te interese. Para ello selecciona los links individuales o para descargar el paquete completo el último que hace referencia a la Librería GLib.

 

HISTORIAL (v. 1.3)

A parte de algunos pequeños bugs se han compilado las librerías sobre la versión XE de Delphi sin presentar ningun problema. Se añadi el package para la versión XE.

Problemas resueltos:

  (ClogDisk)
* Permitir grabación continua de ficheros (Accumulative).
* (CLogDisk) Propiedades para permitir o no grabar pie y cabecera.

    (CustomizeGrid)
* Corregido problema al acceder a los títulos de las columnas.
* Corregido error de pintado de estilos y filas alternativas al recorrer el DBGrid.
* Puede pintar de forma automática las columnas de tipo Memo y Boolean como texto y checkbox respectivamente.

 (EditInsideHelp)
* Changed InsideHelpColor by InsideHelpFont for more customization possibilities.
(thanks Ariel Martín  from Cuba)

(DiskInfo)
* Corrected bug on select letter (Thanks Vincenzo).
* (v. 1.2) Corregido un error al obtener Número de Serie de varios discos instalados. (Thakns Peter Aschbacher)
* Añadidas propiedades para seleccionar los controles que se quieren almacenar… (SelectTaggedControls y SelectTag)

_________________________________________
Componente TLogDisk.
(version 1.0)

El componente TLogDisk sirve para facilitar el trabajo a un programador que necesite añadir un Log a sus programas. Basta con “soltar?? el componente en un formulario del programa y activarlo. Automáticamente el componente crea el fichero de Log, almacena datos de la aplicación (cabecera) y ofrece al programador métodos/rutinas para añadir datos de diferentes tipos al Log.

_________________________________________
Componente TEditInsideHelp.
(version 1.0)

Este componente permite definir un texto de ayuda en la parte interna del control de edición (TEdit). El texto desaparace cuando el control contiene algun texto que el usuario ha introducido. Se pueden definir el color que deseamos para el texto de la ayuda de forma independiente al color definido en la fuente (propiedad Font) del componente.

 


_________________________________________

Componente TPanelGrid.
(version 1.0)

Este componente (en éste caso derivado de un TPanel) muestra cómo añadir a un componente una Cuadrícula o Grid similar a la que aparece en los formularios cuando los estamos diseñando desde el IDE de Delphi.
Se puede configurar en el componente el color y el espaciado entre puntos de la cuadrícula.
Basta con soltarlo en el formulario y activarlo.

 


_________________________________________
Componente TDiskInfo.
(version 1.2)

Este componente permite para recuperar información diversa sobre los Discos existentes en el de sistema; Discos duros, diskettes, discos de red, discos RAM… Colóquelo en un formulario y defina la letra del disco.

Puede recuperar la información sobre:

  • Volumem; Etiqueta, número…
  • Serial number (no número de volumen)
  • Espacio; Libre, total, ocupado.
  • Icono del suistema
  • Nombre en el Explorer y descripción
  • Tipo de disco
  • Sistema de ficheros
  • Clusters, Sectores,…


_________________________________________
Componente TSortListBox.
(version 1.0)

Componente derivado de un TListBox que añade la propiedad de definir ordenaciones para los diferentes elementos de la lista; Junto a cada elemento se muestra una señal para indicar la ordenación. Posee una propiedad de tipo array para consultar el estado de cada item de la lista


_________________________________________
Componente TSaveComps.
(version 1.4)

Permite guardar la posicion y tamaño de todos los componentes que se encuentran en el formulario. Utiliza para ello un fichero INI.
Basta con colocar el componente en el formulario y activarlo; Cuando la aplicación se cierra graba la posición/tamaño y al volver a ejecutarla los recupera de forma automática.


_________________________________________
Componente TSelectOnRuntime.
(version 1.5)

Permite seleccionar componentes visuales (en Runtime) que haya en un form de forma visual como se hace con las imágenes en los programas de diseño o con los controles en el IDE de Delphi.
Además se pueden mover y redimensionar los controles seleccionados. Basta con soltar el control en el formulario, asignarle el control que se desea seleccionar/mover/redimensionar y activarlo.

_________________________________________
Componente TKeysOnForm.

(version 1.0)

Permite gestionar de forma sencilla (sin código) algunas de las combinaciones de teclas más utilizadas en los formularios. Basta con soltar el componente sobre el formulario y activar las propiedades deseadas segun el comportamiento que queramos.

  • ENTER para cambiar de campo.
  • ESC para cerrar el formulario
  • Avanzar al siguiente control
  • Retrasar al anterior control
  • Teclas de función


_________________________________________
Componente TCustomizeGrid.
(version 1.3)

Permite modificar algunos aspectos en la visualización de un Grid estandard.
No deriva del DBGrid, si no que funciona como complemento al componente estandard de Delphi. (En construcción…)
La propiedad Flat permite modificar el aspecto del DBGrid.
Implementa métodos para mejorar el pintado en el Grid de las celdas de tipo Booleano y Memo;
Sustituye el texto por un checkbox y (MEMO) que aparece en los campos Memo por el texto del campo.

Además provee eventos para modificar colores del DBGrid:

  • OnPaintCell: Para pintar xeldas de un determinado color.
  • OnPaintCellExt: BIS del anterior con más parámetros.
  • OnPaintColumn: Permite pintar una columna de color.
  • OnPaintRow: Permite pintar una file de color.
  • OnPaintCellImage: Permite pintar imágenes en una celda.
  • OnChangeTitleCell: Modificar las celdas de título.


_________________________________________
Componente TInactivityApp.
(version 1.0)

Este componente permite detectar en la aplicación donde se utiliza la inactividad de teclado y de ratón pasado un determinado tiempo (de forma similar a cómo se activa el salvapantallas del sistema).
El tiempo que se quiere detectar de inactividad es configurable por el usuario en minutos y segundos. Basta con activar el componente, configurar el tiempo de inactividad; Pasado este tiempo de inactividad «saltará» un evento de aviso.



_________________________________________
Librería completa GLib.
(version 1.3)

Actualizada  09/09/2011

Incluye en un único paquete todos los componentes anteriores.

Sobre las RXLib (Recopilatorio)

viernes, 27 de noviembre de 2009 29 comentarios
Share Button

Personalmente soy de los que llevo unos cuantos años utilizando las RxLib. Siempre me han parecido unas librerías muy buenas y estables.
Hace un tiempo realizé una traducción (no oficial) de la versión para Delphi 7, para traducirla a Delphi 2005/2006.

Desde ese día hasta hoy, no son pocos los programadores que se han puesto en contacto conmigo, vía correo electríonico o vía mi web para pedirme esa versión o para comentarme cosas sobre versiones posteriores.

Así que me he decidido ha hacer esta recopilación de diferentes versiones, oficiales, no-oficiales, recursos,…

Os adjunto también algo de información de cada una de ellas. En la mayoría de los casos datos del autor y poco más, extraídos de los fuentes o de los archivos TXT que incluyen.

(08/04/2024)
Está disponible para descarga desde la página «no oficial» www.micrel.RxLib la versión 1.0.22 compatible con las últimas versiones de Delphi,  Delphi 12 Athens. También os dejo el enlace de descarga desde mi página.


(12/07/2023)

Está disponible para descarga desde la página «no oficial» www.micrel.RxLib la versión 1.0.21 compatible con las últimas versiones de Delphi,  Delphi 10.4 Sydney y 11 Alexandría. También os dejo el enlace de descarga desde mi página.
(25/05/2020)
Está disponible para descarga desde la página «no oficial» http://www.micrel.cz/RxLibwww.micrel.RxLib la versión 1.0.19 compatible con Delphi 10.3 Rio. También os dejo el enlace de descarga desde mi página.
(27/04/2017)
Jhonny, Administrador y moderador  de los foros del ClubDelphi, ha portado la ultima versión disponible en la página http://www.micrel.cz/RxLib/ a la versión 10. 2 Tokyo.
Aquí tenéis el enlace a blog donde podéis leer la entrada y descargar los fuentes, que también adjunto debajo de este mensaje.
 (20/12/2016)
En esta página podéis descargar versión no oficial para las últimas versiones de Delphi XE/, XE8, 10 Seatle y 10.1 Berlín.
 (13/01/2015)
Versión no oficial con fecha de Mayo del 2014 compatible con Delphi XE6
(28/03/2012)
Nueva versión no-oficial, de las RxLib. Revisión 1.08. Incluye soporte para la útltima versión de delphi (XE2) y segun el documento con las modificaciones, también soporte para 64 bits.

(02/02/2012)

Añadida versión no-oficial de las RxLib (2.75  build 1.07); Añade un componente nuevo y corrige algunos bugs de la anterior.  Según la documentación comprende versiones delde D2005 hasta Delphi XE2.

(13/09/2011)

Añadida versión «no-oficial» con soporte para Delphi XE2. Corregisdos algunos errores relacionados con Unicode y el componente rxMemoryData.

(18/03/2011)

Versión «no-oficial» de las RxLib que soporta DelphiXE. Esta incluye nuevas funciones y nuevos componentes (17 según leo). Podéis ver la los cambios principales introducidos en esta versión revisando esta página.

También he subido una recopilación de todos los recursos en los diferentes idiomas para la versión 2.75(Bulgarian, Chinese, Chinese (traditional), Czech, Danish, Dutch, French, Galician, German, Geek, Hungarian, Italian, Korean, Mexican, Polish, Portuguese, Romanian, Serbian, Slovene, Spanish, Slovak, Swedish, Turkish, Ukrainian).

(17/02/2011)

Versión (no oficial) para RAD Studio XE; Compilado sin problemas; Incluye packages para Delphi 6 y posteriores hasta RAD Studio XE, junto con las Demos y la ayuda.

____________________________________________________________

Versión para Lazarus.

Lagunov Aleksey (alexs)
ALEXS75-at-YANDEX-dot-RU

Versión 2.75 para versiones antiguas de Delphi y C++Builder

Los recursos traducidos a español de la versión 2.75

La últimas versión oficiales de las RxLib. 2.75. Comprimidas y con instalador.

qmd@usercontrol.com.br
http://www.usercontrol.com.br
icq: 15630894

Neftalí -Germán Estévez-. El que suscribe estas líneas.

Adapted: psa1974

Steve Jordi.

________________________________________________________

Os adjunto también este link, que permite acceder a la ayuda en línea, a partir de las imágenes de los componentes que aparecen en la paleta de las RxLib.

RxLib Help

AÑADIDO: Adjunto esta página (traducción automática al castellano) que también hace un recopilatorio de páginas ynoticias relacionadas con las RxLib. Está originalmente en ruso y traducida utilizando el traductor de Google.