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 19-10-2005
Renees Renees is offline
Miembro
 
Registrado: feb 2005
Posts: 53
Poder: 20
Renees Va por buen camino
Como hacer un Contrato.

Buenas tardes a todos, bueno mi consulta es la sigueinte.

Tengo que realizar un reporte de un contrato, la cual abarca 3 a 4 paginas. Dentro de la misma pide una serie de requisitos por ejemplo interlineado 1 cm. Para el reporte utilizo algunos datos de una base de datos.

La consulta seria como puedo encarar esto, como lo puedo realizar.

Por ejemplo Necesitos 3 reportes diferentes o uno solo. Bueno muchas gracias necesito todo tipo sugerencias. de como encarar esto.

Utilizo Qreport de delphi 6.0
Responder Con Cita
  #2  
Antiguo 20-10-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Tendrás que dar todos los requisitos y como es el tipo de informe.

Si se trata de una sola linea de datos, es facil, haces la banda detalle 1cm y medio de alto, de esta forma, un QRLabel ocupará medio centimetro de alto, y justo por debajo, queda 1cm de interlineado.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 20-10-2005
quimeras quimeras is offline
Miembro
 
Registrado: abr 2004
Posts: 86
Poder: 21
quimeras Va por buen camino
Puedes utilizar una plantilla del contrato en formato Word con una serie de 'marcadores' y que tu aplicación Delphi inserte estos marcadores automaticamente, Word se encargará de ajustar el texto según su longitud.

A mi me ha funcionado de esta manera:
Código:
 procedure TfMain.bnContratoClick(Sender: TObject);
 const
    Fichero = 'Contrato';
    DirectorioContratos: 'C:\Contratos\';
 var
    MiWord: OleVariant;
    procedure SustituirMarcador(Marcador, Contenido: string);
 	 begin
 	  if MiWord.ActiveDocument.Bookmarks.Exists(Marcador) then
 		 MiWord.ActiveDocument.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
 	 end;
 begin
    // Intento abrir Word...
    MiWord:= CreateOleObject('Word.Application');
    if VarIsEmpty(MiWord) then
 	  raise exception.create('No puedo abrir Word, puede que no este instalado!');
    // Abre el documento de Word
    MiWord.Documents.Open(DirectorioContratos + Fichero + '.doc');
    // Selecciona los marcadores del documento y los reemplaza
    // con los valores de los campos del formulario.
    // Los marcadores deben de haber sido creados previamente en word
    SustituirMarcador('CODIGO', TablaCODIGO.AsString);
    SustituirMarcador('CONCEPTO', TablaCONCEPTO.AsString);
    SustituirMarcador('NOMBRECOMPLETO', TablaNOMBRECOMPLETO.AsString);
    SustituirMarcador('DIRECCION', TablaDIRECCION.AsString);
    SustituirMarcador('DNI', TablaDNI.AsString);
    SustituirMarcador('TELEFONO', TablaTELEFONO.AsString);
    // etc
    
    // maximizamos la ventana de Word
    MiWord.WindowState:=wdWindowStateMaximize;
    MiWord.ActiveWindow.WindowState:=wdWindowStateMaximize;
    // Hace visible la ventana de Word
    MiWord.Visible:=True;
    // Guardamos el contrato
    MiWord.ActiveDocument.SaveAs(
 	  DirectorioContratos +
 	  'Contrato' + FormatFloat('000000', TablaCODIGO.AsInteger) + '.doc');
 end;
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 21:40:56.


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