**********************************************************************
*
* PDFLIB.PRG - PDF Printer functions
*
*
#define REGFILE "K:\VFP\Lib\registry.prg" && Registry functions
*====================================================================
FUNCTION InitPDFName(cRegKeyVal, aPrts) && Initialize Adobe PDF filename
* Parameters: (required) cRegKeyVal - Filename to post to registry
* (optional) aPrts - Array of installed printers
* Note: Uses REGISTRY.PRG
* Returns: nResult - Numeric error# from SetRegKey() - 0=Success
*====================================================================
local n
* See if PDFWRiter is a defined printer; exit if not
if vartype(aPrts) == "C"
if ascan(aPrts,PDFWRITER) = 0
return 0
endif
endif
IF !FILE(REGFILE)
MESSAGEBOX("INITPDFNAME: The required file "+REGFILE+" could not be found.")
RETURN
ENDIF
if type("cRegKeyVal") <>"C"
MESSAGEBOX("INITPDFNAME: The required filename parameter is missing")
RETURN
ENDIF
return SetRegValue(cRegKeyVal, ;
"Software\Adobe\Acrobat PDFWriter" , ;
"PDFFileName")
*====================================================================
FUNCTION SetRegValue(cRegKeyVal, cRegFolder, cRegKeyName) && Assign a registry key value
* Parameters: (required) cRegKeyVal - Key value to post
* (optional) cRegFolder - Folder containing key
* (optional) cRegKeyName - Key name
* Notes: 1. Uses REGISTRY.PRG
* 2. Customized for setting PDF filename, but will set any key
* Returns: nResult - Numeric error# from SetRegKey() - 0=Success
*====================================================================
#DEFINE HKEY_CURRENT_USER -2147483647 && BITSET(0,31)+1
LOCAL oReg,nErrNum
IF !FILE(REGFILE)
MESSAGEBOX("SETREGVALUE: The required file "+REGFILE+" could not be found.")
RETURN
ENDIF
if type("cRegKeyVal") <>"C"
MESSAGEBOX("SETREGVALUE: The required key value parameter is missing")
RETURN
ENDIF
* Parameters
cRegFolder = iif(type("cRegFolder") =="C",cRegFolder ,"Software\Adobe\Acrobat PDFWriter")
cRegKeyName = iif(type("cRegKeyName")=="C",cRegKeyName,"PDFFileName")
oReg = NewObject("FoxReg",REGFILE) && Create registry object
return oReg.SetRegKey( cRegKeyName , ;
cRegKeyVal , ;
cRegFolder , ;
HKEY_CURRENT_USER)