Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Bueno, a ver si entendi bien los pasos a seguir para generar un preview porque no lo logre hacer funcionar:

Los componentes Rave que necesito

- 1 RvProject que contiene el reporte "mi_reporte.rav"
- 1 RvNDRWriter
- 1 RvRenderPreview
- 1 RvRenderPrinter

Otros

- 1 ScrollBox
- 1 Button

Y los pasos a seguir para generar el reporte son los siguientes

1) Designo una variable a usar como TMemoryStream
Código:

var
NDRStream: TMemoryStream;
2) Creo el MemoryStream con el reporte que esta almacenado en RvProject
Código:

NDRStream := TMemoryStream.Create;
RvProject1.SaveToStream(NDRStream);
3) Al RvNDRWriter le asigo como Stream, la variable creada como
MemoryStream, la cual a esta altura, deberia contener el reporte
Código:

RvNDRWriter1.Stream := NDRStream;

4) Ejecuto el reporte, RvProject.Execute
Código:

RvProject1.Execute;
5) Cargo el RvRenderPreview con el Stream
Código:

RvRenderPrinter1.Render(NDRStream);
6) Si lo quiero visualizar, RvRenderPrinter.Render(mi_stream)
Código:

RvRenderPrinter1.Render(NDRStream);
7) Al salir, liberamos el Stream con Free.
Código:

NDRStream.Free;

Esta bien asi? me olvide de algo? Porque no lo puedo hacer andar.
Me dice, "el sistema no puede hallar la ruta especificiada" y no entiendo porque, el reporte existe, y esta en el mismo directorio del proyecto.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 02-05-2007 a las 04:56:28.
Responder Con Cita
  #2  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Lo mas sencillo que se me ocurrio, es hacerlo mediante:

Código:
RvRenderPreview1.Render(RvNDRWriter1.FileName);
Y bueno, todo lo demas, Reglas, Tamaño de hoja, Zooms, exportaciones, queda a criterio de cada uno.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 02-05-2007
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
No tengo muchos conocimientos, los problemas los resuelvo con lo que aportan otros. Esto es como lo uso.
Saludos
Responder Con Cita
  #4  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por Loviedo
No tengo muchos conocimientos, los problemas los resuelvo con lo que aportan otros. Esto es como lo uso.
Saludos
Me salta demasiado error haciendo un TMemoryStream, pero si lo hago asi:

Código:
RvRenderPreview1.Render(RvNDRWriter1.FileName);
no me da problemas. El tema es que el Stream lo necesito, llegado el caso que quiera exportar a otro formato.

Saludos.
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 02-05-2007
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
He intentado adjuntar otro archivo, pero no me lo ha admitido.
Este es el codigo del Datamodule.
Código Delphi [-]
implementation

uses mFunct, RVClass, RVProj, RVCsStd, Aviso1, Prever1;

{$R *.DFM}

procedure TDM.DataModuleCreate(Sender: TObject);
begin
  RvProject1.ProjectFile := mPath+'\MiComunidad.rav';
end;


procedure TDM.VerDocumento1(numero:integer;Texto1:string);
var
  MyPage: TRavePage;
  MyText1,MyText2,MyText3,MyText14,MyText15,MyText6: TRaveText;
  MyText16,MyText17,MyText18,MyText19,MyText20,MyText21,MyText22: TRaveText;
  Texto2,Texto3: string;
begin
  RvProject1.Engine := Rvwriter1;
  RvProject1.open;
  if Numero = 1 then
    begin
      With RvProject1.ProjMan do
        begin
          MyPage := FindRaveComponent('Diario1.Page1',nil) as TRavePage;
          MyText1 := FindRaveComponent('Text9',MyPage) as TRaveText;
          MyText1.Text := Texto1;
          MyText2 := FindRaveComponent('Text2',MyPage) as TRaveText;
          MyText2.Text := Texto2;
          MyText3 := FindRaveComponent('Text3',MyPage) as TRaveText;
          MyText3.Text := Texto3;
          MyText14 := FindRaveComponent('Text14',MyPage) as TRaveText;
          MyText14.Text := Format('%*.*f',[8,2,sumahaber-sumadebe]);
        end;
      RvProject1.SelectReport('Diario1',true);
    end
  else if Numero = 2 then
    begin
      With RvProject1.ProjMan do
        begin
          MyPage := FindRaveComponent('Mayor1.Page1',nil) as TRavePage;
          MyText1 := FindRaveComponent('Text9',MyPage) as TRaveText;
          MyText1.Text := Texto1;
          MyText2 := FindRaveComponent('Text2',MyPage) as TRaveText;
          MyText2.Text := Texto2;
          MyText3 := FindRaveComponent('Text3',MyPage) as TRaveText;
          MyText3.Text := Texto3;
          MyText14 := FindRaveComponent('Text14',MyPage) as TRaveText;
          MyText14.Text := Format('%*.*f',[8,2,sumahaber-sumadebe]);
        end;
      RvProject1.SelectReport('Mayor1',true);
    end;

  Fprevio := TFprevio.Create(Application);
  try
    Fprevio.ShowModal;
  finally
    Fprevio.Free;
  end;
  RvProject1.close;
end;

end.

saludos
Responder Con Cita
  #6  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
EL codigo del DM esta muy claro, no tengo problemas en la generacion del reporte, puedo generarlo por codigo o simplemente con el designer, mi problema esta en el Stream:

Código:
NDRStream := TMemoryStream.Create;
RvProject1.ProjectFile:='c:\mi_programa\mi_reporte.rav';
RvProject1.Engine := RvNDRWriter1;
RvProject1.open;
RvProject1.SaveToStream(NDRStream);
RvNDRWriter1.Stream := NDRStream;
RvRenderPrinter1.Render(NDRStream); //ERROR
EL error que me salta es : Invalid Project Format.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;

Última edición por MaMu fecha: 02-05-2007 a las 11:31:49.
Responder Con Cita
  #7  
Antiguo 02-05-2007
Loviedo Loviedo is offline
Miembro
 
Registrado: dic 2004
Posts: 214
Poder: 0
Loviedo cantidad desconocida en este momento
A mi no me da ningún tipo de error, quizás el problema esté en los 'uses'.
Saludos.
Responder Con Cita
  #8  
Antiguo 02-05-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Mmm a esta altura no se

Código:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, RpRenderPrinter, RpRender, RpRenderCanvas,
  RpRenderPreview, RpBase, RpFiler, RpDefine, RpRave, RpCon, RpConDS,
  StdCtrls, RpSystem;
Código:
var
  Form1: TForm1;
  NDR: TMemoryStream;
Tendre que seguir buscandole la vuelta.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
¿Alguien sabe como imprimir directamente sin el Preview en FreeReport? maravert Impresión 1 08-03-2007 19:27:55
Deshabilitar botones del preview hasta que el preview del report no haya termindo Jesús Pena Impresión 8 27-11-2005 21:39:18
a ver si a alguien se le ocurre como hacer este DBgrid ale21alito SQL 4 12-02-2005 17:33:15
Alguien sabe como hacer que tu aplicacion se ejecute... Supra Varios 7 05-02-2005 21:10:09
Hacer Preview cargando un archivo .QRP dabas Impresión 2 21-09-2003 20:32:44


La franja horaria es GMT +2. Ahora son las 23:26:47.


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