which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
811 lines
33 KiB
Plaintext
Executable File
811 lines
33 KiB
Plaintext
Executable File
|
||
$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 ---------------------
|