SET PRINTER TO PRINTAR.PRN
Enviado: 13 Dez 2007 17:51
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]
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]