4th September 2010.
Pyrex 1.4.3 / nxReport 1.7.
Hi,
this is quite a substantial upgrade to both the nxReport core module and the Pyrex visual designer. A number of bugs have been fixed (details in the relevant history files).
This will be the last of what I would term as 'routine' updates as I will now move (after a period spent working on the documentation/tutorials) to the first of the major upgrades; the first being a scripting component for Arctic Reports.
nxReport 1.7.
The most important new features are listed :
- Variable height report sections and growable sections/controls. A much requested feature.

This has been facilitated via a combination of things, namely : a height expression for the relevant subreport sections, vertically anchorable controls, and the ability to determine the exact height required of a given control to house any specified and dynamic text. Combine these 3 elements and you can easily arrange for report sections/controls to dynamically 'grow' to accommodate their content etc.
For an example of this in action, see any of the 'parameterised report' nxReport demos or simply view the 'invoice.nxr' demo report in the Pyrex designer (the demo version will suffice).
Applies to the following subreport sections : subreport headers, group headers, detail, group footers and subreport footers. Applies to all types of report control.
- ExImage controls. (Take images from databases etc.)
These replace (and massively enhance) the 'image from file' controls.
These new controls take a source expression which can either evaluate to a filename or to a string representation of an image (which can be stored within a database field for example). Currently supported encodings are base64. Currently supported image types : bitmap, jpeg and png.
I shall make available some simple code for creating Base64 representations of images etc. so that users can easily add images to their databases and so on.
For an example of this in action, see the 'image report' nxReport demos or simply view the 'register.nxr' demo report in the Pyrex designer (the demo version will suffice).
Note that I have removed the 'clip image' and 'stretch image' properties. All images will now stretch to fit their bounding rectangle by default.
- Improved nxReport's text rendering engine.
The business of text justification and word wrapping is now far more efficient and operates in a fashion which is much closer to that of MS Word for example.
Existing users may have to adjust a couple of controls as a result of this, though it is unlikely to affect more than a tiny percentage of controls.
- Added a new text padding property to all text based controls.
You can now set the padding of individual controls (in points).
- New standard functions added for use in expressions :
- Max(a, b)
- Min(a, b)
- StrField(argument, index, delimiter$)
- StrTrim(argument)
- MinControlTextHeight(controlID, text$)
This last function is intended for use with the variable height report sections mentioned above in that it can be used to resize a report section so that it can accommodate some text or other etc.
Please note that all existing 'snapshot' type reports will need recreating as this new version of nxReport will not function with 'old' snapshot reports.
Also, older versions of the nxReport module will not recognise reports created with this new version of nxReport. No problem with backwards compatibility however.
Pyrex 1.4.3.
Aside from a bunch of bugs having been fixed, the most important new features are :
- Support added for the new nxReport 'height expression' property which allows for variable height report sections.
- Support added for the new nxReport control 'vertical anchoring' property allowing controls to 'grow' with their parent sections etc.
- Support added for the new ExImage controls.
- Support added for control internal padding. This includes a default padding setting in the settings menu.
- You can now double click an expression item in the main property box to bring up the relevant tool (expression builder, SQLite connection tool etc.)
- You can now select multiple controls by holding down the control key whilst left-clicking etc. This is an alternative to using the shift key.
Phew!
I have now set aside two weeks (at the very least) to work on nothing but improving (and extending) the documentation and adding some additional tutorials etc. I think the time is right since this particular update represents quite a milestone in terms of the collective feature-set offered by Arctic Reports. The system is getting closer and closer to matching a long standing (and expensive) reporting system (no, not Crystal Reports, I'm not daft enough to think I'd ever come anywhere near that monster!

) and the time is right to sit back and take stock (and catch my breath), which is exactly what time spent working on the docs will afford me.
Regards.
Stephen.
I may look like a mule, but I'm not a complete ass.