Thank you for purchasing Q&A 5.0 for DOS.  This document contains tips and
information on Q&A 5.0 for DOS that are not included in the manual.  

Please refer to the following files for more information:

README.1ST	Information on the office application included with Q&A 5.0
PRINTER.TXT	Summary of the new printer drivers
README.WIN	Instructions for installing the interoperability files for Q&A
                  for Windows
WHATS.NEW	Summary of the new features of Q&A 5.0 for DOS.

CONTENTS:
---------
INSTALLATION ISSUES
MANUAL CORRECTIONS
NEW PROGRAMMING FUNCTIONS
MEMORY REQUIREMENTS
CONVERTING Q&A 3.0 DATABASES
NEW FEATURES
USING IMAGES WITH Q&A 5.0
CALCULATOR TIPS
EXTENDED KEYBOARDS
PARAGRAPH SYMBOL
CROSS-TAB REPORTS
HEADER AND FOOTER PROGRAMMING
SUPPORT FOR VISUALLY IMPAIRED USERS
INTEROPERABILITY WITH Q&A FOR WINDOWS
NEW SAMPLE APPLICATIONS
NEW KEYSTROKE COMBINATIONS


I. INSTALLATION ISSUES

To install under Windows 95, Windows NT, or OS/2, run INSTALLD.EXE instead of
INSTALL.EXE.

If you install Q&A 5.0 over an existing copy of Q&A 4.0, Q&A 5.0 will not
upgrade or save your mailing labels or your macro file. Q&A WILL back up these
files.  The existing QAMACRO.ASC file will be backed up to QAMACRO.OLD.  


II. MANUAL CORRECTIONS

Application Programming Tools Manual 

page 28.  The @EXIT command saves ALL changes and exits to the File menu.
page 30.  The syntax of the XPOST statement is incorrect.  See New Programming
	Functions in this document for the correct syntax.
page 62. The short description for the @COLOR command should read: 'Temporarily
	changes the text color and background color of a database field
	field id.'
page 68.  The @EXIT command saves ALL changes and exits to the File menu.
page 68  When executing an @FEDIT command,  you must make sure that the
	statement is NOT executing on field exit.  
page 86.  The syntax of the USERSELECT statement is incorrect.  See New
	Programming Functions in this document for the correct syntax.
page 95.  The statement that the external selection field must be a 'fast field'
	is incorrect.  The external selection field must be a speedy field.
	See page 3-32 in the User Guide for more information on speedy fields.
page 98.  The statement that the external selection field must be a 'fast field'
	is incorrect.  The external selection field must be a speedy field.
	See page 3-32 in the User Guide for more information on speedy fields.
page 103.  The statement that the external key field must be a fast search field
	is incorrect.  The external key field must be a speedy field.  See page
	3-32 in the User Guide for more information on speedy fields.
page 101.  The manual does not indicate that the word denoting the operation for
	an XPOST statement must be enclosed in quotes.
page 104. The syntax of the XPOSTR statement is incorrect.  See New Programming
	Functions in this document for the correct syntax.
page 104.  The manual does not indicate that the word denoting the operation for
	an XPOSTR statement must be enclosed in quotes.

Getting Started Manual

page 3-2.  Invoking the startup menu requires 'QA -startup', not 'Q&A -startup'.
page 3-11.  Formatting a picture field in design mode requires a 'B' for Bitmap
	as opposed to an 'I' for Image as documented in the manual. 
page 3-13.  The @EXIT command saves ALL changes and exits to the File menu.
page 3-14. The syntax of the XPOST statement is incorrect.  See New Programming
	Functions in this document for the correct syntax.
page 3-14. The syntax of the XPOSTR statement is incorrect.  See New Programming
	Functions in this document for the correct syntax.


III. NEW PROGRAMMING FUNCTIONS

Context Functions
@MODIFIED

Text/String Functions
@INSERT("Path and filename")

User Functions
@PLAY("Acoustic signal", ["Signal frequency, Signal length"]) 
If you want the arguments "Signal Frequency" and Signal Length" to be the
contents of fields,  use the following syntax:
@PLAY("Acoustic signal", [Field1 + "," + Field2]) (Note that this only works
with text fields.  Use @STR to convert data from other field types to text.)

@COLOR(Field, Text color, Background color)

@MSGBOX("String 1", "String 2", "String 3")
If you want the arguments "String 1", "String 2" and "String 3" to be the
contents of fields,  use the following syntax:  @MSGBOX(Field1, Field2, Field3)

@ASKUSER("String 1", "String 2", "String 3")
If you want the arguments "String 1", "String 2" and "String 3" to be the
contents of fields,  use the following syntax:
@ASKUSER(Field1, Field2, Field3)

@SAVE

@EXIT
Note that @EXIT saves the contents of the current record.  The difference
between @SAVE and @EXIT is that @SAVE advances to the next record,  while @EXIT
returns to the File menu.

@FEDIT
Note: Writing a statement like: 
>#1: @FEDIT
may result in an error message when you try to save your programming.  @FEDIT
cannot execute on field exit.

@SHELL("Path and filename")

@MACRO("Macro name" or "Macro key")

REM "Comment"

LOOKUP and XLOOKUP Commands
USERSELECT("String 1, String 2, String 3", Destination field)
If you want the arguments "String 1", "String 2" and "String 3" to be the
contents of fields,  use the following syntax:
USERSELECT(Field1 + "," + Field2 + "," + Field3, Destination field)  (Note that
this only works with text fields.  Use @STR to convert data from other field
types to text.)

@USERSELECT("String 1, String 2, String 3")
If you want the arguments "String 1", "String 2" and "String 3" to be the
contents of fields,  use the following syntax:
@USERSELECT(Field1 + "," + Field2 + "," + Field3) (Note that this only works
with text fields.  Use @STR to convert data from other field types to text.)

XUSERSELECT("Path and filename", "External field", Destination field)

@XUSERSELECT("Path and filename", "External field")

XUSERSELECTR("Path and filename", "External selection field",
	"External data field", "Start of range", "End of range",
	Destination field)

@XUSERSELECTR("Path and filename", "External selection field",
	"External data field", "Start of range", "End of range")

XPOST("Path and filename", Key value, "External key field", Data field,
	"External target field", ["Operation"])

XPOSTR("Path and filename", Key value, "External key field", Data field,
	"External target field", ["Operation"])

In addition to the above statements, two other programming statements are not
documented in the Application Programming Tools manual.  These statements were
introduced in Q&A for Windows 4.0, and will function in Q&A 5.0 for DOS.
Their syntax is explained below:

@PLATFORM
This function returns the type of platform on which the programming is currently
being executed.  When the function is executed in Q&A for Windows, the string
"WIN" is returned.  When the function is executed in Q&A for DOS, the string
"DOS" is returned.

For example, the following statement will only execute when the database is
running under Q&A for DOS: 
	#1: IF @PLATFORM = "DOS", THEN @SAVE

@LAYOUT
This function returns the name of the current input form.  When the function is
executed in Q&A for Windows, the name of the current input form is returned.
When executed in Q&A for DOS, the string "DOS" is returned.

Some of the new programming commands that have a name starting with @ (such as
@COLOR and @MSG) are not actually functions. Those commands are pseudo-functions
and do not return a value.

If you want to use the XUSERSELECT family of functions on keyword fields, please
keep in mind that after selecting an item from the selection list, the whole
entry in the first found record will be retrieved, even if this special record
contains more keywords than the one keyword selected in the selection list.


IV. MEMORY REQUIREMENTS

Q&A 5.0 for DOS requires a minimum of 484K conventional memory for full
functionality in a small database.  Q&A will function best when you provide
expanded memory (EMS), and will use up to 128K of EMS.  Q&A will also use
extended memory (XMS), but if you receive an error indicating that you do not
have enough memory,  consider providing EMS to Q&A.  For details on how to
provide EMS to Q&A please consult your operating system manual.


V. CONVERTING Q&A 3.0 DATABASES

If you want to edit Q&A 3.0 databases with Q&A 5.0, you should run Recover on
these databases before using them for the first time with Q&A 5.0.  Old
databases often contain data which is no longer needed and is automatically
deleted during the recover operation. Before running Recover on your databases,
PLEASE make a backup.  


VI. NEW FEATURES

	A. USING IMAGES WITH Q&A 5.0

Q&A 5.0 supports a new field type: Images. The use of images is described in the
manual. For reasons of compatibility with Q&A 4.0 for Windows, images are also
stored in the database. As a result, databases containing a lot of images can
become very large. To avoid this, note the following tips:

Ensure that images do not become bigger than is necessary. If you want to
include a photo of your employees in the EMPLOYEE.DTF database, you should limit
the size of the file before adding it to the database. If your monitor can
display files with a resolution of 640x480 pixels, you should generate the
photos only in this resolution, or smaller.  If you do NOT wish to exchange your
data with Q&A for Windows 4.0, an alternative method can be used:

1. Generate a text field for each image which you want to include in a record.

2. Store the name of the image file in this text field in the database by
entering the complete path. For example: C:\IMAGES\FOREST.BMP.

3. In the programming module for this field, you can call the supplied Q&A image
viewer BITMAP.EXE. For example:
	#100: if @shell( "BITMAP.EXE "+#100 ) <> 0 then @MSGBOX( "Image not
	found.", #100, "Please check." );
In this case, the images are not incorporated into the database. But you can
still view the images under Q&A 5.0.

	B. CALCULATOR TIPS

The Calculator accepts a comma (,) or a period (.) as a decimal separator in
input mode only. There is no facility to use a thousands separator in input
mode.

Since both the calculator and External Programs can be used from anywhere in
Q&A, they cannot both be used at the same time.  For example, if you press
ALT-F9 from the calculator, you only hear a short beep.  As soon as you exit the
calculator, you can successfully call the "external programs."

	C. EXTENDED KEYBOARDS

Q&A uses the F11 and F12 keys on the extended IBM keyboard for many of the new
functions. If you do not have an extended IBM keyboard, or if the F11 and F12
keys are used by resident programs, you can also start the new functions using
a macro. For example, if you want to activate the F11 key using the keystroke
combination CTRL-A, add the following line to your macro file (QAMACRO.ASC):
*
<begdef><ctrla><name>"F11"<vidoff><f11><enddef>

	D. PARAGRAPH SYMBOL

The paragraph symbol cannot be created using most DOS programs because DOS uses
the keystroke combination used for the paragraph symbol for other purposes.
Q&A 5.0 includes a macro file which allows you to use the paragraph symbol
normally using the keyboard.

	E. ROWS IN CROSS-TAB REPORTS INCREASED

In Q&A 4.0, cross-tabs with a maximum size of 100 rows and 100 columns could be
created.  In Q&A 5.0, this maximum setting has been increased to 500 rows with
100 columns each, depending on the amount of memory available.

	F. HEADER AND FOOTER PROGRAMMING

In Q&A 5.0, you can now incorporate programming commands into the three-line
headers and footers that are printed with columnar reports, cross-tab reports,
and print specs.  You can access all the programming functions that return a
value.  You cannot access data from the fields in a database.  For example, you
can use the @FILENAME command but not the XPOST command or field calculations
(#10=#20+#30).

You use the programming commands in the same way as in word processing.  The
programming commands are incorporated into the text using: *PG {command}* or
*PROGRAM {command}*.

Example:
*PG {@FILENAME}*          Inserts the current file name in the
                          header or footer.

You can use the XLOOKUP command, but instead of referencing the Key field, use a
value enclosed in quotation marks.  For example:

*PG {@XLOOKUP("PATH AND FILENAME", "27", "EXTERNAL KEY FIELD", "EXTERNAL
	LOOKUP FIELD"}*

If you use a programming statement that references a field in the database, the
statement will print without being evaluated, or the statement may cause a 06C6
System Error when the report is printed.  Neither of these events will damage a
database or cause data loss.

For example,  the following statement is NOT allowed:
*PG {LAST NAME FIELD + ", " + FIRST NAME FIELD}*

In addition to the above options, you can also access derived columns in
columnar reports. When you define a report, you can define up to 16 derived
columns.  These columns are numbered consecutively as they are defined.  You
can then use these numbers to incorporate the data from these columns in headers
and footers. To do this, you use a procedure similar to that used to call
programming functions:
*PG {?column number}* or *PROGRAM {?column number}*.

Example:
*PG {?3}*                 Inserts the third derived column in the
                          header or footer.

	G. SUPPORT FOR VISUALLY IMPAIRED USERS

Q&A is used by a large number of visually impaired users.  These users often use
technical aids to help them to recognize screen outputs.  These aids depend on
the presence of the cursor on the screen.  A new command-line switch in Q&A 5.0
will display cursors in all screens.  This switch is -BLIND.  

Example:  QA -BLIND

	H. INTEROPERABILITY WITH Q&A FOR WINDOWS

Q&A 5.0 uses a new file format. This means that Q&A for Windows 4.0 cannot open
databases that were edited using Q&A 5.0.  Given this, Q&A 5.0 for DOS includes
an Update for Q&A for Windows.  When you install the product, you can also
install this Update.  Your Q&A 5.0 main directory then has a subdirectory called
QAWIN, which contains a description of the Update and the installation.  See the
file README.WIN for details.

	I. NEW SAMPLE APPLICATIONS

Q&A 5.0 contains a new sample application.  This application has kindly been
supplied to Symantec by the two German Q&A Competence Centers, the companies
CAB in Hamburg and maassen+partner GmbH in Neuss.  The application is a "Light
Version" of a commercial Q&A application developed by these companies.  Since
the programming of the application can be viewed and modified, this gives you a
chance to see how professionals resolve programming problems.  This application
also demonstrates the wide range of new programming functions that are available
in Q&A 5.0.

Please see the file README.1ST for details on using this application.

Note: Before you try out this application, you must set the default directory
for Q&A documents and the default directory for Q&A databases to the directory
for the relevant application in Q&A by selecting Utilities / Set Global Options.

	J. NEW KEYSTROKE COMBINATIONS

1. Q&A now supports the keystrokes Ctrl-PgUp and Ctrl-PgDn in columnar and
cross-tab report displays to enable you to move to the beginning or end of the
report.

2. The keystroke combination Alt-F9 was used previously in the word processing
module of Q&A 4.0. Since Alt-F9 is used in Q&A 5.0 for "external programs", the
keystroke combination for "calculations in word processing" has been set to
Alt-F8.





