Página 1 de 1

impressao

Enviado: 27 Jun 2014 21:08
por massa
boa noite ..
tenho programa desenvolvido no clipper 5 e a parte de relatorios eu uso set print on .. mas hj as impressoras sao usb qual rotina eu uso ou para gravar em doc ou para imprimir direto na porta usb ?? prefiro gerar um arquivo doc

impressao

Enviado: 28 Jun 2014 03:53
por rochinha

impressao

Enviado: 15 Jul 2014 10:38
por Maurício Elias
Olá, bom dia.
Se vc usar o Harbour 3.2, tem como imprimir direto na USB usando o objeto oPrinter.
Em clipper, vc pode usar o NODOSIMP ou o DOSPRINTER. Eu gosto mais do segundo.
Ou vc gera um TXT e manda abrir pelo Notepad. E imprime por ele.
Run Notepad ARQUIVO.TXT
Abraços.

impressao

Enviado: 15 Jul 2014 12:51
por rochinha
Amiguinhos
Run Notepad ARQUIVO.TXT
Voce quis dizer Run "Notepad ARQUIVO.TXT /P" né?

impressao

Enviado: 15 Jul 2014 14:57
por Maurício Elias
Eu não sabia que funcionava com aspas tb.
Prá que serve o /P ???

impressao

Enviado: 15 Jul 2014 16:24
por rochinha
Amiguinho,

Me confundi com o recurso usado. Eu uso o WRITE que permite imprimir direto por ele.

run "write arquivo.txt /p"

impressao

Enviado: 15 Jul 2014 17:35
por Maurício Elias
Q legal esse comando, não conhecia, mas digitei ele direto no prompt, nada aconteceu.
Só funciona pela Aplicação ???

impressao

Enviado: 25 Jul 2014 14:36
por MSDN
Boa tarde,

Nos programas modo console que migrei do Clipper para o xHarbour, criei uma função que monta um menu com todas as impressoras instaladas no Windows, utilizando a função GetPrinters() do xHarbour, na época foi a forma mais rápida e eficiente que encontrei para resolver o problema, visto haver tanto impressoras USB como impressoras instaladas diretamente em ponto de rede, segue a função e exemplo de uso abaixo :

Código: Selecionar todos

Function EscolheImp()

	 Local nX   := 0
	 Local Cor  := SetColor()
	 Local Tela := SaveScreen()

	 aPrinter := GetPrinters()

	 SetColor('w+/r')
	 @ 00, 40 Clear To 00, 80
	 @ 00, 41 Say 'Escolha a impressora :'
	 SetColor('w/b*,n/gr*')
	 @ 01, 40 Clear To Len(aPrinter)+2, 80

	 While .T.
	       For nX := 1 To Len(aPrinter)
		   @ 01+nX, 41 Prompt aPrinter[nX]
	       Next nX
	       Menu To nOpPrinter
	       Do Case
		  Case nOpPrinter == 0
		       Alert('Primeiro escolha uma impressora')
		       Loop
		  Otherwise
		       Exit
	       EndCase
	 End

	 SetColor(Cor)

	 Return(Nil)

Código: Selecionar todos

while .t.

      setcolor(COR18)

      EscolheImp()

      @ 19, 51 say 'Confirma:'
      @ 20, 51 say 'Mensagem:'

      @ 19, 61 prompt 'Sim'
      @ 19, 66 prompt 'Nao'
      menu to OP

      do case
	  	 case OP == 0 .or. OP == 2
	      	  close all
	      	  Seta_on()
	      	  restscreen(,,,,TELA)
	      	  setcolor(COR)
	      	  return( NIL )
      endcase

      @ 20, 61 say 'Imprimindo...'
      exit

end

Set Printer To (aPrinter[nOpPrinter])
Set Device To Print
Set Console Off
Set Printer On
@ 00, 00 say chr(027)+chr(040)+chr(115)+chr(049)+chr(054)+chr(054)+chr(048)+chr(050)+chr(084)  // Arial
@ 00, 00 say chr(027)+chr(038)+chr(108)+chr(050)+chr(054)+chr(065) // A4
@ 00, 00 say chr(027)+chr(040)+chr(115)+"15"+chr(072)
Abraços