PDF de programación - El editor de informes Report Manager (1)

Filtrado por el tag: recursivamente
<<>>
Imágen de pdf El editor de informes Report Manager (1)

El editor de informes Report Manager (1)gráfica de visualizaciones

Actualizado el 22 de Junio del 2017 (Publicado el 15 de Enero del 2017)
3.256 visualizaciones desde el 15 de Enero del 2017
1,6 MB
27 paginas
Creado hace 13a (09/07/2010)
El editor de informes Report Manager (1)

Pese a que no es un generador de informes muy conocido en el mundo Delphi, este editor de informes 
destaca por su sencillez (está en español) y que sobre todo es gratuito.

Si en algo aventaja a QuickReport es en que permite generar los informes en archivos con extensión REP 
para luego ser cargados desde Delphi e incluso podemos modificarlos en tiempo de ejecución. Tampoco da 
las explosiones que ocasiona el editor Rave cuando te equivocas, aunque hay que reconocer que es un 
poco raro en algunas cosas.

DESCARGANDO EL EDITOR

Puede descargarse de esta página web:

http://reportman.sourceforge.net/indexes.html

Dentro del apartado Descarga nos llevará a otra página de SourceForge donde se encuentra la versión 2.9a

Lo que ocurre es que solo nos bajamos el editor y también necesitamos los componentes. Para ello 
pulsamos en la misma página web el botón View all files y descargamos este archivo 
repporman_delphi_builder_2_9.zip:

INSTALANDO EL EDITOR

La ventana de instalación permite elegir el idioma español y solo hay que ir pulsando el botón Siguiente:

INSTALANDO LOS COMPONENTES

Creamos una carpeta llamada ReportManager dentro de la carpeta:

\CodeGear\RAD Studio\5.0\Componentes\

Y descomprimimos dentro de la misma el archivo que hemos descargado:

Repporman_delphi_builder_2_9.zip

Nos vamos a Delphi y abrimos el archivo rppack2007.groupproj:

Veremos estos paquetes en la parte derecha de Delphi:

Pulsamos el paquete rppack_del2007.bpl con el botón derecho del ratón y seleccionamos Install:

Con solo hacer esto se instalará todo. Si todo ha ido correctamente veremos esto en la paleta de 
componentes:

Pasemos a ver el entorno de trabajo de este editor.

EL ASPECTO DEL EDITOR

Al ejecutar por primera vez el editor de informes vemos que aparece completamente pelado:

Pulsamos el botón Nuevo y mostrará este aspecto:

Lo mejor de todo es que se encuentra en nuestro idioma. Dentro del editor podemos distinguir estas partes:

Barra de herramientas superior

Contiene las típicas opciones de abrir o guardar archivos, mostrar la vista previa, etc. Y abajo tenemos los 
iconos para insertar componentes: etiquetas, campos vinculados a tablas, formas geométricas, dibujos y 
códigos de barras. Ya iremos viendo detenidamente cada uno de ellos según los necesitemos.

Estructura del informe

Aquí vemos las bandas de las que se compone el informe. Si seleccionamos por ejemplo el Detalle 
mostrará abajo el inspector de objetos con sus propiedades. A su lado tenemos la pestaña Datos donde 
veremos las variables globales que podemos utilizar:

La zona de trabajo

Aquí es donde iremos colocando componentes para crear el informe. No os dejéis engañar por la simpleza 
de este editor, ya que como veremos más adelante se pueden crear informes avanzados por programación 
interceptando en tiempo real los componentes al igual que hacemos con QuickReport.

CREANDO UN INFORME

Para probar que todo ha ido bien, vamos a crear un pequeño informe a partir de una base de datos de 
Interbase que contiene una tabla de CONTACTOS. Lo primero que tenemos que hacer es establecer la 
fuente de donde van a venir los datos. La vinculación con el origen de datos es otra característica algo rara 
que confunde por sus múltiples pantallas.

Seleccionamos en el menú superior las opciones Informe ­ Configuración de datos:

Y aparecerá esta ventana:

Seleccionamos Interbase Express que equivale realmente a una conexión DBExpress al pulsar el botón 
Configurar:

Aquí trae como ejemplo la configuración a una base de datos Interbase cuya conexión DBExpress está 
configurada dentro de Delphi 7, pero lo que vamos a hacer es crear una nueva conexión pulsando este 
botón:

En el nombre de la conexión le ponemos AGENDA:

Entonces volverá a la pantalla anterior y configuramos donde se encuentra la base de datos:

No hay que olvidar poner la propiedad SQL Dialect a 3. Probamos la conexión pulsando el botón:

A continuación nos pedirá identificarnos:

Y si todo ha ido bien nos dirá esto:

Volvemos a la primera pantalla y seleccionamos la conexión que hemos creado:

Lo añadirá a la lista de conexiones disponibles:

Ahora nos vamos a la pestaña Conjunto de datos del informe para elegir las tablas de la que queremos 
sacar la información:

Pulsamos el botón Nuevo conjunto de datos y lo llamamos CONTACTOS:

La ventana cambiará a esta otra:

Escribimos la sentencia SQL de los datos que nos vamos a traer:

Pulsamos Aceptar y al volver al editor veremos en la pestaña Datos la tabla que hemos vinculado:

Para no perder la configuración guardamos el informe con Archivo – Guardar como – Contactos.rep. 
Como lo que quiero diseñar es un listado, tenemos el problema de que solo tenemos la banda de detalle. 
Para insertar la banda de la cabecera seleccionamos Informe – Añadir – Cabecera de página. Ya tenemos 
las dos bandas:

Vamos a pulsar este icono para añadir una etiqueta al informe:

Una vez tenemos la etiqueta seleccionada nos vamos a la izquierda al inspector de objetos y en la 
propiedad texto escribimos LISTADO DE CONTACTOS:

Una de las cosas raras que hace este editor es que al insertar una etiqueta le da un anchura y altura muy 
pequeña. Tenemos que estirarla siempre. Así creamos el resto de etiquetas:

Para copiar etiquetas no podemos utilizar la combinación de teclas CTRL + C y CTRL + V, hay que hacerlo 
con ALT + C y ALT + V. Esta es también una característica algo rara.

Ahora insertamos los campos arrastrándolos desde la pestaña de datos a la banda del detalle:

Así quedaría después de insertarlos:

Pulsamos el botón de vista previa para ver el informe:

Aquí encontramos el primer inconveniente:

Para que se listen todos los registros tenemos que vincular la tabla CONTACTOS al informe. Para ello nos 
vamos a la pestaña Estructura y en la propiedad Con. D. Principal seleccionamos CONTACTOS:

Ahora si sale bien:

En el próximo artículo veremos como cargar este informe desde nuestro proyecto de Delphi así como 
exportarlo a PDF y otros formatos. También veremos otros formatos más avanzados como una factura.

El editor de informes Report Manager (2)
Continuando con este discreto diseñador de informes, vamos a ver como abrir el informe desde nuestro 
proyecto en Delphi, haciendo que muestre la vista previa o exportándolo a otros formatos como PDF, TXT o 
HTML. También veremos como crear una factura que recoge datos de varias tablas.

ABRIENDO EL INFORME DESDE DELPHI

Continuando con el listado de contactos que creamos en el artículo anterior, vamos a crear un nuevo 
proyecto en Delphi con este formulario:

componentes VCLReport y PDFReport que se encuentran en el apartado Reportman de la paleta de 
componentes.

Para poder realizar las pruebas necesitamos añadir los 

Al pulsar el botón Imprimir podemos realizar una vista previa si está activado el checkbox o bien lanzarlo 
directamente a la impresora:
procedure TFContactos.BImprimirClick(Sender: TObject);
begin
VCLReport.Title := 'Listado de contactos';
VCLReport.Filename := ExtractFilePath(Application.ExeName) +
'contactos.rep';
VCLReport.Preview := VistaPrevia.Checked;
VCLReport.Execute;
end;

Se asume que la ruta del informe contactos.rep se encuentra en la misma carpeta que el ejecutable. Si no 
es así, modificar la propiedad Filename como corresponda (lo mejor es configuralo en un archivo INI).

Para exportar el documento a PDF podemos hacerlo de dos formas. O bien utilizamos el componente 
PDFReport (recomendado):
procedure TFContactos.BExportarPDFClick(Sender: TObject);
begin
// Método 1
PDFReport.Title := 'Listado de contactos';
PDFReport.Filename := ExtractFilePath(Application.ExeName) +
'contactos.rep';
PDFReport.PDFFilename := ExtractFilePath(Application.ExeName) +
'contactos.pdf';
PDFReport.Execute;
Application.MessageBox(PChar('Listado exportado correctamente:' +
#13 + #13 + PDFReport.PDFFilename), 'Exportando', MB_ICONINFORMATION);
end;

O bien el componente VCLReport:
procedure TFContactos.BExportarPDFClick(Sender: TObject);
begin
// Método 2
VCLReport.Title := 'Listado de contactos';
VCLReport.Filename := ExtractFilePath(Application.ExeName) +
'contactos.rep';
VCLReport.SaveToPDF(ExtractFilePath(Application.ExeName) +
'contactos.pdf');
Application.MessageBox(PChar('Listado exportado correctamente:' +
#13 + #13 + ExtractFilePath(Application.ExeName) + 'contactos.pdf'),
'Exportando', MB_ICONINFORMATION);
end;

Si el autor ha creado el componente PDFReport sus razones tendrá. También podemos exportarlo a una 
página web HTML de este modo:
procedure TFContactos.BExportarHTMLClick(Sender: TObject);
begin
VCLReport.Title := 'Listado de contactos';
VCLReport.Filename := ExtractFilePath(Application.ExeName) +
'contactos.rep';
VCLReport.SaveToHTML(ExtractFilePath(Application.ExeName) +
'contactos.html');
Application.MessageBox(PChar('Listado exportado correctamente.' +
#13 + #13 + ExtractFilePath(Application.ExeName) +
'contactos.html'), 'Exportando', MB_ICONINFORMATION);
end;

La exportación que hace es bastante decente:

fallo en un procedimiento de Report Manager que no libera memoria:

Aunque EurekaLog me ha detectado un 

¿Habrá que hacer algo más?

Por lo visto no libera el objeto pdfdriver. 

Exportar el archivo a texto es algo similar:
procedure TFContactos.BExportarTXTClick(Sender: TObject);
begin
VCLReport.Title := 'Listado de contactos';
VCLReport.Filename := ExtractFilePath(Application.ExeName) +
'contactos.rep';
VCLReport.SaveToText(ExtractFilePath(Application.ExeName) +
'contactos.txt');
Application.MessageBox(PChar('Listado exportado correctamente.' +
#13 + #13 + ExtractFilePath(Application.ExeName) +
'contactos.txt'), 'Exportando', MB_ICONINFORMATION);
end;

Hay que reconocer que aquí no puede hacer maravillas:

objeto:

También le ocurre que no libera este 

bastante bien. Vamos con algo más difícil.

Aun así, ambas exportacione
  • Links de descarga
http://lwp-l.com/pdf1881

Comentarios de: El editor de informes Report Manager (1) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad