Possibilities - TDBS 1.2 Upgrade Release Set

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

TDBS 1.2 UPGRADE RELEASE SET
----------------------------

*** From August 1992 Possibilities Newsletter ***
*** Copyright 1992 by eSoft, Inc.  All Rights Reserved ***

TDBS 1.2 Upgrade Release Set
by Phil Becker

The latest upgrade version of the TDBS dBASE language compiler and run time 
option module for TBBS will ship on or before September 15, 1992.  eSoft is 
now taking orders for upgrades and the details of how to upgrade are given 
later in this article.

But first, let's discuss what is in this new version and what it will do for 
you.  TDBS 1.2 is an incremental and maintenance upgrade, and as such it 
doesn't have loads of new features.  But the ones it does have make a 
tremendous number of new applications possible, and many old applications 
much easier.  Getting a lot of power with a few new features was the theme 
of the TDBS 1.2 release along with an overall performance improvement.

The major new capability of TDBS 1.2 is Flat File I/O.  TDBS 1.2 allows you 
to directly access a DOS file in either binary or ASCII text mode using the 
new commands FOPEN, FCREATE, FCLOSE, FSEEK, FBREAD, FLREAD, FBWRITE, and 
FLWRITE.  Binary file support (FBREAD, FBWRITE) includes a number of 
functions to extract, insert, and move data in the file buffers as well as 
read and write capability.

The major feature that TDBS 1.2 offers (which no other dBASE dialect I know 
of has) is true ASCII text line mode file I/O.  This mode (using the FLREAD 
and FLWRITE commands) allows you to read ASCII files a line at a time 
without having to worry about decoding where lines begin and end.  TDBS 1.2 
can handle the concept of "lines" which end with the normal DOS return 
followed by line feed, or a return only (as some editors use), or the UNIX 
method of line feed only.  TDBS 1.2 automatically determines what a logical 
line is and each FLREAD will access the next line and read it into a TDBS 
string variable.  Scanning through ASCII files has never been easier.

In addition to the line read and write commands for ASCII files, TDBS 1.2 
also has the FLFIND command.  This command does a rapid ASCII string search 
through a file to locate text fragments.  Testing indicates that this 
function is as fast as (or faster than) the TBBS TYPE=20 search capability, 
and it is under TDBS program control!  At last reasonable text searching is 
possible in TDBS!

To complete the Flat File I/O package a set of file status functions have 
been added, including FDATE(), FTIME(), and FSIZE() to obtain attributes of 
a specific file.  The functions FINDFIRST() and FINDNEXT() have also been 
added to allow you to search for files that match DOS wild card skeleton 
masks.

This robust Flat File I/O package is guaranteed to make possible many TDBS 
applications that were not possible in TDBS 1.1 -- with performance far 
beyond anything previously possible.  In order to allow full binary handling 
of files with these new I/O functions, TDBS 1.2 correctly handles true 
CHR(0) characters inside of strings.  TDBS 1.1 would truncate a string at 
the CHR(0), but TDBS 1.2 properly handles this character within a string.

An Added Measure of Security...

To provide an added measure of security a new OPT DATA switch is available 
in TDBS 1.2 that prevents access of any files outside the DOS directory 
which contains the .TPG file.  If this switch is used, any attempt to access 
a file in another directory will abort the program with an error message.

Compatibility with Older Programs...

One problem that has cropped up with TDBS since the release of TBBS 2.2 is 
the infamous TDBS TMOD 8 which changed the ULINE() function to allow line 
numbers larger than 32.  Some older .TPG programs couldn't handle this 
change and so there was a constant struggle to determine whether to install 
this mod or not.  TDBS 1.2 has added an OPT DATA switch which invokes the 
old style ULINE() handling for only specified programs so that you can run 
these older programs correctly and still have the new style ULINE() 
functionality for the future (when you run more than 32 lines).

Other Nice New Capabilities...

In addition to the Flat File I/O package a number of new capabilities have 
been added to TDBS 1.2.  For example, TDBS 1.2 supports the IBM-PC keyboard 
emulation mode (also known as "doorway mode") which allows remote use of all 
IBM PC keyboard function keys directly over a modem.  Several small 
"niceties" such as an APPEND mode for SET ALTERNATE and numeric boolean math 
with the logical operators (.AND., .OR., etc.) have been added as well.

In order to allow easier user interfaces with memo fields, keywords have 
been added to the READ command to allow direct entry to the memo editor 
(without requiring the user to press the ctrl-home key).  TDBS 1.2 also 
makes it possible to handle the function keys directly from a READ command 
so that custom function key handling may be added as well.

One new TDBS 1.2 feature that solves several difficult programming problems 
is the SOUNDEX() function.  This function allows you to write programs that 
can do "fuzzy" lookups of words when the user doesn't spell the word exactly 
right.  For example it can let you know that the names ALLEN, ALAN, etc. all 
sound alike.  This can be a big help if names or other commonly mis-spelled 
words are used as keys.

In addition to the new capabilities, TDBS 1.2 runs about 10% faster in all 
modes than TDBS 1.1.  In some cases it is as much as 50 times faster!  TDBS 
1.2 also uses the new time based scheduling available to option modules if 
it is running on TBBS 2.2.  This makes its operation much "smoother" than 
TDBS 1.1 and causes less impact on non-TDBS users as well.

How Do I Upgrade?

To upgrade your TDBS 1.1 to TDBS 1.2 you must return your TDBS 1.1 master 
disks with shipping and the proper upgrade fee to eSoft (mailing address and 
voice telephone number are on page 15).

If you purchased your TDBS 1.1 on or after June 15, 1992 your upgrade to 
TDBS 1.2 is free.  If you purchased your TDBS 1.1 prior to June 15, 1992 
then the fee for your upgrade is as follows:

TDBS 1.1S or
TDBS 1.1M[2] to TDBS 1.2M[2]	$75

TDBS 1.1M[16] to TDBS 1.2M[16]	$150

TDBS 1.1M[32] to TDBS 1.2M[32]	$175

TDBS 1.1M[64] to TDBS 1.2M[64]	$200


For those who purchased the TDBS GamePak special offer, we are making 
available an upgrade of your run-time TDBSOM.EXE file for a special price.  
This run-time is a four user version (the same as in your GamePak) and will 
allow you to run all newer TDBS 1.2 programs which become available.  The 
upgrade price for the GamePak run time (return Disk1  only) is:

TDBS 1.1 GamePak to TDBS 1.2 runtime	$45 

Shipping charges are required in addition to the upgrade cost.  For all 
except the GamePak these are:

U.S. Ground	$4
U.S. 2nd Day	$7
U.S. Next Day	$16
Canada Ground	$10
Canada Air	$40
Europe	$53
Other International	$73

For the GamePak run time upgrade shipping is:

U.S. Ground	$4
U.S. 2nd Day	$6
U.S. Next Day	$14
Canada Ground	$7
Canada Air	$37
Europe	$46
Other International	$66

If you use TDBS you will appreciate the new capabilities and performance of 
TDBS 1.2.  This product has been in development and testing for nearly a 
full year and we think it represents a significant advance for TDBS.  Order 
your new upgrade now so you can use these new capabilities.  You can call 
eSoft (voice) at 303-699-6565 and we'll be glad to answer any questions you 
have about TDBS 1.2.

- END -
PS0892-5
Rev. 8/92

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

