Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Imprimir reportes sin base de datos (https://www.clubdelphi.com/foros/showthread.php?t=76959)

cristofer_ec 08-12-2011 15:31:39

Imprimir reportes sin base de datos
 
Saludos estimados amigos, trabajo en Delphi 2006, y deseo realizar la impresion de una informacion qe se encuentra en variables de memoria, arrays, ahora mi solicitud es como puedo realizar esa impresion de las variables de memoria, los array y que me genere un grafico estadistico, ya que con el rave reports estaba leyendo es para realizar impresiones con bases de datos y por el momento no utilizo base de datos.

Muchas Gracias de antemano

ecfisa 08-12-2011 16:20:40

Hola.

Una solución es usar ClientDataSets en memoria. Hay una explicación sencilla en este enlace.

Luego en el rave podés conectar los componentes con el/los DataSources relacionados a el/los ClientDataSet como si estuvieran conectados a una bd.

Saludos.

Sinaloense 08-12-2011 20:09:44

Con rave reports puedes generar reportes sin la necesidad de estar conectados a una base de datos, solo pones en la forma un componente RvSystem y en el evento OnPrint pones la lógica donde formas el reporte.

En este link esta un ejemplo:

http://edn.embarcadero.com/article/30329

cristofer_ec 09-12-2011 04:40:41

Muchas gracias ecfisa y sinaloense, pues os comento los dos metodos funcionan de a la perfeccion les agradesco mucho su gentil ayuda!!!!

cristofer_ec 09-12-2011 20:13:37

Una pregunta pues ya pude imprimir con el TRvSystem pero ahora tengo un problema de margenes, pues uso lo siguiente:

procedure TfrmVoting.RvSystem1Print(Sender: TObject);
var
dt:TDateTime;
begin
with Sender as TBaseReport do
begin
SetFont('Arial',15);
GotoXY(1,1);
Print('PRUEBA DE IMPRESION');
GotoXY(1,2);
Print('FECHA Y HORA DE IMPRESION:');
GotoXY(1,3);
Print(DateTimeToStr(dt));
end;
end;


y tengo lo siguiente:


PRUEBA DE IMPRESION


FECHA Y HORA DE IMPRESION


12/09/2011 14:06



Como hago para agrupar o reducir tanto lso margenes como el espaciado????????????

Saludos, Gracias

ecfisa 09-12-2011 20:59:05

Hola cristofer_ec.

Por favor cuando incluyas código Delphi utiliza los TAG's (etiquetas) para que tenga mayor legibilidad:



Saludos y gracias por tu colaboración. :)

Sinaloense 09-12-2011 20:59:50

Para establecer los margenes, en el envento OnNewsPage puedes poner el siguente código:

Código Delphi [-]
with (Sender as TBaseReport) do begin
     MarginTop := 1;
     MarginBottom := 2;
     MarginLeft := 1;
     MarginRight := 1;
end

Las unidasdes son pulgadas o centimtros, depende de como tengas configurado.

Para agrupar eso ya es cuestión de lógica, tienes que hacer ciclos anidados, donde en cada ciclo exterior pongas el grupo y en el interior el detalle, por ejemplo:

Código Delphi [-]

for i := 0 to 10 do begin
   
   printab('Grupo ' + intostr(i));
   newline;

   for j := 0 to 5 do begin
        printab('Detalle ' + intostr(j));
        newline;

       if linesleft =  1 then
          newpage;
   end

end

El último if es para que saltes de página, linesleft te dice cuantas líneas le quedan a la hoja, si le queda solo una entonces va a saltar de página.

cristofer_ec 09-12-2011 21:06:42

pues disculpa recien me entero de las etiquetas, para la proxima lo tendre en cuenta, pues gracias por el dato...

ecfisa 09-12-2011 21:30:26

Cita:

Empezado por cristofer_ec (Mensaje 420846)
pues disculpa recien me entero de las etiquetas, para la proxima lo tendre en cuenta, pues gracias por el dato...

No te preocupes cristofer, al ser nuevo en los foros, es totalmente entendible que no lo supieras. :)

Cualquier duda que tengas recuerda que el grupo de moderadores y miembros más antiguos, están a tu disposición para ayudarte.

Saludos.

cristofer_ec 12-12-2011 02:22:12

Gracias !!!! y gracias tambien a ti amigo sinaloense pues execelente ayuda eh!!!!!


La franja horaria es GMT +2. Ahora son las 10:51:25.

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