|
Abaixo segue um exemplo simples e outro mais
completo como utilizar o MaxPrinter
procedure
TForm1.Button1Click(Sender: TObject);
begin
//inicializamos
a impressao em uma epson que está no servidor
if IniciaImpressao('\\servidor\epson') then
begin
//imprime o texto na coluna e linha
informada
imp(1,1,'Teste de impressão na linha 1');
imp(1,5,'Impressao na linha 5');
imp(10,15,'Impressao na linha 15 coluna 10');
//conclui a impressao
TerminaImpressao;
end else
begin
//caso nao puder usar
a impressora informa o usuario
ShowMessage('Erro ao abrir saida de impressão');
end;
end;
//o exemplo abaixo emitira um relatorio conforme o
exemplo deste Link
procedure
TForm1.Button2Click(Sender: TObject);
//cabeçalho a ser utilizado quando inicia-se uma nova pagina
procedure
ImprimeCabecalho;
begin
//imprime na coluna 1
e na linha atual o titulo da aplicacao
imp(1, lin, application.Title);
imp(59, lin, 'Data:
'+FormatDateTime('dd/mm/yyyy HH:nn',now));
//imprime na proxima linha o nome da
empresa
imp(1, lin+1, 'Nome da Empresa que utiliza o
sistema');
imp(1, lin+1, form1.caption);
//variavel pag
controlada pelo MaxPrinter
imp(75, lin, 'Pág: '+IntToStr(pag));
//função auxiliar do
MaxPrinter para repedir um caracter
imp(1, lin+1, Repete('=',80));
imp(1,lin+1, 'Codigo');
imp(10,lin, 'Mercadoria');
imp(1, lin+1, Repete('-',80));
end;
begin
if
IniciaImpressao('c:\saida.txt') then
begin
ImprimeCabecalho;
tabMercadoria.first;
while not tabMercadoria.eof do
begin
imp(1,lin+1,tabMercadoria.FieldByName('Cod').AsString);
imp(10,lin,
tabMercadoria.FieldByName('Mer').AsString);
//60 é o número de
linhas da pagina que esta sendo impressa
//lin é a variável que
indica a linha atual controlada pelo MaxPrinter
if (lin>60)and(not tabMercadoria.eof) then
begin
//pula para proxima
pagina
Eject;
ImprimeCabecalho;
end;
tabMercadoria.next
end;
TerminaImpressao;
end else
begin
ShowMessage('Erro ao abrir saída de impressão');
end;
end;
|