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 20-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Como añadir parámetros o variables (QReport)

Hola

Necesito definir unas variables globales al QReport, en Reportman hacía lo siguiente:

Código Delphi [-]
{ actualizar las variables del Report con las variables del proceso }
  with VCLReport1 do begin
       FileName        := strFileReport;
       Preview         := False; //------> para imprimir
       //Preview         := True; //-------> para verlo en pantalla
       ShowProgress    := True; //-------> ver la barra de progreso
       ShowPrintDialog := False; //------> no ver la barra de herramientas
       Title           := 'INFORME DE DATOS CALCULADOS';
     { rellenar el informe }
       with Report.Params do begin
          { parametros de la oficina }
            ParamByName('OFICINA').Value       := 'En mi casa';
            ParamByName('PROVINCIA').Value     := 'ALBACETE';
          { unidades de medida }
            ParamByName('EN_METROS').Value     := EN_NUDOS;
            ParamByName('EN_KILOMETROS').Value := EN_KILOMETROS;
       end; { del with Report.Params do }
     { ejecutar el informe }
       Execute;
  end; { del with VCLReport1 do }
No he encontrado información para hacer lo mismo con QReport.

Agradecido
Salvica.

Última edición por salvica fecha: 20-11-2007 a las 21:34:52.
Responder Con Cita
  #2  
Antiguo 21-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Nunca he usado parámetros en un QuickReports. Los parámetros los tiene la consulta (TQuery) en la que se basa el QuickReport, y se accede directamente al query.params

En QuickRpeports, no existe el "Filename". Digamos que tendrás un QuickReport por cada tipo de informe que necesites.

Para mostrar el informe se usa: PreviewModal, Preview, PreviewModeless (previsualización del informe)



Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 21-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Hola Lepe, gracias por responder.

De lo que se trata es de que QReport actúe en base a unas condiones externas (en mi caso las unidades de medida).
Encontré una mínima información en Google (dos enlaces), y una consulta de jmselesan en éste foro http://www.clubdelphi.com/foros/show...ight=functions

En teoría, según pone en http://www.quickreport.co.uk/QuickReportFAQ.doc, en la pregunta I have some variables defined in the report's functions property and I can't initialize them in the report's BeforePrint event., tengo que hacer lo siguiente:

1º - Crearme la variable en tiempo de diseño, por ejemplo una denominada "test"
2º - Modificarla por código, tal que así:
Código Delphi [-]
{ procedimiento de creación de una variable entera }
procedure TReportForm1.CrearVariableInteger( sNombre:string; iValor:integer );
var
  aQREvElement: TQREvElement;
begin
  with QuickRep1.Functions do
  begin
    aQREvElement := GetConstant(sNombre);

    if (aQREvElement <> nil) and (aQREvElement.Value(nil).Kind = resInt) then
    begin
      SetIntegerConstant(aQREvElement, iValor);
    end;
  end;
end;

{ función de lectura de una variable entera }
function  TReportForm1.LeerVariableInteger( sNombre:string ):integer;
var
  aQREvElement: TQREvElement;
begin
  with QuickRep1.Functions do
       aQREvElement := GetConstant(sNombre);

  Result := aQREvElement.Value(nil).intResult;
end;

y llamar a las funciones tal que así:
Código Delphi [-]
var
   miIntPrueba : ineteger;
begin
   ...
   CrearVariableInteger( 'INTPRUEBA', 300 );
   ...

   ...
   miIntPrueba            := LeerVariableInteger( 'INTPRUEBA' );
   QRLabel_PRUEBA.Caption := FormatFloat( '##0', miIntPrueba );
   ...
end;
Bueno, pues esto "casca" y dá un error de excepción, al hacer un seguimiento "paso a paso" la creación de la variable devuelve nil

¿ideas?
Salvica
Responder Con Cita
  #4  
Antiguo 21-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Añado (disculpas por la omisión)
Delphi 7, Windows Xp, QReport que trae Delphi (activado según he visto en éste foro)
Saludos
Salvica
Responder Con Cita
  #5  
Antiguo 22-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Pero, ¿debes hacerlo así exactamente o puedes cambiar el procedimiento?

Lo más fácil, File -> New -> Form, y ahora dentro pones el QuickReport. Las variables esas que necesites, las pones como variables / propiedades públicas del form, y en el OnPrint del Quickreport, lees las variables del Form.

La "variable que digo" puedes definirla de tipo Variant, y así puedes almacenar una fecha, float, integer, string, boolean, etc. Incluso un array of variant con un Tstringlist para guardar los nombres, etc.



Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 22-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En cuanto al error, es muy posible que dicho parámetro, aunque sea global a QuickReports no esté creado o disponible para asignar su valor antes de hacer el Preview (no me extrañaría nada de QuickReports).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Parametros Out y Variables Delphi MySql RiverPlate MySQL 1 17-09-2006 15:45:11
Como añadir el contenido de una tabla a otra maravert Tablas planas 2 16-10-2005 04:04:40
Como añadir los skin al form? tramjauer Varios 8 10-10-2005 23:07:09
Como añadir un nuevo evento a un componente Javi2 Varios 6 20-12-2004 13:25:12
Como añadir un combo en un string grid? burasu Varios 2 08-05-2003 09:25:56


La franja horaria es GMT +2. Ahora son las 23:03:43.


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