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]
SET PRINTER TO PRINTAR.PRN
Moderador: Moderadores
- Luciano Bonfim
- Usuário Nível 3

- Mensagens: 414
- Registrado em: 23 Ago 2007 09:34
- Localização: Rio de Janeiro / São Paulo
- Contato:
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
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
Luciano Bonfim de Azevedo
www.bonfim.com.br
luciano@bonfim.com.br
www.linkedin.com/in/lucianobonfim
Skype : lucianobonfim
