PROCEDURE PrintProof
*---------------------------------
LOCAL lcPrinter,I,LnCopias,j,LnMaxLines,lnCount,lnPag
lnMaxLines=62
lnCopias=2
lnCount=0
LOCAL ARRAY gaPrint(100)
#DEFINE PR_MARGEN 5
#DEFINE PR_FONT "Lucida Console"
#DEFINE PR_SIZE 8
#DEFINE PR_STYLE "N"
* Prepara el trabajo a imprimir en un ARray (gaprint)
FOR i=1 TO ALEN(gaprint)
gaprint[i]=PADR("Texto enviado "+TRANSFORM(i),40);
+TRANSFORM(ROUND(1260*i/93,2),"999,999.99")+" ";
+TRANSFORM(ROUND(18*36/i,2),"999,999.99")
NEXT
* Selección de la impresora
lcPrinter=GETPRINTER()
IF EMPTY(lcPrinter)
RETURN
ENDIF
* Activa la impresora seleccionada
SET CONSOLE OFF
SET PRINTER TO NAME (lcPrinter)
* Preguntar estado de la impresora (Vertical u Horizontal)
do while PrtInfo(1)#0 && si no está en vertical
Messagebox("&lcPrinter"+chr(13)+"Seleccione Orientación Vertical.",0,Th_mensaje)
sys(1037)
ENDDO
SET PRINTER ON
* Comienza la impresión
FOR j=1 TO lnCopias
lnCount=0
lnPag=0
FOR i=1 TO ALEN(gaPrint)
IF PROW()=0
lnPag=lnPag+1
? "Empresa Impresiones" at 1 FONT "Arial",12 STYLE "B"
? "Domicilio Empresa Impresiones" at 1 FONT "Arial",10 STYLE "N"
?? "Copia "+TRANSFORM(j)+" » Pag "+TRANSFORM(lnPag) ;
at 100 FONT "Arial",8 STYLE "N"
? REPLICATE(CHR(151),70) AT 1 FONT "Arial",8 STYLE "N"
? PADR("Descripción",40)+" ";
+PADC("Columna1",10)+" ";
+PADC("Columna2",10) at PR_MARGEN FONT PR_FONT,PR_SIZE STYLE PR_STYLE
? REPLICATE(CHR(151),70) AT 1 FONT "Arial",8 STYLE "N"
lnCount=5
ENDIF
? gaPrint[i] at PR_MARGEN font PR_FONT,PR_SIZE STYLE PR_STYLE
lnCount=lnCount + 1
IF lnCount>lnMaxLines
EJECT
ENDIF
NEXT
IF j<lnCopias
EJECT
ENDIF
NEXT
* Cierra la impresora seleccionada (respetar el orden)
SET CONSOLE ON
SET PRINTER OFF
SET PRINTER TO