Convertendo meus programas para Harbour 2.0, estou com dificuldade de abrir corretamente arquivos RTF depois que imprimo cheques. É o seguinte:
Se eu imprimir um cheque para um cliente e logo depois o sistema imprimi contratos em RTF, ele sai todo desconfigurado, mas se eu pego este mesmo cliente e mando imprimir somente os contratos sem imprimir cheques, o RTF imprimi corretamente. Estou usando WordView para RTF e Win_PrintFileRaw() para direcionar para impressora de cheques. Vejam uma parte como sai o RTF.
rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1046\deflangfe1046{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f214\froman\fcharset238\fprq2 Times New Roman CE;}
{\f215\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f217\froman\fcharset161\fprq2 Times New Roman Greek;}{\f218\froman\fcharset162\fprq2 Times New Roman Tur;}{\f219\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f220\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f221\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f222\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f234\fmodern\fcharset238\fprq1 Courier New CE;}
{\f235\fmodern\fcharset204\fprq1 Courier New Cyr;}{\f237\fmodern\fcharset161\fprq1 Courier New Greek;}{\f238\fmodern\fcharset162\fprq1 Courier New Tur;}{\f239\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}
{\f240\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}{\f241\fmodern\fcharset186\fprq1 Courier New Baltic;}{\f242\fmodern\fcharset163\fprq1 Courier New ...........
o código de impressão de cheques
Código: Selecionar todos
PROCEDURE CHEQUELOOP
********************
NOMEMES=SPAC(9)
WMA=SUBS(DTOC(DATE()),4,2)
MESEXT(WMA,,,@NOMEMES)
FCHQ:= "CHQ"+SUBS(TIME(),4,2)+SUBS(TIME(),7,2)+".TXT"
SET PRINT TO &FCHQ
SET DEVICE TO PRINT
SET PRINT OFF
IF ULTBCO=341 .OR. ULTBCO=237
SET MARG TO 08
@ 0,3 SAY CHR(27)+"C"+CHR(0)+CHR(3)
@ 0,15 SAY CHR(18)
@ 0,25 SAY CHR(27)+"E"
@ 0,0 SAY CHR(27)+"3"+CHR(14)
@ 0,48 SAY MVRLIBER-(MVRQUITA+RECOMPRA) PICT '@E999,999,999.99'
@ 1,25 SAY CHR(27)+"F"
@ 4,40 SAY CHR(15)
EXTXX=0
EXTENSO(MVRLIBER-(MVRQUITA+RECOMPRA))
@ 05,10 SAY SUBS(XEXTENSO,1,90)
IF LEN(RTRIM(XEXTENSO))<90
NX=90-LEN(RTRIM(XEXTENSO))
@ 05,10+LEN(RTRIM(XEXTENSO)) SAY REPLICATE("*",NX)
ENDIF
IF LEN(RTRIM(XEXTENSO))>90
@ 10,0 SAY SUBS(XEXTENSO,91,90)
NX=180-LEN(RTRIM(XEXTENSO))
@ 10,0+90-NX SAY REPLICATE("*",NX)
ELSE
@ 10,0 SAY REPLICATE("*",90)
ENDIF
@ 14,0 SAY CHR(18)
@ 14,2 SAY MNOME+"=========> NAO A ORDEM"
@ 17,0 SAY CHR(15)
@ 19,52 SAY 'Belo Horizonte'
@ 19,70 SAY SUBS(DTOC(DATE()),1,2)
@ 19,78 SAY NOMEMES
@ 19,102 SAY SUBS(DTOC(DATE()),9,2)
@ 35,52 SAY MCHQORGAO+" "+MCHQMATR
ENDIF
EJECT
SET PRINT OFF
SET PRINT TO
SET DEVICE TO SCREEN
PrnTest( QCHQ, FCHQ )
STATIC PROCEDURE PrnTest( QCHQ, FCHQ )
WIN_PRINTFILERAW( QCHQ, FCHQ, "" )
RETURN