Scripta is a simple tool which allows you to automate all forms of
communication between your own computer (IBM PC or compatible) and
another computer via your computer's RS232 (Serial) Port.

The other computer, known throughout this document as the 'remote'
computer will typically be an online Bulletin Board Service (BBS) but
need not be. Scripta allows you to communicate with any other system
to which you connect via a Serial Port.

Scripta was designed both as a free-standing communications program
and as a means to integrate communications capability into the
Power-QWK (PQ) electronic mail database manager. It may also be used
via Hot Key from most Offline Mail Reader programs.

Scripta is designed with the beginner in mind. The Scripta user need
know little or nothing about computer communications or electronics.

For many modern systems, the Scripta Configuration parameters may be 
left  at their default values until you know better. They will work
with many systems.

If you are used to some other Communications program then you may
find that some facilities are missing within Scripta. In general,
such facilities will have been omitted deliberately, either because
the author thought them of little value or because they can be
achieved by other means. If something is omitted which you feel
would be of real value to include then please let me know, but do
bear in mind that Scripta is meant to be small but powerful. I will
not be including facilities which would require any great increase
in either the .EXE size or in run-time memory occupancy.

                        ---------------

When you call a BBS, you hold what may be considered to be a very
one-sided conversation. YOU always speak first and if you're not
ready yet, the other party has to wait.

Scripta provides an extremely rich and powerful script language (a
type of programming language) which enables you to hold such
conversations simply and with the minimum of computer knowledge.

The 'heart' of this language is the SendWait command. As its name
perhaps implies, this command sends a string of characters to the
remote computer and then waits for a reply string to be returned.

There are two problems associated with some other script languages,
each of which is overcome by use of the SendWait command.

First, in this type of conversation, timing is crucial. If a reply
arrives and your computer is not ready to receive it then it may be
lost forever. In fact, it may cause your computer to 'hang'. This is
not possible with the SendWait command because once a string has
been sent to the remote computer, your own computer simply displays
all characters received until the required reply is detected. It
does nothing else which might introduce delay and therefore cause
the incoming reply to be missed.

Second, and another potential cause of missed responses, most other
script languages can only test for one response at a time. Scripta
allows you to specify up to ten possible responses to any one
SendWait command.

The other command which is crucial to the structure of the Scripta
language is the When command. This allows you to specify that when a 
particular string is received from the remote computer, a certain
other string is to be returned to the remote system. You may have up
to ten separate When commands in operation concurrently.

Here is a very simple fragment of the Scripta script language:

                 When nue... ^M
                 When top? ^M
                 SendWait "Y^M" "no messages" "[ ]"

This would send the string "Y^M", that is, the character Y followed
by a Carriage Return character and would then wait until either of
the two strings "no messages" or "[ ]" was received from the remote
computer. When either of the strings was received, processing would
continue with the next command following the SendWait.

If, at any time during the wait period, either of the strings
"nue..." or "top?" was received, a Carriage Return character would
be sent back to the remote computer.

Throughout this document, the notation ^X where X is any character,
means Ctrl/X. i.e., it refers to the character generated when you
press the key X whilst simultaneously holding down the Ctrl key.

The example used above was ^M. This stands for Ctrl/M which is the
same character as that obtained by pressing the Carriage Return key.

Strings sent to your modem should usually be terminated by ^M whereas
strings sent to the screen or to a printer device are usually
terminated by ^M^J - Carriage Return followed by Line Feed.

Before attempting to write your own Scripta scripts, you should be
COMPLETELY au fait with the workings of the commands SENDWAIT, SEND, 
WAIT, WHEN and ENDWHEN.
