Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Developing U++ » Bazaar » Very Simple Report Generator (Use QTF format)
Re: Very Simple Report Generator (Use QTF format) [message #25868 is a reply to message #25866] Tue, 16 March 2010 22:19 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

Hi Didier! I'm still ready to help!

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #25871 is a reply to message #25868] Tue, 16 March 2010 23:23 Go to previous messageGo to next message
Didier is currently offline  Didier
Messages: 488
Registered: November 2008
Location: France
Senior Member
OK thanks,

I'll try to get some time for it.
Re: Very Simple Report Generator (Use QTF format) [message #26141 is a reply to message #25862] Mon, 05 April 2010 17:13 Go to previous messageGo to next message
forlano is currently offline  forlano
Messages: 1071
Registered: March 2006
Location: Italy
Experienced Contributor
Hello Sergey,

I have downloaded in svn the latest version and it seems to work, but I have a problem.

With the qtf template (see attached file) I can generate a report (see attached pdf file). Unfortunately from page 2 the report seems broken. In fact the item at the begin of each page is repeated and the first two tables are merged instead to stay a part.

I met in the past a similar problem when generating tables in qtf without to add a proper page break. So, it seems to me, that the report generator does not know when to break properly the page and jump to the new one. This may produce as a result the merge of two consecutive tables.

Because each item of the report should be a table, perhaps the inclusion of the qtf command 'K' somewhere can remove the problem.

I hope to have given you enough info to let you understand what the problem is. Otherwise I'll prepare a test case.

Thank you,
Luigi
  • Attachment: report.rar
    (Size: 42.17KB, Downloaded 202 times)
Re: Very Simple Report Generator (Use QTF format) [message #26142 is a reply to message #26141] Mon, 05 April 2010 18:35 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

Hi Luigi!
It's very strange.
I think, that it some mistakes in client code.
In Report generator all very simple and cannot work wrong.

I propose to send me testcase (if it's close source you may send direct to my mail (mail at svsoft . ru) ).


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #26167 is a reply to message #26142] Wed, 07 April 2010 03:42 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

Hi Luigi!
I looked at the code, code - perfect. The whole thing was in the wrong QTF.
I did the following: just opened two windows - I looked at one window, and drew the same report template in another window.

New QTF file in attachment.

##TOTAL - I added some code for debugging purposes. Here's a modified piece of code.

void ClentCallbackCalcBody() {
	LOG("ClentCallbackCalcBody");
	Vector<String> V = Split(STRINGS[STRINGS_I],';',false);
	DUMPC(V);
	
	rep.SubstVar("##PLAYERNAME",TrimBoth(V.At(0)));
	rep.SubstVar("##COUNTRY",TrimBoth(V.At(1)));
	rep.SubstVar("##TITLE",TrimBoth(V.At(2)));
	rep.SubstVar("##RTGFIDE",TrimBoth(V.At(3)));
	rep.SubstVar("##RTGNAT",TrimBoth(V.At(4)));
	rep.SubstVar("##TOTAL",AsString(TOTAL)); // <===== I added only this line
	String pictaddr;

/*	if (V.GetCount()>=8 && !TrimBoth(V.At(7)).IsEmpty()) {
		pictaddr = TrimBoth(V.At(7));
		if (!pictaddr.IsEmpty()) {
#ifdef PLATFORM_X11
			pictaddr = GetHomeDirectory()+"/MyApps/RepGenTest/"+pictaddr;
			DUMP(pictaddr);
#endif
			Image im = StreamRaster::LoadFileAny(pictaddr);
			rep.PlaceImage( "##IMAGE", im, Size(1100,700) );
//			rep.PlaceImage( "##IMAGE", im );
		}
	} else {
		rep.SubstVar("##IMAGE","");
	}
*/
	
	TOTAL += 1;
	if(++STRINGS_I==STRINGS_COUNT) rep.LoopDone();
	
};


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}

[Updated on: Wed, 07 April 2010 03:45]

Report message to a moderator

Re: Very Simple Report Generator (Use QTF format) [message #26168 is a reply to message #26167] Wed, 07 April 2010 08:04 Go to previous messageGo to next message
forlano is currently offline  forlano
Messages: 1071
Registered: March 2006
Location: Italy
Experienced Contributor
sergeynikitin wrote on Wed, 07 April 2010 03:42

Hi Luigi!
I looked at the code, code - perfect. The whole thing was in the wrong QTF.



Thank you!

It works now. I am sorry for the false allarm.

Just a little note. Depending on the height of the template table may happen that it is broken over two consecutive pages. Perhaps it would be better to try to keep it on the same page.

Luigi

[Updated on: Wed, 07 April 2010 08:26]

Report message to a moderator

Re: Very Simple Report Generator (Use QTF format) [message #26169 is a reply to message #26168] Wed, 07 April 2010 09:33 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

Unfortunately, a breakdown of the content on the page controls package Report (RepGen falls to slightly modify the original QTF).

Here's another version of the report template using the Option "Keep table together" in parent table.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #26170 is a reply to message #26169] Wed, 07 April 2010 10:08 Go to previous messageGo to next message
forlano is currently offline  forlano
Messages: 1071
Registered: March 2006
Location: Italy
Experienced Contributor
sergeynikitin wrote on Wed, 07 April 2010 09:33

Unfortunately, a breakdown of the content on the page controls package Report (RepGen falls to slightly modify the original QTF).

Here's another version of the report template using the Option "Keep table together" in parent table.


Perfect! Very Happy

Luigi
Re: Very Simple Report Generator (Use QTF format) [message #26364 is a reply to message #26170] Tue, 27 April 2010 19:06 Go to previous messageGo to next message
forlano is currently offline  forlano
Messages: 1071
Registered: March 2006
Location: Italy
Experienced Contributor
Hello Sergey,

I have a problem with RepGen.
In the qtf template for some reason I have two times the same field. So, for example, ##PLAYERNAME appear twice in the template.

-------------------------------------
|
##PLAYERNAME | ##PLAYERNAME
|
-------------------------------------

When the report is generated only ONE time it is substitued with the variable value:

-------------------------------------
|
##PLAYERNAME | Luigi
|
-------------------------------------

Is this normal?

Thanks,
Luigi
Re: Very Simple Report Generator (Use QTF format) [message #26371 is a reply to message #26364] Tue, 27 April 2010 21:52 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

Unfortunately this is so.
I'm still a choice, replace all occurrences encountered, or is it left to the programmer, who uses RepGen.


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #30548 is a reply to message #26371] Fri, 07 January 2011 21:26 Go to previous messageGo to next message
mubeta is currently offline  mubeta
Messages: 62
Registered: October 2006
Member
Hi all,

I am looking for RepGen, that is what I am searching to do before to find it.
Only one question: the QTF template file are made by what ? My problem is that I don't found any way to insert an image directly from file (I have to open the image from a different editor and copy/paste to the qtf file...), using UWord that is coming with U++. There is any suggestet tool ?

Yhanks.
Re: Very Simple Report Generator (Use QTF format) [message #30551 is a reply to message #30548] Sat, 08 January 2011 10:18 Go to previous messageGo to next message
tojocky is currently offline  tojocky
Messages: 607
Registered: April 2008
Location: UK
Contributor

mubeta wrote on Fri, 07 January 2011 22:26

Hi all,

I am looking for RepGen, that is what I am searching to do before to find it.
Only one question: the QTF template file are made by what ? My problem is that I don't found any way to insert an image directly from file (I have to open the image from a different editor and copy/paste to the qtf file...), using UWord that is coming with U++. There is any suggestet tool ?

Yhanks.

You can do this without problems.
Array<QtfRichObject> v_qtf_objects;
Image v_image_data = <your image>
v_qtf_objects.Add(CreatePNGObject(v_image_data, 0, 500));
String v_image_str = "";
v_qtf_objects.Add(CreatePNGObject(v_image_data, 0, 500));
v_image_str << v_qtf_objects[v_qtf_objects.GetCount()-1];
v_rep_body = replace_string(v_rep_body, "##ImageData", v_image_str);


The v_rep_body is you template string with image.

OK, I did a costumized template generator, but the idea is same, I think.

Best regards, Ion.
Re: Very Simple Report Generator (Use QTF format) [message #30560 is a reply to message #30551] Sat, 08 January 2011 15:21 Go to previous messageGo to next message
mubeta is currently offline  mubeta
Messages: 62
Registered: October 2006
Member
Thanks for all,

Maybe the RepGen, (downloaded from the repository), have a bug at the lines 42 and 44: where "SubstVar("##IMAGE",s);" must be replaced with: "SubstVar(s_from,s);" for best costumization.

Now I am looking for use repeated parts of the report body. Two questions:

1) In the example "RepGenTest" is not clear (for me), what ##EP, ##ET, ##BP and ##BT tags are used for.
2) In the same example, the template file named: REPORT_TEMPLATE.QTF there is some very small tables, or table cells, (apparently not visible). Are used for something regarding RepGen automation ?

Thanks.
Re: Very Simple Report Generator (Use QTF format) [message #30590 is a reply to message #30560] Mon, 10 January 2011 19:58 Go to previous messageGo to next message
mubeta is currently offline  mubeta
Messages: 62
Registered: October 2006
Member
Following the example of "RepGen", I have created two packages:
- RepDesigner, (based on UWord), for create the report template files;
- MyReport, that is a package for generate the report, including RepGen engine.

Simple example in the code:
#include <MyReport/MyReport.h>

RepGen rep;
rep.SetTemplate("filename"); // the template file.
tep.Perform();
  • Attachment: Archive.zip
    (Size: 317.45KB, Downloaded 193 times)
Re: Very Simple Report Generator (Use QTF format) [message #30776 is a reply to message #30590] Fri, 21 January 2011 20:12 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

RepGen is very old in SVN. I'll upload new version with extremely new technique of loop processing (and very simplest).

If you want, you may use UWord. Usually I add same editor in application and I save templates in database.

Maybe I upload RepGen with GUI template editor?


SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #37071 is a reply to message #24050] Fri, 17 August 2012 19:04 Go to previous messageGo to next message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Hi,

Is this working well ? I compiled (rebuilt all) the RepGen_Test, and it doesn't generates a good report (see attached pdf).

I'm using last version (5283) of Upp, the Data.csv file for test seems good as well as QTF report files...

I don't understand what I'm doing wrong... What happens ?

The 2 reports look very similar, just 2 pages and some very little changes for the other, but no data corresponding to data.csv...


PS : could you explain more how to use ##BP, ##BT, ##EP and ##ET, please ? (already asked by mubeta) It could be good that it is mentioned in the doc Wink

[Updated on: Fri, 17 August 2012 19:07]

Report message to a moderator

Re: Very Simple Report Generator (Use QTF format) [message #37072 is a reply to message #37071] Fri, 17 August 2012 22:34 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

http://www.ultimatepp.org/srcdoc$RepGen$RepGen$en-us.html

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}
Re: Very Simple Report Generator (Use QTF format) [message #37073 is a reply to message #37072] Fri, 17 August 2012 22:36 Go to previous messageGo to next message
sergeynikitin is currently offline  sergeynikitin
Messages: 736
Registered: January 2008
Location: Moscow, Russia
Contributor

I'll make short video of using RepGen. Little waiting.

SergeyNikitin<U++>( linux, wine )
{
    under( Ubuntu || Debian || Raspbian );
}

[Updated on: Fri, 17 August 2012 22:36]

Report message to a moderator

Re: Very Simple Report Generator (Use QTF format) [message #37074 is a reply to message #37072] Sat, 18 August 2012 01:04 Go to previous messageGo to next message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Thanks for your reply, sergey Smile

sergeynikitin wrote on Fri, 17 August 2012 22:34

http://www.ultimatepp.org/srcdoc$RepGen$RepGen$en-us.html

Yes, I saw that. But if the example shows how to use ##BT and ##ET and let me guess how it works, there is nothing about ##BP and ##EP. I think that a lot of people would appreciate a short explanation about that !

sergeynikitin wrote on Fri, 17 August 2012 22:34

I'll make short video of using RepGen. Little waiting.

Could be nice ! But 2 lines in the doc will take 2 mn and make things clear Wink

What about the (almost) empty report I obtain ? What did I do wrong ? Could it be related to some new change in upp ? Strange that it doesn't work properly when I compiled this "out of the box" just after I downloaded the last nightly build...

[Updated on: Sat, 18 August 2012 01:07]

Report message to a moderator

Re: Very Simple Report Generator (Use QTF format) [message #37081 is a reply to message #24050] Mon, 20 August 2012 11:45 Go to previous messageGo to previous message
jibe is currently offline  jibe
Messages: 294
Registered: February 2007
Location: France
Experienced Member
Hi,

I have a similar problem testing RepGenTest_AddressBookXML2... Seems that PrintStart() is never called !

Very surprising that nobody saw that Shocked

I'm investigating...
Previous Topic: BarCode128: string to image (Candidate for upload to Bazaar)
Next Topic: Simple INI parser (15 mb in 4 s, DualCore 2500 Mhz)
Goto Forum:
  


Current Time: Wed Oct 16 20:02:24 CEST 2019

Total time taken to generate the page: 0.02132 seconds