|
unit
Unit1;
interface
uses Windows, Messages,
SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ShellApi;
type TForm1 =
class(TForm) Button1: TButton;
procedure Button1Click(Sender: TObject); private
{ Private declarations } public {
Public declarations } end;
var Form1:
TForm1;
implementation
{$R *.dfm}
procedure
SalvarArquivo(P_Arquivo: String; P_Buffer: String);
var P_FileHandle: Integer; begin if
P_Arquivo <> '' then Begin P_FileHandle :=
FileCreate(P_Arquivo);
FileWrite(P_FileHandle,PChar(P_Buffer)^,Length(P_Buffer));
FileClose(P_FileHandle);
end; end;
Procedure Relatorio(); var
Linhas: String; Arquivo:
String;
varCod: Integer;
varNome: String; begin Linhas := ''; Arquivo
:= 'C:\Relatorio.dat';
//* ================= Inicio do
Relatório ===================== *//
//
Comentários ou Comandos iniciais Linhas := Linhas +
'EW'; // Comando Linhas := Linhas +
#13#10;
Linhas := Linhas + 'F '; //
Comando Linhas := Linhas + '10'; // Tamanho
da fonte 9(2) Linhas := Linhas + '0'; //
Negrito Linhas := Linhas + '0'; //
Itálico Linhas := Linhas + '0'; //
Sublinhado Linhas := Linhas + '0'; //
Riscado Linhas := Linhas + 'Arial'; // Nome
da fonte Linhas := Linhas + #13#10; Linhas :=
Linhas + 'F '; // Comando Linhas := Linhas +
'14'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '1'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'L '; // Comando Linhas := Linhas
+ '00'; // Cor da Linha 9(2) Linhas := Linhas
+ '99'; // Cor do fundo 9(2) Linhas := Linhas
+ '00064'; // Esquerda do item 9(5) Linhas :=
Linhas + '00576'; // Comprimento do item 9(5)
Linhas := Linhas + '0100110000'; // Alinhamento do item
9(10) Linhas := Linhas + '01'; // Espessura da
linha 9(2) Linhas := Linhas + #13#10; Linhas :=
Linhas + 'T '; // Comando Linhas := Linhas +
'02'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00066'; // Esquerda do item 9(5) Linhas :=
Linhas + '00572'; // Comprimento do item 9(5) Linhas :=
Linhas + '1010100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Empresa X'; //
Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'RH'; // Comando Linhas := Linhas +
' ' + '00042'; // Row Height Linhas := Linhas +
#13#10; Linhas := Linhas + 'QL'; //
Comando Linhas := Linhas + #13#10;
Linhas :=
Linhas + 'F '; // Comando Linhas := Linhas +
'10'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '0'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'F '; // Comando Linhas := Linhas
+ '10'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '1'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'L '; // Comando Linhas := Linhas
+ '00'; // Cor da Linha 9(2) Linhas := Linhas
+ '99'; // Cor do fundo 9(2) Linhas := Linhas
+ '00064'; // Esquerda do item 9(5) Linhas :=
Linhas + '00576'; // Comprimento do item 9(5)
Linhas := Linhas + '0101010000'; // Alinhamento do item
9(10) Linhas := Linhas + '01'; // Espessura da
linha 9(2) Linhas := Linhas + #13#10; Linhas :=
Linhas + 'T '; // Comando Linhas := Linhas +
'00'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00066'; // Esquerda do item 9(5) Linhas :=
Linhas + '00572'; // Comprimento do item 9(5) Linhas :=
Linhas + '1010100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Cadastro de Fornecedores';
// Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'RH'; // Comando Linhas :=
Linhas + ' ' + '00026'; // Row Height Linhas :=
Linhas + #13#10; Linhas := Linhas + 'QL'; //
Comando Linhas := Linhas + #13#10;
Linhas :=
Linhas + 'F '; // Comando Linhas := Linhas +
'10'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '0'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'L '; // Comando Linhas := Linhas
+ '00'; // Cor da Linha 9(2) Linhas := Linhas
+ '99'; // Cor do fundo 9(2) Linhas := Linhas
+ '00064'; // Esquerda do item 9(5) Linhas :=
Linhas + '00088'; // Comprimento do item 9(5)
Linhas := Linhas + '0101010000'; // Alinhamento do item
9(10) Linhas := Linhas + '01'; // Espessura da
linha 9(2) Linhas := Linhas + #13#10; Linhas :=
Linhas + 'T '; // Comando Linhas := Linhas +
'00'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00066'; // Esquerda do item 9(5) Linhas :=
Linhas + '00084'; // Comprimento do item 9(5) Linhas :=
Linhas + '0000100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Código'; //
Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'L '; // Comando Linhas := Linhas +
'00'; // Cor da Linha 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00152'; // Esquerda do item 9(5) Linhas :=
Linhas + '00488'; // Comprimento do item 9(5)
Linhas := Linhas + '0101000000'; // Alinhamento do item
9(10) Linhas := Linhas + '01'; // Espessura da
linha 9(2) Linhas := Linhas + #13#10; Linhas :=
Linhas + 'T '; // Comando Linhas := Linhas +
'00'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00154'; // Esquerda do item 9(5) Linhas :=
Linhas + '00484'; // Comprimento do item 9(5) Linhas :=
Linhas + '0000100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Nome'; //
Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'RH'; // Comando Linhas := Linhas +
' ' + '00018'; // Row Height Linhas := Linhas +
#13#10; Linhas := Linhas + 'FC'; //
Comando Linhas := Linhas + #13#10;
//* Texto inserido como 'Banda - Comentário'
CTRL+F9 *// for varCod := 1 to 500 do
begin varNome := 'Fornecedor ' +
IntToStr(varCod);
Linhas := Linhas + 'T
'; // Comando Linhas := Linhas +
'00'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00066'; // Esquerda do item 9(5) Linhas :=
Linhas + '00084'; // Comprimento do item 9(5)
Linhas := Linhas + '0100100010'; // Alinhamento do item
9(10) Linhas := Linhas + IntToStr(varCod); //
Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'T '; // Comando Linhas := Linhas +
'00'; // Cor do texto 9(2) Linhas := Linhas +
'99'; // Cor do fundo 9(2) Linhas := Linhas +
'00154'; // Esquerda do item 9(5) Linhas :=
Linhas + '00484'; // Comprimento do item 9(5)
Linhas := Linhas + '0000100010'; // Alinhamento do item
9(10) Linhas := Linhas + varNome; //
Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'RH'; // Comando Linhas := Linhas +
' ' + '00018'; // Row Height Linhas := Linhas +
#13#10; Linhas := Linhas + 'QL'; //
Comando Linhas := Linhas + #13#10;
//* Texto inserido como 'Banda - Comentário'
CTRL+F9 *// end;
Linhas := Linhas
+ 'F '; // Comando Linhas := Linhas +
'10'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '1'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'T '; // Comando Linhas := Linhas
+ '12'; // Cor do texto 9(2) Linhas := Linhas
+ '99'; // Cor do fundo 9(2) Linhas := Linhas
+ '00066'; // Esquerda do item 9(5) Linhas :=
Linhas + '00396'; // Comprimento do item 9(5)
Linhas := Linhas + '0001100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Este é o rodapé!';
// Texto Linhas := Linhas + #13#10; Linhas :=
Linhas + 'F '; // Comando Linhas := Linhas +
'10'; // Tamanho da fonte 9(2) Linhas :=
Linhas + '0'; // Negrito Linhas := Linhas +
'0'; // Itálico Linhas := Linhas + '0';
// Sublinhado Linhas := Linhas + '0';
// Riscado Linhas := Linhas + 'Arial'; //
Nome da fonte Linhas := Linhas + #13#10; Linhas
:= Linhas + 'T '; // Comando Linhas := Linhas
+ '09'; // Cor do texto 9(2) Linhas := Linhas
+ '99'; // Cor do fundo 9(2) Linhas := Linhas
+ '00466'; // Esquerda do item 9(5) Linhas :=
Linhas + '00172'; // Comprimento do item 9(5)
Linhas := Linhas + '0101100010'; // Alinhamento do item
9(10) Linhas := Linhas + 'Página (%_pag_%) de
(%_pgs_%)'; // Texto Linhas := Linhas +
#13#10; Linhas := Linhas + 'RH'; //
Comando Linhas := Linhas + ' ' + '00026'; // Row
Height Linhas := Linhas + #13#10; Linhas :=
Linhas + 'RO'; // Comando Linhas := Linhas +
#13#10;
//*
================== Fim do Relatório =======================
*//
SalvarArquivo(Arquivo,Linhas);
//* É necessário inserir ShellApi em Uses *//
ShellExecute(0, 'open', 'VisRel.exe', PChar('/G ' + Arquivo + ' /T
Título do relatório /SW 1234 /SE'), 'C:\',
SW_SHOWNORMAL); end;
procedure TForm1.Button1Click(Sender:
TObject); begin
Relatorio; end;
end. |