Impressora Matricial

18/09/2004

Pessoal!
Fiz essa rotina para imprimir direto pra impressora, mas com muitos registros na tabela ela imprime uma parte e para de imprimir e a impressoara fica ejetando papel. Estou imprimindo em uma bobina e a impressara é uma expson Acton Printer.
Desde ja obrigado.

  AssignFile(Arquivo,´LPT1´);
  Rewrite(Arquivo);  
Writeln(Arquivo,´--------------------------------------------------------´);
  Writeln(Arquivo,´--------------Produto(s) Vendido(s)´);
  Writeln(Arquivo,´-Descricao-----------------------------------Qtd---´);
   DMFechamento.CDProdutos.First;
   Tot_peca := 0;
   while not DMFechamento.CDProdutos.eof do
   begin
    Produto_Vend  := Tira_Acento(DMFechamento.CDProdutosDESCRICAO.Value);
    Qtd_Vend      := FloatToStrF(DMFechamento.CDProdutosQTDE.AsFloat,FFNumber,15,2);
    Tot_peca      := Tot_peca+DMFechamento.CDProdutosQTDE.AsInteger;

    For I:=Length(Produto_Vend) to 40 do
    Produto_Vend := Produto_Vend+´ ´;
    For I:=Length(Qtd_Vend) to 7 do
    Qtd_Vend :=´ ´+ Qtd_Vend;
    Writeln(Arquivo,Produto_Vend+Qtd_Vend);
    DMFechamento.CDProdutos.Next;
   end;
  Writeln(Arquivo,´-----------------------------Total de Pecas: ´+IntToStr(Tot_peca));
  Writeln(Arquivo,´´);
  Writeln(Arquivo,´´);
  Writeln(Arquivo,´´);
  CloseFile(Arquivo);

   end;



Debug

Respostas

18/09/2004

Khundalini

Veja na configuração do driver da impressora se tem alguma opção de salto automático de papel (ou coisa parecida). Se tiver, experimente desabilitar a opção e rode sua rotina pra ver se funciona.


Responder Citar

18/09/2004

Gandalf.nho

Tb pode ser um problema de compatibilidade da impressora com seu sistema operacional. Eu tive problemas com Epson LQ-300 em ambiente Windows 98.


Responder Citar

18/09/2004

Carlosrm

Debug,

eu também acho mais provável a solução estar numa das sugestões anteriores (Khundalini e gandalf.nho). Se ainda assim o problema continuar, exclua a chamada à função Tira_Acento e veja o que acontece.
Se imprimir corretamente, muito provavelmente há algum caracter nesta função que tem significado especial para o drive da impressora.
(Observe, por exemplo, se a primeira linha da página - saltada indevidamente - teve algum acento excluído...).
Se for isso, vc terá que re-escrever a função.
Se já tentou isso, desculpe, faz de conta que eu não disse nada...
Por último, pode estar ocorrendo tudo isso simultaneamente. Aí, terá que alterar ttudo antes de testar.
E, claro, ainda pode ser uma causa que ainda não tivemos o prazer de solucionar.
carlosrm


Responder Citar

18/09/2004

Debug

Pessoal, segi todas as sugestões, mas continua o problema.
Percebi que se tiro a bobina e coloco um papaçe oficio, a primeira folha imprime e coloco a segunda a impressão sai numa boa, mas acho que com a bobina não imprime o restante fica so ejantando papel.


Responder Citar

20/09/2004

Dopi

O Caracter de controle EPSON para pulo de página é o chr(12) , liste o relatório para um arquivo em disco e observe se em algum momento esse caracter (que parace com o simbolo de feminino) ou outro caracter ASC não imprimivel, está constando no corpo do relatório...


Responder Citar