Saludso al Forum
Algun usuario que usa la clase , me podrian facilitar un ejemplo , de como genera un reporte leyendo una base de datos.
Ya que los ejemplos anexos a la clase , solamente hay uno , pero no muestra el uso de la clase.
Gracias
va001 = "00001"
va002 = "99999"
va003 = " "
va004 = "ZZZZZ"
SELECT 1
use EMPRESA
OrdSetfocus("empre01")
set filter to numero >= va001 .AND. numero <= va002 .AND. apellidos >= va003 .AND. apellidos <= va004
go top
store hb_CurDrive() to xdri
store GetCurdir() to xdir
store xdri + " :\" + xdir + "\emp" + yempr + "\" to direinic
fichsali:=cGetFile("*.pdf",LocaText( 1, 2, 76),,direinic,.F.,.T.)
if ! empty(fichsali)
if substr(fichsali,len(trim(fichsali))-3,4) <> ".pdf"
fichsali = trim(fichsali) + ".pdf"
endif
if file ( fichsali )
ferase( fichsali )
endif
pdf := HPDF_New()
cpos :={}
HPDF_SetCompressionMode( pdf, HPDF_COMP_ALL )
yFont1 = HPDF_GetFont( pdf, "Courier", "WinAnsiEncoding" )
yFont2 = HPDF_GetFont( pdf, "Courier-Bold", "WinAnsiEncoding" )
store 1 to numpag
store LocaText( 1, 1,534) + " : " + dtoc( ydatita ) to dati
do while .T.
page := HPDF_AddPage(pdf)
aadd(cpos ,page)
HPDF_Page_SetSize(HPDF_PAGE_SIZE_A4, HPDF_PAGE_PORTRAIT )
height := HPDF_Page_GetHeight(page)
width := HPDF_Page_GetWidth(page)
fil = width/124
col = height/72
HPDF_Page_SetRGBFill(page, 0.80, 0.80, 0.80)
a = 8
do while .T.
if opci20 = .F. .OR. a > 67
exit
endif
HPDF_Page_Rectangle(page, 0, 827 -(a*col), width, 11)
HPDF_Page_Fill(page)
a = a + 2
enddo
HPDF_Page_SetRGBFill(page, 0, 0, 0)
HPDF_Page_BeginText( page )
HPDF_Page_SetFontAndSize( page, yFont2, 14 )
HPDF_Page_TextOut( page, 2*fil,842-(col*1.5),LocaText( 1, 1,732))
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page, 2*fil,842-(col* 3),LocaText( 1, 1,553) + " " + trim(va003) + " " + LocaText( 1, 2,215) + " " + trim(va004))
HPDF_Page_TextOut( page, 2*fil,842-(col* 4),LocaText( 1, 1,566) + " " + va001 + " " + LocaText( 1, 2,215) + " " + va002)
HPDF_Page_SetFontAndSize( page, yFont2, 8 )
HPDF_Page_TextOut( page, 1*fil,842-(col* 6),LocaText( 1, 1,877))
HPDF_Page_TextOut( page, 8*fil,842-(col* 6),LocaText( 1, 1,115))
HPDF_Page_TextOut( page, 49*fil,842-(col* 6),LocaText( 1, 1,817))
HPDF_Page_TextOut( page, 59*fil,842-(col* 6),LocaText( 1, 1,471))
HPDF_Page_TextOut( page, 94*fil,842-(col* 6),LocaText( 1, 2,128))
HPDF_Page_TextOut( page,104*fil,842-(col* 6),LocaText( 1, 2,128))
HPDF_Page_TextOut( page,114*fil,842-(col* 6),LocaText( 1, 1,533))
HPDF_Page_TextOut( page, 1*fil,842-(col* 7),"------")
HPDF_Page_TextOut( page, 8*fil,842-(col* 7),"----------------------------------------")
HPDF_Page_TextOut( page, 49*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page, 59*fil,842-(col* 7),"----------------------------------")
HPDF_Page_TextOut( page, 94*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page,104*fil,842-(col* 7),"---------")
HPDF_Page_TextOut( page,114*fil,842-(col* 7),"---------")
oCol = 8
do while .T.
if eof()
exit
endif
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page, 1*fil,842-(col*oCol),numero)
HPDF_Page_TextOut( page, 8*fil,842-(col*oCol),substr(trim(apellidos)+ ", "+ nombre+ space(40),1,40))
HPDF_Page_TextOut( page, 49*fil,842-(col*oCol),cif)
HPDF_Page_TextOut( page, 59*fil,842-(col*oCol),email)
HPDF_Page_TextOut( page, 94*fil,842-(col*oCol),Telefono)
HPDF_Page_TextOut( page,104*fil,842-(col*oCol),Telefono2)
HPDF_Page_TextOut( page,114*fil,842-(col*oCol),fax)
skip + 1
oCol = oCol + 1
if oCol > 65
exit
endif
enddo
HPDF_Page_SetFontAndSize( page, yFont1, 8 )
HPDF_Page_TextOut( page,460, 30,dati)
HPDF_Page_TextOut( page,460, 20,locatext( 1, 1,947) + " : " + str(numpag,10,0))
HPDF_Page_EndText( page )
numpag = numpag + 1
if eof()
exit
endif
enddo
HPDF_SaveToFile( pdf, fichsali )
HPDF_Free( pdf )
ShellExecute(0,"Open",fichsali,NIL,NIL,1)
endif
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: Google [Bot] and 58 guests