unit urelTCC; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, RLReport, ZAbstractRODataset, ZDataset, RLFilters, RLPDFFilter, RLXLSFilter, RLXLSXFilter; type TrelTCC = class(TForm) frrelTCC: TRLReport; RLBand1: TRLBand; dtsRelatorio: TDataSource; RLDBText3: TRLDBText; RLDBText4: TRLDBText; RLDBText5: TRLDBText; RLDBText6: TRLDBText; RLDBText7: TRLDBText; roqryRelatorio: TZReadOnlyQuery; frbnd_header: TRLBand; frpnl_logo: TRLPanel; frdbimg_logo: TRLDBImage; frlbl_titulorel: TRLLabel; RLBand2: TRLBand; RLLabel1: TRLLabel; RLBand3: TRLBand; RLLabel2: TRLLabel; RLLabel3: TRLLabel; RLLabel4: TRLLabel; RLLabel5: TRLLabel; RLLabel6: TRLLabel; RLLabel7: TRLLabel; roqryRelatorioTX_NOME: TWideStringField; roqryRelatorioTX_DOCUMENTO: TWideStringField; roqryRelatorioTX_PRODUTO: TWideStringField; roqryRelatorioDT_VENCIMENTO: TDateTimeField; roqryRelatorioVL_TITULO: TFloatField; roqryRelatorioDT_PAGAMENTO: TDateTimeField; roqryRelatorioVL_CORRIGIDO: TFloatField; RLDBText1: TRLDBText; RLDBText2: TRLDBText; RLDBResult1: TRLDBResult; RLDBResult2: TRLDBResult; RLBand4: TRLBand; frlbl_usuario: TRLLabel; frdblbl_usuario: TRLDBText; RLSystemInfo2: TRLSystemInfo; RLSystemInfo1: TRLSystemInfo; frfilterpdf: TRLPDFFilter; RLXLSXFilter1: TRLXLSXFilter; procedure frrelTCCAfterPrint(Sender: TObject); procedure frrelTCCBeforePrint(Sender: TObject; var PrintIt: Boolean); private procedure SalvarPDF; { Private declarations } public tipo: string; { Public declarations } end; var relTCC: TrelTCC; meses: array [1 .. 12] of string = ( 'JANEIRO', 'FEVEREIRO', 'MARCO', 'ABRIL', 'MAIO', 'JUNHO', 'JULHO', 'AGOSTO', 'SETEMBRO', 'OUTUBRO', 'NOVEMBRO', 'DEZEMBRO' ); implementation {$R *.dfm} uses udtmSystem; procedure TrelTCC.frrelTCCAfterPrint(Sender: TObject); begin SalvarPDF; end; procedure TrelTCC.frrelTCCBeforePrint(Sender: TObject; var PrintIt: Boolean); begin if tipo = 'ac' then begin frlbl_titulorel.Caption := 'Prestação de Contas de Acordos.'; end; roqryRelatorio.Open; roqryRelatorio.First; end; procedure TrelTCC.SalvarPDF; var path, file_name: string; Fmt: TFormatSettings; i: integer; begin Fmt := TFormatSettings.Create; for I := Low(meses) to High(meses) do begin Fmt.LongMonthNames[i] := meses[i]; end; path := ExtractFilePath(Application.ExeName) + 'RELATORIOS'; if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\PRESTACAO_CONTAS_TCC'; if not DirectoryExists(path) then begin CreateDir(path); end; path := TrimRight(path); path := path + '\' + FormatDateTime('YYYY', Date); if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\' + FormatDateTime('mmmm', Date, Fmt); if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\' + FormatDateTime('dd', Date); if not DirectoryExists(path) then begin CreateDir(path); end; if tipo = 'liq' then begin file_name := path + '\RELATORIO_PRESTACAO_CONTAS-LIQ-' + FormatDateTime('HH-mm', Time) + '.pdf'; end; if tipo = 'ac' then begin file_name := path + '\RELATORIO_PRESTACAO_CONTAS-ACORDOS-' + FormatDateTime('HH-mm', Time) + '.pdf'; end; frfilterpdf.FileName := file_name; frrelTCC.SaveToFile(file_name); StringReplace(file_name, '.pdf', '.xls', []); // RLXLSXFilter1.FileName := file_name; // RLXLSXFilter1.Workbook.SaveToFile(file_name); end; end.