 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
ifrit Master


Registrado: 12 Jun 2007Mensajes: 509Ubicación: La Habana, Cuba
|
Publicado: Mie 18 Mar, 2009 1:43 am Asunto: C++ y RaveReports |
|
|
hola amigos estoy utilizando el c++ 2009 y me toco la duda a la hora de hacer reportes con ravereport, misteriosamente en el foro no habia tema relacionado (digo misteriosamente porque que no hay en este super foro ), bueno para que siga siendo super alla va como hacer la conexion
| Código: | Los siguientes pasos serían para crear una conexión a cualquier base d e datos desde C++ con Rave Reports:
1. Abrimos C++ y creamos un formulario.
2. Insertamos un componente de la clase TADOConnection (AC) en el formulario con el nombre BaseDatos.
3. Hacemos que AC se enlace con la basede datos qu equerramos
4. Añadimos un componente TADOQuery (AQ).
5. Asociamos el AC con el AQ a traves de Connection.
6. El propiedad SQL de; AQ escibimos la consula deseada Ejemplo:
SELECT * FROM CLIENTES, luego lo activamos.
7. Insertamos en el formulario un componente TRvProject d el apaleta Rave.
10. Insertamos otro componente de TRvSystem. Asociamos este componente con TRvProject con su propiedad Engine.
11. Añadimos al formulario un componente TRvDataSetConnection. En su propiedad DataSet elegimos AQ.
Con todo esto ya tenemos una conexión a una base de datos y un DataSet especial para que Rave pueda recoger los datos.
Dejando C++ abierto con nuestra base de datos conectada ejecutamos el programa Rave Reports. Una vez estamos en el diseñador vamos a efectuar los siguiente pasos:
1. Pulsamos el botón New Data Object.
2. Seleccionamos Direct Data View y pulsamos Next.
3. Nos aparecerá una lista de conexiones abiertas en C++ donde se estén utilizando componente TRvDataSetConnection. En nuestro caso aparecera AQ. Lo seleccionamos y pulsamos Finish.
4. Renombramos el objeto DataView1 creado y lo llamamos Clientes (opcional).
5. Seleccionamos en el menú de arriba Tools -> Report Wizards -> Simple Table.
6. Seleccionamos Clientes y pulsamos Next.
7. Seleccionamos los campos que deseemos aparezcan en el reporte y pulsamos Next.
8. Dejamos la ordenación como está y pulsamos Next.
9. En Report Title ponemos el nombre deseado y pulsamos Next.
10. Seleccionamos la fuente a nuestro gusto y pulsamos Generate.
11. Guardamos el informe en el mismo directorio que nuestro proyecto de C++ con el nombre Clientes.rav. Ya podemos cerrar el RaveReports
De vuelta a C++
1. El componente TRvProject lo asociamos a Clientes.rav a traves de la propiedad ProjectFile.
2. En un TButton programamos lo siguinte: RvProject->Execute();
ASI DE SENCILLO (Cualuier error no tengo el C++ abierto al redactar este texto , pero sera minimo el error). Como es obvio se puede hacer cualquier tipo de consulta con la tabla ya elegida. |
Ahora me toca preguntar, si alguien sabe como hacer para cambiar el tipo de hoja en tiempo ejecucion por A4, carta, etc lo postea por favor solo me falta eso
gracias _________________ Todos somos ignorantes, lo que no todos ignoramos lo mismo... |
|
| Volver arriba |
|
 |
ivan1987 Cdt

Registrado: 17 Sep 2009Mensajes: 3
|
Publicado: Dom 20 Sep, 2009 2:47 am Asunto: |
|
|
| Buenas amigo, una pregunta pudiste resolver el tema de los tamaños de las hojas del reporte?, y te pregunto como coloco una imagen como encabezado en la primer hoja del reporte. gracias, utilizo builder 2007. un abrazo |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Dom 20 Sep, 2009 4:17 am Asunto: |
|
|
Un enlace, con un pequeño manual para usarlo y generar un reporte sencillo aquí _________________
 |
|
| Volver arriba |
|
 |
ivan1987 Cdt

Registrado: 17 Sep 2009Mensajes: 3
|
Publicado: Lun 21 Sep, 2009 10:43 pm Asunto: |
|
|
Hola Cesar, una consulta, ya tengo el reporte armado y funcionando, solo me quedan 2 detalles, haber si me puedes ayudar.
1)Como defino el tamaño de la hoja de impresion (A4, Oficio,etc...)
2)Se pueden poner los dialogos del RAVE Report en español? traducirlos de alguna manera?
Gracias desde ya |
|
| Volver arriba |
|
 |
ivan1987 Cdt

Registrado: 17 Sep 2009Mensajes: 3
|
Publicado: Mar 22 Sep, 2009 6:13 pm Asunto: |
|
|
Gente encontre en internet un codigo de DELPHI para poner los dialogos del Rave Report en español, podrian ayudarme a pasarlo para borland c++?
| Cita: | se debe traducir algunas propiedades del control RvSystem
para que todo quede completamente en español: |
| Código: | RvSystem.SystemFiler.StatusFormat cambiar a "Generando página %p"
RvSystem.SystemPrinter.StatusFormat cambiar a "Imprimiendo página %p"
RvSystem.SystemPrinter.Title cambiar a "Informe" (Título del informe)
RvSystem.TitlePreview cambiar a "Vista previa de informe"
RvSystem.TitleSetup cambiar a "Configuración de informe"
RvSystem.TitleStatus cambiar a "Estado del informe" |
| Cita: | | Y por último, los eventos: |
| Código: |
procedure TForm1.RvSystem1OverridePreview(ReportSystem: TRvSystem; OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
case OverrideMode of
omCreate: begin
OverrideForm := TFormRavePreview.Create(self);
OverrideForm.Caption := ReportSystem.TitlePreview;
OverrideForm.Width := ReportSystem.SystemPreview.FormWidth;
OverrideForm.Height := ReportSystem.SystemPreview.FormHeight;
OverrideForm.WindowState := ReportSystem.SystemPreview.FormState;
(OverrideForm as TFormRavePreview).ReportSystem := ReportSystem;
end;
omShow: begin
ReportSystem.SystemPreview.InitPreview((OverrideForm as TFormRavePreview).RvRenderPreview);
if Assigned(ReportSystem.OnPreviewSetup) then
ReportSystem.OnPreviewSetup((OverrideForm as TFormRavePreview).RvRenderPreview);
(OverrideForm as TFormRavePreview).InputFileName := ReportSystem.SystemFiler.Filename;
(OverrideForm as TFormRavePreview).InputStream := ReportSystem.SystemFiler.Stream;
(OverrideForm as TFormRavePreview).InitFromRPSystem;
if soPreviewModal In ReportSystem.SystemOptions then OverrideForm.ShowModal
else OverrideForm.Show;
end;
omWait: begin
if not (soPreviewModal in ReportSystem.SystemOptions) then
begin
// Espera para cerrar
repeat
Sleep(250);
Application.ProcessMessages;
until not OverrideForm.Visible;
end;
end;
omFree: begin
if (ReportSystem.SystemFiler.StreamMode In [smTempFile, smFile]) then
begin
(OverrideForm As TFormRavePreview).RvRenderPreview.NDRStream.Free;
(OverrideForm As TFormRavePreview).RvRenderPreview.NDRStream := Nil;
end;
FreeAndNil(OverrideForm);
end;
end;
end;
procedure TForm1.RvSystem1OverrideSetup(ReportSystem: TRvSystem; OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
case OverrideMode of
omCreate: begin
OverrideForm := TFormRaveSetup.Create(nil);
OverrideForm.Caption := RvSystem1.TitleSetup;
(OverrideForm as TFormRaveSetup).ReportSystem := ReportSystem;
end;
omShow: begin
with OverrideForm as TFormRaveSetup, ReportSystem do
begin
PreviewSetup := False;
Aborted := ShowModal = mrCancel;
end;
end;
omWait: begin
{No es necesario esperar a causa del showModal}
end;
omFree: OverrideForm.Free;
end;
end;
procedure TForm1.RvSystem1OverrideStatus(ReportSystem: TRvSystem; OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
if not(soShowStatus in ReportSystem.SystemOptions) then exit;
case OverrideMode of
omCreate: begin
OverrideForm := TFormRaveStatus.Create(self);
OverrideForm.Caption := RvSystem1.TitleStatus;
(OverrideForm as TFormRaveStatus).ReportSystem := ReportSystem;
end;
omShow: with OverrideForm as TFormRaveStatus,ReportSystem do
begin
BaseReport.StatusLabel := StatusLabel;
CancelButton.Caption := Trans('Cancelar');
Show;
end;
omWait: with OverrideForm as TFormRaveStatus,ReportSystem do
begin
if soWaitForOK in SystemOptions then
begin
CancelButton.Caption := Trans('Aceptar');
CancelButton.ModalResult := mrOk;
FormClosed := false;
repeat Application.ProcessMessages; until FormClosed;
end;
end;
omFree: FreeAndNil(OverrideForm);
end;
end; |
aclara unos dialogos mas abajo que TFormRavePreview es un Form que se creo con ese nombre.. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|