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; 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;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