Jump to content
Fivewin Brasil

TPRINT em bobina sem o avanço de pagina


jfaguiar

Recommended Posts

Oi, amigo.

Salve o que deseja imprimir em um TXT, pode ser via TDOSPRN se quiser enviar comandos de formatação, e imprima usando a função PrintFileRaw().

Exemplo:

// ImpressÆo em Spool -------------------------------------------------------
function ImpSpool(cArquivoTxt, cImpressora)
   nResult := PrintFileRaw(cImpressora, cArquivoTxt, "Trabalho de impressão")
   cMsg := ""
   SWITCH nResult
   CASE -1
      cMsg += "Erro nos parêmetros passados para a função" ; EXIT
   CASE -2
      cMsg += "Falha na chamada à função OpenPrinter()" ; EXIT
   CASE -3
      cMsg += "Falha na chamada à função StartDocPrinter()" ; EXIT
   CASE -4
      cMsg += "Falha na chamada à função StartPagePrinter()" ; EXIT
   CASE -5
      cMsg += "Falha na alocação de memória" ; EXIT
   CASE -6
      cMsg += "Arquivo " + c_Spool + " não encontrado" ; EXIT
   END
   IF ! EMPTY(cMsg)
      SysRefresh()
      MsgInfo(cMsg, "Informação")
   ENDIF
return .t.
Link to comment
Share on other sites

// IMPLIB.PRG By Jose Murugosa.



/*
Funciones para imprimir con la clase tprint a la manera de la impresión de clipper en modo consola.
*/
/*
Funciones de Impresión con clase tPrint
---------------------------------------

IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
Configura la impresión indicando: ancho y largo de páginas en cms.
cantidad de filas y columnas
Nombre del spooler de impresión
Seleccion de Impresora
si va Preview
si es apaisado
cantidad de copias
(Como la impresión de Consola pero con Tprint)
PrnSay( nFila, nColum, Var, oFuente[ , nC ] )
Versión del viejo Say de consola con la clase Tprint
PrnBox( nFila1, nCol1, nFila2, nCol2, oPen, nC )
Imiprimir una caja con fila columna y fila columna estilo consola con tPrint
PrnLine( nFila1, nCol1, nFila2, nCol2, oPen, nC )
Imprimir una línea estilo consola con TPrint
FinImp()
Cierre de la impresión
----------------------------------------------------------------------------------------------------------------------

FUNCIONES DE IMPRESIÓN

----------------------------------------------------------------------------------------------------------------------*/
/*
Variables públicas requeridas en programa principal:
PUBLIC oImp, aoFont[4], aAnchop[4]
*/
#include "Fivewin.ch"
FUNCTION IniImp(nAncho, nLargo, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias)
/*
Sintaxis:
IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
Requeridos:
cAncho - Ancho de pagina en cms.
cLargo - Largo de página en cms.
Opcionales:
nFilas - Cantidad de filas en el largo DEFAULT 60
nColumnas - Cantidad de columnas en el ancho 80 o 120 DEFAULT 80
cNom_Spooler - Nombre del listado en Spooler de impresion de Windows DEFAULT "Listado"
lSel_imp - .t. para que el usuario seleccione la impresora que usará DEFAULT .t.
lPreview - .t. para que se vea una vista preliminar. DEFAULT .f.
lLnds - .t. para Apaisado DEFAULT .f.
nCopias - Cantidad de copias DEFAULT 1
*/

LOCAL cFuente
cFuente:="Lucida Console" //Se utiliza aquí una fuente escalar
//evitando así mala ubicación de caracteres
//Valores default
IF cNom_Spooler=NIL
cNom_Spooler="Listado"
ENDIF
IF lSel_Imp=NIL
lSel_imp=.t.
ENDIF
IF lPreview=NIL
lPreview=.f.
ENDIF
IF lLnds=NIL
lLnds=.f.
ENDIF
IF nCopias=NIL
nCopias=1
ENDIF

PrnSetSize(nAncho*100, nLargo*100)
//Creo objeto tprinter
IF !lSel_imp .AND. !lPreview
PRINT oImp TITLE cNom_Spooler
ELSEIF lSel_imp .and. !lPreview
PRINT oImp TITLE cNom_Spooler FROM USER
ELSEIF !lSel_imp .and. lPreview
PRINT oImp TITLE cNom_Spooler PREVIEW
ELSEIF lSel_imp .and. lPreview
PRINT oImp TITLE cNom_Spooler FROM USER PREVIEW
ENDIF
IF lLnds
oImp:SetLandscape()
ENDIF
//establezco las copias
oImp:SetCopies(nCopias)
//calculo anchos de fila y columna segun la resolucion de la impresora
aAnchop[1]:=oImp:nVertRes()/nFilas
aAnchop[2]:=oImp:nHorzRes()/nColumnas //ancho en pixels de columna
aAnchop[3]:=nColumnas //hago publica nColumas en vector
aAnchop[4]:=lLnds //hago publica lLnds en el vector
//Defino Fonts
//Font normal
DEFINE FONT aoFont[1] NAME "Lucida Console" SIZE 0, -10 OF oImp
//Font Comprimida
DEFINE FONT aoFont[2] NAME "Lucida Console" SIZE 0, -8 OF oImp
//Font Muy Grande
DEFINE FONT aoFont[3] NAME "Lucida Console" SIZE 0, -24 OF oImp
//Font Grande
DEFINE FONT aoFont[4] NAME "Lucida Console" SIZE 0, -16 OF oImp
RETURN NIL

/*Fin Funcion IniImp
----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnSay( nFila, nColum, Var, oFuente, nC )
LOCAL i, wVar, nesp, nCorr
/*Sintaxis:
PrnSay( nFila, nColum, Var [, oFuente, nC ] )
nFila es la fila donde se hace la impresion
ncolum es la columna donde comienza
var es una variable de cualquier tipo que contiene lo que se va a imprimir
nC es el total de columnas base (80 o 120)

El parámetro var es convertido a texto sin espacios al final y alineado a la derecha.
*/
IF nC=NIL
//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
ELSE
//Si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC
ENDIF
//Convierto Var a texto para imprimir
IF VALTYPE(Var)="A" .or. VALTYPE(Var)="B" .or. VALTYPE(Var)="M" .or. VALTYPE(Var)="O" .or. VALTYPE(Var)="U"
wVar=Space(1)
ELSEIF valtype(Var)="C"
wVar=Rtrim(Var)
ELSEIF VALTYPE(Var)="D"
wVar:=Transform(Var,"@D")
ELSEIF VALTYPE(Var)="L"
IF Var
wVar="Si"
ELSE
wVar="No"
ENDIF
ELSEIF VALTYPE(Var)="N"
wVar:=Alltrim(Str(Var))
ENDIF
//paso fila y columna a pixels
nFila := nFila * aAnchop[1]
nColum := nColum * aAnchop[2] //Columna en pixels
nesp=( len(wVar) - len( Ltrim( wVar ) ) ) * aAnchop[2]
wVar:=Ltrim(wVar)
IF wVar<>Space(1)
IF Pcount()=3 //Si no indique fuente
oImp:Say( nFila, (nColum + nesp), wVar, if( aAnchop[3]<=80, aoFont[1], If( aAnchop[4], aoFont[1], aoFont[2] ) ) )
// si menos 80 cols uso aofont[1] sino si es apaisado, aofont[1] o sino aofont[2]
ELSE //si indique fuente
oImp:Say(nFila,(nColum + nesp),wVar, oFuente)
ENDIF
ENDIF
RETURN NIL
/*Fin Funcion PrnSay
----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnBox(nFila1, nCol1, nFila2, nCol2, oPen, nC)
/*Sintaxis:
PrnBox( nFila, nCol1, nFila2, nCol2, oPen, nC )
nFila es la fila donde se hace la impresion
ncolum es la columna donde comienza
var es una variable de cualquier tipo que contiene lo que se va a imprimir
nC es el total de columnas base (80 o 120)
*/
IF nC=NIL
//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
ELSE
//Si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC
ENDIF
//paso fila y columna a pixels
nFila1 := nFila1 * aAnchop[1]
nCol1 := nCol1 * aAnchop[2]
nFila2 := nFila2 * aAnchop[1]
nCol2 := nCol2 * aAnchop[2]
//dibujo el cuadro
oImp:Box(nFila1, nCol1, nFila2, nCol2, oPen)
RETURN NIL
/*Fin Funcion PrnBox
---------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnLine(nFila1, nCol1, nFila2, nCol2, oPen, nC)
IF Pcount()=6
//si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC
ELSE
//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]
ENDIF
//paso fila y columna a pixels
nFila1 := nFila1 * aAnchop[1]
nCol1 := nCol1 * aAnchop[2]
nFila2 := nFila2 * aAnchop[1]
nCol2 := nCol2 * aAnchop[2]
//Dibujo la linea
oImp:Line(nFila1, nCol1, nFila2, nCol2, oPen)
RETURN NIL
/*Fin Funcion PrnLine
---------------------------------------------------------------------------------------------------------------------*/
FUNCTION FinImp()
//Destruyo las fuentes
//finalizo la impresión
ENDPRINT
//elimino los fonts
aoFont[1]:End()
aoFont[2]:End()
aoFont[3]:End()
RETURN NIL
/*Fin Funcion FinImp
----------------------------------------------------------------------------------------------------------------------*/


Link to comment
Share on other sites

// TESTPRN.PRG By Jose Murugosa.



#include "FiveWin.ch"

FUNCTION Main()
LOCAL oPen
PUBLIC oImp, aoFont[4], aAnchop[4]
SET DATE TO FRENCH
DEFINE PEN oPen WIDTH 5
IniImp(21.5, 27.9, 72, 90, "CompraVenta de Hacienda", .t., .t., .f., 1 )
PAGE
PrnBox (22, 7,28,89,oPen)

PrnLine(30, 7,30,89,oPen)
PrnLine(33, 7,33,89,oPen)
prnLine(43, 7,43,89,oPen)

PrnLine(45, 7,45,32,oPen)
PrnLine(51, 7,51,32,oPen)
PrnLine(53, 7,53,32,oPen)
PrnLine(57, 7,57,32,oPen)
PrnLine(43,62,43,89,oPen)
PrnLine(54,62,54,89,oPen)
PrnLine(45,36,45,57,oPen)
PrnLine(52,36,52,57,oPen)
PrnLine(45,62,45,89,oPen)
PrnLine(52,62,52,89,oPen)
//cabezal
PrnSay(16,60, "Form.: "+ "123425", aoFont[1],80)
PrnSay(18, 8,"Empresa XXXXXX")
PrnSay(18,60,Date())
PrnSay(19, 8,"123456")
PrnSay(19,60,1250)
PrnSay(23, 8,"Productor:", aoFont[1],80)
PrnSay(24, 8,"El Productor que vende", aoFont[1],80)
PrnSay(23,45,"Consignatario:", aoFont[1],80)
PrnSay(24,45,"El Consignatario que Vende", aoFont[1],80)
PrnSay(25, 8,"RUT: "+"12 345678 9123", aoFont[1],80)
PrnSay(25,30,"CI: " +"173216547",aoFont[1],80)
PrnSay(25,45,"RUT: "+"12 345678 9123", aoFont[1],80)
PrnSay(26, 8,"Dicose: "+"123 456 789", aoFont[1],80)
PrnSay(26,45,"Dicose: "+"123 456 789", aoFont[1],80)
PrnSay(27, 8,"Guia: "+"123456", aoFont[1],80)
PrnSay(27,45,"Guia: "+"567890", aoFont[1],80)
PrnSay(29, 8,"Tiene flete? ", aoFont[1],80)
PrnSay(29, 21,.t., aoFont[1],80)
PrnSay(35, 7, "Este es un texto largo escrito para utilizar 120 columnas en medio de un documento que estaba en 80 columnas" )

PrnSay(63,8," .............................. ...............................",aoFont[1],120)
PrnSay(64,8," Firma del Comprador Firma de Vendedor/Representante",aoFont[1],120)
ENDPAGE
//Finalizo impresion
FinImp()
oPen:End()
RETURN NIL
/*Fin Función Main()
---------------------------------------------------------------------------------------------------------------------*/


Link to comment
Share on other sites

  • 7 months later...
Simulando modo console com PRINTER.PRG



#Include "FiveWin.ch"

FUNCTION Main()

LOCAL oPen

PUBLIC oImp, aoFont[4], aAnchop[4]

SET DATE TO FRENCH

DEFINE PEN oPen WIDTH 5

IniImp(21.5, 27.9, 72, 90, "CompraVenta de Hacienda", .t., .t., .f., 1 )

PAGE

PrnBox (22, 7,28,89,oPen)

PrnLine(30, 7,30,89,oPen)
PrnLine(33, 7,33,89,oPen)
prnLine(43, 7,43,89,oPen)

PrnLine(45, 7,45,32,oPen)
PrnLine(51, 7,51,32,oPen)
PrnLine(53, 7,53,32,oPen)
PrnLine(57, 7,57,32,oPen)
PrnLine(43,62,43,89,oPen)
PrnLine(54,62,54,89,oPen)
PrnLine(45,36,45,57,oPen)
PrnLine(52,36,52,57,oPen)
PrnLine(45,62,45,89,oPen)
PrnLine(52,62,52,89,oPen)

//cabezal
PrnSay(16,60, "Form.: "+ "123425", aoFont[1],80)
PrnSay(18, 8,"Empresa XXXXXX")
PrnSay(18,60,Date())
PrnSay(19, 8,"123456")
PrnSay(19,60,1250)
PrnSay(23, 8,"Productor:", aoFont[1],80)
PrnSay(24, 8,"El Productor que vende", aoFont[1],80)
PrnSay(23,45,"Consignatario:", aoFont[1],80)
PrnSay(24,45,"El Consignatario que Vende", aoFont[1],80)
PrnSay(25, 8,"RUT: "+"12 345678 9123", aoFont[1],80)
PrnSay(25,30,"CI: " +"173216547",aoFont[1],80)
PrnSay(25,45,"RUT: "+"12 345678 9123", aoFont[1],80)
PrnSay(26, 8,"Dicose: "+"123 456 789", aoFont[1],80)
PrnSay(26,45,"Dicose: "+"123 456 789", aoFont[1],80)
PrnSay(27, 8,"Guia: "+"123456", aoFont[1],80)
PrnSay(27,45,"Guia: "+"567890", aoFont[1],80)
PrnSay(29, 8,"Tiene flete? ", aoFont[1],80)
PrnSay(29, 21,.t., aoFont[1],80)
PrnSay(35, 7, "Este es un texto largo escrito para utilizar 120 columnas en medio de un documento que estaba en 80 columnas" )

PrnSay(63,8," .............................. ...............................",aoFont[1],120)
PrnSay(64,8," Firma del Comprador Firma de Vendedor/Representante",aoFont[1],120)

ENDPAGE

//Finalizo impresion
FinImp()

oPen:End()

RETURN NIL

/*
Funciones para imprimir con la clase tprint a la manera de la impresión de clipper en modo consola.
*/
/*
Funciones de Impresión con clase tPrint
---------------------------------------

IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
Configura la impresión indicando: ancho y largo de páginas en cms.
cantidad de filas y columnas
Nombre del spooler de impresión
Seleccion de Impresora
si va Preview
si es apaisado
cantidad de copias
(Como la impresión de Consola pero con Tprint)
PrnSay( nFila, nColum, Var, oFuente[ , nC ] )
Versión del viejo Say de consola con la clase Tprint
PrnBox( nFila1, nCol1, nFila2, nCol2, oPen, nC )
Imiprimir una caja con fila columna y fila columna estilo consola con tPrint
PrnLine( nFila1, nCol1, nFila2, nCol2, oPen, nC )
Imprimir una línea estilo consola con TPrint
FinImp()
Cierre de la impresión
----------------------------------------------------------------------------------------------------------------------

FUNCIONES DE IMPRESIÓN

----------------------------------------------------------------------------------------------------------------------*/
/*
Variables públicas requeridas en programa principal:
PUBLIC oImp, aoFont[4], aAnchop[4]
*/

#include "Fivewin.ch"

FUNCTION IniImp(nAncho, nLargo, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias)

/*
Sintaxis:
IniImp( nAncho, nLargo [, nFilas, nColumnas, cNom_spooler, lsel_imp, lpreview, lLnds ,nCopias ] )
Requeridos:
cAncho - Ancho de pagina en cms.
cLargo - Largo de página en cms.
Opcionales:
nFilas - Cantidad de filas en el largo DEFAULT 60
nColumnas - Cantidad de columnas en el ancho 80 o 120 DEFAULT 80
cNom_Spooler - Nombre del listado en Spooler de impresion de Windows DEFAULT "Listado"
lSel_imp - .t. para que el usuario seleccione la impresora que usará DEFAULT .t.
lPreview - .t. para que se vea una vista preliminar. DEFAULT .f.
lLnds - .t. para Apaisado DEFAULT .f.
nCopias - Cantidad de copias DEFAULT 1
*/

LOCAL cFuente
cFuente:="Lucida Console" //Se utiliza aquí una fuente escalar
//evitando así mala ubicación de caracteres

//Valores default
IF cNom_Spooler=NIL
cNom_Spooler="Listado"
ENDIF

IF lSel_Imp=NIL
lSel_imp=.t.
ENDIF

IF lPreview=NIL
lPreview=.f.
ENDIF

IF lLnds=NIL
lLnds=.f.
ENDIF

IF nCopias=NIL
nCopias=1
ENDIF

PrnSetSize(nAncho*100, nLargo*100)

//Creo objeto tprinter
IF !lSel_imp .AND. !lPreview

PRINT oImp TITLE cNom_Spooler

ELSEIF lSel_imp .and. !lPreview

PRINT oImp TITLE cNom_Spooler FROM USER

ELSEIF !lSel_imp .and. lPreview

PRINT oImp TITLE cNom_Spooler PREVIEW

ELSEIF lSel_imp .and. lPreview

PRINT oImp TITLE cNom_Spooler FROM USER PREVIEW

ENDIF

IF lLnds
oImp:SetLandscape()
ENDIF

//establezco las copias
oImp:SetCopies(nCopias)

//calculo anchos de fila y columna segun la resolucion de la impresora
aAnchop[1]:=oImp:nVertRes()/nFilas
aAnchop[2]:=oImp:nHorzRes()/nColumnas //ancho en pixels de columna
aAnchop[3]:=nColumnas //hago publica nColumas en vector
aAnchop[4]:=lLnds //hago publica lLnds en el vector

//Defino Fonts
//Font normal
DEFINE FONT aoFont[1] NAME "Lucida Console" SIZE 0, -10 OF oImp

//Font Comprimida
DEFINE FONT aoFont[2] NAME "Lucida Console" SIZE 0, -8 OF oImp

//Font Muy Grande
DEFINE FONT aoFont[3] NAME "Lucida Console" SIZE 0, -24 OF oImp

//Font Grande
DEFINE FONT aoFont[4] NAME "Lucida Console" SIZE 0, -16 OF oImp

RETURN NIL

/*Fin Funcion IniImp
----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnSay( nFila, nColum, Var, oFuente, nC )

LOCAL i, wVar, nesp, nCorr

/*Sintaxis:
PrnSay( nFila, nColum, Var [, oFuente, nC ] )
nFila es la fila donde se hace la impresion
ncolum es la columna donde comienza
var es una variable de cualquier tipo que contiene lo que se va a imprimir
nC es el total de columnas base (80 o 120)

El parámetro var es convertido a texto sin espacios al final y alineado a la derecha.
*/

IF nC=NIL

//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]

ELSE

//Si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC

ENDIF

//Convierto Var a texto para imprimir

IF VALTYPE(Var)="A" .or. VALTYPE(Var)="B" .or. VALTYPE(Var)="M" .or. VALTYPE(Var)="O" .or. VALTYPE(Var)="U"

wVar=Space(1)

ELSEIF valtype(Var)="C"

wVar=Rtrim(Var)

ELSEIF VALTYPE(Var)="D"

wVar:=Transform(Var,"@D")

ELSEIF VALTYPE(Var)="L"

IF Var
wVar="Si"
ELSE
wVar="No"
ENDIF

ELSEIF VALTYPE(Var)="N"

wVar:=Alltrim(Str(Var))

ENDIF

//paso fila y columna a pixels
nFila := nFila * aAnchop[1]
nColum := nColum * aAnchop[2] //Columna en pixels
nesp=( len(wVar) - len( Ltrim( wVar ) ) ) * aAnchop[2]
wVar:=Ltrim(wVar)

IF wVar<>Space(1)

IF Pcount()=3 //Si no indique fuente

oImp:Say( nFila, (nColum + nesp), wVar, if( aAnchop[3]<=80, aoFont[1], If( aAnchop[4], aoFont[1], aoFont[2] ) ) )
//si menos 80 cols uso aofont[1] sino si es apaisado, aofont[1] o sino aofont[2]

ELSE //si indique fuente

oImp:Say(nFila,(nColum + nesp),wVar, oFuente)

ENDIF

ENDIF

RETURN NIL
/*Fin Funcion PrnSay

----------------------------------------------------------------------------------------------------------------------*/
FUNCTION PrnBox(nFila1, nCol1, nFila2, nCol2, oPen, nC)

/*Sintaxis:
PrnBox( nFila, nCol1, nFila2, nCol2, oPen, nC )
nFila es la fila donde se hace la impresion
ncolum es la columna donde comienza
var es una variable de cualquier tipo que contiene lo que se va a imprimir
nC es el total de columnas base (80 o 120)
*/

IF nC=NIL

//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]

ELSE

//Si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC

ENDIF

//paso fila y columna a pixels
nFila1 := nFila1 * aAnchop[1]
nCol1 := nCol1 * aAnchop[2]
nFila2 := nFila2 * aAnchop[1]
nCol2 := nCol2 * aAnchop[2]

//dibujo el cuadro
oImp:Box(nFila1, nCol1, nFila2, nCol2, oPen)

RETURN NIL
/*Fin Funcion PrnBox
---------------------------------------------------------------------------------------------------------------------*/

FUNCTION PrnLine(nFila1, nCol1, nFila2, nCol2, oPen, nC)

IF Pcount()=6

//si se especifico cant. de columnas recalculo el ancho de columna
aAnchop[2]:=oImp:nHorzRes()/nC

ELSE

//Si no se especifica cantidad de columnas uso las especificadas en IniImp()
aAnchop[2]:=oImp:nHorzRes()/aAnchop[3]

ENDIF

//paso fila y columna a pixels
nFila1 := nFila1 * aAnchop[1]
nCol1 := nCol1 * aAnchop[2]
nFila2 := nFila2 * aAnchop[1]
nCol2 := nCol2 * aAnchop[2]

//Dibujo la linea
oImp:Line(nFila1, nCol1, nFila2, nCol2, oPen)

RETURN NIL
/*Fin Funcion PrnLine
---------------------------------------------------------------------------------------------------------------------*/

FUNCTION FinImp()

//Destruyo las fuentes
//finalizo la impresión

ENDPRINT

//elimino los fonts
aoFont[1]:End()
aoFont[2]:End()
aoFont[3]:End()

RETURN NIL
/*Fin Funcion FinImp*/


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...