La Web del Programador: Comunidad de Programadores
 
    Pregunta:  730 - IMPRESION DE REPORTES FOX P/DOS
Autor:  Gustavo R Martinez
Algunos informes los debo imprimir condensados pero las distintas impresoras tienen secuencias de escape diferentes. Yo le hice una base con distintas impresoras y sus secuencias de ESC con posibilidad de adicionar una nueva impresora por parte del usuario. Pero esto no soluciona el problema porque el usuario en general desconce el tema.
Hay otra manera de solucionar este tema de la configuracion de la impresora? Puedo hacer que lo maneje Windows? Agradeceria una pronta respuesta.
Gracias

  Respuesta:  Ahmed Bustamante
Para que imprimas condensado, a mi parecer no necesitas crear varias impresoras, antes de mandar el reporte a impresion añade el siguiente codigo : ???chr(17), este comando hara que tu reporte se imprima condensado y para desactivarlo utilizas ???chr(15). Debes asegurarte antes que la impresora este en linea pues sino te saldrá el tipico mensaje de error "impresora no esta en linea", esto lo puedes controlar con una funcion que te controle tal error.
ejemplo
IF ImpAct() && funcion que te devuelva True si la impresora esta en linea
???chr(15)
lineas del reporte
???chr(17)
ENDFI
Espero aberte ayudado y suerte !!!.

  Respuesta:  Samuel Angel Herbas Gonza
Por la largada de la respuesta, esta en el archvio resp730.txt.

  Respuesta:  Fidel Portilla M.
Bueno, no se que impresora tengas instalada por defecto en Windows, pero yo creo que en efecto puedes habilitar una impresora como predeterminada en Windows, con las caracteristicas que requieres, además creo que en Fox p/Dos, con solo enviar el CHR(15)configura tu impresora. Ej.:
Set devi to Print
Set Print On
? CHR(15)
@ 10, 10 Say "HOLA MUCHACHOS"
? CHR(10)
@ 12, 10 Say "HOLA MUCHACHOS"
Set Print Off
Set devi to Screen
Saludos desde México.