Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Uso de correcto de los informes con FastReport (https://www.clubdelphi.com/foros/showthread.php?t=87478)

Delphitest 12-01-2015 09:06:54

Uso de correcto de los informes con FastReport
 
Buenos días,

estoy empezando a incluir informes en el programa que estoy haciendo con Delphi XE5.

Buscando en la red he encontrado información que apunta a que debo usar FastReport ya que está incluido en esta versión de Delphi.

Según he visto debo incluir un objeto para poder usar los datos y otro para el diseño del informe.

Hasta ahí no tengo dudas, he probado y consigo más o menos los resultados que necesito llamado con show al informe.

Mi duda es con respecto a la forma de usar FastReport. He observado que solo con el hecho de añadir esos dos objetos en un formulario, el ejecutable ha aumentado mucho en tamaño. Con uno no me preocupa pero calculo que debo meter unos 15 informes y no quisiera que el ejecutable pesara demasiado.

La pregunta es; Cuando un programa tiene muchos informes ¿Hay que incluirlos dentro del ejecutable aunque eso haga que pese mucho o existe la posibilidad de tener esos informes en archivos externos y acceder a ellos cuando sea necesario? (He visto programas que incluyen una carpeta "Reports" y que incluyen todos los informes)

Gracias por vuestras opiniones

Casimiro Notevi 12-01-2015 09:39:33

Como quieras, en la última gestión que estuve trabajando tenía casi 800 informes dentro de la base de datos, no hay problema.

JXJ 12-01-2015 16:58:23

se pueden cargar en tiempo de ejecucion los archivos de los reportes.

Delphitest 13-01-2015 07:52:54

Yo estoy cargando el componente directamente en el Form donde lo necesito ¿No se hace así?

Casimiro, hablas de cargar el informe en la base de datos, no había pensado en eso la verdad, trabajo con Access y ADO ¿Podría usar informes creados desde Access?

JXJ ¿Te refieres a tener el archivo de los reportes en una carpeta externa y cargarlos cuando los necesito? Si es así, es lo que preguntaba.

Casimiro Notevi 13-01-2015 10:01:21

Cita:

Empezado por Delphitest (Mensaje 487584)
Casimiro, hablas de cargar el informe en la base de datos, no había pensado en eso la verdad, trabajo con Access y ADO ¿Podría usar informes creados desde Access?

Supongo que puedes guardarlos y recuperarlos cuando quieras. Usa un campo BLOB para ello.

pacopenin 13-01-2015 11:09:42

Yo lo tengo como en archivo externo y lo cargo cuando lo necesito. Antes los guardaba en bases de datos pero me complicaba mucho las atreas de mantenimiento, al poder personalizar dichos informes para cada cliente. Si esto último no es problema supongo que dará igual donde lo guardes.

pacopenin 13-01-2015 11:12:48

Te pongo un ejemplo de como lo hago :

Código Delphi [-]

procedure TInformes.VerInforme(Informe, Registros, Tabla, Orden, Where : String; Grupo : Integer; Impresora : Boolean); 
var   cInf : String;   
  f_ini, f_fin : TDateTime;   
  Memo : TFrxMemoView; 
begin   
  cInf := curDir+'Data\Reports\'+Informe+'.fr3';    
  if FileExists(cInf) then   
   begin     
    frxInforme.LoadFromFile(cInf);      
    if ModoDemo then      
     aviso(buscaTraduccion('622'));      
    if Impresora then       
     frxInforme.Print     
    else      
     begin       
      frxPDFExport1.ShowDialog := True;       
      frxInforme.ShowReport;      
     end;   
   end; 
end;

Delphitest 14-01-2015 21:10:37

Muchas gracias Paco,

creo que es eso lo que busco.

Un duda, para crear los archivos de informe ¿Debo hacer desde delphi, guardarlo y luego borrar el objeto?

movorack 14-01-2015 22:07:49

Hola,

El objeto del reporte se debe mantener y con uno basta para manejar los n reportes que tengas.
El peso que aumenta es normal y no es por la cantidad de reportes sino por lo que agrega FRX al ejecutable.
Si no quieres que aumente de tamaño puedes activar "Runtime Packages" pero de todos modos deberás distribuir las bpl con el ejecutable
Para diseñar el reporte lo puedes hacer desde el IDE o puedes usarlo en runtime con el designer pero para esto debes cargar los archivos desde el disco (ya sea que los alojes inicialmente en la DB o no)
Si no quieres guardar el reporte en su versión original en el ejecutable debes desactivar la característica "StoreinDFM" en el FrxReport


La franja horaria es GMT +2. Ahora son las 21:31:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi