Could someone please tell me how to link EasyReport with FWH.
Thanks in advance
Otto
EasyReport / FWH 7.09
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
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Richard Chidiak
- Posts: 946
- Joined: Thu Oct 06, 2005 7:05 pm
- Location: France
- Contact:
Re: EasyReport / FWH 7.09
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
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
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.
- 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.
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
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
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
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Otto:
Great !, I'm so glad to hear that.
Regards
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
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
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
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)
Ollie.
Using:
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6406)
Borland C++ 5.5.1
FWH 9.04 (2009 Apr)
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
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