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 21-05-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Problemas con Lazreport

Hola a todos, con los primeros pasos en este reporteador me he encontrado con algunos problemas que me gustaría consultar con ustedes a ver que me podían decir.
según esta pagina
http://wiki.freepascal.org/Tutorial_de_LazReport

encontré que cualquiera de estos 2 códigos funcionan para pasarle un valor a una variable

Código Delphi [-]
procedure TForm1.frReport1GetValue(const ParName: String;  
var ParValue: Varying; VAr fld: TField);  
begin 
 // trata o caso de variáveis não dependentes
 if UpperCase(ParName)=' TEST' then 
    ParValue:=' Answer: Variable " test1 " ';  
end;

ó

Código Delphi [-]
 procedure TForm1.Button1Click(Sender:TObject);
 begin
   frReport1.Values.FindVariable('test').Field := QuotedStr('test1');
   frReport1.ShowReport;
 end;

el caso es que la segunda variante no me funciona, me da Access violation, pensé usar esta variante para crear un solo componente TfrReport en mi aplicación y de esta forma en la medida de cual sea el informe necesario lo llamo desde un form que voy creando, pues cada informe tiene sus propias variables, de lo contrario tendría una lista algo grande de variables en dependencia de la cantidad de informes que al final tenga mi aplicación las cuales todas las tendría que gestionar desde el evento GetValue, o sino en cada form crear un TfrReport para cada informe, creen q ustedes que esta ultima variante sea la mas optima?

Y aprovechando el mismo hilo quería saber si es posible en tiempo de ejecución crear o modificar algun componente de un reporte?, algo así se puede hacer en Rave que es el que siempre he usado.
En Rave lo usaba así

Código Delphi [-]
procedure TFIAjuste.BitBtnAClick(Sender: TObject);
var
 lRep: TRaveReport;
 Pag : TRavePage;
 s : string;
begin
  with dmr do begin // este es un modulo de datos donde tengo las consultas para los informes
   with piAjuste do begin
      .
      .
      .
     end;
   with rv do begin  // rv, es el componente TRvProject, que está en el modulo dmr
    Open;
    SelectReport(s,true);
    Pag := ProjMan.FindRaveComponent(s+'.Page1',nil) as TRavePage; // s tiene el nombre del reporte
    lRep := ProjMan.ActiveReport;
    with TRaveText.Create(lRep) do
     begin
      Parent := Pag;
      Text := 'Texto que quiero poner';
      top := Pag.PageHeight - 0.3;
      left := 0.3;
      Rotation := 90;
      Font.Size := 7;
     end;
     if RGConf.ItemIndex = 0 then begin
      SetParam('Fecha','');
      SetParam('Per','Desde ' + DateToStr(dtDesde.Date) +
               ' hasta el ' + DateToStr(dtHasta.Date));
      end
     else begin
      SetParam('Fecha','sin confirmar');
      SetParam('Per','');
      end;
    RvSystem1.SystemPrinter.Title := 'TMag_Ajustes';
    Execute;
    Close;
    end;
   end;
  end;
end;

Como podré hacer algo de esto en Lazreport?
Responder Con Cita
  #2  
Antiguo 22-05-2012
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Respondiéndome yo mismo, lo primero lo logré de esta forma

Código Delphi [-]
frvariables['casa'] := 'Valor de la variable casa';

y lo segundo

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
v: TfrView;
Page: TfrPage;
begin
  fr.LoadFromFile('11a.lrf');
  Page := fr.Pages[0];
  v := frCreateObject(gtMemo, ''); // create data field
  v.SetBounds(20, 140, 200, 16);
  v.Memo.Add('pepe');
  Page.Objects.Add(v);
  fr.ShowReport ;
end;

Espero le sirva a alguien

Ahora lo que si no he logrado si alguien sabe como podre visualizar el reporte desde la vista de diseño si le agrego a algun Memo el valor de una variable, me da error, la variable se llama casa por ejemplo


Santiago
Imágenes Adjuntas
Tipo de Archivo: jpg Capturaf.JPG (14,6 KB, 3 visitas)
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
lazreport anubis Lazarus, FreePascal, Kylix, etc. 5 12-01-2012 09:49:12
no reconoce impresora lazreport anubis Lazarus, FreePascal, Kylix, etc. 1 25-09-2011 09:46:40
SQLite3 lazreport en un informe cabecera-detalle razor7 Lazarus, FreePascal, Kylix, etc. 3 07-09-2010 14:55:31
LazReport: Calcular Subtotales por página razor7 Lazarus, FreePascal, Kylix, etc. 6 20-08-2010 18:22:12
lazreport problemas lazarus anubis Lazarus, FreePascal, Kylix, etc. 1 30-11-2009 20:44:39


La franja horaria es GMT +2. Ahora son las 11:13: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