La Web del Programador: Comunidad de Programadores
 
    Pregunta:  8732 - IMPRESION DESDE FOXPRO 2.6 DOS EN IMPRESORA TMU200D
Autor:  Freddy Estrada
Saludos, Cyber amigos,

Estoy desarrollando una aplicacion de Punto de Venta en FoxPro 2.6 For DOS. Las impresiones las realizo sobre una impresora Epson TM U200D. Mi problema radica en que necesito imprimir mis reportes con varios tipos de letras. En el Manual de laimpresora me llegaron las secuencias de impresion para el cambio de tipos con unos ejemplos:

PRINT #1, CHR$(&H1B);"G";CHR$(1);
PRINT #1, CHR$(&H1B);"!";CHR$(8); "BB";
PRINT #1, CHR$(&H1B);"!";CHR$(16); "CC";

Estos ejemplos son de codigo fuente son para el antiguo Basic en cualquiera de sus versiones, Como realizo en FoxPro para DOS.

Gracias por su ayuda.

  Respuesta:  Alexander Alvarez
que Tal Espero todavia te sirva la respuesta los siguientes son lo codigos asci para esa impresora

PUBLIC VP_COR_PAR, VP_COR_FUL, VP_GRANDE, VP_NORMAL, VP_ROJO, VP_NEGRO, VP_SUBRA, VP_PEDIDO
VP_COR_PAR = CHR(27)+CHR(109)
VP_COR_FUL = CHR(27)+CHR(105)
VP_GRANDE = CHR(27)+CHR(33)+CHR(48)
VP_NORMAL = CHR(27)+CHR(33)
VP_ROJO = CHR(27)+CHR(114)+CHR(1)
VP_NEGRO = CHR(27)+CHR(114)+CHR(0)
VP_SUBRA = CHR(27)+CHR(33)+CHR(160)
VP_PEDIDO = CHR(5)+CHR(27)+'!'+'5'

como ya esta en una variable solo tienes que mandar a imprimir la variable cunado necesites cambiar el tamaño de letra o sino pones directamente lo codigos

ej:
@ 0,0 SAY CHR(27)+CHR(112)+CHR(0)+CHR(27)+CHR(112)+CHR(0)
esta linea abre las cajas de dinero de los P.O.S.

cualquier cosa no dudes en consultarme

  Respuesta:  Miguel Tuyaré
Para direccionar la impresora, fijate en las secuencias de escape del manual que dices.
Luego tienes que poner, por ejemplo:
SET DEVI TO PRINT
@00,00 SAY CHR(XX)+CHR(XX)
....
SET DEVI TO SCREEN
Las "XXX" corresponden al número en decimal de la secuencia.
Por ejemplo una secuencia para direccionar una impresora Hewlett Packard 880C, sería
SET PRINTER ON
?CHR(027)+CHR(038)+CHR(108)+CHR(151)+CHR(065)
.....
etc.

Espero te sirva.

  Respuesta:  Miguel Tuyaré
Para direccionar la impresora, fijate en las secuencias de escape del manual que dices.
Luego tienes que poner, por ejemplo:
SET DEVI TO PRINT
@00,00 SAY CHR(XX)+CHR(XX)
....
SET DEVI TO SCREEN
Las "XXX" corresponden al número en decimal de la secuencia.
Por ejemplo una secuencia para direccionar una impresora Hewlett Packard 880C, para que tome la hoja en forma apaisada sería:
SET PRINTER ON
?CHR(027)+CHR(038)+CHR(108)+CHR(151)+CHR(065)
.....
etc.

Espero te sirva.