FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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. |
#3
|
|||
|
|||
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; |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|