Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
A PDF report tool that works in both VFP and Linux
Message
General information
Forum:
Linux
Category:
Other
Miscellaneous
Thread ID:
00546806
Message ID:
00547957
Views:
17
>I am going to try a few pdf function today. I have these text files, which I archive, - daily activity reports and such... Output from an old main frame, I never did anything with them to reformat them, just plunked them on a web server with a .txt ext, and put some active links. They are viewable by the people necessary, but... as you can imaging, they dont look very good.
>
>What I am going to attmpt to do is add a few font tags, and clean up these textfiles. using VFP to add the tags. Ill let you know how it all works out.....(thats the first of a few tests I want to do with this.. other things come to mind like ... you can imagine.
>Bob Lee

Here is a Q&D I threw together yesterday after I downloaded the demo version. I mentioned it yesterday.
* purpose - to creat a PDF file of lottery workers sorted  by city/county, ;
* lastname, firstname,
* to be FTP'd to NOL website.
PUBLIC gcPath, crlf, lcPDF, oPDF, nY, lcInfo
crlf = CHR(13)+CHR(10)
gcPath = SYS(5)+SYS(2003)
USE (gcPath+"\DATA\Address") IN 0 ORDER TAG KeyFld ALIAS AliasAddress
USE (gcPath+"\DATA\IndivAdr") IN 0 ORDER TAG IndivKey ALIAS AliasIndivAdr
USE (gcPath+"\DATA\F50GS3") IN 0 ORDER TAG KeyFld ALIAS AliasF50GS3
USE (gcPath+"\DATA\gs3lo") IN 0 ORDER TAG cckeyfld ALIAS AliasGS3LO
*
SELECT 	AliasF50GS3
SET RELATION TO IndivKey INTO AliasIndivAdr ADDITIVE
SET RELATION TO KeyFld INTO AliasGS3LO ADDITIVE
SELECT AliasGS3LO
SET RELATION TO KeyFld INTO AliasAddress ADDITIVE

SELECT a.KeyFld,a.IndivKey, b.Wholename, b.Address, b.City, b.State, b.Zip ;
	FROM AliasF50GS3 a, AliasIndivAdr b ;
	WHERE 	b.IndivKey = a.IndivKey ;
	AND (a.Lic_Stat = 1 OR a.Lic_Stat = 7) ;
	AND NOT DELETED();
	ORDER BY a.KeyFld, b.Wholename ;
	INTO CURSOR LWorkers1 NOFILTER
*
SELECT a.*, b.county, b.loc_name AS CCName ;
	FROM LWorkers1 a, AliasAddress b ;
	WHERE b.KeyFld = a.KeyFld ;
	AND NOT DELETED();
	ORDER BY a.KeyFld, a.Wholename ;
	INTO CURSOR LWorkers2 NOFILTER

SELECT a.*, b.loname ;
	FROM LWorkers2 a, AliasGS3LO b ;
	WHERE (b.cckeyfld = a.KeyFld AND b.IndivKey = a.IndivKey) ;
	AND NOT DELETED();
	INTO CURSOR BigLWList1 NOFILTER

SET SAFETY OFF
SELECT * FROM BigLWList1 ;
	ORDER BY county, CCName, loname, Wholename ;
	INTO TABLE (gcPath+"\DATA\BigLWList")
SET SAFETY ON
CLOSE TABLES
USE (gcPath+"\DATA\BigLWList") IN 0 ALIAS BigLWList
*
oPDF = CREATEOBJECT("build.PDF")
IF TYPE("oPDF") <> "O"
	=MESSAGEBOX("Creation of oPDF failed, exiting!")
	CLOSE TABLES
	RETURN
ENDIF
lcInfo = ''
lcPDF = ''
DO NewPage
lcPDF = oPDF.SetPDFCmd("IMAGE='1,N:\Production\GAMING\DATA\RPTLOGO2.GIF'>>")
lcPDF = oPDF.SetPDFCmd("PUTIMG=1,1,5,75,75>>")
lcPDF = oPDF.SetPDFCmd("Y=1 X=50>>Nebraska Department of Revenue")
lcPDF = oPDF.SetPDFCmd("Y=2 X=50>>Gaming Division")
lcPDF = oPDF.SetPDFCmd("Y=3 X=50>>301 Centennial Mall South")
lcPDF = oPDF.SetPDFCmd("Y=4 X=50>>Lincoln, NE  68509")
lcPDF = oPDF.SetPDFCmd("Y=9 ALIGN=C>>List of Lottery Workers")
lcPDF = oPDF.SetPDFCmd("Y=10 ALIGN=C>>As of "+DTOC(DATETIME()))
lcPDF = oPDF.SetPDFCmd("ALIGN=L X=1 Y=12 X=1>>County")
lcPDF = oPDF.SetPDFCmd("X=20 Y=12>>City/Village Name")
lcPDF = oPDF.SetPDFCmd("X=50 Y=12>>Lottery Operator")
lcPDF = oPDF.SetPDFCmd("X=1 Y=13>>Lottery Workers Names")
lcPDF = oPDF.SetPDFCmd("LINEW=1 LINEC=2 LINE=1,14,80,14>>")
*lcPDF = oPDF.SetPDFCmd(">>")
SELECT BigLWList
LOCATE
cCounty = ALLTRIM(BigLWList.county)
cCCName = ALLTRIM(BigLWList.CCName)
cLoName = ALLTRIM(BigLWList.loname)
lcPDF = oPDF.SetPDFCmd("X=1 Y=15>>"+cCounty)
lcPDF = oPDF.SetPDFCmd("X=20 Y=15>>"+cCCName)
lcPDF = oPDF.SetPDFCmd("X=500 Y=15>>"+cLoName)
lcPDF = oPDF.SetPDFCmd("FONT=1,10 ALIGN=L>>")
nY = 16
* set
DO WHILE NOT EOF("BigLWList")
	IF ALLTRIM(BigLWList.county) <> cCounty
		* county changed - close this list and open new one.
		cCounty = ALLTRIM(BigLWList.county)
		cCCName = ALLTRIM(BigLWList.CCName)
		cLoName = ALLTRIM(BigLWList.loname)
		DO NewPage						
		lcPDF = oPDF.SetPDFCmd("X=1 Y=1>>"+cCounty)
		lcPDF = oPDF.SetPDFCmd("X=20 Y=1>>"+cCCName)
		lcPDF = oPDF.SetPDFCmd("X=50 Y=1>>"+cLoName)
		lcPDF = oPDF.SetPDFCmd("Y=2 LINEW=1 LINEC=0 LINE=1,2,78,2>>")
		nY=3			
	ENDIF
	IF ALLTRIM(BigLWList.CCName) <> cCCName
		* ccloname changed - close this list and open new one.
		cCounty = ALLTRIM(BigLWList.county)
		cCCName = ALLTRIM(BigLWList.CCName)
		cLoName = ALLTRIM(BigLWList.loname)
		DO NewPage											
		lcPDF = oPDF.SetPDFCmd("X=1 Y=1>>"+cCounty)
		lcPDF = oPDF.SetPDFCmd("X=20 Y=1>>"+cCCName)
		lcPDF = oPDF.SetPDFCmd("X=50 Y=1>>"+cLoName)
		lcPDF = oPDF.SetPDFCmd("Y=2 LINEW=1 LINEC=0 LINE=1,2,78,2>>")				
		nY=3		
	ENDIF
	IF ALLTRIM(BigLWList.loname) <> cLoName
		* Lottery Oper changed - close this list and open new one.
		cCounty = ALLTRIM(BigLWList.county)
		cCCName = ALLTRIM(BigLWList.CCName)
		cLoName = ALLTRIM(BigLWList.loname)
		DO NewPage									
		lcPDF = oPDF.SetPDFCmd("X=1 Y=1>>"+cCounty)
		lcPDF = oPDF.SetPDFCmd("X=20 Y=1>>"+cCCName)
		lcPDF = oPDF.SetPDFCmd("X=50 Y=1>>"+cLoName)
		lcPDF = oPDF.SetPDFCmd("Y=2 LINEW=1 LINEC=0 LINE=1,2,78,2>>")		
		nY=3
	ENDIF
	lcInfo = ALLTRIM(BigLWList.Wholename)+",  " ;
			+ ALLTRIM(BigLWList.Address)+"  " ;
			+ ALLTRIM(BigLWList.City)+ ", " ;
			+ ALLTRIM(BigLWList.Zip)
	lcPDF = oPDF.SetPDFCmd("X=1 Y=+>>"+lcInfo)
	DO PgTest
	SKIP
ENDDO

fh = FCREATE(gcPath+"\DATA\LWList.pdf",0)
IF fh < 1
	WAIT "Can't open LWList.pdf" WINDOW AT 40,20
	CLOSE TABLES
        oPDF = NULL
	RETURN
ENDIF
lcPDF = oPDF.buildPDF
=FWRITE(fh,lcPDF)
=FCLOSE(fh)
CLOSE TABLES
oPDF = NULL
RELEASE oPDF
RETURN
*
PROCEDURE PgTest
	nY = nY + 1
	IF nY > 58
	     DO NewPage
	     nY = 1
	ENDIF
ENDPROC

PROCEDURE NewPage
	lcPDF = oPDF.SetPDFCmd("PAGE=8.5,11>>")
	lcPDF = oPDF.SetPDFCmd("BOX=0.25,1,8,9,80,60>>")
	lcPDF = oPDF.SetPDFCmd("X=1 Y=1 FONT=1,10 ALIGN=L>>")
ENDPROC
Nebraska Dept of Revenue
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform