home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
DOOR
/
1STDEAL.ZIP
/
DEALER.DOC
< prev
next >
Wrap
Text File
|
1994-09-01
|
56KB
|
1,619 lines
┌──────────────────────────────────────────────────────────────────┐
│ │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ The Sparkware DEALER System │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ Entire work │ │
│ │ Copyright 1994 by Mark Herring │ │
│ │ All Rights Reserved │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ Sparkware │ │
│ │ Post Office Box 386 │ │
│ │ Hendersonville, Tennessee 37077 │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └────────────────────────────────────────────────────┘ │
│ │
│ │
└──────────────────────────────────────────────────────────────────┘
Table of Contents
License............................................... i
A Piece of the Action?................................ 1
Sounds good to me! What's next?...................... 2
Installing DEALER..................................... 3
Using SETUP........................................... 4
Transfer protocols.................................. 5
Reconcile coupons................................... 5
List of coupons..................................... 6
Commission analysis................................. 6
DOS command line switches........................... 7
Notes............................................... 7
Script commands....................................... 8
ADD................................................. 8
APRINT.............................................. 8
ASK................................................. 9
ASSIGN.............................................. 9
ATTRIBUTE........................................... 9
BEEP................................................ 10
BOX................................................. 10
CALL................................................ 10
CHDIR............................................... 10
CLOCK_PAUSE......................................... 11
CLOCK_RESUME........................................ 11
CLOSE............................................... 11
CLS................................................. 11
COLOR............................................... 11
COMPARE............................................. 12
COPY................................................ 12
COUPON.............................................. 12
DCHECK.............................................. 12
EOF................................................. 12
EXIST............................................... 13
EXIT................................................ 13
FILLSCRN............................................ 13
GETKEY.............................................. 13
GOSUB............................................... 14
GOTO................................................ 14
GREATER............................................. 14
HANGUP.............................................. 14
INSTR............................................... 14
KEYHIT.............................................. 15
KILL................................................ 15
LASTKEY............................................. 15
LESS................................................ 15
LOCATE.............................................. 15
MKDIR............................................... 16
MONO................................................ 16
MREAD............................................... 16
NAME................................................ 16
NULL................................................ 16
ON <choice> GOTO.................................... 17
OPEN................................................ 17
PAUSE............................................... 17
PLAY................................................ 17
PRINT............................................... 18
QPRINT.............................................. 18
QUIT................................................ 19
READ................................................ 19
RETURN.............................................. 19
RUN................................................. 19
SEEK................................................ 20
SET_FILE............................................ 20
SET_PROT............................................ 20
SHELL............................................... 20
SHOW_FILE........................................... 21
WRITE............................................... 21
@Variables supported.................................. 22
Questions and answers................................. 23
License
Before you may use The Sparkware Dealer System you must obtain
a dealer ID from Sparkware by calling our customer support
bulletin board system at (615) 230-8822 and using the "DEALER"
command to register your dealer system. You may also register
with us via the Internet (see Questions and Answers). There is
no charge to register; and you are free to use the software as
designed for the purposes for which it is provided, with
Sparkware products only, unless notified in writing by Sparkware.
By your possession and/or use of this software, you acknowledge
this software incorporates valuable trade secrets of Sparkware
and you agree to all the terms and conditions of this license.
SPARKWARE GRANTS NO WARRANTIES, EXPRESSED OR IMPLIED, BY
STATUTE OR OTHERWISE, REGARDING THE DISK, PROGRAMS AND RELATED
MATERIALS, THEIR FITNESS FOR ANY PURPOSE, THEIR QUALITY,
THEIR MERCHANTABILITY, OR OTHERWISE.
THE LIABILITY OF SPARKWARE UNDER THE WARRANTY SET FORTH ABOVE
SHALL BE LIMITED TO THE AMOUNT PAID BY THE CUSTOMER FOR THE
PRODUCT. IN NO EVENT SHALL SPARKWARE BE LIABLE FOR ANY SPECIAL,
CONSEQUENTIAL, OR OTHER DAMAGES FOR BREACH OF WARRANTY.
SPARKWARE RESERVES THE RIGHT TO MAKE ANY CHANGES TO THESE
PROGRAMS, DOCUMENTATION, AND CUSTOMER SUPPORT PLANS AT ANY
TIME WITHOUT PRIOR NOTICE.
THIS SOFTWARE PROGRAM IS A PROPRIETARY PRODUCT OF SPARKWARE
AND IS PROTECTED BY COPYRIGHTS AND INTERNATIONAL TREATIES.
YOU MAY DISTRIBUTE THIS SOFTWARE TO OTHERS AS LONG AS IT
IS DISTRIBUTED UNMODIFIED. YOU MAY NOT DECOMPILE,
DISASSEMBLE, REVERSE ENGINEER, OR OTHERWISE MODIFY THIS
SOFTWARE OR ANY FILES IT CREATES.
SPARKWARE GRANTS YOU THE RIGHT TO USE THIS SOFTWARE AFTER YOU
REGISTER (FREE OF CHARGE) WITH US AS OUTLINED IN THIS MANUAL.
SPARKWARE RESERVES THE RIGHT TO TERMINATE YOUR RIGHT TO USE
THIS SOFTWARE AT ANY TIME.
IF ANY PROVISION IN THIS LICENSE IS FOUND UNENFORCEABLE, THE
REMAINING PROVISIONS SHALL REMAIN IN FULL FORCE AND EFFECT.
The Sparkware Dealer System
Entire work copyright 1994 by Mark Herring
All Rights Reserved
Sparkware
Post Office Box 386
Hendersonville, Tennessee 37077-0386
(615) 230-8822 24 hour support bulletin board system
(615) 230-MAIL Office (10-12, 1-5 central weekdays)
A Piece of the Action?
----------------------
Just what does this mean to you, a sysop? Well, look at the
large number of shareware and demoware packages that you
offer to your users via your bulletin board system. Whenever
one of your users registers one of these packages with the
author, you don't get a dime for your efforts. You continue
to run you BBS and pay for the expenses out of your own
pocket.
This changes now! This new dealer system from Sparkware
introduces you to a new way to market and profit from
Sparkware products. Now you can benefit each time a user on
your BBS registers a copy of our 1stReader offline mail
reader system with us.
How does this work? Simple. This dealer package includes a
door program that you can install into your own bulletin
board system. Your callers can use this door to find out
what offline mail reading is all about and how 1stReader can
help them get the most out of their offline dollar. The door
program also lets the callers download a demo copy of our
1stReader offline mail system without having to navigate
through your own bulletin board's command structure to find
the file.
And the door program also allows your callers to download an
"electronic coupon". This electronic coupon can be redeemed
by your callers good for $3.00 off our $25.00 registration
price. When your callers register 1stReader with us the
coupon is automatically bundled directly with their order by
1stReader and transmitted to us via our tollfree order line.
When the order system receives the ORDER.ZIP file from your
user the coupon is included and we will let the user register
1stReader for only $22 instead of $25.
PLEASE NOTE: 1stReader 1.12 (or higher) is required by the
caller in order to use this dealer system.
Previous releases of 1stReader will not be able
to work with this dealer system
But here is where YOU fit into the picture. The coupon that
your callers download from our door program is also stamped
with your "Dealer ID" (more about this later) and a unique
serial number. Each time one of your callers redeem this
unique electronic coupon with us via our tollfree order system,
you get $5.00 from Sparkware! At the beginning of each month
you will receive a check from us for the orders processed through
your BBS and our tollfree order system in the previous month.
1
We also provide a sysop utility that keeps track of the how
many coupons your system has issued by caller name. You can
also call our customer support BBS at any time and receive an
ORDERS.NEW file that tells you which coupons were redeemed by
us. You can then import this file into the sysop utility and
quickly find out how many coupons have been redeemed through
your system. You can even import the information into a
spreadsheet for further analysis.
Sounds good to me! What's next?
--------------------------------
This sysop dealer program is only available to bulletin board
systems located in The United States and Canada where access
to our tollfree system is available. It is not available to
sysops located in other countries. Sorry if this means you.
We will cover system installation below. But first, before
you can install our door program you must obtain a "Dealer
ID" from Sparkware. Any coupons received by an unauthorized
system will still be honored for the $3.00 off the
registration price for the caller, but we do NOT reserve the
$5.00 commission from the sale for you unless you are
currently registered with Sparkware and in good standing. Do
not issue yourself a dealer ID and then call us later with
the number. Only Sparkware can issue dealer ID numbers and
besides, you may be using a dealer ID that is already issued
and you will just be putting money into some sysop's pockets.
CALL US TO OBTAIN A DEALER ID BEFORE INSTALLING THIS SYSTEM!
Now, how do you obtain a dealer ID number? Call our customer
support bulletin board system at (615) 230-8822. When you
arrive at the "Main Board Command?" prompt type "DEALER" and
press ENTER. Then follow the instructions on your screen.
No other system or site may issue dealer ID numbers.
The DEALER command will also generate the ORDERS.NEW file
described earlier, so call back from time to time and keep
current on who is registering Sparkware products through your
bulletin board system with us.
You may also send us a dealer ID request via the Internet.
See "Questions and Answers" at the end of this manual for more
information.
PLEASE NOTE! The Sparkware DEALER system issues uniquely
serialized electronic coupons. Once a serial
number has been redeemed by a customer, Sparkware
will no longer honor the dealer commission for that serial number
if it is redeemed by another caller. Once used, a coupon is
'retired' from use.
Installing DEALER
-----------------
The DEALER system you now have is easy to install. Simply
unzip the archive into a separate subdirectory. If you
received The DEALER system on diskette then just copy the
disk's contents to the subdirectory. The DEALER system works
with any bulletin board system that can generate a DOOR.SYS
"drop file". Systems that handle their own internal
multitasking such as TBBS and MajorBBS probably will not work
with DEALER. If you own such a BBS product we leave it to
your devices when it comes to installing DEALER.
The "DEALER.BAT" file will run the DEALER door for you. You
need to edit this batch file with a text editor and modify
the first line of the batch file. Currently, this line reads
as:
\DEALER\DEALER.EXE
If you did not install DEALER into the \DEALER subdirectory
then you need to modify this line so that it will point to
the subdirectory you created. You will also need to add a
command at the bottom of the batch file to reload your
bulletin board software.
All that is left to do is to install DEALER into your
bulletin board system using utilities provided by the authors
of your system. And you should run the SETUP.EXE program
provided with DEALER to check the system's configuration
(such as your bulletin board's name, your name, etc).
3
Using SETUP
-----------
The SETUP program is designed to help you manager your DEALER
system. The main menu is separated into five different
sections. Press the [ESC] key to exit to DOS from the main
menu.
Door information
----------------
This section lets you enter the name of your bulletin
board system, your name (as the sysop), as well as
the Dealer ID code you received from Sparkware.
Also, you can enter the name of the "BBS drop
filespec" used by your BBS. DEALER can support the
following drop files (use these names ONLY, no
pathspecs please):
DOORINFO - used by QuickBBS, Remote
Access, SuperBBS and RBBS.
DOOR.SYS - Telegard, Force!, PcBoard and
Gap, among others.
INFO.BBS - Phoenix BBS
CALLINFO.BBS - Wildcat!, Genesis and Force!
SFDOOR.DAT - Spitfire
CHAIN.TXT - WWIV
PCBOARD.SYS - PCBoard
DOBBS.BAT - FrontDoor
Script filespec is the name of the startup script to
use (usually, this is MASTER.SCR). And finally, if
you are using a FOSSIL driver with your bulletin
board system then you can set this switch so DEALER
will communicate through the fossil driver.
4
Transfer protocols
------------------
This section lets you enter the file transfer
protocol definitions used by the DEALER system. We
have already predefined the Xmodem, Ymodem, Ymodem/G
and Zmodem definitions using the QSZ protocol engine
from Sparkware, but you may change any of the command
definitions you wish. Just use the arrow keys and
press ENTER (or press the letters A-Z) to make your
selection.
You may be interested in a few "@variables" supported
by the DEALER system. These variables are:
@PORT@ - The serial port number
@RATE@ - Connect baud rate
@FILE@ - Name of the file to transfer.
(The SET_FILE command will
let you set this variable.
See the section on script
commands for more
information).
Reconcile coupons
-----------------
After you have been setup as a Sparkware dealer you
may call our customer support system from time to
time to download a file named ORDERS.NEW from our own
DEALER system.
This file contains all of the coupons processed by
our tollfree order system that originated from your
BBS. You may then import the information contained
in ORDERS.NEW into your own coupon logs kept by the
DEALER system so you may find out how many coupons
have been redeemed.
To get your copy of your ORDERS.NEW file call our
customer support system at (615) 230-8822 and use
the DEALER command to access our dealer system.
Then use the "4" command from the menu to generate
and download your copy of ORDERS.NEW.
Simply tell SETUP where the ORDERS.NEW file is
located and it will import the information into your
own coupon log file.
5
List of coupons
---------------
This section will let you see a list of callers to
your system who received electronic coupons from the
DEALER system. You may use the arrow keys on your
keypad to move around the list of entries. Press the
[ESC] key to quit.
After you quit viewing your entries you will be asked
if you wish to print a report on your printer. If
you do decide to print a report on your printer then
SETUP will also create a text file named REPORT.ASC
that contains coupon information that you may import
into a spreadsheet program for further analysis. The
format of REPORT.ASC is (one entry per line):
S/N,User name,DL date,Redemption date,Product,$Comm
Commission analysis
-------------------
This section provides a quick analysis of the
commissions you have earned in the DEALER program
from Sparkware.
6
DOS command line switches
-------------------------
SETUP allows you to use DOS command line switches so
you can use some of the features in a "batch" mode.
These switches are supported:
SETUP /KEY:<value>
<value> corresponds to a letter selection in
the menu. If "/KEY:C" is used then SETUP
will attempt to find the COUPONS.NEW file and
if found will import them into your log of
coupons kept by DEALER. "/KEY:D" will print
a list of coupons on your printer as well as
generate the REPORT.ASC file for spreadsheet
use.
SETUP /PRT:<filename>
This command line switch lets you redirect
printer output from the "PRN" default to any
other device or file you wish. You can use
the command:
SETUP /KEY:D /PRT:BLT1
to make SETUP produce a bulletin of issued
coupons for your own use.
Notes
-----
The coupon logs and information are stored in the
files COUPONS.CNT and COUPONS.DAT. Under no
circumstances should you delete these files. If you
do delete then and simply allow them to be recreated
by the DEALER system then your electronic
coupons would begin with serial #1. And these
coupons may have already been redeemed and are no
longer valid (see "Please Note!" on page #2).
7
Script commands
---------------
The following script commands are supported by the DEALER
system. This manual is only a reference guide for the
commands and their functions. A tutorial is beyond the scope
of this manual.
Command: ADD
Syntax: ADD(Variable$,value)
Example: ADD(Count$,5)
Variable$ is any previously assigned variable. "value"
can either be a literal value or another variable.
Command: APRINT
Syntax: APRINT(Variable$,Row,Col,Color[,MonoColor])
Example: APRINT("This is a test",12,33,-1)
APRINT writes a text string to the ROW and COLumn
positions on your screen. Variable$ can either be an
assigned variable or text. COLOR is the color to
display Variable$ on the screen. Setting color to '-1'
tells APRINT to use the current color found at ROW,COL.
Passing APRINT a COLumn value of '-1' tells APRINT to
center Variable$ on your screen.
You can also pass a fifth parameter to APRINT. The
fifth parameter is the color to use if displaying the
text on a monochrome system. If you do not include
the fifth parameter APRINT always uses the COLOR
attribute.
You can also call APRINT once with a full list of
parameters and then call APRINT passing only the text to
print. Example:
APRINT ("This is a test",12,20,-1)
APRINT ("--------------")
When you omit the extra parameters APRINT will increment
the last ROW value by one and use the last COLumn and
COLOR values.
The main difference between APRINT and QPRINT is that
APRINT displays Variable$ on the caller's screen
allowing you to use @x color codes while QPRINT displays
Variable$ through direct screen writes.
8
Command: ASK
Syntax: ASK("Prompt text",Variable$,Color,Mono,Len)
Example: ASK("Your name? ",Name$,112,30)
The ASK command will allow you to take keyboard input
and load the result into a variable. COLOR is the
attribute to use for the data entry field if the caller
is in graphics mode. Otherwise, the MONO attribute is
used instead. LEN is the maximum data field length.
Command: ASSIGN
Syntax: ASSIGN(Variable$,SET,"text")
Example: ASSIGN(Path$,0,"C:\1ST\"+Filename$)
The ASSIGN command assigns a value (either another
variable or string text) to Variable$. This command
does support 'joining' two strings together using the
'+' character.
If SET=0 then "text" is simply assigned to Variable$
IF SET<0 then "text" is LSET into a string -SET
characters long. If SET>0 then "text" is RSET into a
string SET characters long.
If Variable$ has not been previously assigned then
DEALER creates a new variable entry in its table.
You can have up to 100 active variables.
DEALER pre-initializes these variables for you:
Variable Description
──────── ─────────────────────────────────────
_YES$ Y
_NO$ N
_PRESS$ Press any key to continue...
_PAUSE$ More (Y/N)?
_COMMAND$ (DOS command parameters passed to
DEALER)
Command: ATTRIBUTE
Syntax: ATTRIBUTE(Color[,MonoColor])
Example: ATTRIBUTE(48,112)
The ATTRIBUTE command will change the color attribute
on the caller's screen. If you pass DEALER a MonoColor
parameter then DEALER will use this value if the caller
is in non-graphics mode.
9
Command: BEEP
Syntax: BEEP[(Tone,Duration)]
Example: BEEP(3000,1)
The BEEP command will sound a tone on the PC speaker.
If you do not pass parameters to BEEP then (2500,1)
will be used as a default value.
Command: BOX
Syntax: BOX(ULRow,ULCol,LRRow,LRCol,Color,MonoColor
,Frame,Shadow [,Text$,Header$])
Example: BOX(10,10,14,70,48,112,1,1,"Testing...","Option")
The BOX command draws a box on the screen. ULRow,
ULCol, LRRow and LRCol describe the box boundaries.
COLOR and MONOCOLOR are the two attributes to choose
from (depending if you are using a color or monochrome
display). FRAME can be one of the following values:
1 = single line all around the box
2 = double line all around the box
3 = double line horizontally, single line vertically
4 = single line horizontally, double line vertically
If SHADOW is set to '1' then a shadow is added to the
box. TEXT$ is optional and if used TEXT$ is centered in
the middle of the box. HEADER$ is also optional and if
used will be used as the 'name' of the box.
Command: CALL
Syntax: CALL <Scriptname>
Example: CALL SCRIPT2.SCR
The CALL command lets you call another DEALER script
(.SCR). After the script has executed the program
returns to the original script at the next statement
after the CALL command.
Command: CHDIR
Syntax: CHDIR Variable$
Example: CHDIR "C:\1ST"
The CHDIR command changes the current subdirectory to
Variable$. It will also change drives if needed.
10
Command: CLOCK_PAUSE
Syntax: CLOCK_PAUSE
Example: CLOCK_PAUSE
Pauses the time left clock. Please note that the
built-in computer's clock is not altered in any way.
Command: CLOCK_RESUME
Syntax: CLOCK_RESUME
Example: CLOCK_RESUME
Restarts the time left clock paused by the CLOCK_PAUSE
command.
Command: CLOSE
Syntax: CLOSE [FileNum]
Example: CLOSE 1
The CLOSE command will close a file previously opened by
the OPEN command. If you do not pass a file number with
the command then ALL open files will be closed.
Command: CLS
Syntax: CLS[(Color,MonoColor)]
Example: CLS(48,112)
The CLS command will clear the screen. If you do not
pass it parameters then the current screen color is
used. Otherwise, you can pass it COLOR and MonoColor
values that will be used depending if the caller is
in graphics mode or not.
Command: COLOR
Syntax: COLOR[(Color,MonoColor)]
Example: COLOR(48,112)
The COLOR command will set the current screen colors to
the parameters passed to the command. If the caller is
in graphics mode then the "color" value is used.
Otherwise, the "monocolor" value is used instead.
11
Function: COMPARE
Syntax: COMPARE(Variable1$,Variable2$)
Example: IF COMPARE(Choice$,1) THEN GOTO ...
The COMPARE function will compare any two variable (or
even text) values and will set the function to TRUE if
the strings are equal. Note that upper/lower case does
not matter with this function.
Command: COPY
Syntax: COPY(FileSpec1$,FileSpec2$)
Example: COPY(Manual$,"C:\1ST")
The COPY command will copy one file to another file
location. You can specify variables or text in this
function.
Command: COUPON
Syntax: COUPON <Product>
Example: COUPON "1ST"
The COUPON command will generate a Sparkware "electronic
coupon". The <Product> name must be passed to the
command and be eight characters or less in size. If the
command is successful then a <Product>.CPN file is
created.
Command: DCHECK
Syntax: DCHECK Variable$
Example: DCHECK Target$
The DCHECK command is used to make sure that a
subdirectory entry has a trailing '\' character.
If Variable$ does not end with a '\' then one is added
to the variable.
Function: EOF
Syntax: EOF(FileNum)
Example: IF EOF(1) THEN GOTO ...
The EOF function returns TRUE if FileNum has reached the
"End of File" position while reading the file.
12
Function: EXIST
Syntax: EXIST Variable$
Example: IF EXIST "1ST.CPN" THEN GOTO ...
The EXIST function returns TRUE if Variable$ file
exists.
Command: EXIT
Syntax: EXIT
Example: EXIT
The EXIT command has no parameters. It will exit the
current script and either return to the CALLing script
or exit to DOS.
Command: FILLSCRN
Syntax: FILLSCRN(ULRow,ULCol,LRRow,LRCol,ASCII Char,Color
[,MonoColor])
Example: FILLSCRN(1,1,25,80,32,48,112)
The FILLSCRN command fills a portion of the screen
with an ASCII character. ULRow, ULCol, LRRow and
LRCol describe the screen boundaries. COLOR and
MONOCOLOR are the two attributes to choose from
(depending if the caller is in graphics mode or
not). ASCII CHAR is an ASCII character between 0
and 255 to use to fill the screen.
Command: GETKEY
Syntax: GETKEY(Variable$[,ChoiceList])
Example: GETKEY(Choice$,"ABCDE")
The GETKEY command will poll the keyboard for a
keystroke. The keystroke is loaded into Variable$.
You can also specify an optional list of acceptable
keystrokes to the GETKEY command. If you do pass a
list of keystrokes then Variable$ is loaded with the
NUMBER of the character received. For example, in the
above example, if "C" had been pressed then Variable$
would have been loaded with "3" since "C" is the third
item in the list.
13
Command: GOSUB
Syntax: GOSUB <label>
Example: GOSUB PrintIt
The GOSUB command will transfer control of the script to
the <label> routine (if <label> is found). The script
will continue until a RETURN command is found. Then,
execution is returned to the next line after the GOSUB
command. You can nest up to 20 GOSUBs at one time.
Command: GOTO
Syntax: GOTO <label>
Example: GOTO Done
The GOTO command will transfer control of the script to
the <label> routine (if <label> is found). Unlike
GOSUB, GOTO will not return back to the next instruction
following the GOTO command.
Function: GREATER
Syntax: GREATER(Variable1$,Variable2$)
Example: IF GREATER(Choice$,1) THEN GOTO ...
The GREATER function compares two variables (or text
strings) and will return TRUE if Variable1$ is greater
than Variable2$.
Command: HANGUP
Syntax: HANGUP
Example: HANGUP
The HANGUP command will disconnect the caller.
Function: INSTR
Syntax: INSTR(Start,Variable$,Find$)
Example: IF INSTR(1,Name$,"1ST") THEN GOTO ...
The INSTR function searches Variable$ for Find$ (or text
strings). START is the starting position in Variable$
to use when looking for Find$. If Find$ is found in
Variable$ then the function returns TRUE.
14
Function: KEYHIT
Syntax: KEYHIT
Example: IF KEYHIT THEN GOTO ...
The KEYHIT function tests to see a keystroke was pressed
by the user. You can use it to test for certain values
and transfer control based on those values.
Command: KILL
Syntax: KILL Variable$
Example: KILL "TEMP"
The KILL command will delete a file from the disk.
Function: LASTKEY
Syntax: LASTKEY
Example: IF LASTKEY 27 THEN GOTO ...
The LASTKEY function returns the last keystroke pressed
by the user. You can use it to test for certain values
and transfer control based on those values.
Function: LESS
Syntax: LESS(Variable1$,Variable2$)
Example: IF LESS(Choice$,1) THEN GOTO ...
The LESS function compares two variables (or text
strings) and will return TRUE if Variable1$ is less
than Variable2$.
Command: LOCATE
Syntax: LOCATE(Row,Col)
Example: LOCATE(12,40)
The LOCATE command positions the cursor to the ROW and
COLumn specified in the argument list.
15
Command: MKDIR
Syntax: MKDIR Variable$
Example: MKDIR "C:\1ST"
The MKDIR command will create a subdirectory. You can
use a variable or a text string to hold the subdirectory
name.
Function: MONO
Syntax: MONO
Example: IF MONO THEN GOTO ...
The MONO function will return TRUE if the caller is
in non-graphics mode. Otherwise, the function returns
FALSE.
Command: MREAD
Syntax: MREAD(FileNum,Lines[,Find$])
Example: MREAD(1,20,":START")
The MREAD command will display text through the ANSI
interpreter. The FILENUM is the number of the file
buffer opened using the OPEN command. LINES is the
number of lines to read before returning control back to
the script. You can also add a third parameter (either
a variable or text string) that tells MREAD to begin
displaying text after FIND$ was read. If MREAD reads
the line of text "@EXIT@" it will exit the current read.
Note that you will need to use the EOF() function to
test and see if you are finished reading the file.
Command: NAME
Syntax: NAME Variable1$ AS Variable2$
Example: NAME "DEALER.DOC" AS "DEALER.TXT"
The NAME command renames a file to another filename.
Function: NULL
Syntax: NULL(Variable$)
Example: IF NULL(Answer$) THEN ...
The NULL function lets you check to see if a variable
is "empty" and does not contain a value.
16
Command: ON
Syntax: ON Variable$ GOTO ...
Example: ON Choice$ GOTO Label1,Label2,Label3,....
The ON command assumes that Variable$ contains a numeric
value. If Variable$="1" then ON will transfer control
to the label "LABEL1". If Variable$="2" then ON will
transfer control to "LABEL2", etc.
Command: OPEN
Syntax: OPEN(Variable1$,FileNum,Variable2$)
Example: OPEN("I",1,"DEALER.DOC")
The OPEN command will open a file for input or output
mode. The mode is determined by the first variable (or
text string) parameter. Valid values are:
"O" Opens Variable2$ for OUTPUT
"A" Opens Variable2$ for APPEND
"I" Opens Variable2$ for INPUT
"B" Opens Variable2$ for BINARY
FILENUM contains the file number to assign to this file.
Command: PAUSE
Syntax: PAUSE [seconds]
Example: PAUSE 10
The PAUSE command will pause execution of the script
until a key has been pressed. If you include the
optional [seconds] parameter then PAUSE will wait
[seconds] for a keystroke and if a key was not pressed
then execution continues with the next statement.
Command: PLAY
Syntax: PLAY Variable$
Example: PLAY "T120O2G8G8G8G8A8A8G16E16C8C8C16C16D16C16"
The PLAY command plays a ANSI music string to your PC's
speaker.
17
Command: PRINT
Syntax: PRINT Variable$
Example: PRINT "This is a test"
The PRINT command displays Variable$ on the screen
at the current cursor location.
Command: QPRINT
Syntax: QPRINT(Variable$,Row,Col,Color[,MonoColor])
Example: QPRINT("This is a test",12,33,-1)
QPRINT writes a text string to the ROW and COLumn
positions on your screen. Variable$ can either be an
assigned variable or text. COLOR is the color to
display Variable$ on the screen. Setting color to '-1'
tells QPRINT to use the current color found at ROW,COL.
Passing QPRINT a COLumn value of '-1' tells QPRINT to
center Variable$ on your screen.
You can also pass a fifth parameter to QPRINT. The
fifth parameter is the color to use if displaying the
text on a monochrome system. If you do not include
the fifth parameter QPRINT always uses the COLOR
attribute.
You can also call QPRINT once with a full list of
parameters and then call QPRINT passing only the text to
print. Example:
QPRINT ("This is a test",12,20,-1)
QPRINT ("--------------")
When you omit the extra parameters QPRINT will increment
the last ROW value by one and use the last COLumn and
COLOR values.
The main difference between QPRINT and APRINT is that
QPRINT displays Variable$ through direct screen writes
while APRINT displays Variable$ on the caller's screen
as well.
18
Command: QUIT
Syntax: QUIT
Example: QUIT
The QUIT command will close the current script and
return the caller back to the bulletin board system.
It does not disconnect the caller like the HANGUP
command.
Command: READ
Syntax: READ(FileNum,Variable$[,UPPER,TRIM])
Example: READ(1,Name$,TRIM)
The READ command will read one line of input from a
previously OPENed file into Variable$. You can also use
the parameters UPPER (to convert the input to upper
case) and TRIM (to trim spaces from the left and right
of the string).
Command: RETURN
Syntax: RETURN [label]
Example: RETURN
The RETURN command will return control back to the
script at the next command *after* the calling GOSUB
command. You can optionally return control to a label
by placing the label's name on the same line.
Command: RUN
Syntax: RUN ScriptName$
Example: RUN "SCRIPT2.SCR"
The RUN command will transfer control to another DEALER
script command. Unlike the CALL command, RUN does not
return back to the calling script once execution is
complete.
19
Command: SEEK
Syntax: SEEK(FileNum,<Byte Position|Variable$>)
Example: SEEK(1,4000)
The SEEK command will position the file pointer for
FILENUM to BYTE POSITION in the file. You can also
specify a string Variable$ instead of a byte position
and DEALER will scan the file to locate Variable$
from the current position. If the string was not found
the file pointer is restored to the previous position.
Command: SET_FILE
Syntax: SET_FILE Variable$
Example: SET_FILE "1ST.CPN"
The SET_FILE command will set an internal variable in
the DEALER system that is used whenever the @FILE@
variable is encountered. This lets you set a filename
and use it later in a DOS command.
Command: SET_PROT
Syntax: SET_PROT Variable$
Example: SET_PROT "Z"
The SET_PROT command is used to define a file transfer
protocol to use within the DEALER system. You may
either pass a letter (A-Z) or a number (1-26) that
corresponds with the protocol you wish to use. It is
up to you to make sure that the protocol being selected
is defined in SETUP under "Transfer protocols".
Command: SHELL
Syntax: SHELL(Variable$)
Example: SHELL("1ST")
The SHELL command will execute a DOS program or batch
file from inside DEALER.
20
Command: SHOW_FILE
Syntax: SHOW_FILE Variable$
Example: SHOW_FILE "LOGO"
The SHOW_FILE command will display a text file to the
caller. DEALER will pause every 23 lines for a MORE?
prompt to be displayed. The SHOW_FILE command will
honor these @variables in the text file itself:
@PAUSE@ Pauses display of the text and asks
for "More?"
@MORE@ Same as @PAUSE@
@POFF@ Turn off the 23 line checking
so displays do NOT pause.
@PON@ Turns 23 line checking on.
Command: WRITE
Syntax: WRITE(FileNum,Variable$)
Example: WRITE(1,"This is a test")
The WRITE command will write information to a previously
OPENed file. If you are writing to a file that was
opened for BINARY mode then a CR/LF is not added to the
file.
If you wish to write out hexadecimal values you can use
the "X'nn" format where "nn" is the value (in hex) to
write.
21
@Variables supported
--------------------
These @variables are supported by the DEALER system. You may
use them anywhere you wish within a script or text file.
@BAUD@ Connect rate of the caller
@BBSNAME@ The name of your bulletin board system
@CLS@ Clears the screen
@DATE@ Today's date in MM-DD-YY format
@DEALER@ Your Sparkware Dealer ID
@FILE@ Replaced with file used in SET_FILE
@FILESIZE(<Filename>) Displays size (in bytes) of <Filename>
@PORT@ Serial port
@PROT_DL@ Protocol download command
@PROT_NAME@ Protocol upload command
@PROT_UP@ Protocol description
@SYSDATE@ Today's date in MM-DD-YY format
@SYSDIR@ The DEALER system directory
@SYSOP@ Your name (as sysop)
@SYSTIME@ Current system time in HH:MM format
@TIME@ Current system time in HH:MM format
@TIMELEFT@ Time caller has left on this call
@YEAR@ Current year (in YYYY format)
22
Questions and answers
---------------------
Q: What happens if I just install this dealer system but do
not obtain a dealer ID from Sparkware?
A: Your callers will be able to download the electronic
coupon that is good for $3.00 off the 1stReader registration
price. However, you are not entitled to receive the $5.00
dealer commission for each copy sold through this door until
you receive a dealer ID from us.
Q: Why can't I just generate one 1ST.CPN coupon file and insert
it into my copy of 1ST-112.ZIP so that when anyone downloads
this file from my system the coupon is already there and ready
to use?
A: This won't work because each coupon generated by the door
includes a unique serial number. Once a caller redeems this
serialized coupon with us, the serial number is 'retired' and
is not able to be used again. This means that you will only
earn your $5.00 dealer commission on the *first* use of the
coupon and loose it for all other sales made with the same
coupon. In other words, don't do this...
Q: Is there a Sparkware support conference that my system can
carry for our callers?
A: Yes! We provide support through our 1stReader support
conference and we do echo this conference with any dealer
who wishes to receive the conference from us in QWK format.
Registered dealers also have access to conference #21 on
our customer support system. This is where you can find
the latest updates to this system as well as ideas and
tips to help introduce your callers to the 1stReader system.
Q: Can I use Sparkware's dealer system for any other products
I wish to sell?
A: No. This is a violation of our license agreement to use
this software. If you wish to insert any text files or
scripts that do not directly support our products please
contact us first for permission. Hints, tips or text about
our products are ok to use with our system.
23
Q: Can I request my Sparkware Dealer ID over the Internet?
A: Yes! Send a message to our Internet address (contact us at
sparky@rodent.raider.net) with the following information
completed:
Your name.........
Address line #1...
Address line #2...
City..............
State.............
Zip code..........
Home telephone....
Work telephone....
BBS software used.
Name of BBS.......
BBS telephone.....
We will send your Sparkware Dealer ID back to you so you can
begin using The DEALER System immediately. Please note that
we cannot send ORDERS.NEW via the Internet.
24