Soluções em Gerenciamento Industrial
 
 
Voltar para ferramentas

MaxPrinter
     
 

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;

 

 

 

 

 

 

 

 

 

 

 

SGI - Soluções em Gerenciamento Industrial