Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Stringgrid a Reporte (https://www.clubdelphi.com/foros/showthread.php?t=65255)

carhergo 01-12-2009 12:51:16

Stringgrid a Reporte
 
Hola mentes,
soy nuevo con esto aún y tengo unas dudillas, a ver si hay alguien por favor que me puede ayudar.

Uso delphi 7 y Rave Report 5.0 y mi intención es hacer un informe con los datos que muestran 4 Stringgrid del formulario principal. NO uso base de datos.

Es posible hacer lo que planteo? Sino es posible , que otro camino me aconsejais?

muchas gracias

rgstuamigo 01-12-2009 14:35:32

Bueno no uso Rave Report :o,pero creo que con QuickReport se puede hacer tranquilamente lo que necesitas y mejor si es la version 5.02 de QuickReport ya que exite un componente(TQRStringgridReport) que te lo hace todo;).
Saludos...:)

Neftali [Germán.Estévez] 01-12-2009 16:19:33

Cita:

Empezado por carhergo (Mensaje 347830)

Es posible hacer lo que planteo? Sino es posible , que otro camino me aconsejais?

Como última opción, siempre se pueden volcar sobre una tabla temporal y de ahí hacer el listado, pero no se si eso te va a dar más trabajo que otra cosa... :o

carhergo 01-12-2009 21:05:11

Cita:

Empezado por rgstuamigo (Mensaje 347842)
Bueno no uso Rave Report :o,pero creo que con QuickReport se puede hacer tranquilamente lo que necesitas y mejor si es la version 5.02 de QuickReport ya que exite un componente(TQRStringgridReport) que te lo hace todo;).
Saludos...:)

Hola rgstuamigo ,
gracias por la respuesta creo que me puede servir.
He instalado dos archivos bdl de la libreria QR pero no encuentro el componente que me comentas. Puedes decirme donde puedo descargar el Quickreport 5.02

muchas gracias por las respuestas amigos

carhergo 01-12-2009 21:06:03

Cita:

Empezado por Neftali (Mensaje 347857)
Como última opción, siempre se pueden volcar sobre una tabla temporal y de ahí hacer el listado, pero no se si eso te va a dar más trabajo que otra cosa... :o

Gracias por la respuesta, es otra opción que no tengo claro como acerlo
gracias

rgstuamigo 01-12-2009 21:21:52

Cita:

Empezado por carhergo (Mensaje 347908)
Hola rgstuamigo ,
gracias por la respuesta creo que me puede servir.
He instalado dos archivos bdl de la libreria QR pero no encuentro el componente que me comentas. Puedes decirme donde puedo descargar el Quickreport 5.02

muchas gracias por las respuestas amigos

QuickReport en un reporteador de pago y puedes descargarlo desde la pagina de Qusoft ,desde luego la version(version 3) que viene con el Delphi 7 es gratuita, pero lastimosamente no tiene el componente que te he mencionado.
Yo estoy usando la version 5.02 por eso te mencione dicho componente.;).

Desde luego tranquilamente se puede simular un reporte con la version 3, es cuestion de darse ideas, si puedo mas tarde te adjunto un ejemplo.;).
Saludos...:)

Caro 02-12-2009 13:28:18

Hola carhergo, puedes hacerlo con QuickReport utilizando el evento OnNeedData, un ejemplo:

Se debe colocar Qrlabels en una banda Detail, un QrLabel por cada columna de tu StringGrid.

Código Delphi [-]
procedure TForm.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin 
 MoreData := Indice <= StringGrid1.RowCount;//Esta es la condición de terminación
 if MoreData then
  begin
   qrLabelCol1.Caption := StringGrid1.Cells[0, Indice];
   qrLabelCol2.Caption := StringGrid1.Cells[1, Indice];
   qrLabelCol3.Caption := StringGrid1.Cells[2, Indice];
  end;
 Inc(Indice);
end;
 
procedure TForm.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin 
 Indice := 0;//Inicializar indice
end;

Ahora con Rave supongo que también se puede, pero supongp que tendrías crear los componentes y acceder a ellos en tiempo de ejecución y eso en Rave es un poco mas complicado que en QuickReport.

Prueba con QuickReport y el OnNeedData

Saluditos

carhergo 03-12-2009 11:17:44

Hola Caro,
muchas gracias por su respuesta, me ha venido genial y pude solucionar el problema.
Estoy intentando que me genere un report con más de una página y no me lo esta haciendo bien. debería duplicar el código que tengo para un stringgrid?
muchas gracias de nuevo y disculpa por las numerosas preguntas.

le adjunto el código:

begin
MoreData := Indice <= Principal.tabla_le.RowCount;//Esta es la condición de terminación
if MoreData then
begin

QRFREC.Caption := Principal.tabla_le.Cells[0,Indice];
QR1.Caption := Principal.tabla_le.Cells[1,Indice];
QR2.Caption := Principal.tabla_le.Cells[2,Indice];
QR3.Caption := Principal.tabla_le.Cells[3,Indice];
QR4.Caption := Principal.tabla_le.Cells[4,Indice];
QR5.Caption := Principal.tabla_le.Cells[5,Indice];
QR6.Caption := Principal.tabla_le.Cells[6,Indice];
QR7.Caption := Principal.tabla_le.Cells[7,Indice];
QR8.Caption := Principal.tabla_le.Cells[8,Indice];
QR9.Caption := Principal.tabla_le.Cells[9,Indice];
QR10.Caption := Principal.tabla_le.Cells[10,Indice];
QR11.Caption := Principal.tabla_le.Cells[11,Indice];
end;
Inc(Indice);

Indice := 0;//Inicializar indice
MoreData := Indice <= Principal.tabla_lr.RowCount;//Esta es la condición de terminación
if MoreData then
begin

QRFREC.Caption := Principal.tabla_lr.Cells[0,Indice];
QR1.Caption := Principal.tabla_lr.Cells[1,Indice];
QR2.Caption := Principal.tabla_lr.Cells[2,Indice];
QR3.Caption := Principal.tabla_lr.Cells[3,Indice];
QR4.Caption := Principal.tabla_lr.Cells[4,Indice];
QR5.Caption := Principal.tabla_lr.Cells[5,Indice];
QR6.Caption := Principal.tabla_lr.Cells[6,Indice];
QR7.Caption := Principal.tabla_lr.Cells[7,Indice];
QR8.Caption := Principal.tabla_lr.Cells[8,Indice];
QR9.Caption := Principal.tabla_lr.Cells[9,Indice];
QR10.Caption := Principal.tabla_lr.Cells[10,Indice];
QR11.Caption := Principal.tabla_lr.Cells[11,Indice];
end;
Inc(Indice);


end;


La franja horaria es GMT +2. Ahora son las 06:25:49.

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