>DO SETPAPERSIZE WITH "C:\WTS\MID\PRNINV2.FRX",128 >REPORT FORM c:\WTS\MID\prninv2.frx TO PRINTER NODIALOG NOCONSOLE > > >************************************ >* SETPAPERSIZE.PRG >************************************ >LPARAMETER lcFRX, lnPapersize >LOCAL lcNewExpr, lnStartCopiesLine, lcStartAtCopiesLine, lnEndCopiesLine, ; > lnLenCopiesLine, lcTop, lcBottom >#DEFINE vfCRLF CHR(13) + CHR(10) >IF !(UPPER(RIGHT(lcFRX, 4)) = ".FRX") > lcFRX = lcFRX + ".FRX" >ENDIF > >USE (lcFRX) IN 0 ALIAS rptfrm >SELECT rptfrm >LOCATE FOR objType = 1 AND objCode = 53 > >IF EMPTY(EXPR) > lcNewExpr = "PAPERSIZE=" + ALLT(STR(lnPapersize)) + vfCRLF >ELSE > lnStartCopiesLine = ATC("PAPERSIZE", EXPR) > lcStartAtCopiesLine = SUBSTR(EXPR, lnStartCopiesLine) > lnEndCopiesLine = ATC(vfCRLF, lcStartAtCopiesLine) > lnLenCopiesLine = LEN(SUBSTR(lcStartAtCopiesLine, 1, lnEndCopiesLine)) > lcTop = SUBSTR(EXPR, 1, lnStartCopiesLine - 1) > lcBottom = SUBSTR(EXPR, (LEN(lcTop) + lnLenCopiesLine)) > lcNewExpr = lcTop + "PAPERSIZE=" + ALLT(STR(lnPapersize)) + lcBottom > >ENDIF >SELECT rptfrm >DO WHILE !RLOCK() >ENDDO >REPLACE EXPR WITH lcNewExpr >UNLOCK >SELECT rptfrm >USE IN rptfrm >>