reporte en el ambiente foxpro para Dos o Windows
Impresión estándar en Impresoras Gráficas.
Ejemplo.
Se utiliza Sys(1037) para indicar si la impresión es vertical ú horizontal.,
Podemos controlar si el estado es correcto con
PrtInfo(1) 0=Horizontal 1=Vertical
Si el estado no es el deseado, se llama a Sys(1037) para corregirlo.
Nota: Para impresoras matriciales, esta rutina imprimirá en modo gráfico, si es soportado.
Alternativamente se pueden utilizar en esas impresoras, las secuencias de escape, pero el método de impresión es distinto. Con secuencias de Escape se utiliza @ x.y Say "Texto" y la habilitación de la impresora es por SET DEVICE TO (LcImpresora).
La impresión con secuencias de escape es solamente en modo vertical. La letra utilizada puede ser Draf, Roman, SainSerif ó alguna otra que soporte la mecánica de la impresora y que se pueda establecer por secuencias de escape.
Rutina de Impresión Estándar. Impresoras Gráficas
*********************************************************
nLines= 80
LOCAL ARRAY gaprim(nlines),gaEncab(3)
gaEncab[1]="Nombre de la Empresa"
gaEncab[2]="Título del listado"
gaEncab[3]="Subtítulo del listado"
&& esto se hace para facilitar la prueba
&&
FOR I=1 TO nLines
gaprim[i]="Texto que deseo imprimir... Línea Nro "+LTRIM(STR(i))
next
lcImpreName=GetPrinter()
if empty(lcImpreName)
RETURN
ENDIF
SET CONSOLE OFF
set printer TO NAME (lcImpreName)
SYS(1037) && Permite indicar la orientación y el tipo de Hoja
SET PRINTER ON
cFuente="Lucida Console" && fuente de ancho fijo
nAncho = 8
cStylo= "N" && ("B" para remarcado (bold) )
nMargen=5
lTit=.T.
for i=1 to alen(gaprim)
IF LTIT
lTit=.F. && Cierra la bandera de Títulos
For j=1 to alen(gaEncab)
? gaEncab[j] at nMargen FONT cFuente,9 STYLE "B"
next
? Repli(Chr(151),70) at nMargen font cFuente,8
endif
? gaprim[i] AT nMargen FONT cFuente,nAncho STYLE cStylo
if Prow()>=60 && depende de si es vertical (60-64) ú horizontal (28-30)
&& del tipo de fuente y la impresora.
lTit=.t. && abre la bandera de títulos.
eject
endif
NEXT
SET CONSOLE ON
Set Printer Off
SEt printer to