FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour FastReport,The most best report engine for FWH,Harbour!
Posts: 474
Joined: Sun Oct 30, 2005 06:37 AM
FastReport,The most best report engine for FWH,Harbour!
Posted: Sat Aug 07, 2010 07:28 AM

Hi,
After some time tested, Ah, FastReport,The most best report engine for FWH,Harbour!
1.(1)in develop only need fastreph.prg (2200 lines),fastReph.ch, Frsysth.dll (3.6M).
(2)in client app.exe only need Frsysth.dll (lang.xml optional), include print,preview,export to jpg,email etc and visual designer for form .fr3 file.

2.You only need prepare your databse datas often as dbf alias, tmysql self defined data, Others only need is to design froms as xx.fr3 file !
examples:
in prg :

   FrPrn := frReportManager():new() 
   FrPrn:LoadLangRes("chinese.xml")
   odbprn0:=oserver:query("select * from ...")
   odbprn1:=oserver:query("select * from ...")
   odbprn2:=oserver:query("select * from ...")

   //FrPrn:SetWorkArea(<cFrAlias>, <nWorkArea>, [<lOem>], [<aRangeParams>])
   FrPrn:SetUserDataSet("our",mysqlfields(odbprn0),;
         {|| odbprn0:GoTop()} ,;
         {|| odbprn0:SKIP(1)},;
         {|| odbprn0:SKIP(-1) },;
         {|| odbprn0:EOF() },;                 
         {|aField|odbprn0:FIELDGET(afield)})


   FrPrn:SetUserDataSet("title",mysqlfields(odbprn1),;
         {|| odbprn1:GoTop()} ,;
         {|| odbprn1:SKIP(1)},;
         {|| odbprn1:SKIP(-1) },;
         {|| odbprn1:EOF() },;                 
         {|aField|odbprn1:FIELDGET(afield)})

   // one or more  browse like table  .       
   FrPrn:SetUserDataSet("masterdata",mysqlfields(odbprn2),;
         {|| odbprn2:GoTop()} ,;
         {|| odbprn2:SKIP(1)},;
         {|| odbprn2:SKIP(-1) },;
         {|| odbprn2:EOF() },;                
          {|aField|odbprn2:FIELDGET(afield)})

  FrPrn:LoadFromString(odbprn13:cvalue)  // saved .fr3 from mysqldatabase blob field
  //or  FrPrn:LoadFromFile(RepDir + "1.fr3")
  do case
          case  lpreview==nil
                 FrPrn:designReport()
                 // This enter design .fr3 form file !

                 if msgyesno("Save ?","")
                    if LEN(ALLTRIM(oserver:querydata("select id from fr3 where id='"+cid1+"'")))==0
                       oserver:query("insert into fr3 (id,cvalue) values ('"+cid1+"',' ')")
                    end
                     oserver:query("update fr3 set cvalue='"+mysqleascape(frprn:SaveToString())+"' where id='"+cid1+"'")
                     // or save to file FrPrn:SaveToFile(<cFileName>)
                 end      
          case  lpreview==.t.                     
                 FrPrn:showReport()           
          case lpreview==.f.
               FrPrn:SetProperty("Report", "ShowProgress", .f.)
               FrPrn:PrepareReport()
               FrPrn:Print(.t.)
               FrPrn:SetProperty("Report", "ShowProgress", .t.)
   end             
   FrPrn:DestroyFR() 
   odbprn0:end()
  1. .fr3 with title,header,masterdata,footer,page footer,...
    4.In .fr3 could call harbour/fwh private vars,harbour/fwh functions
    parament as SQL like, string type write as 'aaa' or "'a"+var1+"'"
    (1)GetHbVar('MyVar')
    (2)callhbfunc('functionname',[para1,para2,...]) , example callfunc('alltrim',['001 ']) --> '001'
    (3)GetHbArrayVar('MyArray', [6]) -> MyArray[6]
    (4)EvalMacro('var1) --> &var1

  2. print page 1/3 ,2/3, 3/3 , in .fr3 [#page]['/'][#totalpage]

  3. Auto split too long text colum into 2,3,... lines
    in .fr3,(1)masterdata1AllowSplit Y,Strethed Y, (2)masterdata exvery cell StresMode Y

Line_name__addrs____birthday

line1name1_local 3___12/12/1971
line2name2_No323,3'rd Street,_07/02/1981
__Orr city, xx Province,__
__XXX Counrty___
line3
_name3_xx Univer____05/12/1968

//__ as space
7. in .fr3
['txt1']
[ masterdata->qty]
[round(<masterdata."qty"><masterdata."unitpri">(1-<title."disount">/100),2)]
[sum(<masterdata->qty>)]
format can be 12,151.50, 12151.5, $12151 ,...
text frame can be | _ | - [] space
Text, Line, Diagonal line, Picture, Shape, OLE, RichText, Chart
Barcode etc.
8. self define page len,width

9 .Can export into PDF,HTML, RTF ,CSV, XLS,DotMatrix, BMP, JPEG, TXT,TIFF, GIF, SimpleText, Mail,XML, ODS, ODT
on preview or call Frprn:DoExport(<cExportObjectName>)
...

Best Regards !
Shuming Wang

http://www.xtech2.top
Mobile:(86)13802729058
Email:100200651@qq.com
QQ:100200651
Weixin: qq100200651
Posts: 474
Joined: Sun Oct 30, 2005 06:37 AM
Re: FastReport,The most best report engine for FWH,Harbour!
Posted: Sat Aug 14, 2010 03:13 AM

FastReport for Habrour with demos : http://www.paritetsoft.ru/frh.htm
FastReport more features demo http://www.fast-report.com/en/download/ ... nload.html

http://www.xtech2.top
Mobile:(86)13802729058
Email:100200651@qq.com
QQ:100200651
Weixin: qq100200651
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: FastReport,The most best report engine for FWH,Harbour!
Posted: Fri Aug 19, 2022 05:00 PM

Am I correct that Fast Report is only for Borland builds ? Thus it is not workable for those of us who use MSVC.

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit
Posts: 1789
Joined: Tue Oct 11, 2005 05:01 PM
Re: FastReport,The most best report engine for FWH,Harbour!
Posted: Fri Aug 19, 2022 06:51 PM

i use with bcc, msvc, gcc all in 32 bits. :-)

Salu2

Carlos Vargas

Desde Managua, Nicaragua (CA)
Posts: 3022
Joined: Fri Oct 07, 2005 01:45 PM
Re: FastReport,The most best report engine for FWH,Harbour!
Posted: Fri Aug 19, 2022 08:40 PM

I only see references to Borland. I use Visual Studio Community 2022 with Harbor and FWH, all 64 bit.

Tim Stone
http://www.MasterLinkSoftware.com
http://www.autoshopwriter.com
timstone@masterlinksoftware.com
Using: FWH 23.10 with Harbour 3.2.0 / Microsoft Visual Studio Community 2022-24 32/64 bit

Continue the discussion