Página 1 de 1

imprimir condensado

Enviado: 13 Fev 2007 18:01
por Glauco Cruz Costa
Alguém poderia me ajudar em um probleminha simples, mas que eu não dou conta?
Trata-se de imprimir condensado na impressora Epson FX.
Eu já sei que é CHR(27) + CHR(15).
Mas, não sei como usar esse comando.
Vejam minha rotina:
(...)
SET DEVICE TO PRINTER
IF .NOT. ISPRINTER()
SET DEVICE TO SCREEN
@ 24,15 SAY "*** ERRO NA IMPRESSORA ***"
INKEY(1)
RETURN
ENDIF
// IMPRESSAO DA MANHA ----------------------------------
IF TUR = "M"
GO TOP
LOCATE FOR DATA = DAT .AND. TURNO = TUR .AND. PROF = "R"
IF FOUND()
/* IF TURNO = "T"
TU = "TARDE"
ELSE
TU = "MANHA"
ENDIF */
REC = RECNO()
CR = CRM
@ 01,01 SAY REPLICATE('.',130)
@ 03,01 SAY "| U.S: 01.05.01 |" + " |" + " CRM |" + " NOME DO PROFISSIONAL |" + " ATIVIDADE |" + " CLINICA |" + " TURNO |" + " DATA |"
@ 04,01 SAY "| 0088 |" + " AGENDA DE CONSULTAS |" + " |" + " |" + " |" + " |" + " |" + " |"
@ 05,01 SAY "| |" + " |" + " " + CRM + " |" + " " + MEDICO + " |" + " " + ATIVIDADE + " |" + " " + CLINICA + " |" + " " + TU + " |" + " " + DTOC(DATA) + " |"
@ 07,01 SAY REPLICATE('.',130)
@ 10,05 SAY "REGISTRO CLINICO:"
@ 10,30 SAY "PACIENTE:"
@ 10,60 SAY "COMPARECIMENTO: (SIM/NAO)"
DO WHILE .NOT. EOF()
IF CR = CRM .AND. DAT = DATA .AND. TUR = TURNO .AND. PROF = "R"
@ LIN,05 SAY PRONTUARIO
@ LIN,30 SAY PACIENTE + " ____"
LIN = LIN + 2
ENDIF
SKIP
ENDDO
ELSE
SET DEVICE TO SCREEN
@ 23,10 SAY "*** NAO HA REGISTROS PARA IMPRESSAO ***"
@ 24,15 SAY " "
INKEY(1)
RETURN
ENDIF
C = CR
GO REC
SKIP
(...)

Enviado: 13 Fev 2007 20:20
por diogenes_varela
Se você vai imprimir tudo condensado, basta enviar um espaço em branco no início da impressão:

@ lin, col SAY chr(xx)+chr(xx)+" "

O resto corre normal...