Hola David. La siguiente es una funcion que hice basada en el method PageCount() de la classe TImprime() por The Full.
Pruébala y me avisas.
Ejemplo;
PRINT oPrn NAME "hola" PREVIEW //FROM USER
oPrn:SetPortrait() //vertical
DEFINE FONT oFont1 NAME "Arial" SIZE 0, -08 OF oPrn BOLD
DEFINE FONT oFont2 NAME "Arial" SIZE 0, -10 OF oPrn
nRowStep := oPrn:nVertRes() / 66 // LINEAS
nColStep := oPrn:nHorzRes() / 80 // COLUMNAS
While !eof()
PAGE
nRow:=nRowStep*8
oPrn:Say( nRow, nColCentro, "xxxxx", oFont1,,,,PAD_CENTER )
nRow+= nRowStep*4
oPrn:Say( nRow, nCol2, "wwwwwwwwwwwwwwww",oFont2,,,,PAD_LEFT )
etc,etc,etc
ENDPAGE
(cAlias)->(dbSkip())
Enddo
NumeraPag(oPrn,oFont2,nRowStep,nColStep) oFont1:End()
oFont2:End()
ENDPRINT
(cAlias)->(dbCloseArea())
return nil
- Code: Select all Expand view
//---------------------------------------------
Function NumeraPag(oPrn,oFont2,nRowStep,nColStep)
Local x
Local nPaginas := Len( oPrn:aMeta )
Local aFicheros := oPrn:aMeta
Local nCol := 70*nColStep //colocalo donde prefieras
Local nLin := 64*nRowStep // ""
if nPaginas <= 1 // Solamente una pagina
Return Nil
endif
oPrn:aMeta := {}
FOR x := 1 TO nPaginas
PAGE
oPrn:ImportWMF( aFicheros[ x ], .F. )
oPrn:Say( nLin,nCol, +Alltrim( Str( x ) ) +"/" + Alltrim( Str( nPaginas ) ) , oFont2,,,,PAD_RIGHT )
ENDPAGE
NEXT
Return NIl
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh-MySql-TMySql