811 lines
33 KiB
Plaintext
811 lines
33 KiB
Plaintext
|
|
|||
|
$read.me (c)Copyright Sequiter Software Inc., 1992-1993.
|
|||
|
All rights reserved.
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
README - Table of Contents
|
|||
|
|
|||
|
I. Introduction
|
|||
|
|
|||
|
II. CodeBase Electronic Documentation Files
|
|||
|
(Including additional CodeControls getting started
|
|||
|
documentation.)
|
|||
|
|
|||
|
III. CodeBase Manual and Code Revisions
|
|||
|
|
|||
|
IV. Bit Optimization Query Technology
|
|||
|
|
|||
|
V. CodeBase Interactive for DOS (CID)
|
|||
|
|
|||
|
VI. Examples
|
|||
|
|
|||
|
VII. Using CodeScreens with CodeBase 5.1
|
|||
|
|
|||
|
VIII. CodeBase Public-Access: Sequiter BBS and Compuserve Access
|
|||
|
|
|||
|
IX. Accessing More Than 20 Files in DOS and Windows
|
|||
|
|
|||
|
X. CodeBase Multi-Platform C++ Usage
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
I. Introduction
|
|||
|
|
|||
|
CodeBase 5.1 serial and version numbers can be found on the
|
|||
|
inside-front covers of the supplied Reference Manual.
|
|||
|
|
|||
|
This CodeBase 5.1 release supports the following compilers:
|
|||
|
|
|||
|
i) Borland C++ 3.1, 4.0
|
|||
|
|
|||
|
ii) Microsoft C++ 7.0
|
|||
|
|
|||
|
iii) Microsoft C++ 8.0 ( Visual C++ )
|
|||
|
|
|||
|
iv) Microsoft C++ 8.0 NT ( Visual C++ for NT )
|
|||
|
|
|||
|
v) Watcom C++ 9.0, 9.5
|
|||
|
|
|||
|
vi) Borland 1.0 for OS/2
|
|||
|
|
|||
|
vii) IBM C Set ++ for OS/2
|
|||
|
|
|||
|
Additional compiler support will be added as it becomes available.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
II. CodeBase Electronic Documentation Files
|
|||
|
|
|||
|
It is highly recommended that any installed documentation
|
|||
|
files be read in addition to the CodeBase manuals.
|
|||
|
|
|||
|
The various documentation files provide additional specific
|
|||
|
information not found in the CodeBase manual. Please note
|
|||
|
that only documentation files relevant to the options
|
|||
|
installed will be present on your drive after installation.
|
|||
|
|
|||
|
All electronic documentation files have been suitably
|
|||
|
formatted for hard-copy printing. To print any document,
|
|||
|
simply direct that file to your printer, using the 'print'
|
|||
|
command.
|
|||
|
|
|||
|
The complete list of documentation files that are present
|
|||
|
on the CodeBase disk are as follows:
|
|||
|
|
|||
|
|
|||
|
GENERAL DOCUMENTATION:
|
|||
|
|
|||
|
$READ.ME General user information, manual changes/updates,
|
|||
|
and installation information. Always installed.
|
|||
|
|
|||
|
INSTALL.DOC Information on CodeBase installation. Includes
|
|||
|
manual unfolding documentation.
|
|||
|
|
|||
|
CODEREP.DOC Further information on CodeReporter. Includes
|
|||
|
important information regarding the building of
|
|||
|
the CodeReporter launch utility executables.
|
|||
|
|
|||
|
Located in subdirectory \CODEBASE\CODEREP\.
|
|||
|
|
|||
|
CODECTRL.DOC Documentation on how to get started with
|
|||
|
CodeControls in the various configurations.
|
|||
|
|
|||
|
Located in subdirectory \CODEBASE\CODECTRL\.
|
|||
|
|
|||
|
|
|||
|
COMPILER DOCUMENTATION:
|
|||
|
|
|||
|
COMPILER.DOC Information specific to the installed compiler.
|
|||
|
|
|||
|
EXAMPLES.DOC Information on usage of the provided source code
|
|||
|
examples.
|
|||
|
|
|||
|
TEST.DOC Information on usage of the CodeBase test
|
|||
|
programs
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
III. CodeBase Manual and Code Revisions
|
|||
|
|
|||
|
|
|||
|
The following are corrections to the CodeBase 5.1 printed documentation:
|
|||
|
|
|||
|
Getting Started with CodeBase 5.1 :
|
|||
|
|
|||
|
1. Running an Example (page 13)
|
|||
|
|
|||
|
The referenced batch file CB5WIN.BAT does not exist; the
|
|||
|
appropriate batch file is C5AP_WIN.BAT and its definition
|
|||
|
file C5AP_WIN.DEF. The example should read
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\MSC8\C5AP_WIN.*
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\WINDOWS\CB5FOX.DLL CB5.DLL
|
|||
|
|
|||
|
2. Compile & Link Example (page 13)
|
|||
|
|
|||
|
Again, the Windows example D4EX_WIN.C may be compiled with the
|
|||
|
following DOS command
|
|||
|
|
|||
|
C:\MYDIR> C5AP_WIN D4EX_WIN
|
|||
|
|
|||
|
|
|||
|
3. Building Libraries (page 20)
|
|||
|
|
|||
|
When installed CodeBase 5.1 does not copy a FoxPro compatible
|
|||
|
version of the DLL into the CODEBASE\CODECTRL sub-directory.
|
|||
|
The appropriate DLL must be copied into your working directory
|
|||
|
from the CODEBASE\WINDOWS subdirectory and renamed CB5.DLL.
|
|||
|
|
|||
|
4. Compile & Link (page 23)
|
|||
|
|
|||
|
The referenced batch file CB5WIN.BAT does not exist; the
|
|||
|
appropriate batch file is C5AP_WIN.BAT and its definition
|
|||
|
file C5AP_WIN.DEF. The example should read
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\MSC8\C5AP_WIN.*
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\WINDOWS\CB5FOX.DLL CB5.DLL
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\SOURCE\*.H
|
|||
|
|
|||
|
C:\MYDIR> COPY C:\CODEBASE\EXAMPLES\D4EX_WIN.C
|
|||
|
|
|||
|
C:\MYDIR> C5AP_WIN D4EX_WIN
|
|||
|
|
|||
|
|
|||
|
5. C5AP_WIN.DEF not C5WIN.DEF (page 24)
|
|||
|
|
|||
|
Item 4 under DLL and VBX should read:
|
|||
|
|
|||
|
Link CodeBase as a DLL as discussed above (ie. include
|
|||
|
C5AP_WIN.DEF in project).
|
|||
|
|
|||
|
6. DLLINFO Utility (page 28)
|
|||
|
|
|||
|
|
|||
|
The described DLLINFO utility does not exist on the CodeBas
|
|||
|
diskettes. The example programs d4ex_win.c and d4exampl.c
|
|||
|
will preform the same functions once compiled and run.
|
|||
|
|
|||
|
Alternatively, the correct DLL can either be copied from the
|
|||
|
CODEBASE\WINDOWS subdirectory or can be rebuilt with the
|
|||
|
appropriate batch or project file (ie. CB5.BAT or CB5.PRJ )
|
|||
|
|
|||
|
CodeBase 5.1 USER'S GUIDE:
|
|||
|
|
|||
|
1. .NTX Descending Order Tags (starting page 105)
|
|||
|
DESCEND support for numeric or date tags are not currently
|
|||
|
supported. Ignore any reference to numeric or date tag use with
|
|||
|
the DESCEND function wherever noted. As a work-around, a tag can
|
|||
|
be created by subtracting the numeric key from a large constant
|
|||
|
numeral.
|
|||
|
eg. For Field 'NUM', index on '9999999999 - NUM'.
|
|||
|
|
|||
|
2. Opening Index Files (page 115)
|
|||
|
New Functions: 't4create' should be 'i4create'.
|
|||
|
|
|||
|
CodeBase 5.1 REFERENCE GUIDE:
|
|||
|
|
|||
|
1. CodeBase Settings and Variables addendum (page 8)
|
|||
|
New Conditional Compilation Switch. 'S4FLUSH' may be defined
|
|||
|
if a hard-flush is required when writing data to disk:
|
|||
|
|
|||
|
S4FLUSH This switch automatically calls function file4flush()
|
|||
|
whenever a write() occurs. This switch is not usually
|
|||
|
required, since a write() should perform a flush, but
|
|||
|
some environments do not flush data immediately.
|
|||
|
S4FLUSH is meant to be used with these environments.
|
|||
|
See function file4flush().
|
|||
|
|
|||
|
|
|||
|
2. CODE4.lock_attempts Clarification (page 17)
|
|||
|
|
|||
|
If CODE4.lock_attempts is greater than zero, it is the
|
|||
|
number of times a CodeBase function will attempt to lock before
|
|||
|
returning r4locked.
|
|||
|
|
|||
|
If CODE4.lock_attempts is (int) -1, CodeBase retries until
|
|||
|
it succeeds.
|
|||
|
|
|||
|
Any other value for CODE4.lock_attempts is undefined.
|
|||
|
|
|||
|
|
|||
|
3. file4flush() (page 160)
|
|||
|
|
|||
|
The 'NOTE' at the bottom of the page is incorrect. S4WINDOWS
|
|||
|
does not have to be defined. file4flush() may be used under DOS
|
|||
|
or other operating systems.
|
|||
|
|
|||
|
|
|||
|
4. relate4lock() (page 226)
|
|||
|
|
|||
|
|
|||
|
Under 'Usage', please note that the return value of relate4lock()
|
|||
|
is of type 'int'.
|
|||
|
|
|||
|
Usage: int relate4lock( RELATE4 *relate )
|
|||
|
|
|||
|
|
|||
|
5. The Comparison Function (page 235)
|
|||
|
|
|||
|
At the bottom of the page is a small table with 'Return' and
|
|||
|
'Meaning' headings. The '> 0' return should instead read:
|
|||
|
|
|||
|
> 0 The value pointed to by p1 is greater than p2.
|
|||
|
|
|||
|
|
|||
|
6. e4hook() (page 316)
|
|||
|
|
|||
|
'Description' should instead read:
|
|||
|
|
|||
|
The purpose of this function is to allow the programmer to
|
|||
|
easily alter error reporting.
|
|||
|
|
|||
|
When CodeBase is built with conditional compilation switch
|
|||
|
S4ERROR_HOOK, e4hook() is called by e4(), e4describe() and
|
|||
|
e4severe() to display error messages. Function e4hook() must be
|
|||
|
created by the user. An example shell for function e4hook() is
|
|||
|
provided at the top of file "E4ERROR.C". To modify error
|
|||
|
reporting, alter e4hook() to display error messages as desired.
|
|||
|
|
|||
|
Alternatively, to turn off error reporting entirely, just define
|
|||
|
S4OFF_ERROR.
|
|||
|
|
|||
|
7. e4severe() (page 320)
|
|||
|
|
|||
|
The parameter listing under 'Usage' should not include
|
|||
|
parameter 'CODE4':
|
|||
|
|
|||
|
Usage: void e4severe( int err_code, char *desc )
|
|||
|
|
|||
|
|
|||
|
8. d4append_data() (page 43)
|
|||
|
|
|||
|
The use of this function is no longer recommended because of
|
|||
|
the difficulty in updating the file headers.
|
|||
|
|
|||
|
|
|||
|
9. CODE4.mem_size_memo_expr (page 21 )
|
|||
|
|
|||
|
New CodeBase setting:
|
|||
|
|
|||
|
Usage: unsigned CODE4.mem_size_memo_expr
|
|||
|
|
|||
|
Description:If a memo field has a length over 'CODE4.mem_size_memo_expr',
|
|||
|
the length over this value is ignored by the expression
|
|||
|
evaluation functions.
|
|||
|
|
|||
|
|
|||
|
For example, function expr4len() assumes that the memo
|
|||
|
field has exactly this length. Functions expr4vary()
|
|||
|
and expr4key() ignore the memo field information over
|
|||
|
this length. In addition, if a memo field's length is
|
|||
|
less than 'CODE4.memo_size_memo_expr', then expr4vary()
|
|||
|
and expr4key() add null characters to the end of the
|
|||
|
result. The number of null characters added to the end
|
|||
|
is 'CODE4.mem_size_memo_expr' minus the actual memo
|
|||
|
field length. This effect is the same as when dealing
|
|||
|
with trimed fields.
|
|||
|
|
|||
|
By default, CODE4.mem_size_memo_expr is 1024.
|
|||
|
|
|||
|
|
|||
|
10.date4format_mdx() (page 116)
|
|||
|
|
|||
|
In 'Description', the value returned should be '1.0E100', not
|
|||
|
'1.0E300'.
|
|||
|
|
|||
|
|
|||
|
MANUAL CORRECTIONS AND ADDITIONS FOR CODEREPORTER 2.0
|
|||
|
|
|||
|
The documentation for function report4printerDC does not indicate
|
|||
|
the value of the returned DC. This handle to a device context is
|
|||
|
the previously specified DC ( if one was set ) or NULL if one was
|
|||
|
not set. It is the programmers's responsibility to free the
|
|||
|
returned DC.
|
|||
|
|
|||
|
|
|||
|
CodeBase SOURCE CODE CHANGES:
|
|||
|
|
|||
|
Note: Notices of fixes to CodeBase 5.1 will be
|
|||
|
updated on files contained on Sequiter's BBS system.
|
|||
|
For more information, refer to section
|
|||
|
"CodeBase Public-Access Bulletin Board System."
|
|||
|
|
|||
|
|
|||
|
|
|||
|
CodeBase BATCH FILE CHANGES:
|
|||
|
|
|||
|
Note: CodeBase batch files no longer build import libraries
|
|||
|
as they are no longer needed. Ordinal exports/imports in
|
|||
|
the definition files allow the user to recompile the
|
|||
|
DLL without having to recompile the application. If the
|
|||
|
import library is needed it can always be created later.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
IV. Bit Optimization Query Technology
|
|||
|
|
|||
|
When CodeBase 5.1 is able to use Bit Optimization Query
|
|||
|
Technology (BOT) when performing queries, the performance
|
|||
|
|
|||
|
improvements can be staggering. In addition, there are
|
|||
|
specific things that you can do to ensure that CodeBase 5.1
|
|||
|
is able to use BOT.
|
|||
|
|
|||
|
First of all, BOT capabilities are built into the
|
|||
|
CodeBase 5.1 relate/query module, the report module and
|
|||
|
into CodeReporter. The principle of the technology involves
|
|||
|
using index information to quickly return query results.
|
|||
|
|
|||
|
For example, if you have an 500,000 record
|
|||
|
invoice item data file and you are interested in sales
|
|||
|
of product "GIZMO". Then the likely query expression
|
|||
|
would be "product='GIZMO'". In this case, if the
|
|||
|
data file was indexed on field "PRODUCT", then CodeBase 5.1
|
|||
|
would automatically take advantage of the index to
|
|||
|
immediately return the query results.
|
|||
|
|
|||
|
So to use BOT, you need to do the following:
|
|||
|
|
|||
|
1. Make sure that the master data file's index
|
|||
|
file(s) are opened.
|
|||
|
2. Specify a query expression containing, in whole or
|
|||
|
in part, the tag key compared to a constant.
|
|||
|
The query expression is set using function
|
|||
|
relate4query_set() or is set interactively
|
|||
|
under CodeReporter.
|
|||
|
3. BOT is effective only when the query expression
|
|||
|
involves the master data file.
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
Assume that master data file CUSTOMER.DBF contains fields
|
|||
|
L_NAME, F_NAME, AGE, DT and COMPANY. It has a production
|
|||
|
index file with the following tag key expressions:
|
|||
|
|
|||
|
L_NAME Type Character
|
|||
|
UPPER(COMPANY) Type Character
|
|||
|
AGE Type Numeric
|
|||
|
DTOS(DT) Expression DTOS(DT) returns a
|
|||
|
result of Character even though
|
|||
|
field DT is of type Date.
|
|||
|
|
|||
|
In this case the following queries can take
|
|||
|
advantage of BOT.
|
|||
|
|
|||
|
Query Expression Explanation
|
|||
|
|
|||
|
L_NAME="SMITH" L_NAME is a tag expression which
|
|||
|
is compared to a constant.
|
|||
|
|
|||
|
L_NAME>="S" .AND. Again there are two comparisons
|
|||
|
L_NAME<="T" of a tag expression against a
|
|||
|
constant. Both parts of the
|
|||
|
expression are use BOT.
|
|||
|
|
|||
|
|
|||
|
L_NAME="SMITH" .AND. Only the first part of the
|
|||
|
F_NAME="JOE" expression can use BOT. However,
|
|||
|
as this first part narrows the
|
|||
|
query result down considerably,
|
|||
|
the overall performance
|
|||
|
will still be very exceptional.
|
|||
|
|
|||
|
UPPER(COMPANY)="IBM" Again, this is a tag expression
|
|||
|
compared to a constant. In this
|
|||
|
case, the tag expression
|
|||
|
is more complicated as it
|
|||
|
involves a function.
|
|||
|
Regardless, BOT is used.
|
|||
|
|
|||
|
UPPER(COMPANY)="IBM" .AND. Both parts of the expression use
|
|||
|
L_NAME="SMITH" BOT.
|
|||
|
|
|||
|
AGE>50 Even though the type of AGE is
|
|||
|
Numeric, we still have an tag
|
|||
|
expression being compared to
|
|||
|
a constant.
|
|||
|
|
|||
|
AGE > 25*2 25*2 is still a constant even
|
|||
|
though it is a complicated
|
|||
|
constant.
|
|||
|
|
|||
|
DTOS(DT)>="19930101" This would return all records
|
|||
|
where the date value in DT is
|
|||
|
greater than or equal to
|
|||
|
January 1st, 1993. If the
|
|||
|
tag expression was DT instead of
|
|||
|
DTOS(DT), then a query expression
|
|||
|
such DT>=CTOD("01/01/93") would
|
|||
|
also use BOT. However, you have
|
|||
|
to be careful when using CTOD
|
|||
|
because the format of its
|
|||
|
parameter depends on the date
|
|||
|
picture set in
|
|||
|
'CODE4.date_format'.
|
|||
|
|
|||
|
Here are some expressions which cannot use BOT.
|
|||
|
|
|||
|
Query Expression Explanation
|
|||
|
|
|||
|
F_NAME="JOE" There is no tag based on F_NAME.
|
|||
|
|
|||
|
L_NAME+F_NAME="SMITH" There is no tag based on
|
|||
|
L_NAME+F_NAME. Even though there
|
|||
|
is a tag on L_NAME, it is not
|
|||
|
identical to the expression being
|
|||
|
compared to "SMITH".
|
|||
|
|
|||
|
COMPANY="IBM" There is no tag based on COMPANY.
|
|||
|
The tag is UPPER(COMPANY).
|
|||
|
Again, the tag expression must
|
|||
|
|
|||
|
match the exression being
|
|||
|
compared to the constant exactly.
|
|||
|
|
|||
|
L_NAME=F_NAME This expression cannot use BOT
|
|||
|
because F_NAME is not a constant
|
|||
|
- it is a field.
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
V. CodeBase Interactive for DOS (CID)
|
|||
|
|
|||
|
Interactive CodeBase 5.1 for DOS (CID) is a CodeBase application
|
|||
|
that allows the interactive manipulation of databases. Interactive
|
|||
|
CodeBase may be used to test the operation and consequence of
|
|||
|
CodeBase functions, or as a tutorial aid to familiarize users with
|
|||
|
CodeBase functions, or may be used as a quick and easy way to
|
|||
|
manipulate databases without coding and compiling. A 'FoxPro
|
|||
|
format' DOS Interactive CodeBase executable is currently provided.
|
|||
|
The other formats are supported, but must be recompiled or
|
|||
|
downloaded from the Sequiter BBS.
|
|||
|
|
|||
|
Interactive CodeBase for DOS, known as 'CID', contains much of
|
|||
|
the CodeBase functionality, as well as interactive browse and edit
|
|||
|
facilities.
|
|||
|
|
|||
|
To install Interactive CodeBase, select 'Interactive CodeBase
|
|||
|
for DOS' during the CodeBase INSTALL. Alternatively, you may
|
|||
|
manually UNFOLD the 'interactive' files, contained in 'CID.FLD'.
|
|||
|
|
|||
|
|
|||
|
Using CID:
|
|||
|
|
|||
|
The provided CID executable program can handle only one of the
|
|||
|
CodeBase-supported index formats. The file format can be determined
|
|||
|
by examining the last three letters of the executables provided:
|
|||
|
|
|||
|
eg. CID_CDX.EXE is the CDX file format of FoxPro
|
|||
|
|
|||
|
Also, during CID execution, the file format will be displayed on
|
|||
|
the bottom row of CID's main screen. Please ensure that the CID
|
|||
|
being used is the proper CID for your file format. If not, recompile
|
|||
|
as directed, or contact the Sequiter BBS for the correct CID.
|
|||
|
|
|||
|
You can run Interactive CodeBase for DOS in either color or
|
|||
|
monochrome modes. Pass the command line argument of MONO to select
|
|||
|
monochrome mode or enter no arguments for color mode:
|
|||
|
|
|||
|
Eg. c:\CID_CDX MONO ** for monochrome mode
|
|||
|
|
|||
|
or c:\CID_CDX ** for color mode
|
|||
|
|
|||
|
|
|||
|
Upon startup, Interactive CodeBase for DOS will display a
|
|||
|
startup message. Press any key to clear this message. The main
|
|||
|
menu bar will then be activated. You can use the cursor keys to
|
|||
|
|
|||
|
move the highlighting over the item that you desire and press
|
|||
|
[ENTER] to select.
|
|||
|
|
|||
|
In addition you can use the highlighted hot keys to select a menu
|
|||
|
item. Holding down the ALT key and pressing a letter will move to
|
|||
|
appropriate menu. For example, pressing [ALT D] will move you to
|
|||
|
DATA4 menu. Pressing the letter that is highlighted in an entry of
|
|||
|
the current menu, will select that item. For example, pressing
|
|||
|
the [O] key while in the INDEX4 menu will select the i4open
|
|||
|
function.
|
|||
|
|
|||
|
After selecting a function from a menu, you will be presented
|
|||
|
with a variety of menus, and input boxes, prompting you to enter in
|
|||
|
the parameters of the function. Most functions will present you
|
|||
|
with a list of the databases that are currently open. You can
|
|||
|
press the [ESC] key to abort most operations.
|
|||
|
|
|||
|
When all of the parameters have been entered, the function will
|
|||
|
be executed. If CodeBase encounters any errors, they will be
|
|||
|
displayed in popup boxes. After execution of a function, the return
|
|||
|
value (if any) will be displayed.
|
|||
|
|
|||
|
Examples:
|
|||
|
|
|||
|
To open a database:
|
|||
|
|
|||
|
-select d4open from the DATA4 menu. A file requester will then
|
|||
|
appear.
|
|||
|
-enter the directory containing the database you want to open.
|
|||
|
-a list of the databases in that directory will appear.
|
|||
|
-select the database moving the highlighting with the cursor
|
|||
|
keys and press [ENTER]
|
|||
|
|
|||
|
To set the CODE4.safety to FALSE
|
|||
|
|
|||
|
-select the CODE4 menu.
|
|||
|
-use the cursor keys to move the highlighting over CODE4.safety
|
|||
|
-press the [ENTER] key to togle between true and false.
|
|||
|
|
|||
|
|
|||
|
Using the Browser:
|
|||
|
|
|||
|
InterActive CodeBase for DOS has a built-in Browser. To browse a
|
|||
|
database, either open it with d4data, or create it with d4create. Then
|
|||
|
select BROWSER from the main menu. You will then be presented with a
|
|||
|
list of open databases. Select the database that you want to browse.
|
|||
|
|
|||
|
NOTE: Memo field browsing and editing is not yet supported.
|
|||
|
|
|||
|
Browse Mode:
|
|||
|
|
|||
|
The following keys have special functions when in browse mode:
|
|||
|
|
|||
|
|
|||
|
[UP ARROW] : Selects the previous record
|
|||
|
|
|||
|
[DOWN ARROW] : Selects the next record
|
|||
|
[LEFT ARROW] : Selects the previous field
|
|||
|
[RIGHT ARROW] : Selects the next field
|
|||
|
[ESC] : Leaves Browse mode and activates the menu
|
|||
|
[ENTER] : Allows you to edit the field
|
|||
|
[PAGE UP] : Skips back one page of records
|
|||
|
[PAGE DOWN] : Skips forward one page of records
|
|||
|
[HOME] : Selects the first field
|
|||
|
[END] : Selects the last field
|
|||
|
[CNTL HOME] : Selects the first record
|
|||
|
[CNTL END] : Selects the last record
|
|||
|
[INS] : Inserts a new record
|
|||
|
[DEL] : Toggles the deletion flag
|
|||
|
|
|||
|
Menu Items:
|
|||
|
|
|||
|
BROWSE : Reenters Browse mode
|
|||
|
d4tag_select : Select one of the database's tags
|
|||
|
d4go : go to the entered record number
|
|||
|
d4seek : seek using the currently selected tag
|
|||
|
d4top : goto the top of the database
|
|||
|
d4bottom : goto the bottom of the database
|
|||
|
QUIT BROWSER : quit browser and return the main menu
|
|||
|
|
|||
|
|
|||
|
Compiling the Source Code:
|
|||
|
|
|||
|
Source code for InterActive CodeBase for DOS has been provided
|
|||
|
along with batch files for Borland C++ (CIDBOR.BAT) and for
|
|||
|
Microsoft (CIDMSC.BAT). Note the special instructions at the top
|
|||
|
of these batch files. Usage of these batch files assumes that
|
|||
|
a library, named C5BASE.LIB, has been created first. Also, note
|
|||
|
that the CodeBase 5.1 header files must be accessible.
|
|||
|
|
|||
|
If you are using Microsoft C ,you will also have to rebuild the
|
|||
|
CodeBase 5.1 library with the e4error and e4severe functions
|
|||
|
commented out. InterActive CodeBase for DOS has replacements for
|
|||
|
those routines and the Microsoft C linker will not allow functions
|
|||
|
in a library with the same names as those in the source code.
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
VI. Examples
|
|||
|
|
|||
|
There are four sources of CodeBase 5.1 examples:
|
|||
|
|
|||
|
1. The manual, for short examples of function (and class)
|
|||
|
usage.
|
|||
|
|
|||
|
2. The examples present on the CodeBase 5.1 diskette.
|
|||
|
All examples installed are placed on the CodeBase
|
|||
|
\EXAMPLES subdirectory. Examples from the manual
|
|||
|
can be found in \EXAMPLES.
|
|||
|
|
|||
|
3. The testing and diagnostic code. These programs test
|
|||
|
|
|||
|
the important CodeBase functions, and can also be
|
|||
|
used to ensure that CodeBase 5.1 was installed
|
|||
|
correctly. Test code, if installed, can be found
|
|||
|
in \TEST.
|
|||
|
|
|||
|
4. Our BBS, which contains new examples produced by our
|
|||
|
developers and examples which users have uploaded.
|
|||
|
Please see 'Section IX: The CodeBase Public-Access
|
|||
|
Bulletin Board System (BBS)' for more information.
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
VII. Using CodeScreens with CodeBase 5.1
|
|||
|
|
|||
|
Sequiter's 'CodeScreens 1.0' is an add-on package that
|
|||
|
contains screen management functions for DOS applications.
|
|||
|
If you are interested in obtaining this screen management
|
|||
|
library, please contact Sequiter Software for more
|
|||
|
information.
|
|||
|
|
|||
|
You must have at least CodeScreens version 1.02. Owners
|
|||
|
of previous versions can contact Sequiter for upgrade
|
|||
|
information.
|
|||
|
|
|||
|
CodeScreens 1.02 functions are used by creating a separate
|
|||
|
library, 'W4.LIB', which contains the screen functions.
|
|||
|
|
|||
|
When using any screen function, remember to include 'W4.H'
|
|||
|
at the top of your program. 'W4.H' can be found with
|
|||
|
CodeScreens.
|
|||
|
|
|||
|
There are also provided batch files that can be used to
|
|||
|
compile and link a CodeBase 5.1. application using screen
|
|||
|
functions. These are named "C4?C.BAT", where '?' is replaced
|
|||
|
by a specific letter denoting the compiler used.
|
|||
|
|
|||
|
----------------------------------------------------------
|
|||
|
|
|||
|
VIII. CodeBase Public-Access: Sequiter BBS and Compuserve Access
|
|||
|
|
|||
|
Any user with a modem may connect with the Sequiter
|
|||
|
Bulletin Board System. Connection to the BBS is free,
|
|||
|
although all users are responsible for their own long-
|
|||
|
distance toll charges. The BBS operates twenty-four hours
|
|||
|
a day, seven days-a-week, excluding maintenance periods.
|
|||
|
The BBS operates under the DOS environment, running
|
|||
|
WildCat(c) communications software.
|
|||
|
|
|||
|
Code updates for CodeBase 5.1 can be accessed from the BBS
|
|||
|
through the use of patch files, which may be downloaded freely.
|
|||
|
These files are .ZIP files containing instructions and the patch
|
|||
|
utility. The patch utility requires an existing copy of
|
|||
|
CodeBase 5.1 and works by updating your existing source and header
|
|||
|
modules to the latest version. The patch utility can also be
|
|||
|
obtained from Compuserve (see below) .
|
|||
|
|
|||
|
|
|||
|
The BBS also contains several CodeBase-related files and
|
|||
|
documents that may be downloaded. There is also a message
|
|||
|
system so that electronic correspondence may be left for
|
|||
|
Sequiter staff, or other BBS users. The files include example
|
|||
|
programs, utilities, add-ons and enhancements, written by
|
|||
|
both Sequiter developers and CodeBase users. Users are
|
|||
|
invited to upload interesting CodeBase-related files for the
|
|||
|
use of all BBS users. A list of the latest enhancements, fixes
|
|||
|
and additions for all Sequiter products is also maintained on
|
|||
|
the Sequiter BBS. Users are encouraged to periodically
|
|||
|
download these files, and make the appropriate changes.
|
|||
|
|
|||
|
The phone number for the BBS is found on the back outside
|
|||
|
cover of the CodeBase manual. The phone number is currently
|
|||
|
(403)-437-2229.
|
|||
|
|
|||
|
Settings for the connection are:
|
|||
|
|
|||
|
1200, 2400 or 9600 baud
|
|||
|
ANSI terminal type.
|
|||
|
No parity.
|
|||
|
8 bits.
|
|||
|
1 stop bit.
|
|||
|
|
|||
|
Upon connection to the Sequiter BBS, a new user will be
|
|||
|
prompted for some information and the selection of a private
|
|||
|
password. After selection of your password, please memorize
|
|||
|
it since you will be asked for that password on future
|
|||
|
connections to the BBS.
|
|||
|
|
|||
|
Sequiter Software is also a registered member of the 'Data Based
|
|||
|
Advisor Forum' on CompuServe. Through this forum, messages can
|
|||
|
be sent to Sequiter Technical Support. Also, support and
|
|||
|
demonstration files can be downloaded from the DBA library area.
|
|||
|
To access the DBA forum, type 'GO DBA' at any CompuServe exclamation
|
|||
|
(!) prompt.
|
|||
|
|
|||
|
Messages can be directed to Sequiter using the following CIS ID
|
|||
|
number:
|
|||
|
|
|||
|
71321,1306
|
|||
|
|
|||
|
This account and the DBA Forum are both monitored for messages
|
|||
|
approximately once a day. (Week days only)
|
|||
|
|
|||
|
|
|||
|
The following are detailed instructions as to how our customers
|
|||
|
can access Sequiter through the DBA Forum on Compuserv (CIS).
|
|||
|
|
|||
|
1 - Once user is logged on to CIS, they may get to the DBA Forum
|
|||
|
from any "!" prompt by entering the command "GO DBA".
|
|||
|
|
|||
|
2 - This will bring the user into the DBA top menu, at which time the
|
|||
|
user selects menu item " 1 Data Based Advisor Forum ".
|
|||
|
|
|||
|
3 - The next screen is the Welcome Screen, at which the user
|
|||
|
presses the <ENTER>, which then takes the user into the "Forum
|
|||
|
Menu".
|
|||
|
|
|||
|
4 - If menu item " 3 LIBRARIES (Files) " is selected, the next
|
|||
|
menu to come up is one which lists all 17 library areas. All
|
|||
|
Sequiter files will be located in area " 7 Database OPP, C/C++ ".
|
|||
|
|
|||
|
5 - After selecting this area, the user can then browse through the
|
|||
|
message and file sections, searching by a key word which
|
|||
|
identifies our packages (i.e. SEQUITER, CODEBASE, CODEBASIC,
|
|||
|
etc.), or if the user knows the name of the file he or she wants
|
|||
|
to download, he or she can simply select download.
|
|||
|
|
|||
|
--------------------------------------------------------------------
|
|||
|
|
|||
|
IX. Accessing More Than 20 Files in DOS or Windows
|
|||
|
|
|||
|
Due to a default imposed by most compilers and DOS, no more
|
|||
|
than twenty files can be opened during the execution of any
|
|||
|
one single process by default. And since the file streams 'stdout',
|
|||
|
'stprn', 'stdin', 'stderr' and 'stdaux' count as files, and
|
|||
|
your executing application counts as well, this leaves only
|
|||
|
fourteen database, index and memo files that are allowed to
|
|||
|
be opened by any one application. CodeBase has no inherent
|
|||
|
limit to the number of files opened, but will display an error
|
|||
|
because of the failure of the system function call 'sopen()'.
|
|||
|
|
|||
|
Several compilers have patches available for increasing the
|
|||
|
file limit. However, because of the nature of these patches,
|
|||
|
Sequiter does not provide technical support regarding this issue.
|
|||
|
Please consult your compiler's manufacturer for information.
|
|||
|
Again, CodeBase has no inherent file limit, but will produce
|
|||
|
an error message when it receives an 'error' return from any
|
|||
|
C library function that is called.
|
|||
|
|
|||
|
For further information on your specific compiler please
|
|||
|
consult the COMPILER.DOC in the appropriate directory.
|
|||
|
|
|||
|
--------------------------------------------------------------------
|
|||
|
|
|||
|
X. CodeBase Multi-Platform C++ Usage
|
|||
|
|
|||
|
Included with the CodeBase Multi-Platform ANSI diskettes are
|
|||
|
eight C++ stub files, which can be used to create a C++ CodeBase
|
|||
|
library. The C++ version has been compiled and tested using several
|
|||
|
GNU (gcc) compilers. Documentation for the C++ version is provided
|
|||
|
in the 'CodeBase++ Users Guide' and the 'CodeBase++ Reference Guide'.
|
|||
|
These manuals may be purchased from Sequiter Software. Contact
|
|||
|
Sequiter Software at the phone number listed on the back of any
|
|||
|
color manual for futher information.
|
|||
|
|
|||
|
The eight files are already copied automatically when copy_all
|
|||
|
is used to install CodeBase. The following command files can be
|
|||
|
used to compile a CodeBase C++ library, and building C++ applications:
|
|||
|
|
|||
|
|
|||
|
FILE NAME DESCRIPTION
|
|||
|
--------- -----------
|
|||
|
|
|||
|
compilex This is a command file for compiling the CodeBase C++
|
|||
|
library. The compiler is assumed to be the GNU (gcc)
|
|||
|
compiler. Use the command file cbbuildx to link the
|
|||
|
compiled objects into a library (or see Chapter 6 in
|
|||
|
the 'CodeBase Multi-Platform Manual').
|
|||
|
|
|||
|
cbbuildx This is a command file to build the library libcbx.a
|
|||
|
after compilation has been completed. See Chapter 6
|
|||
|
in the 'CodeBase Multi-Platform Manual' for details.
|
|||
|
|
|||
|
diagx A command file used to compile, link and execute the
|
|||
|
test programs.
|
|||
|
|
|||
|
buildapx A sample command file used to compile and link source
|
|||
|
modules withe the CodeBase Multi-Platform C++ library.
|
|||
|
The compiler is assumed to be the GNU (gcc) compiler.
|
|||
|
buildapx takes the prefix of one source module as a
|
|||
|
parameter. The suffix is assumed to be '.cxx'.
|
|||
|
|
|||
|
eg. buildapx d4excpp
|
|||
|
|
|||
|
------------------- END ---------------------
|