Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-05-2008
yomismo24 yomismo24 is offline
Miembro
 
Registrado: oct 2007
Posts: 44
Poder: 0
yomismo24 Va por buen camino
QReport sin usar BD

Hola
tengo una aplicación en la cual quiero generar informes con QReport, el problema es que los datos que quiero meter en el informe no provienen de una base de datos, sino que viene de un fichero de texto por ejemplo.
¿Alguien me puede hechar una mano?
Saludos y gracias!
Responder Con Cita
  #2  
Antiguo 12-05-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Puedes usar el evento OnPreview y el OnNeedData para ir cargando tus datos. Deberás usar el resto de componentes q no cargan desde tablas (QRLabel, QRMemo,...). Lo que pasa es q si no usas ninguna base de datos, las detail bands no te serviran para nada (no se agrandaran automaticamente, por ejemplo, ni saltaran de pagina solas) por lo que deberas programar tu mismo en los eventos OnPrint, Onpreview, etc....
Es muy faenoso. Te recomiendo que hagas una tabla temporal y en ella cargues los datos, para luego volcarlos de manera convencional a la QReport.
Tambien hay otros componentes por internet para generar informes (EKRTF, por ejemplo)

Venga, espero q te sirva.
Responder Con Cita
  #3  
Antiguo 12-05-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola yomismo24, para conseguir lo que quieres debes usar el evento OnNeedData del QuickResport.

En el evento BeforePrint del QuickReport, abrimos el archivo para poder leerlo despues.

Código Delphi [-]
procedure TForm3.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
 AssignFile(Archivo, 'c:\Archivo.txt');
 Reset(Archivo);
end;

En el evento OnNeedData del QuickReport recorremos todo el archivo y cada linea que leamos lo asociamos a nuestro QrLabel, donde el QrLabel deberas colocarlo en tu BandaDetail para que se vayan imprimiendo todas las lineas de tu archivo.

Código Delphi [-]
procedure TForm3.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
var
 Linea : string;
begin
  MoreData := not eof(Archivo);
  if MoreData then
  begin
    Readln(Archivo, Linea);
    QrLabel.caption := Linea;
  end;
end;

Y en el evento AfterPrint del QuickReport, cerramos el archivo.

Código Delphi [-]
procedure TForm3.QuickRep1AfterPrint(Sender: TObject);
begin
 CloseFile(Archivo);
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 12-05-2008
Avatar de juanelo
juanelo juanelo is offline
Miembro
 
Registrado: sep 2007
Posts: 1.083
Poder: 18
juanelo Va por buen camino
Creo que si no quieres perder la funcionalidad que te da QReport para el manejo de tablas, pues deberias considerar pasar tus datos de texto, a un ClientDataSet, claro si tu archivo de texto te lo permite.
Saludos
Responder Con Cita
  #5  
Antiguo 13-05-2008
yomismo24 yomismo24 is offline
Miembro
 
Registrado: oct 2007
Posts: 44
Poder: 0
yomismo24 Va por buen camino
Gracias!

Hola
gracias por las respuestas, me han servido de mucha ayuda ya que estaba muy perdido (es lo que tenemos los novatos ). Al final he optado por la opción de cargar los datos en un ClientDataSet y a partir de ahí generar los informes. Funciona perfectamente, ahora ya solo falta pelearme para darle el formato adecuado jeje.
Muchas gracias y saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
usar FTP kapullok_2006 Internet 0 09-04-2007 12:20:07
Usar o no Usar un DBGrid Anabel Conexión con bases de datos 13 13-01-2006 20:05:21
puedo usar Qreport en delphi 2005 ? Pascual Montes .NET 1 15-05-2005 17:11:08
Dll o BPL... que usar brandolin Varios 2 21-04-2005 18:10:03
q usar? demonr Impresión 6 29-07-2003 19:43:18


La franja horaria es GMT +2. Ahora son las 18:21:03.


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
Copyright 1996-2007 Club Delphi