SET PRINTER TO PRINTAR.PRN

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

Moderador: Moderadores

Luizao987
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 13 Dez 2007 08:54
Localização: Ribeirao Preto SP

SET PRINTER TO PRINTAR.PRN

Mensagem por Luizao987 »

Estou tentando usar o programa do Heveraldo para imprimir minhas aplicações em clipper 5.3 que converti para o Xharbour comercial.
O programa usb.exe esta funcionando bem.
O problema acho que esta no Clipper pois estou usando o comando:
SET PRINTER TO (“PRINTAR.PRN”) para direcionar os @ says para imprimir no arquivo de texto para ser usado pelo programa usb.exe.
O Clipper esta colocando um caracter estranho no texto, um quadradinho, e com isso desloca os dados pra imprimir. Acontece que tem situação que ele coloca e tem situação que não coloca.
Não é o programa do Heveraldo, pois eu abri o arquivo PRINTAR.PRN e lá já esta os caracteres estranhos. Detalhe: ao colocar esses caracteres a impressão também é deslocada para a direita.
Alguém já passou por situação semelhante?
Será que alguém poderia me ajudar?
Quando imprimo direto com: SET PRINTER TO ( GetDefaultPrinter() ) tudo funciona bem sem quadradinhos substituindo caracteres estranhos.
Codigo fonte:
SET PRINTER TO ("PRINTAR.PRN")
SET CONSOLE OFF
SET PRINTER OFF
*
SET DEVICE TO PRINT
SET MARGIN TO 0
@ LINHA,04 SAY NOME
@ LINHA,34 SAY "-"
@ LINHA,35 SAY STRZERO(CARNET->CDALUN_CN,5,0) PICTURE "99999"
@ LINHA,44 SAY NOME
@ LINHA,73 SAY "-"
@ LINHA,74 SAY STRZERO(CARNET->CDALUN_CN,5,0) PICTURE "99999"
@ LINHA+01,04 SAY ENDER1
@ LINHA+01,44 SAY ENDER1
@ LINHA+02,04 SAY CIDAD1
@ LINHA+02,27 SAY SUBSTR(CEP1,1,5)+"-"+SUBSTR(CEP1,6,3)
@ LINHA+02,44 SAY CIDAD1
@ LINHA+02,69 SAY SUBSTR(CEP1,1,5)+"-"+SUBSTR(CEP1,6,3)
SELECT CURSOS
SEEK CARNET->CURSO_CN
SELECT CARNET
@ LINHA+04,04 SAY NRO_CN PICTURE "999999"
@ LINHA+04,10 SAY "/"
@ LINHA+04,11 SAY STRZERO(PARC_CN,2,0) PICTURE "99"
@ LINHA+04,16 SAY DTEMIS_CN
@ LINHA+04,29 SAY DTVCTO_CN
@ LINHA+04,43 SAY NRO_CN PICTURE "999999"
@ LINHA+04,49 SAY "/"
@ LINHA+04,50 SAY STRZERO(PARC_CN,2,0) PICTURE "99"
@ LINHA+04,56 SAY DTEMIS_CN
@ LINHA+04,68 SAY DTVCTO_CN
@ LINHA+06,07 SAY STRZERO(CURSO_CN,2,0)
@ LINHA+06,09 SAY "/"
@ LINHA+06,10 SAY STRZERO(PLANO_CN,2,0)
@ LINHA+06,19 SAY MOEDA_CN
@ LINHA+06,29 SAY VALOR_CN PICTURE "@E 999,999.99"
@ LINHA+06,46 SAY STRZERO(CURSO_CN,2,0)
@ LINHA+06,48 SAY "/"
@ LINHA+06,49 SAY STRZERO(PLANO_CN,2,0)
@ LINHA+06,58 SAY MOEDA_CN
@ LINHA+06,68 SAY VALOR_CN PICTURE "@E 999,999.99"
EJECT
SET PRINTER OFF
SET CONSOLE ON
SET PRINTER TO
*
RUN ("C:\PASTAMK\USB.EXE PRINTAR.PRN")
SET DEVICE TO SCREEN
RETURN



Desde já agradeço muito a atenção de todos vocês.[/b]
Avatar do usuário
Luciano Bonfim
Usuário Nível 3
Usuário Nível 3
Mensagens: 414
Registrado em: 23 Ago 2007 09:34
Localização: Rio de Janeiro / São Paulo
Contato:

Mensagem por Luciano Bonfim »

Amigo,

coloca assim:

set device to print
SET PRINTER TO printar.prn

depois que imprimir tudo

SET DEVICE TO SCREEN
SET PRINTER TO

vai funcionar
Muito Obrigado,

Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
Responder