(CA‑dBFast 2.0 and CA‑dBFast 1.0)
Release Notes, September 1995.
[Read Notes]
Release Notes, November 1992.
[Read Notes]
This document contains information on the following topics:
The Computer Associates Installer is designed to operate with the Windows Program Manager, version 3.0 or 3.1. Use of an alternate Program Manager —such as Norton Desktop, InCtrl, HP Dashboard, etc.— will result in an incomplete installation.
Using an alternate Program Manager will correctly create the required directories and copy the files from the floppy installation disks to the hard drive. However, the installation will fail when attempting to use the alternate Program Manager to create the CA‑dBFast program group and icons.
To rectify this situation, you may proceed by either (1) restoring the Program Manager to PROGMAN.EXE and then reinstalling CA‑dBFast 2.0, or (2) creating the program group and icons using your alternate Program Manager.
Note that CA‑dBFast 2.0 will normally install icons in the CA‑dBFast program group for the following files: DBFAST.EXE, CARET.EXE, README.WRI (the "readme" file), CAPTURE.EXE, and OEM2ANSI.EXE (the OEM2ANSI utility). These files can be found in the CA‑dBFast 2.0 directory.
When installing CA‑dBFast under Microsoft Windows Release 3.0, SHARE must be disabled prior to installation.
The OEM2ANSI utility is designed to convert your data files (both .DBF and .DBT) from either the OEM character set to the ANSI character set, or the reverse (from ANSI to OEM).
Note: OEM is the character set used by DOS programs, such as CA‑Clipper or dBase III+ or dBase IV.
To start the OEM2ANSI utility, click on the OEM2ANSI icon installed in the CA‑dBFast program group by the CA‑dBFast installation program. Doing so displays a common file selection dialog box. From this dialog box, you can select the data file (.DBF) you wish to convert, as well as how the conversion is to be performed (that is, from OEM to ANSI or ANSI to OEM).
The dialog box contains a check box labeled "OEM Source" that controls how the conversion will be performed. If the "OEM Source" check box is checked, the selected data file is considered to be in the OEM format and will be converted to ANSI. If it is not checked, the data file will be converted from ANSI to OEM.
As the file is converted, the progress is displayed on the screen as a percentage of completion. If there are no records in the file to convert, a message box is displayed indicating such a condition.
Once the file is converted, the file selection dialog box is redisplayed, allowing you to optionally select another file to convert.
This section contains update information that is divided into the following categories:
The Browse Data Dialog Box
A check box has been added to the Browse Data dialog box (displayed by choosing the Database Browse Data command in the Workbench).
It allows you to optionally set exclusive access for a data file when you open it for BROWSEing — please see the online HELP system for the most current documentation on the Database Browse Data command.
The New Structure and Modify Structure Dialog Boxes
A command button named Done has been added to these dialog boxes to accommodate adding fields continuously. (These dialog boxes are displayed by choosing the Structure New or the Structure Modify command from the Database menu in the Workbench.)
By default, when you are creating a new structure or when you select the Add command button, you are placed in "add mode." Previously, after defining a single field, you immediately exited add mode. To add another field, you had to click the Add button to go back into add mode.
The new Done button, however, allows you to stay in add mode and define multiple fields. Only when you click Done do you exit add mode.
Keyboard Navigation and BROWSE Controls.
For windows that contain BROWSE controls, keyboard navigation support has been enhanced to include getting into and out of the BROWSE control with the keyboard.
If a window has a mix of standard controls and a BROWSE control, the Tab key will navigate among the standard controls and bypass the BROWSE control. To enter the BROWSE control, you must either select it with the mouse, or use Ctrl+Tab from the standard control directly preceding the BROWSE control.
Once in the BROWSE control, the Tab key will navigate from field to field. To exit the BROWSE control, press Ctrl+Tab — focus will change to the standard control directly following the BROWSE control.
Note: When browsing a data file, pressing the Shift+Home or Shift+End key combinations moves the cursor to the first and last character in the current field, respectively.
Calling Design Forms in the Visual Designer
Main Window Design Forms
The window object in Main Window design forms does not have the following properties: Control Box, Maximize Icon, Minimize Icon, Vertical Scroll Bar, Horizontal Scroll Bar, and Resizable Border.
Design Tree Icons
The icons that appear in the Design Tree have been redesigned and will not match what you see in your hardcopy documentation. (Note that these changes do not affect functionality.)
Saving Application Designs
If you have made changes to an application design and then choose the File Exit command in the Visual Designer main window without first choosing File Save or Save As, CA‑dBFast will prompt you to save the changes only if they were made to the design forms in the application design (not if the changes were made to the data dictionary).
The following lists the commands and functions (in alphabetical order) that have been updated since the documentation was printed:
The following are new to CA‑dBFast since the documentation was printed and are documented in the online HELP system. They are listed in alphabetical order:
The BANKER Examples:
The POINT Keyword:
In the Language Guide, the description of the POINT keyword states that specifying POINT causes CA‑dBFast to interpret the values given in the row,col arguments as pixels. This is true — however, specifying POINT also causes CA‑dBFast to interpret ALL screen placement values given in a command/function as pixels (including, for example, the coordinates specified by a SIZE clause).
User Definable ID Numbers:
The range for user definable ID numbers has changed from 1 - 1200 to 500 - 2000. This applies to all commands and functions that use ID numbers. Existing code that used the range of 1 - 500 must be changed.
The ESC key will no longer close the CREATE CONTROL BROWSE. If ESC is pressed while the CREATE CONTROL BROWSE has focus, an EVENT() of 1 and LASTKEY() of 27 will still be issued. BROWSE will still close due to the ESC, since it is a modal window.
New Commands and Functions:
The following are new to CA‑dBFast since the documentation was printed and are NOT documented in the online HELP system. They are listed in alphabetical order:
Appendix D in the CA‑dBFast User Guide documents several parameters in the DBFAST.INI file (stored in your Windows directory). Here are a few updates:
After compiling, testing, and debugging your CA‑dBFast application, you will want to distribute it to your end users. To run the application, your end users will need a copy of the CA‑dBFast Runtime system. In addition, if your CA‑dBFast application uses CA‑RET, you will also need to supply end users with the CA‑RET Runtime system.
As explained in Appendix C of the CA‑dBFast User Guide, you can ship your CA‑dBFast application in two ways:
Both the CA‑dBFast 2.0 and CA‑RET Runtime systems are supplied on a diskette labeled "Runtime Installation". These files are installed on your own development computer when you install the full CA‑dBFast 2.0 product, but must be installed separately on the end user computers.
To install the CA‑dBFast Runtime system to an end user’s computer:
All required Runtime files will be installed in the specified directory. (The CA‑RET SQL driver files are installed in the Windows directory.)
You should also place a copy of the required application files in that directory. Your application may then be started using standard Windows techniques.
Appendix C of the CA‑dBFast User Guide describes what CA‑dBFast Runtime files are required when distributing a CA‑dBFast application that does not use CA‑RET. They are summarized below:
| File | Description | Directory |
|---|---|---|
| myapp.EXE or | CA‑dBFast Runtime | application |
| DBFNRUN.EXE | - | - |
| ERR.DAT | CA‑dBFast Error File | application |
| S$EXT.DAT | CA‑dBFast Ext File | application |
| DBFRSC.DLL | CA‑dBFast Resource File | application |
| COMMDLG.DLL | Common Dialogs | application |
| WINHELP.EXE | Help for Windows 3.0 | application |
When distributing a CA‑dBFast application that uses CA‑RET, you must supply the following CA‑RET Runtime files to your end users:
| File | Description | Directory |
|---|---|---|
| CARETRUN.EXE | CA‑RET Runtime | application |
| CARET$.DAT | CA‑RET Data File | application |
| VRWLABEL.DAT | Label Templates | application |
| CARET.DOT | WinWord DLL Template | application |
| QELIB.DLL | SQL Driver | Windows |
| QEUTIL.DLL | SQL Driver | Windows |
| QLDBF.DLL | dBASE Driver | Windows |
| RETLOGO.DLL | CA‑RET Logo | application |
| TOOLHELP.DLL | ToolHelp DLL | application |
| DDEML.DLL | DDE library | application |
Note: The other files found on the remaining disk supplied with CA‑dBFast 2.0 are required to develop your applications. They are not needed to run the programs you create and copies should not be delivered to end users.
If you choose to include samples during the Install, CA‑dBFast copies all sample files to their own subdirectories under a main SAMPLES subdirectory. (The SAMPLES subdirectory is automatically created below the directory where you installed CA‑dBFast.)
The directories are as follows; the sample files are also described below.
This document contains information on the following topics:
When two or more dBase III files are joined, performance will be greatly improved if an index file is used. Although the report query will work without the index, performance will be unacceptable for files with a non-trivial number of records. To specify an index, you must edit the report query SQL statement. For more information, see the CA‑RET Reference Guide, Appendix B, "Using Your Database with CA‑RET."
NOTE for CA‑dBFast users: The Visual Designer of CA‑dBFast automatically creates the SQL statement to be sent to CA‑RET by using the index information specified when the report was first defined in the Visual Designer. After clicking the Report icon for the first time in the Visual Designer, you are prompted to select the data file and index (or data view) on which the report query should be built. If you choose a data view, CA RET also makes use of the indexes, data file relations, field lists, and data filters defined to the data view.
CA‑Clipper files are used the same way dBase III files are used. To use a CA‑Clipper index, specify the index just as you would specify a dBase III index (see the index_spec description in the FROM clause section of the CA‑RET Reference Guide, Appendix B, "Using Your Database with CA‑RET"). Use an .NTX extension for the file specification of a CA‑Clipper index. CA‑RET assumes all index files with an .NTX extension are CA‑Clipper indexes. For example, to use the DETAILS.NTX index:
SELECT *
FROM INVOICE,
DETAILS(C:\CARET\DETAILS.NTX)
WHERE INVOICE.ID = DETAILS.ID
NOTE for CA‑dBFast users: The version of CA‑RET shipped with CA‑dBFast permits the use of .DBF files only, not text files.
CSV Text Files
When CA‑RET processes text files, it must guess the data types of all fields. By default,
CA‑RET scans the first 25 rows of your text file. For CSV files, CA‑RET rounds up the maximum width of the text fields in the first 25 rows to a multiple of 5. This will be the maximum width that CA‑RET will process for that text field. If rows after 25 have wider values for that field, only that maximum number of characters will be returned. To avoid this, do one of the following;
Fixed Record Length Text Files
The simplest way to access data in a fixed record length text file is to completely parse the file in the PARSE= statement. Also, it is easiest to define the SELECT clause if the HEADERLINE field definitions are all upper case. The following two samples show how to access fixed record length text files using both upper case and lower case HEADERLINEs. Note that only the selected fields are bracketed in the PARSE statement and defined by the data_type_spec that follows the PARSE= statement.
SELECT DEPT,
LOCATION
FROM C:\CARET\SAMPLES\DEPT.TXT
(HEADERLINE=1,
CHARSET=IBMPC,
PARSE="[DEPT][NAME][LOCATION]",
NUMBER(5,0),
CHAR(9))
| DEPT | NAME | LOCATION |
|---|---|---|
| 1 | Staff | Kingshead |
| 5 | Staff | Northwood |
| 6 | Production | Denton |
| 15 | Level 1/2 Support | Westwood |
If the HEADERLINE in your data file contains field names in lower case, then you must enclose the field names used in the select statement with the ` (accent grave or backward apostrophe) character.
SELECT `dept`,
`name`,
`location`
FROM C:\CARET\SAMPLES\DEPT.TXT
(HEADERLINE=1,
CHARSET=IBMPC,
PARSE="[dept][name][location]",
NUMBER(5,0),
CHAR(21),
CHAR(9))
| DEPT | NAME | LOCATION |
|---|---|---|
| 1 | Staff | Kingshead |
| 5 | Staff | Northwood |
| 6 | Production | Denton |
| 15 | Level 1/2 Support | Westwood |
CA‑RET supports outer joins with use of the *= operator. The where clause DEPT.DIV *= DIV.DIV in the following example will return all the DEPT rows even though they are not assigned to a division (i.e., all unmatched rows).
SELECT *
FROM x:\path\DEPT.DBF,
x:\path\DIV.DBF
WHERE DEPT.DIV *= DIV.DIV
NOTE for CA‑dBFast users: Outer joins are not supported for reports created from within the CA‑dBFast Visual Designer.
A CA‑RET report can be exported to a DOS file in one of two formats, ASCII text (unformatted) or Microsoft's Rich Text Format (RTF). RTF preserves the fonts, paragraph formatting, and alignment characteristics used in the report and is supported by several Windows word processors including CA‑Textor, Microsoft Word for Windows, and Lotus AmiPro. The following caveats apply to RTF exports from CA‑RET:
To begin a DDE conversation, you must first open a channel between your application and CA‑RET using the INITIATE function:
channel = INITIATE( application, topic )
To communicate with CA‑RET, the application parameter must be "CARET" for CARET.EXE and "CARETRUN" for type run-time executable, CARETRUN.EXE. Note that when using CARETRUN.EXE, you can use only features supported by the run-time. CARETRUN.EXE does not support File.Save, File.New, Database.Set.SQL, and Database.Set.Report.Query.
CA‑RET supports the following topics:
| Topic | esult |
|---|---|
| SYSTEM | Opens a channel with CA‑RET for commands |
Report definition file name Establishes a link with the specified report.
SYSTEM is the preferred topic if you will be issuing any commands (other than data requests) on the channel. There are restrictions if you initiate the channel on the file name topic:
Most DDE commands and all DDE requests are executed synchronously; that is, the work associated with the command is completed when the command is executed. Some DDE commands are asynchronous; that is, the work is requested to be done by the command, but may be completed at a later time. The following commands are asynchronous:
File.CloseFile.Exit
Export
File.Preview
File.Print
To determine when asynchronous commands are completed, you may issue an advise transaction using the SYSTEM topic and the CARETEVENTS item to receive notification of the following events:
| Notice | Event |
|---|---|
| Report.Complete | Completion of report for export, preview, or print. |
| File.Save;<filename> | Before saving a file with name ;<filename> |
| Report.Opened | Completion of File.Open() |
| Report.Close | Closing of preview window. |
| View.Close | Closing of preview window. |
Note that CA‑RET sends Report.Opened, Report.Close, and View.Close notification only if your application opened the report using DDE.
In the following two DDE commands, the SQL statements should be single quoted :
Database.Set.SQL(db_type, "sql") on page 6-4 of the CA‑RET Reference Guide should read Database.Set.SQL (db_type, 'sql').
File.New(db_type, dfttype, lblid, filename, "sql") on page 6-5 of the CA‑RET Reference Guide should read File.New(db_type, dfttype, lblid, filename, 'sql').
Word for Windows users should note that the CARET.DOT template commands CA‑RET Insert Report(text) and CA‑RET Insert Report(RTF) cannot be used to insert a report that requires parameters. The user must write a DDE Macro in Word and set the parameters by using the command Set.Parameter(number, value).
NOTE for CA‑dBFast users: The CA‑dBFast commands and functions to access CA‑RET via DDE are as follows:
| Notice | CA‑dBFast Equivalent |
|---|---|
| INITIATE | TALK TO CARET ABOUT <topic> |
| ADVISE<filename> | AUTODATA ('CARETEVENTS') |
You would then check the contents of CARETEVENTS to determine the event returned. See the CA‑dBFast User Guide for more information about using DDE in CA‑dBFast.
The sample reports contain relative path references to databases and images. That is, instead of specifying C:\CARET\SAMPLES\SALES.DBF, SAMPLES\SALES.DBF is used. This is done to permit installation of CA‑RET into any directory. However, if CA‑RET's working directory is other than the installation directory, the sample databases and images will not be found. This can happen if DDE is used to start CA‑RET. To set full paths for the sample reports, exit windows and go to DOS, change your directory to the sample directory (e.g., CD \CARET\SAMPLES), type CHGRET, and press Enter. CHGRET will display the list of report definitions that are being updated.
Alternately, you could change the paths for all databases by editing each report:
To change the image file specifications, select the image either by double clicking on the image or by clicking on the image and choosing Format Picture; then modify the Source file specifiation.
Also, the CA‑RET directory should be added to the DOS path when you use DDE to start CA‑RET.
Trailing blanks are significant when comparing text fields; "ABC" is not the same as "ABC ". Keep this in mind when comparing values in queries and in If() functions. To avoid the problem, you may use the RTRIM function in queries (...WHERE RTRIM(FIELD) = "ABC"), and the Trim() function with expressions (If( Trim(FIELD) = "ABC", 1, 0 )).
Windows, Word for Windows, and Write are registered trademarks of Microsoft Corporation. dBase III is a registered trademark of Borland International, Inc. All product names referenced herein are trademarks of their respective companies.
The following commands are asynchronous:
File.Close
File.Exit
Export
File.Preview
File.Print