Release Notes for Report Writer Version 1.09

Dear Customer,

Please note that the current version of the Report Writer does not support
renaming of project (.prj) files. This will be addressed in a future release.

BUGS FIXED IN VERSION 1.09
1) When multiple instances of the same table appeared in a query, only the
   first alias was reused when the report was re-opened.
2) Table alias names now have their spaces replaced with underscores.
3) The Report Viewer did not open project files in read-only mode.
4) Occasionally, if there were no matches for a join, the previous row's value
   was copied into the columns of the subsequent row.
5) The 32-bit version interpreted shorts as longs for integer objects on the
   canvas.

SELECTING DATA FIELDS AND DERIVED FIELDS
When you add a Table to the Query, initially all its Data Fields are included in the Result Set. When you create Derived Fields, initially they are excluded from the Result Set. To change which Data Fields and Derived Fields are included
in the Result Set:
1: First, display the Query Window, e.g. click on the Query tab.
2: Select the Select Fields command from the Query menu.
3: This will display the Select Fields dialog:
4: To select Derived Fields, select the Derived Fields option. (Use the New
   button to create a new Derived Field - this displays the Create Derived
   Field dialog, as used in the Report Window.)
5: To select Data Fields, select the Data Fields option. Select the Table to
   work with by clicking on its button in the Query Diagram, or selecting its
   name from the From Table list. Select the All Tables option to list the
   fields in all the Tables in the Query Definition.
6: To exclude an included field, select it from the Included fields list and
   select the < button. This will move it to the Fields you can include list.
   To exclude all the listed fields, select the << button
7: To include a field, select it from the Fields you can include list and
   select the > button. This will move it to the Included fields list. To
   include all the listed fields, select the >> button.

EXPORTING A RESULT SET
To export the current Result Set as a text file:
1: First, select the fields you want to include by using the Field Selection
   command described on page 2.
2: Select the Results Window, e.g. click on the Results tab.
3: Select the Export command from the Results menu. This will display the
   Export Result Set dialog
4: Type the name of the file to create in the File Name box. (To create it in
   a different directory, select the directory from the Directories list; to
   create it on another drive, select the drive from the Drives list.)
5: Select the type of file to create from Save as File of Type - comma
   delimited, space delimited or tab delimited.
6: To output a record at the start of the file consisting of the field names
   separated by commas, check the Create header record box.
7: Press Enter or select OK to create the file.
The exported file consists of one line per record in the Result Set, with each
line consisting of the values of the fields for that record, separated by
commas, spaces or tabs. Fields are output using the default formats in the
current report defaults. Character values are output in double quotes,
numeric, date and time fields are not. Other data types and null fields are
output as null strings (""). If you have included any Derived Fields in the
Result Set (by using the Select Fields command described above), these will
be exported with it.

FIELD ALIASES
To alias a Data Field:
1: Select the Query Window, e.g. click on the Query tab.
2: Select the Select Fields command from the Query menu.
3: This will display the Field List dialog:
4: Select the Data Field to alias from either list, then click on the Alias
   button. (The Select Fields dialog is described on a previous page.)
5: This will display the Alias Field dialog.
6: Type or edit the alias for this field and press Enter or select OK.
The Field Alias will immediately be used instead of the Field Name, throughout
the Report Writer. Anywhere that you used the old name (e.g. in the definition
of a Derived Field), the alias will be used instead.

NON-EDITABLE QUERY DEFINITIONS
To create a non-editable Query Definition:
1: Select the Query Window, e.g. click on the Query tab.
2: Select the Export Definition command from the Query menu.
3: This will display the Export Query Definition dialog.
4: Type the name of the file to create in the File Name box. (To create it
   in a different directory, select the directory from the Directories list;
   to create it on another drive, select the drive from the Drives list.)
5: Clear the Save as Editable checkbox.
6: Press Enter or select OK to create the file.
To use a non-editable Query Definition, base a new Project on it, just like a
normal Query Definition. The change is that you can no longer display the
Query Window, so can no longer view or edit the Project's Query Definition.
If you try to display the Query Window, a dialog is displayed to tell you that
you can't.

NEW FUNCTIONS
There are two new functions (introduced in version 1.0.1) in release 1.02:
BinaryToNum(STRING,NUMBER) returns the numerical representation of STRING, by
interpreting it as a binary numeric of the type specified by NUMBER.NUMBER
is an integer that indicates how to interpret the data:
	-1 = signed char,		1 = unsigned char
	-2 = signed short integer,	2 = unsigned short integer
	-4 = signed long, 		4 = unsigned long
	-6 = signed float,		6 = unsigned float
	-8 = signed double		8 = unsigned double
For example, if FIELD contains "ABC" and NUMBER = 1, then
BinaryToNum(FIELD, NUMBER), will return the value 65 (the ASCII code for the
character "A").

TokenFromString(STRING1,STRING2,NUMBER) returns the nth substring from
STRING1. STRING1 is a string consisting of a number of substrings separated
by any character in STRING2. NUMBER is the number of the substring to return, starting from 1.
NUMBER is a positive integer (whole number), while STRING1 and STRING2 are
string expressions. For example (using constants for clarity):
TokenFromString("Alan/Steve/Andy/Graham/Danny", "/", 4) would return "Graham".


USER FEEDBACK
Thank you for using our products. Please keep the comments and suggestions coming in!

Yours Sincerely,

Report Writer Development Team
