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 10-02-2005
jodycom jodycom is offline
Miembro
 
Registrado: feb 2005
Ubicación: Bizkaia
Posts: 27
Poder: 0
jodycom Va por buen camino
Crystal Reports Delphi 2005



Hola



Tengo serias dudas sobre el manejo de Informes realizados con Cristal Reports en Delphi 2005 .Net (VCL.Net)



El problema me ha surgido con Delphi 2005, estamos realizando una migración de una aplicación de Delphi 5 a Delphi 2005, pasando previamente por Delphi 7 (la migración de 5 a 7 no ha dado ningún problema)

El Problema surge al no disponer del componente en otras unidades de la aplicación donde en el USES se indica “Uses UCrpe32” y se definen componentes “Crpe1: TCrpe;” (Componente que no existe)



Disponemos del VCL para Cristal 5 (Cristal.dpk - Seagate Crystal Reports VCL for Delphi 5 - UCRPE32.PAS - Seagate Crystal Reports VCL Component - Author : Frank Zimmerman) el cual hemos compilado para Delphi7 sin ningún problema generando el BPL necesario para incluirlo en la paleta de componentes, pero al intentar compilar este paquete para Delphi 2005 para .Net da cantidad de errores incluso en .pas propios de Delphi (/ToolsAPI/… DesigEditors- DesingIntf-…). He visto que Delphi 2005 incluye ya el soporte para Cristal Reports y he probado a incluir en el uses todo lo relativo a CrystalDecisions pero me indica que no encuentra los .dcuil.



He descubierto que el componente que nosotros disponemos es para Delphi 2005 win32 y necesito saber como utilizar este componente de crystal reports en Delphi 2005 .Net



He realizado unas pruebas y he conseguido Abrir un Informe con conexion a BBDD (Sql-Server), pero me han surguido mas dudas que no consigo solventar:



- Como se le pasa a un informe los parámetros de la conexión, es decir, el servidor, bbdd, usuario y password o la cadena de conexión

- Como se le pasa a un informe los parámetros de la consulta (ParamField)

- Como se le pasa a un informe la consulta para el informe (SQL-Query)

- Para visualizar un informe es necesario usar el objeto crystalViewer

- ….



Alguien podria orientarme en el uso de Cristal Reports en Delphi 2005 VCL.Net



Gracias



Un Saludo



Gr
Responder Con Cita
  #2  
Antiguo 17-02-2005
jodycom jodycom is offline
Miembro
 
Registrado: feb 2005
Ubicación: Bizkaia
Posts: 27
Poder: 0
jodycom Va por buen camino
Question

Hola
A mis dudas me han comentado lo siguiente:
a)Los informes tienen un método SetDatabaseLogon() para establecer servidor, base datos, usuario y contraseña.

b)Los informes tienen un método SetParameterValue() para asignar valores a parámetros

c)A un informe *NO* se le puede pasar directamente una consulta; sólo la formula de selección (parte WHERE) a través de la propiedad SelectionFormula.

d)Sí, para visualizar el informe hace falta un CrystalReportViewer, a menos que utilice el método Export() del informe para exportar a otro formato, como Word o PDF.

Tras probar esto he visto que:

a) Aunque le indico mediante Codigo el usuario-password en "SetDatabaseLogon" me sigue mostrando el formulario de peticion de password (con el resto de campos rellenos) de crystal, el mismo que muestra crystal cuando diseñas el informe
b)Mas o menos lo mismo que lo anterior, le paso los valores de los parametros por codigo pero me aparece el form de crystal pidiendolos de nuevo
c)...
d)Existe alguna propiedad que permita que el objeto CrystalReportViewer se adecue al tamaño del formulario que lo contiene automaticamente (algo tipo Aliagment = Client)


Alguien me puede resolver estas dudas que me han surguido......

Salu2;-)
Responder Con Cita
  #3  
Antiguo 04-03-2005
jodycom jodycom is offline
Miembro
 
Registrado: feb 2005
Ubicación: Bizkaia
Posts: 27
Poder: 0
jodycom Va por buen camino
Unhappy

Por lo visto nadie utiliza de momento delphi 2005 y aun nmenos crystal ya que no obtengo respuestas a mis dudas, bueno continuo divagando....:

Tras probar y probar....he visto que unicamente aparecen los componentes ReportDocument y CrystalViewer en la paleta de herramientas para WinForms.

He resuelto mi duda de que el Viewer se maximize con el form que lo contiene:

procedure TWinForm.TWinForm_Resize(sender: System.Object; e: System.EventArgs);
begin //para que el CrystalViewer tenga el mismo tamaño que el form
Self.CrystalReportViewer1.Size := Self.ClientSize; //Size del Form
end;

Pero sigo sin conseguir que me haga caso a la cadena de conexion que le mando al Report e igualmente que me haga caso a los parametros que le envio:

Self.reportDocument1.SetParameterValue('Param', 'datosParametro');
Self.reportDocument1.SetDatabaseLogon('sa','sa','ServSQL', 'BBDD');

Bueno si alguien tiene alguna idea, agradeceria su respuesta

Saludos
Responder Con Cita
  #4  
Antiguo 04-03-2005
jodycom jodycom is offline
Miembro
 
Registrado: feb 2005
Ubicación: Bizkaia
Posts: 27
Poder: 0
jodycom Va por buen camino
bueno he conseguido que al final funcione, solo habia que incluir un Refresh tras el load, envio codogo ejemplo:


// reportDocument1
//
Self.reportDocument1.PrintOptions.PaperOrientation := CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation;
Self.reportDocument1.PrintOptions.PaperSize := CrystalDecisions.Shared.PaperSize.DefaultPaperSize;
Self.reportDocument1.PrintOptions.PaperSource := CrystalDecisions.Shared.PaperSource.EnvManual;
Self.reportDocument1.PrintOptions.PrinterDuplex := CrystalDecisions.Shared.PrinterDuplex.Default;
Self.reportDocument1.PrintOptions.PrinterName := 'Display';
Self.reportDocument1.Load(PathInforme + Informe);
Self.reportDocument1.Refresh;
Self.reportDocument1.SetParameterValue('Param', valorParametro);
Self.reportDocument1.SetDatabaseLogon('sa','sa','ServidorSQL', 'BBDD');
//
// CrystalReportViewer1
//
Self.CrystalReportViewer1.ActiveViewIndex := -1;
Self.CrystalReportViewer1.CausesValidation := False;
Self.CrystalReportViewer1.DisplayGroupTree := False;
Self.CrystalReportViewer1.Location := System.Drawing.Point.Create(0, 0);
Self.CrystalReportViewer1.Name := 'CrystalReportViewer1';
Self.CrystalReportViewer1.ReportSource := Self.reportDocument1;
Self.CrystalReportViewer1.SelectionFormula := '{Formula} =' +
valor;
Self.CrystalReportViewer1.Size := System.Drawing.Size.Create(472, 272);

espero esto ayude

Salu2;
Responder Con Cita
  #5  
Antiguo 07-03-2005
jodycom jodycom is offline
Miembro
 
Registrado: feb 2005
Ubicación: Bizkaia
Posts: 27
Poder: 0
jodycom Va por buen camino
Hola,

Mas indagaciones:

Se puede asignar una Sentencia SQL al Objeto Report, asignandole un DATASET

var
conn : String;
query : String;
midataSet : System.Data.DataSet;
oleConn : OleDbConnection;
oleAdapter : OleDbDataAdapter;


begin
query := 'select * from tabla where Id = 2';
conn := 'Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=XXXX;Data Source=SERVER';


// Use ADO.NET object model to set up the connection
// information.
midataset := dataset.Create;
oleConn := OleDbConnection.Create(conn);
oleAdapter := OleDbDataAdapter.Create;
oleAdapter.SelectCommand := OleDbCommand.Create(query, oleConn);
// Connect to the data source, fetch the data, and disconnect
// from the database.
oleAdapter.Fill(midataset);
.........
self.reportDocument1.Load('xxx.rpt');
self.reportDocument1.SetDataSource(midataset);
self.reportDocument1.Refresh;


Salu2;-)
Responder Con Cita
  #6  
Antiguo 09-01-2008
sgarcia sgarcia is offline
Registrado
 
Registrado: ago 2005
Ubicación: Mexico DF
Posts: 5
Poder: 0
sgarcia Va por buen camino
Smile Como solucionaste lo del TCrpe en Delphi 2005

Hola.
Tengo una duda, al migrar mi proyecto a Delphi 2005 viniendo de D7 me marca error al no encontrar TCrpe como componente.
Trate de subir los .pas que utiliza D7 pero no me funciona.

Podrias por favor asesorarme en como realizar la conexion para el Crystal Reports.

Saludos y Gracias de antemano.
Atte Samuel
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


La franja horaria es GMT +2. Ahora son las 07:37:46.


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