Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2006
Avatar de German
German German is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 133
Poder: 15
German Va por buen camino
Rave Report - Diálogos en español

Debido a que la versión de Rave Reports para Delphi no incluye los fuentes, la única manera de tener los diálogos en español es crear uno mismo los forms, y utilizar los eventos OverridePreview, OverrideSetup y OverrideStatus del control RvSystem para sustituir los diálogos estándar.

He traducido unos diálogos iguales a los originales (faltaría mejorarlos, por que la verdad es que los diálogos estandar dan algo de pena) y los he comprimido en el siguiente archivo (simplemente hay que añadirlos al proyecto, y añadirloa al USES del form que contenga el control RvSystem):


[HTML]<a href="http://www.oksoft.es/desc/RaveReportsEsp.zip">RaveReportsEsp.ZIP</a>
[/HTML]


Hay que recordar que se debe traducir algunas propiedades del control RvSystem para que todo quede completamente en español:

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"

Y por último, los eventos (Probados en BDS 2006):

Código Delphi [-]
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;

The end (se acabó)

Salu2.
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


La franja horaria es GMT +2. Ahora son las 06:41:07.


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