Impressão Usb - Gerando páginas em branco

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Marcio_Carneiro
Usuário Nível 2
Usuário Nível 2
Mensagens: 70
Registrado em: 07 Abr 2008 15:37
Localização: Santo Antônio de Pádua - RJ

Impressão Usb - Gerando páginas em branco

Mensagem por Marcio_Carneiro »

Olá, amigo

Há muito pesquisei aqui a impressão USB, e graças a vocês, implementei no meu prg em modo console.

Utilizo o Win32_prn, e tudo funciona.

O que não consigo resolver, é controlar o número de páginas, pois ao imprimir meu arquivo txt, ele sempre imprime uma quantidade de páginas a mais

equivalente ao número de páginas no relatório, por exemplo, duas páginas de relatório, duas páginas em branco.

Estou quebrando a cabeça, e não consigo.

Estou fazendo assim:

Código: Selecionar todos

cTexto := memoread(cArq)
     nLinhas := mlcount(cTexto,80)
     tam_pagina:=1   
     For n := 1 to nLinhas
     
        clinha:=memoline(CTexto,200,n)
        
        oPrinter:newline() // Inicia nova linha 
        oPrinter:SetFont("Lucida Console",11,{3,-50}) // Comprimida        
        oPrinter:TextOut(HB_OemToAnsi(clinha))
          
                
        tam_pagina=tam_pagina+1
                
        if tam_pagina=64
          oPrinter:NewPage()
         tam_pagina:=1
    
        endif 
     Next
    oPrinter:Bold(0) // Normal
    oPrinter:EndDoc()
    oPrinter:Destroy()   
o mlcount está mostrando um dado que não é o certo, sempre um número próximo do dobro de linhas com impressão.

Como faço para pegar somente as linhas com dados e não gerar as páginas em branco?

Pensei em usar o caracter ♀, que sinaliza o final do arquivo, mas não estou sabendo como fazer.

Um abraço
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Impressão Usb - Gerando páginas em branco

Mensagem por sygecom »

Bem provavelmente tenha nos seus ARQUIVOS TEXTO algum __Eject(), EJECT ou Chr(12), tente tirar do TXT e manda imprimir novamente.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Marcio_Carneiro
Usuário Nível 2
Usuário Nível 2
Mensagens: 70
Registrado em: 07 Abr 2008 15:37
Localização: Santo Antônio de Pádua - RJ

Impressão Usb - Gerando páginas em branco

Mensagem por Marcio_Carneiro »

Obrigado pela atenção.

Eu não entendo porque o mlcount retorna 249, se abrindo o arquivo vejo que ele tem 125 linhas.

Talvez o erro esteja ai.

Alguém tem rotina pra limpar arquivo txt destes caracteres de controle?
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Impressão Usb - Gerando páginas em branco

Mensagem por Itamar M. Lins Jr. »

Ola!
O texto é muito largo.
mlcont(xx,250)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder