Ver Mensaje Individual
  #2  
Antiguo 17-01-2008
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 23
salvica Va por buen camino
Hola aladelta.

Yo también tenía ese problema. Investigando lo resolví poniendo un TRichEdit en el Informe y asignandolo en OnBeforePrint de una banda SubDetail
Código Delphi [-]

procedure TForm_RptContratos.QRSubDetail_OnBeforePrint(Sender: TQRCustomBand;
  var PrintBand: Boolean);
var
  DirProy  : string;
  DirRtf   : string;
  FileRtf  : string;
  AliasRtf : string;
  fullName : string;
  strClave : string;
  strTipo  : string;
begin
{ esto se ejecuta antes de imprimir la banda }
{ leer el directorio de trabajo }
  DirProy  := GetCurrentDir+OS_Separador+'FICHEROS';
{ crear el nombre del documento a imprimir }
  with ZQuery do begin
       strClave := FieldByName('ID_CLAVE').AsString;
       strTipo  := FieldByName('TIPO').AsString;
       AliasRtf := 'CONTRATO_' + strTipo + '_' + strClave;
       fullName := SISTEMA_OnReplaceChar( REEMPLAZAR, Trim(FieldByName('APELLIDO_1').AsString) ) + ' '  +
                   SISTEMA_OnReplaceChar( REEMPLAZAR, Trim(FieldByName('APELLIDO_2').AsString) ) + ', ' +
                   SISTEMA_OnReplaceChar( REEMPLAZAR, Trim(FieldByName('NOMBRE').AsString) );
  end;
{ comprobar su existencia }
  DirRtf   := GetCurrentDir+OS_Separador+'FICHEROS'+OS_Separador+'COPIAS_CONTRATOS';
  FileRtf  := AliasRtf+'_'+fullName+'.rtf';
  RichEdit_DOCUMENTO.Lines.Clear;
  if FileExists( DirRtf+OS_Separador+FileRtf ) then begin
   { el documento existe, cargarlo }
     RichEdit_DOCUMENTO.Lines.LoadFromFile( DirRtf+OS_Separador+FileRtf );
  end else begin
   { el documento NO existe, no imprimir la banda }
     RichEdit_DOCUMENTO.Lines.Clear;
     RichEdit_DOCUMENTO.Lines.Add( 'No existe documento de CONTRATO tipo '+strTipo );
     RichEdit_DOCUMENTO.Lines.Add( '' );
     RichEdit_DOCUMENTO.Lines.Add( 'ID_INQUILINO: '+strClave );
     RichEdit_DOCUMENTO.Lines.Add( 'Inquilino...: '+FullName );
     RichEdit_DOCUMENTO.Lines.Add( 'Directorio..: '+DirRtf   );
     RichEdit_DOCUMENTO.Lines.Add( 'Fichero.....: '+FileRtf  );
     RichEdit_DOCUMENTO.Lines.Add( '' );
     RichEdit_DOCUMENTO.Lines.Add( 'Plantilla...: CONTRATO_'+strTipo+'.rtf' );
     RichEdit_DOCUMENTO.Lines.Add( '' );
  end;
  QRRichText_RTF.ParentRichEdit := RichEdit_DOCUMENTO;
end;
Lo cargo desde un fichero porque no he podido nunca almacenarlo en un campo de la tabla y ya que estamos ¿puedes decirme como lo haces tú?

Chao, salvica
Responder Con Cita