Possibilities - Realities 7/92

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

REALITIES 7/92
--------------

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

REALITIES...how to make it work
by eSoft Technical Support Staff

From the moment you first install TBBS, it's easy to see the possibilities are 
almost endless.  Turning those possibilities into realities can bring up 
questions.  For this reason, quality customer support is at least half the 
overall value of any software package. 

We recommend you call the eSoft Support BBS (303-699-8222) and read through 
the messages in each of the various support areas.  You could find answers to 
your questions, even before you've asked them!  You'll definitely get some 
useful tips and ideas for bringing possibilities to life with TBBS.  In this 
section of the newsletter, we will answer some of the more commonly asked 
questions we receive. 

And, Or?  That is the Question...

Q. I see from the manual that a Type 20 keyword search database is capable of 
performing "and" as well as "or" style keyword searches.  Is there any way 
that I can prompt the user to select one approach or the other when the go to 
perform the search? 

A. Not directly, no, but with some creative use of questionnaires, you sure 
can.  Several techniques will be combined in this example.  Let's take a look 
at an excerpt from the SDL source code for our primary menu from which users 
will select the keyword search: 

ENTRY: <K>eyword Search
KEY=K  TYPE=5  OPT DATA=BANG

Note that this entry is a TYPE 5 - NOT a TYPE 20.  Because you'll need to 
execute several functions in succession from a single user keypress, we'll use 
a technique called "function ganging".  The user presses a single menu hot-key 
(letter K in this case) which then chains (with a Type 5 command) to a menu of 
auto-executing menu entries.  Here's the SDL source code for our "BANG" menu 
(MENUBANG.CTL), referenced above: 


MENU: BANG

; Execute a questionnaire to prompt
ENTRY:
KEY=^@  TYPE=32  OPT DATA=PROMPT

; Execute AND search if applicable
ENTRY:
A2=X-------
KEY=^@  TYPE=20  OPT DATA=DATA /A

; Execute OR search if applicable
ENTRY:
A2=.-------
KEY=^@  TYPE=20  OPT DATA=DATA /NA

; Return to calling menu when done
ENTRY:
KEY=^@  TYPE=12  OPT DATA=1
ENDMENU:

The concept of the above menu makes use of the TBBS auto-execute technique.  
This is a powerful technique and one you should understand.  First, a 
questionnaire (which we'll discuss in a moment) is executed.  That 
questionnaire changes the A2(1) flag depending on the questionnaire response 
from the user.  Next, one of two Type 20 searches will be performed -- an AND 
search or an OR search -- depending on the state of the A2(1) flag which was 
just changed.  Finally, a Type 12 (menu return) command is executed to return 
to the calling menu.  In this fashion, the user presses one key on the calling 
menu to invoke three functions on the called menu (this one). 

Now, here's the questionnaire source code: 

Q&A: PROMPT
GET:
Do you want to perform an:
  A - AND search
  B - OR search

Your choice? ~
     TYPE=HOTKEY VAR=A VALID='AB'
IFCASE: %A%="A"
  CHANGE: A2=X-------
ELSE:
  CHANGE: A2=.-------
ENDIF:
ENDQ&A:

That's all there is to it, John!  Of course, you'll probably want to customize 
this a great deal for your application, but the concept will allow you to 
implement a seamless interface to perform the function you want, in true TBBS 
fashion. 

That Pesky Cursor...

Q.  I am trying to make a creative "command prompt" in my menus for ANSI 
users.  I've changed the setting in CEDIT to suppress the "Command:" prompt in 
ANSI mode, and I've made my creative prompt be the last entry in my ANSI 
menus.  The problem is the cursor doesn't go where I want it -- I want it to 
be further up on the screen, in the middle of a line.  It always goes to the 
beginning of the next line.  Can I fix this? 

A.  Sure!  TBBS 2.2 has a new feature which allows you to force the location 
of the cursor after a line is displayed.  On that last menu entry you're 
speaking of (the one with your creative substitute prompt) make the VERY LAST 
CHARACTER of the text a tilde (~) character.  Remember -- it must the VERY 
LAST character, or TBBS will interpret the tilde as a display character 
instead of a "put the cursor here" indication.  Here's an excerpt of SDL menu 
source code to show you how it works: 

ENTRY:
%DATE% %TIME% - %TIMELEFT% Remaining - Command? ~
KEY=?  TYPE=?

How The Rates Rate...

Q.  I have a brand new Hayes Ultra 144 modem.  I see that TBBS interfaces with 
this modem at 38,400 bps.  Yet, when I get a call from one of my users who has 
a V.32 modem the screen says that he's connected at 9,600 bps -- not 38,400 
bps.  Why? 

A.  Although its exact behavior varies depending on the particular modem in 
use and what that modem supports, TBBS will always try and report an 
appropriate "reference data rate" on the TBBS local console screen.  This 
reference rate, although not always equal to the carrier rate, is what TBBS 
uses internally to determine download time estimates and the like.  It's a 
much more accurate reflection of the caller's real speed than the interface 
rate (38,400 bps in this case) which is always much a higher speed than the 
caller ever truly experiences during their connection. 

Hello, ANSI...

Q. I really love the new option in TBBS 2.2 that allows me to draw my menus in 
ANSIDRAW and include the text using the curly brackets {filename} in an ENTRY: 
line.  However I also want to install an ANSI graphics welcome screen that I 
have created in ANSIDRAW. I haven't been able to find the method in the TBBS 
2.2 manual.  Could you tell me how to do it?  Also, I have the screen saved as 
both ANSI and ASCII (non-ANSI).  Is there a way to use BOTH the ANSI and non-
ANSI files so TBBS will call up the appropriate screen for users that either 
do or don't support ANSI? 

A. For files such as SIGNON2.TXT, help files, and other TBBS "canned" text 
files TBBS will automatically attempt to find a file ending in .ANS first if 
the user is ANSI.  Thus you could place the ANSI version on disk as 
SIGNON2.ANS and the non-ANSI version as SIGNON2.TXT and TBBS will display the 
appropriate file to each user.  This is discussed under LOGON OPTIONS in the 
CEDIT chapter of the manual. 

If you are using a language other than "A", then TBBS will look for files 
ending in .ALB or .TLB (for language B), .ALC or .TLC (for language C) etc. so 
you can have ANSI or non-ANSI files for each language you use online as well. 

A special case arises with the pre-logon file SIGNON1.TXT.  Until someone 
actually gets logged on, TBBS cannot know if they support ANSI or not so you 
only get one choice.   This choice is set in the CEDIT NEW USER OPTION screen.  
If you indicate that New Users have ANSI=Y and Graphics=Y then TBBS will begin 
with that assumption and display ANSI and Graphics -- otherwise it will 
display only ASCII.  This is true whether or not you force new user 
configuration. 

- END -
PS0792-2
Rev. 7/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.

