Página 4 de 4

func getprinters() em harbour

Enviado: 04 Jul 2012 21:13
por ronnywdson
Concordo com você Ronaldo

Mas eu utilizarei essa forma de impressão somente se a mesma for feita em impressoras matriciais. Quando não são eu utilizo a MINIPRINT.
Eu não conhecia a hbwin. Aliás eu nem possuía a pasta .\harbour\contrib (rsrsrsrs), pois a minha instalação do HARBOUR é a que vem com a MiniGUI Extended Edition.
Mas graças a você e ao Toledo, eu consegui finalizar esse trabalho.
Agradeço a vocês e lhes desejo sucessos!!

Att
Ronny Wdson

func getprinters() em harbour

Enviado: 07 Jul 2012 16:23
por ronnywdson
Bom dia Ronaldo e Toledo

Será que tem como desabilitar o salto de página do final de cada impressão.
Vários vendedores emitem pedidos quase que ao mesmo tempo. E eu queria saber se tem como ao final da impressão de um pedido, que a impressora parasse no inicio do próximo formulário e esperasse a impressão do outro.
O que está acontecendo é que ela está dando tipo um EJECT no final. Daí o vendedor tem que sair de sua mesa e ir na impressora prepará-la.
Achei que o FormType, o PaperLength e o PaperWidth resolveria isso. Existe alguma outra propriedade que eu tenho que alterar? Procurei na pasta harbour\contrib\hbwin\tests por alguma informação nesse sentido, mas não encontrei.
Existe alguma documentação que eu possa ler?

Att
Ronny Wdson

func getprinters() em harbour

Enviado: 08 Jul 2012 12:50
por Toledo
Ronny, eu não tenho uma impressora matricial aqui para fazer testes, mas eu também achava que os comandos que lhe passei para configurar o tamanho da página ia resolver.

Bom, então tente mudar mais este outro comando:

Código: Selecionar todos

oPrn:EndDoc(.T.)
Abraços,

func getprinters() em harbour

Enviado: 08 Jul 2012 19:35
por ronnywdson
Toledo

Quando eu uso oPrn:EndDoc(.T.) o documento não é enviado para impressão.
Caso não de certo a impressão dessa forma, será que com a MINIPRINT daria?
O problema está somente no fato da impressora ejetar um formulário em branco.

Att
Ronny Wdson

func getprinters() em harbour

Enviado: 09 Jul 2012 13:06
por Imatech
*--------------------------------------*
* Cancela/Confirma Geração do Relatório
*--------------------------------------*
oPrn:EndDoc( lAbortDoc )

*--------------------------------------*
* Informa Final de Pagina...
*--------------------------------------*
oPrn:EndPage( lStartNewPage )

Seria interessante usar:
oPrn:EndPage( lStartNewPage ) // Testar com .T. e .F.
antes da finalização com:
oPrn:EndDoc( .F. )

Não adianta trocar a Classe de Impressão...

Entretanto se não tiver o resultado desejado, minha sugestão é imprimir o arquivo gerado utilizando Win_PrintFileRaw()



Abç...

func getprinters() em harbour

Enviado: 09 Jul 2012 15:08
por ronnywdson
Olá pessoal

Resolvi usando uma gambiarra.
Continuei gerando e imprimindo o relatório na para a porta LPT? mas usando o aplicativo DOSPrint para redirecionar a impressão para a porta USB.
Funcionou corretamente, inclusive caracteres condensados e não condensados.
Sei que não é uma boa prática, mas assim vou ter tempo para testar outras soluções.
Obrigado pela atenção de todos.

Att
Ronny Wdson

func getprinters() em harbour

Enviado: 09 Jul 2012 15:55
por Imatech
Olá Ronny Wdson !


Se funciona na gambiarra: DOSPrint

usando Win_PrintFileRaw() será mais apropriado...



Abç

func getprinters() em harbour

Enviado: 09 Jul 2012 17:31
por ronnywdson
Valeu Imatech

Gerei um arquivo TXT com o documento a ser impresso e usei a Win_PrintFileRaw() para enviar para a impressora.
Funcionou corretamente.

Att
Ronny Wdson