Fórum Texto extenso com Quick Report/Rave Report #457617
06/10/2013
0
Tenho que imprimir um texto extenso (cinco paginas) aonde algumas informação serão preenchidas com dados de algumas tabelas de um banco de dados. O problema é que estou com as seguintes dúvidas:
1) Devo colocar um único componente TQuickRep e digitar todo o TEXTO FIXO (cinco paginas) no mesmo ou devo colocar cada pagina do TEXTO FIXO em um TQuickRep separado?
2) Se eu colocar separado, ou seja, um para um (TEXTO FIXO/TQuickReport) como eu faço para visualizar tudo isso (se necessário) com um único comando QuickRep.Preview?
3) Teria como eu carregar para o TQuickRep esse TEXTO FIXO a partir de um arquivo texto previamente digitado mantendo toda a sua formatação? Exemplo: Arquivo do Word (DOC/DOCx).
4) Seria melhor usar o Quick Report ou Rave Report? Sempre uso o Quick Report (mania minha), mas também já usei o Rave Report e acho bem legal.
5) FIcaria legal usar OLE e gerar um segundo arquivo texto (DOC/DOCx)?
Grato a todos e aguardo qualquer orientação.
M. C.
Curtir tópico
+ 0Posts
05/07/2015
Rodrigo Martins
Gostei + 0
03/08/2015
M. C.
Grato.
Gostei + 0
18/08/2015
Carlos Clara
procedure TfrmContratos.BitBtn5Click(Sender: TObject);
const
wdExportFormatPDF = 17;
var WApp: variant; // variável associada ao aplicativo Microsoft Word
WDoc: variant; // variável associada ao documento criado no Word
path: string;
begin
inherited;
// verifica se o Microsoft Word já está aberto
if (VarIsEmpty(WApp))
then WApp := CreateOleObject('Word.Application');
path := ExtractFilePath(Application.ExeName);
// cria um documento no Word a partir do modelo
WDoc := WApp.Documents.Open(gsAppPath + '\util\autorizacao.dotx');
WApp.Visible := False;
try
// move os componentes de entrada da aplicacao Delphi
// para os campos de texto do recibo no Microsoft Word
//aluno
WDoc.FormFields.Item('aluno').Result := dmOPR.cds_proc_matnome_est.AsString;
WDoc.FormFields.Item('codigo').Result := dmOPR.cds_proc_matcodinterno_est.AsString;
//Tutor1
WDoc.FormFields.Item('resp1').Result := dmOPR.cds_proc_tut1nome_tut1.AsString;
WDoc.FormFields.Item('presp1').Result := dmOPR.cds_proc_tut1parentesco_tut1.AsString;
WDoc.FormFields.Item('rgresp1').Result := dmOPR.cds_proc_tut1rg_tut1.AsString;
WDoc.ExportAsFixedFormat(gsAppPath + '\util\autorizacao.pdf', wdExportFormatPDF);
WDoc.Close(false);
frmVArq := TfrmVArq.Create(self);
frmVArq.Caption := dmOPR.cds_proc_matcodinterno_est.AsString + ' - ' + dmOPR.cds_proc_matnome_est.AsString;
frmVArq.WebBrowser1.Navigate('file://' + trim(gsAppPath + 'util\autorizacao.pdf'));
frmVArq.Show;
finally
Wapp.Quit;
end;
O fastreport tem um componente richtext que também pode ser usado pra isto, inclusive deixando negrito, italico, etc.
[]´s
Stclara.
Gostei + 0
18/08/2015
Rodrigo Martins
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)