views:

306

answers:

5

I am looking for free form reporting tool.

Free/open source is preferred.

It should work without a data source and one should be able to print at any place on a page.

I need this because I am using an age old but very fast semi RDBMS which does not support concept of Data Set, Data Source, etc. that as required by all reporting engine I saw till date.

It comes as just 2 DLL with a few declaration modules for various languages.

Actually I have been using ComponentOne's VS View for last 6 years and am ver confortable with this. I generally use this component when ever printing is required even in Delphi.

But for this particualr project my Boss will not allow me to use any ActiveX so I am looking for a good & stable freeware solution in VCL.

A: 

We use a similar DB and once played with List & Label. We got a proof of concept working rather quick but then unfortunately had to abandon that whole report generator thing.

Ulrich Gerhardt
+3  A: 

I would look at Fast Reports. Yes, it does have support for datasets, but there is also a "build your own" method by dropping a component on the form and assigning writing 3 events (get field value, next record, is at end of file). I have used this approach many numerous times with Fast Reports against "non" data-aware data without any problems. I believe they have an older version which is open sourced, but the cost of the latest version is reasonable and they do have a trial you can play around with.

skamradt
I will look into this. I have not explored FastReport extensively.BTW will FreeReport do? Does it have something like this?
Yogi Yang 007
Its been awhile since I used that version of Fast reports, but I believe that the free report also had this capability.
skamradt
A: 

Depending on what you are looking for in a free form reporting tool, I have successfully used the WP Tools Reporter add in to generate reports. I fed the data from various locations (it can of course do databases as well), and you can determine whether sections are output or not, etc.

mj2008
This is out of bounce for this project.Software being developed is a freeware so using costly components is off limits.
Yogi Yang 007
A: 

Try report manager http://reportman.sourceforge.net/

Alejandro Jourdan
A: 

Another alternative is to role your own TDataset or OLEDB driver. Obviously the OLEDB driver is more general and can be used outside Delphi. Both are actually reasonably easy to do on a simple level (although can become much more complicated if desired).

Starting point for writing your own OLEDB driver is the techvanguards optk site.. This is a free source code kit available for download. Although not updated since D5, I wrote a simple provider using Delphi 2006 and with a bit of hacking you should be able to get it working for Delphi 2009.

I cant find an online reference to a tutorial for creating your own custom TDataset, but I once did it following instructions in "Using Delphi 3 - Special Edition" so if you can find a copy of that on the web it has a chapter on creating custom TDatasets. (Edit: As per a comment, here is a good link

Try the OLEDB driver route first though and then you can use the standard delphi TDataset.

Toby Allen
Re custom dataset: http://www.gexperts.com/articles/customds.asp
Ulrich Gerhardt
OPTk sounds interesting but it seems to work only with D5. Furthermore, I didn't see anything regarding license or price. Do you know more?
Ulrich Gerhardt
This is lot of work. I do not want to invent another oledb provider just to do such reporting. Actually I have been using ComponentOne's VSView ActiveX for last 6 years. But my Boss demands that no ActiveX should be used in this project.
Yogi Yang 007
What is your bosses reason for not wanting any activex?
Toby Allen
Software installation problems in Win Vista.In Vista to register an ActiveX a user has to be logged in as Administrator or should have Administrative rights that is why?What we are developing is freeware and we want to distribute just one single EXE file without any Administrative hassle.
Yogi Yang 007