EasyReport / FWH 7.09

Post Reply
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

EasyReport / FWH 7.09

Post by Otto »

Could someone please tell me how to link EasyReport with FWH.
Thanks in advance
Otto
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Hi Otto:

You have two ways to do that

1.- Compile and link the VRD.PRG, VRDBCODE.PRG and VRDITEM.PRG files as part of your application.

2.- Build a LIB file with these three files (VRD.PRG, VRDBCODE.PRG and VRDITEM.PRG) and include it into your script

Don't forget add this code line in your PRG when using EasyReport.

#Include "Vrd.ch"

Regards, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Richard Chidiak
Posts: 946
Joined: Thu Oct 06, 2005 7:05 pm
Location: France
Contact:

Re: EasyReport / FWH 7.09

Post by Richard Chidiak »

Otto

What compiler are you using for fwh ?

This is the key question,

if you are using xharbour xbuild, let me know i will send you the xbp file that creates the library

Richard
http://www.cbati.com

Uestudio
Fwh 13.05 Harbour 3.2 MSVC 2013
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

I do not recommend EasyReport, due the following reasons:

- They do not provide the Ide source code. It has lots of errors, it is quite unestable and you have to include 2.5 mb plus to your app.
- The tech support is very bad. Timm does not respond emails or, when he does, it is very late.
- For the same price, you can buy List&Label, a much more professional software.

So my advice is, despite the print engine works fine, the disadvantages are more important and it does not worth to pay for it.
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Post by Otto »

Thank you very much for your help.

Armando,
Thank you for your information.

I will try your suggestion nr. 1

Timm wrote me to link also these files. I am not sure how to do this.
cfunc.c
vrd.ch

Moises:
Thanks for your comment.
Timm responded in this case within 3 hours. I always get good support from him.
But EasyReport is very easy to use – up to now I only have experience with FW/ER - so you don’t need much support.

I tried a lot of other ReportWriters but EasyReport is for my necessity the best.
The IDE is easy to use and “end users” can do some changes themselves.
Also it is easy to address from FW.

Richard:
Hello from Austria. Thank you for your offer but I decided to start with Harbour.

Regards,
Otto
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Otto:

I use VERCE to build my application and It's very easy to include that file.

You must to include the next code line in your PRG when using EasyReport.

#Include "Vrd.ch"

If I can help you just let me to know it

Best Regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Otto
Posts: 4470
Joined: Fri Oct 07, 2005 7:07 pm
Contact:

Post by Otto »

Armando,
thank you. My EasyReport is working.
Regards,
Otto
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Post by Armando »

Otto:

Great !, I'm so glad to hear that.

Regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Ollie
Posts: 233
Joined: Sat Dec 30, 2006 6:10 am

Post by Ollie »

Hi MOISES

You seem to be a big fan of List & Label. I downloaded the demo, but am struggling to get it working with FWH. (But then again I am a beginner and am not versed in adding linking library and DLLs etc.)

Would you mind looking at the other thread on the topic and see if you can offer assistance. I would be truly greatful.

http://fivetechsoft.com/forums/viewtopi ... 9156#39156
Many thanks
Ollie.

Using:
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Borland C++ 5.5.1
FWH 9.04 (2009 Apr)
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Post by MOISES »

This is an example from Jairo Centeno. Hope it helps!!.

Also, the List & Label 13 will include the designer in the basic version. So it is even cheaper than EasyReport and, the best, it works!!!!.




cmbtll12.ch is located at "C:\Archivos de programa\combit\LL12\Programmable Samples and Declarations\Alaska Xbase++".



#xtranslate LL_PROJECT_LIST => 2

#include "FiveWin.ch"
#include "cmbtll12.ch"
Global oActiveX, oWnd, hJob, nRet

Function Main()
Local cEvents := ""
LOCAL aField, aType, aLen, aDec, sName
LOCAL FldType, FldContent, DateBuffer, lExpr, I:=1, bAsField:=.T.

USE ARTICLE NEW
GO TOP

aField := Array( ARTICLE->(FCount()) )
aType := Array( ARTICLE->(FCount()) )
aLen := Array( ARTICLE->(FCount()) )
aDec := Array( ARTICLE->(FCount()) )
sname := "article.lst"

DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

oActiveX = TActiveX():New( oWnd, "L12.List-Label12_Ctrl_32.1" )

oWnd:oClient = oActiveX // To fill the entire window surface

//US: Read field info from database
AFields( aField, aType, aLen, aDec )

//US: open List & Label job, retrieve job handle
hJob := 1

//US: Enable multiple table lines
oActiveX:Do( "LlSetOption", LL_OPTION_MULTIPLETABLELINES, 1)

//US: clear DLL-internal field buffer
oActiveX:Do( "LlDefineFieldStart" )

// US: Define Fields

FOR I = 1 to ARTICLE->(Fcount())

DateBuffer = Replicate(chr(0), 255)

DO CASE
CASE aType == "N"
FldType=LL_NUMERIC
FldContent=Str( FieldGet(i) )
CASE aType == "D"
FldType=LL_DATE

//US: Convert to Julian Date
//US: Create function tree
lExpr = oActiveX:Do("LlExprParse", "CTOD( FieldGet(i) )", .F. )

//US: Evaluate expression
oActiveX:Do("LlExprEvaluate", lExpr, @DateBuffer )

//US: Free expression
oActiveX:Do("LlExprFree", lExpr )
FldContent = DateBuffer

CASE aType == "L"
FldType=LL_BOOLEAN
if FieldGet(i) = .F.
FldContent="FALSE"
else
FldContent="TRUE" endif

CASE aType == "C"
FldType=LL_TEXT
FldContent=Trim(FieldGet(i))

// US: for article number generate EAN128-barcode
if i=1
DO CASE

// US: Distinguish between field and variable declaration
CASE bAsField==.F.
oActiveX:Do("LlDefineVariableExt", "ARTICLENO_EAN128", Trim(FieldGet(i)), LL_BARCODE_EAN128 )

CASE bAsField==.T.
oActiveX:Do("LlDefineFieldExt", "ARTICLENO_EAN128", Trim(FieldGet(i)), LL_BARCODE_EAN128 )

END CASE
endif

CASE aType == "M"
FldType=LL_TEXT
FldContent=FieldGet(i)

END CASE

//US: pass data to List & Label

DO CASE
CASE bAsField==.F.

oActiveX:Do("LlDefineVariableExt", aField, FldContent, FldType )
CASE bAsField==.T.

oActiveX:Do("LlDefineFieldExt",aField, FldContent, FldType )
END CASE

NEXT I

// US: start designer
oActiveX:Do("LlSetPrinterDefaultsDir",hJob,"C:\Windows\Temp")
oActiveX:Do("LlDefineLayout",oWnd:hWnd,"Designer",LL_PROJECT_LIST, "article.lst")

ACTIVATE WINDOW oWnd VALID ( dbCloseArea(),.t. )

Return
Post Reply