Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
Poder: 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
  #2  
Antiguo 18-01-2008
aladelta aladelta is offline
Miembro
 
Registrado: jul 2003
Posts: 70
Poder: 24
aladelta Va por buen camino
Hola salvica;

He examinado tu codigo, y lo he puesto en mi prg, pero el problema persiste. La cuestion es que al activar un componente qrrichtext o el data-aware, el listado aparece bien pero al cerrar la ventana o el programa tenemos el error.

Sigo intentando buscar otro componente que imprima campos de texto o bien tendre que pasar del qreport y aprender rave.

Por otro lado, decirte que la filosofia que usas, bajo mi punto de vista es correcta, pero no se que motor de base de datos utilizas. Si es firebird 2.0 como yo, pues los campos blob que se crean en las tablas, los puedo editar directamente con un trichedit e imprimirlos con un tqrrichtext, asignando el campo directamente, eso no tiene problema, salvo lo ya comentado.

Si te refieres a como lo hago, es de esta forma, si te refieres a otra cosa y la respuesta no te agrada, me dices que necesitas que con gusto te lo aclaro, no hay problema. Tambien decirte que cuando usaba el bde para las tablas, los memos nunca los creaba en las tablas paradox porque miles de veces de fastidiaban los indices y al recuperar con el "paradox table repair", por ejemplo, pues ocurria que los campo memo se borraban enteros, y decidi que los memo tendrian que estar en archivos de texto, y que forma mas facil que usar los archivos ".ini", que con etiquetas puedes acceder a la parte que necesites, cargarlos directamente en los trichedit y grabarlos igual, si quieres esta formula te la escribo aqui...probe este metodo en red y no hay problema de handle del archivo, o por lo menos no me dio problema alguno.

Bueno, agradecido por todo, recibe un saludo...
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Atributos del QRRichText rafita Impresión 4 13-04-2009 20:37:11
qrrichtext mas grande que la hoja gabyzava Varios 0 15-08-2007 21:27:33
Ayuda QRRichtext drykea Impresión 2 05-06-2007 13:32:47
escribier en un qrrichtext gustavo2 Varios 2 03-02-2004 01:23:42
Modificar qrRichText aig Impresión 4 19-06-2003 11:55:39


La franja horaria es GMT +2. Ahora son las 02:27:39.


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