Hello Wanderson,
If you are new to FastReport I would suggest you to start with
EasyReport.
The most important reason is:
EasyReport uses preview class of Fivewin.
For example I changed preview class to print the current bill number after you saw the preview on screen.
This means you see the preview and in the preview menu I have only few buttons.
If the user selects print bill then the bill with a new current bill number is printed.
I never found a way to decide in FastReport from preview sreen to print a final bill or to cancel.
I hope I explained myself.
We in Austria have to print on every bill a qrcode with a checksum.
With FR I was not able to fulfill following necessity.
Preview the printout on the screen and then have 4 buttons to select between: effective bill, print only a proforma bill or cancel.
EasyReport is Fivewin. You do not have to use a scripting language like PASCAL.
EasyReport can do all what you can do with FR and even more.
EasyReport designer is the unique designer I know where a novice can do some changes himself.
You can lock parts which a user should not be able to edit.
Also some of the Antivirus programs do not like FrSystH.dll. FrSystH.dll from 2011 and is not developed anymore.
You should also know that the master of xBrowse Mr. Rao and Fivedit master Cristobal are right now working on improvements to EASYREPORT.
There will soon be a new release.
Best regards,
Otto
I inherit from VRD
#include "FiveWin.ch"
#include "Constant.ch"
//----------------------------------------------------------------------------//
CLASS XVRD FROM VRD
CLASSDATA lRegistered AS LOGICAL
DATA cMenuData, oDlgRG, oWndRgX, lPrnRGX, oRechnung
METHOD SetupMenu()
METHOD End( )
ENDCLASS
//----------------------------------------------------------------------------//
And in method:
METHOD End( lPrintArea ) CLASS XVRD
I call xRPreview
xRPreview( ::oPrn,::cMenuData,::oDlgRg,::oWndRgx,::lPrnRGX,::oRechnung )
Here I made my changes like buttonbar and current bill number and qrcode.
I made the changes in:
static function PrintPrv( oDlg, nOption, nPageIni, nPageEnd, cArt, oRechnung )
if oRechnung:cDruckart <> "Kreditrechnung"
if nFor = len(aFiles) //letzte Seite qrcODE
oDevice:SayBitmap( Setup():aQRCodePosition[ 1 ], Setup():aQRCodePosition[ 2 ],;
cBmpFile, Setup():aQRCodePosition[ 3 ], Setup():aQRCodePosition[ 3 ] )
endif
cSignaturText := " Signatureinheit ausgefallen"
else
cSignaturText := " "
endif