home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-09 | 140.0 KB | 5,036 lines |
-
-
-
-
-
- {COMMO} (tm)
-
- "A New Standard in Telecommunications"
-
-
- by Fred P. Brucker
-
-
-
-
-
- Part II
- Macro Programming Guide
-
-
- Release 6.0
- April 9, 1994
-
-
-
-
- The {COMMO} program and associated on-disk documentation are the property
- of Fred P. Brucker (the "author") and may not be sold without permission.
- The Shareware version may be distributed, unaltered and as a unit, via
- Electronic Bulletin Board Systems.
-
- SHAREWARE DISTRIBUTORS and clubs, please see the file VENDOR.DOC for
- distribution guidelines.
-
-
- THE AUTHOR OF THIS PROGRAM DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR
- IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH REGARD TO THE
- SOFTWARE, THE ACCOMPANYING WRITTEN MATERIALS AND THE DISKETTES. IN NO
- EVENT SHALL THE AUTHOR BE LIABLE TO YOU FOR ANY CONSEQUENTIAL, SPECIAL,
- INCIDENTAL OR INDIRECT DAMAGES OF ANY KIND ARISING OUT OF THE USE OF THE
- SOFTWARE, EVEN IF THE AUTHOR HAS BEEN SPECIFICALLY ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL THE AUTHOR'S LIABILITY
- EXCEED THE ACTUAL PRICE PAID FOR THE LICENSE TO USE THE SOFTWARE.
-
- YOUR USE OF THIS PROGRAM CONSTITUTES YOUR ACCEPTANCE OF THESE TERMS.
-
-
- {COMMO} is a trademark of Fred P. Brucker. All other trademarks and
- registered trademarks referenced in this document are the property of their
- respective owners.
-
-
-
- ================================
- {COMMO} Registration Information
- ================================
-
- {COMMO} is a "SHAREWARE" product. You are entitled to evaluate it for
- 30 days. If it suits your needs and you would like to continue using
- it, then you must pay the licensing fee. Please use the REGISTRATION
- FORM on the next page.
-
- When you REGISTER you will be licensed to use all future SHAREWARE
- releases of {COMMO}. You will never have to pay an "update" charge.
- Registration allows you to eliminate delay screens and to enable extra
- features (see READ.ME for list). Registered users will receive
- priority support on Bulletin Boards and CompuServe (see READ.ME).
-
- Call or write for pricing information on MULTI-USER (SITE) and
- DISTRIBUTION licenses. Discounts are given on quantities of 10 or more.
-
- All prices shown are US DOLLARS. Please remit US FUNDS on US BANK only.
- NET 30 TERMS will be accepted on purchase orders totalling $100.00 or
- more.
-
- The PRINTED MANUAL is 7 x 8.5 (inches) in size and includes an index.
- The DISKETTE has the latest {COMMO} release plus the utilities listed
- in READ.ME (COMMOPNS, MOSTHOST, CMC, etc.).
-
- For orders, inquiries and support for registered users, call MON-SAT,
- 9am-5pm, EASTERN time. If you get my answering machine, please try
- again later (I cannot return long distance calls).
-
- To register by E-mail on CompuServe or Internet, upload the completed
- Registration Form as a message (text or binary).
-
- MAILING ADDRESS: Fred P. Brucker
- P.O. Box 141537
- Columbus, OH 43214
-
- VOICE TELEPHONE: (614) 326-1309
- COMPUSERVE: 71021,356
- INTERNET: 71021.356@compuserve.com
-
- PAYMENT OPTIONS:
-
- 1) CHECK or MONEY ORDER: make payable to FRED P. BRUCKER.
-
- 2) CREDIT CARD: fill in the credit card information at the bottom of
- the Registration Form (next page). Credit card orders may be mailed,
- phoned or E-mailed via CompuServe.
-
- --------------------------------------------------------------------------
-
-
-
- {COMMO} 6.0 SINGLE USER REGISTRATION FORM
-
- Name _______________________________________________________________
-
- Company name (if company address) ____________________________________
-
- Address _______________________________________________________________
-
- _______________________________________________________________
-
- _______________________________________________________________
-
- * All prices include shipping and handling * Number
- of Copies
- {COMMO} single user license with PRINTED MANUAL and DISKETTE:
- Price in USA/Canada/Mexico ....................... $ 53.00 ____
- OHIO residents (includes sales tax ) ............. 56.05 ____
- All other countries .............................. 60.00 ____
-
- {COMMO} single user license, with DISKETTE:
- All countries .................................... 40.00 ____
- OHIO residents (includes sales tax) .............. 42.30 ____
-
- BBS sysops, students, seniors, low-income, with DISKETTE:
- All countries .................................... 30.00 ____
- OHIO residents (includes sales tax ) ............. 31.73 ____
- Please state category ______________
-
- >>>>>>>>>>>>>>>>>> Specify diskette format: 5.25" ____ 3.5" ____
-
- Payment method: Check__ Money order__ Visa__ MasterCard__
- Carte Blanche__ Diners Club__ JCB__ PO__
-
-
- Enter total amount: $ ____________
-
-
- INFORMATION FOR CREDIT CARD PURCHASES ONLY:
-
- Card No. ________ ________ ________ ________ Expires ____/____
-
- Cardholder signature _____________________________________________
-
- Cardholder name __________________________________________________
-
- Daytime telephone (_____) _____ _______
-
- --------------------------------------------------------------------------
-
-
-
-
- Answers to the following questions will help me serve you better in the
- future:
-
- How did you obtain {COMMO}? (If BBS, please give name and phone number)
-
- ________________________________________________________________________
-
- In general terms, what do you use {COMMO} for?
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- What type of computer and modem do you use?
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
-
- Comments / Questions ___________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
-
- Thank you, and I hope you enjoy {COMMO}.
-
-
-
- -6-
-
- ========
- Contents
- ========
-
-
- Programming {COMMO} Macros . . . . . . . . . . . . . . . . . . . . . . 9
- Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
- Macro Structure . . . . . . . . . . . . . . . . . . . . . . . . . 9
- Macro Functions . . . . . . . . . . . . . . . . . . . . . . . . . 10
- Macro Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
- Macro Variables . . . . . . . . . . . . . . . . . . . . . . . . . 13
- How to Use Variables . . . . . . . . . . . . . . . . . . . . . . . 14
- Reserved Variables . . . . . . . . . . . . . . . . . . . . . . . . 15
- Executing Macros . . . . . . . . . . . . . . . . . . . . . . . . . 16
- Additional Macro Execution Rules . . . . . . . . . . . . . . . . . 16
- Cancelling a Macro . . . . . . . . . . . . . . . . . . . . . . . . 17
- A Macro Example in Detail . . . . . . . . . . . . . . . . . . . . 17
-
- Description of Functions (Alphabetical) . . . . . . . . . . . . . . . . 20
- ABAUd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- ALARm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- ASCIiup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
- AUTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
- BEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
- BREAk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
- CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
- CALOok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- CAPMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- CAPTure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
- CHATmode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
- CLEAr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
- COMPare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
- CURSor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
- DECRement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
- DIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
- Marking Numbers for Dialing . . . . . . . . . . . . . . . . . 30
- Automatic Resumption of Dialing . . . . . . . . . . . . . . . 31
- Testing Success and Failure Results . . . . . . . . . . . . . 31
- Handling Incoming Calls . . . . . . . . . . . . . . . . . . . 32
- DISPlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
- DIVIde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
- DOORway . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
- DPARms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
- EDIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
- ELAPse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
- EXECute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
- Using the Direct Switch: EXEC-D . . . . . . . . . . . . . . . 38
- Using the Swap to Disk Switch: EXEC-S . . . . . . . . . . . . 39
- EXECute Preview Mode . . . . . . . . . . . . . . . . . . . . 39
- EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
- FILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
- FONFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
- GETString . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
-
-
-
- -7-
-
- GOLOok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
- GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
- HANGup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
- HELP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
- HOLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
- IFCArrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
- IFCOndition . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
- IFERrorlevel . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
- IFEXist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
- INCRement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
- INFOrm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
- INITmodem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
- INPUt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
- INSTring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
- KEYStuff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
- LENGth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
- LIGHts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
- LOCAlecho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
- LOOKfor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
- MACRo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
- MARK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
- MENU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
- MULTiply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- NOCArrier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- NOOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- OFFLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
- PARMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
- PASSword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
- PAUSe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
- POPStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
- PRINtlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
- PUSHstack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
- RCLOse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
- READ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
- RETUrn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
- ROPEn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
- RTRAn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
- RXMOdem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
- RYMOdem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
- SCREen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
- SCROllback . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
- SEND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
- SETDial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
- SETEsc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
- SETGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
- SETLook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
- SETVariable . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
- SFICtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
- SHELl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
- SIGNal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
- SOUNd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
- SPDCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
- SPOCtrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
-
-
-
- -8-
-
- SSLOok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
- STATusline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
- STOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
- STRAn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
- SUBString . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
- SXMOdem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
- SYMOdem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
- TOGGles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
- UNLOad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
- UNMArk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
- VIDEo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
- VTCUr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
- VTPAd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
- WCLOse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
- WINDow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
- WOPEn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
- WRITe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
-
- For APPENDICES see Part I, COMMO.DOC. . . . . . . . . . . . . . . . . . 94
-
-
-
- -9-
-
- ========== Programming {COMMO} Macros
-
-
- IMPORTANT! Please read the next few pages before you attempt to write any
- macros! The rules for writing {COMMO} macros are few in number, but must
- be followed carefully.
-
- Examples of more complex macro programming are given in the sample Macro
- File COMMO.MAC, in the supplied file SAMPLES.MAC and in the Host Mode and
- Guide macros. A macro from SAMPLES.MAC is discussed in detail at the end
- of this section.
-
- The following pages assume familiarity with {COMMO}'s key commands and with
- other features of the program. Since many macro functions have
- corresponding key commands, duplicate explanations will not be given here.
- Refer to the description of the key command in Part I.
-
-
- -----===== Overview
-
-
- {COMMO}'s Macro Files may contain any number of macros and are limited in
- size to 64k bytes each (total of 128k with resident and auxiliary).
-
- Macros are "interpreted," which implies the following:
-
- (1) Macros are not acted upon until they are executed.
-
- (2) Only macros within the currently loaded Macro File(s) are
- available for use.
-
- (3) Macros added or modified with the Internal Editor are available
- immediately.
-
- COMMO.MAC is the resident Macro File. An auxiliary Macro File may be
- loaded (or replaced) at any time using the CALL and GOTO functions (or
- manually within the Macro File window). See the individual descriptions of
- the CALL, GOTO and RETUrn functions for details. See also Appendix K for
- more information on Macro Files.
-
-
- -----===== Macro Structure
-
-
- Macros consist of a series of items enclosed in curly braces. Items may be
- placed on the same line or on as many lines as desired. The file is
- entirely free-form. Lines may be up to 255 characters in length and all
- text outside the curly braces is commentary and is ignored when macros are
- executing.
-
- There are two types of items: "functions" and "labels."
-
-
-
- -10-
-
- Functions are action items. Some are equivalent to {COMMO} key
- commands, such as DIAL, while others are unique to the macro language,
- such as SETVariable.
-
- Labels are macro entry points and may be placed anywhere within the
- Macro File.
-
-
- -----===== Macro Functions
-
-
- Each macro function is described in detail later in this document. See
- also Appendix J "Macro Functions Listed by Class."
-
-
- The general form of any macro function is:
-
- {name-switches arg1,arg2,...,argn}
-
- name
- The function name describes the action to be performed and
- consists of four or more characters. Only the first four are
- significant and case is ignored.
-
- switches
- These are used to alter the operation of a function. Each
- switch is a single letter and may be followed by a numeric
- value, usually "1" or "0" to indicate "yes" or "no"
- respectively.
-
- Switches have default interpretations when the numeric value
- is omitted, or when the switch is not present.
-
- Switches must be separated from the name with a hyphen (no
- intervening spaces). They may be upper or lower case.
-
- See individual function descriptions for details (note that
- only certain functions have switches).
-
- args
- A SINGLE SPACE separates the arguments from the function
- name and switches.
-
- Individual arguments are separated with commas and may
- contain no extraneous spaces (all spaces are significant).
-
- NOTE: Curly braces may be represented within macro functions by using ^(
- for { and ^) for }.
-
-
-
- -11-
-
- Examples:
-
- {send Hi, how are you?}
-
- This function sends the string "Hi, how are you?" to the modem.
- SEND has only one argument -- the string to send out. Since the
- string is the last argument, it may contain commas and spaces.
- Quotes are not used to define strings.
-
- {ifcon-LE label1,label2}
-
- The IFCOndition function tests for conditions set by other
- functions, such as COMPare. Here two switches are present,
- telling {COMMO} to test for less than or equal:
-
- L Test for "less than."
- E Test for "equal."
-
- The two arguments are labels to GOTO depending on the conditions.
-
- Notice that "name-switches" may be written in a number of
- different ways:
-
- ifco-LE ifcondition-EL ifcond-LE
-
- {asci-S0E1 path\filename}
-
- The ASCII Upload function will send the file indicated by
- "path\filename." The switches override current settings and tell
- {COMMO}:
-
- S0 Do NOT strip linefeeds.
- E1 DO expand blank lines (may also be written "E").
-
- {sound} {sound yes}
-
- The first function will TOGGLE Master Sound ON/OFF (since there
- is no argument). The second will turn the sound ON.
-
-
- One very important function is the STOP function. It is used to terminate
- macro execution and may appear in either its long form or short form:
-
- ... {stop} long form
- ... {} short form
-
- Macro execution continues until a STOP function is executed. Be sure to
- use one or execution will continue into the next macro in the Macro File!
-
-
-
- -12-
-
- -----===== Macro Labels
-
-
- Labels are identifiers consisting of one or more characters. When a label
- is defined, it must be preceded by a colon. References to labels, such as
- {goto label}, do not require the colon.
-
- IMPORTANT! {COMMO} always searches for labels from the beginning of the
- auxiliary Macro File (if one is loaded), then from the beginning of the
- resident Macro File. This means that if a label is duplicated within the
- files, the first occurrence will be used.
-
- Only the first eight characters in a label are significant. Case is
- ignored. All characters are allowed in labels except the following:
-
- colon ":"
- space " "
- comma ","
- slash "/"
- curly braces "{" or "}"
-
- Examples:
-
- {:mailrun} {call login} ...
-
- {:start-here} {:another.entry} {send Begin now!} ...
-
-
- A number of three character labels are reserved and are called "key-
- labels." When the corresponding key is pressed from the Terminal Screen,
- {COMMO} will look for the key-label in the current Macro File. If the key-
- label is found, macro execution will begin at that location.
-
- Any default key assignment may be overridden using a key-label. For
- example, pressing Alt-D normally enters the Dialing Directory. But suppose
- this line is in the Macro File:
-
- {:ald} {clear} {}
-
- Now pressing Alt-D will clear the screen.
-
- There are predefined key-labels and user-defined key-labels. See Appendix
- H "{COMMO} Macro Key-labels" for complete details.
-
-
-
- -13-
-
- -----===== Macro Variables
-
-
- {COMMO} maintains a String Variable Space in which variables appear in the
- form:
-
- name,string
-
- name
- An identifier consisting of one or more characters of which
- only the first eight are significant. Case is ignored. The
- following are the ONLY valid characters that may be used in
- a variable name:
-
- "A" through "Z"
- "a" through "z"
- "0" through "9"
- "_" underline.
-
- All other characters will terminate the name.
-
- string
- A text string. The string must not contain any control
- characters below ASCII 28 (Appendix D shows how to represent
- these characters). If a string is set to null (0
- characters), it is deleted from variable space.
-
- NOTE: Any variable not defined is considered to be null.
-
- Strings consisting of only the digits 0-9 and representing a
- decimal number from 0 to 4,294,967,295 (2^32-1) are also
- numeric variables. There is no other difference between
- string and numeric variables.
-
- The maximum length of strings is 240 characters.
-
- The String Variable Space may be viewed from within the Macro File window
- by pressing "V". The amount of unused string space is shown at the bottom
- of the screen.
-
- Once a variable is defined, it remains in String Variable Space until it is
- redefined or deleted (set to null). Therefore variables should be deleted
- or re-used to prevent String Variable Space from becoming full.
-
- The default size of String Variable Space is 3072 bytes, but it may be
- adjusted with the "/v" command line switch at program startup. The valid
- range is from 512 bytes to 65535 bytes. See also "Command Line Options" in
- Part I.
-
-
-
- -14-
-
- ---------- How to Use Variables
-
-
- {COMMO} variables are set (or "defined") by various macro functions and by
- variable strings in a Dialing Directory entry.
-
- Variables are used (or "referenced") in macro function arguments and in the
- telephone number field of the Dialing Directory.
-
- See also "[Alt-D] Dialing Directory" in Part I.
-
- When a variable name appears, the string assigned to the name is
- substituted for the name. If the variable is null, then the name is
- replaced with 0 characters. {COMMO} will expand the variables in a macro
- function before executing it.
-
- In order to distinguish variable names, they must be preceded with a
- percent sign "%" (use two percent signs if a percent sign is needed in the
- data).
-
- The end of the variable name is indicated with another "%" or with the
- first character that is not allowed in a name (see list of characters
- above).
-
-
- A variable definition example:
-
- {setvar animal,Elephant} or {setvar %animal,Elephant}
-
- Notice that the "%" is not required (but is permitted) when the
- variable name is the first argument of a function that defines,
- modifies or tests the value of a variable. Other such functions
- include INPUt, GETString, INCRement, DECRement, COMPare,
- SUBString, INSTring, READ.
-
- If the variable name in this situation needs to be a variable,
- then use two percent signs:
-
- {setv %%animal,Elephant}
-
-
- Variable usage examples:
-
- {setvar animal,Elephant}
- {send %animal}
- Sends "Elephant" to the modem.
- {send animal}
- Sends "animal".
- {send %animal%s are large animals}
- Sends "Elephants are large animals". Note that the trailing "%"
- is required here.
-
- {setvar animal,Elephant}
-
-
-
- -15-
-
- {setv creature,animal}
- {send creature}
- Sends "creature".
- {send %creature}
- Sends "animal".
- {setv %%creature,Giraffe}
- {send %animal}
- Sends "Giraffe".
-
-
- IMPORTANT! Variables may NOT be substituted within the function name or
- switches. They may be substituted anywhere else, even for the commas
- separating arguments.
-
-
- ---------- Reserved Variables
-
-
- Certain variables have fixed names so that {COMMO} can find them whenever
- they are needed. The names of these variables begin with an underline
- character "_". There are two types of reserved variables: "user-defined"
- and "built-in" (see Appendix I "List of Reserved Variables" for a complete
- list).
-
- USER-DEFINED reserved variables are defined in the same way that you define
- ordinary variables -- in the Setup File using SET, or in a macro using
- functions such as SETVariable, INPUt, etc. These variables define strings
- used by certain program features. For example, the path\filename of the
- Usage Log is defined in the Setup File as follows:
-
- {set _uselog,c:\commo\commo.log}
-
- BUILT-IN variables are defined by {COMMO} based on current system
- parameters. Examples are:
-
- _cap
- Current Capture File path\filename
-
- _tim
- Current time of day
-
- Any variable that starts with the same four characters as a built-in
- variable ("_" plus the next three) will be considered the same variable.
- For example "_pas" may be written "_password" and "_yea" may be written
- "_year".
-
- {COMMO} will always search String Variable Space first when looking up the
- value of any variable. This allows built-in variables to be overridden,
- but only when using their four character minimum names. For example, to
- override the serial port number, you must use "_por", not "_port".
-
- See Appendix I for a complete list of reserved variables.
-
-
-
- -16-
-
-
- -----===== Executing Macros
-
-
- Macro execution may be started in any of the following ways:
-
- 1) Open the Macro File window by pressing Alt-M. Position the Selector
- Bar at the desired starting point and press [Enter]. The macro will
- begin executing at the first macro label or function on the line.
-
- NOTE: Macros started with the Selector Bar do not need macro labels
- and may be started at any point within the macro.
-
- 2) If a macro label is also a key-label, then you may press that key from
- the Terminal Screen. Note that if the same key-label appears more
- than once, the first occurrence will be used.
-
- 3) A macro may be linked to a Dialing Directory entry (Linked Macro). In
- this case {COMMO} will GOTO the macro when a connection is established
- with that system (or optionally CALL it, see the DIAL function).
-
- 4) A startup macro may be specified in the Setup File using the
- "{mac=label}" item.
-
- 5) A startup macro may be specified on the command line with the switch
- "/:label". This will override the Setup File macro.
-
- 6) A macro may be an argument of another function such as CALL, GOTO,
- DIAL or SETLook.
-
- Some macro functions show their current action on the Status Line at the
- bottom of the screen. In addition, a "face" character in the middle of the
- Status Line indicates that a macro is executing.
-
-
- -----===== Additional Macro Execution Rules
-
-
- Characters may be typed to the serial port during functions that wait
- (LOOKfor, GETString, PAUSe, HOLD, etc.). Command keys will be ignored
- during macro execution.
-
- Functions will execute IN SEQUENCE until one of the following conditions
- occurs:
-
- 1) A CALL, GOTO, RETURn, STOP, EXIT, etc. is encountered.
-
- 2) Control is transferred to an alternate macro from certain functions
- when a special condition occurs. An example of this is the SETLook
- function. The alternate will execute when a subsequent LOOKfor times
- out.
-
-
-
- -17-
-
- 3) A macro error occurs. This will bring up the Macro File window with
- the Selector Bar on the problem line. The macro will be terminated.
-
- 4) The end of a Macro File is reached.
-
-
- -----===== Cancelling a Macro
-
-
- The [Esc] key is used to terminate macro execution. To type an <esc> code
- (ASCII 27) to the remote during macro execution (without terminating the
- macro), press Ctrl-[ (Ctrl + left bracket).
-
- Current function execution may be terminated by pressing [Ctrl-Break]. For
- example, this can be used to terminate a LOOKfor, PAUSe or HOLD
- prematurely. Macro execution will advance to the next function.
-
- If a macro contains a function that brings up a {COMMO} window (Dialing
- Directory, Capture File Options, etc.), then [Esc] will exit the window and
- execution continues with the next function. To terminate macro execution
- from a window, press [Ctrl-Break].
-
- NOTE: The SETEsc function may be used to help prevent accidental
- termination of macros.
-
-
- -----===== A Macro Example in Detail
-
-
- The following macro example from SAMPLES.MAC can be used to log in to many
- types of Bulletin Board Systems. This is a Linked Macro, so the label
- "login" would appear in the Dialing Directory macro field for each system
- that uses it. When you dial and connect to one of the systems, {COMMO}
- will automatically GOTO the macro.
-
- The subroutine "gls" (generic login subroutine) can also be called from
- macros that perform mailruns and other BBS operations.
-
- Note that labels and functions may be placed side by side on the same line
- (up to 255 characters). For purposes of this example each item is placed
- on its own line.
-
- The main routine at "login" performs some initial functions and then calls
- the subroutine at "gls". The subroutine looks for various prompts,
- responds to them and terminates after responding to the "password" prompt.
-
-
- {:login}
- The entry point. All labels begin with a ":".
-
- {capture y,c:\commo\commo.cap}
- "y" means open the Capture File. The path\filename of the file is
- specified here, otherwise the current file would be opened.
-
-
-
- -18-
-
-
- {asci ,}
- Set ASCII Upload to "no pacing."
-
- {call gls}
- CALL the macro at "gls". When the subroutine executes a RETUrn,
- control will come back here.
-
- {}
- STOP and resume manual operation in the Terminal Screen. Without this
- STOP execution would continue into subsequent macros. Remember that
- labels are "passed over" during sequential macro execution.
-
- {:gls}
- The entry point of the "gls" subroutine.
-
- {setlook 60,hng,10,|}
- This function specifies parameters that go into effect whenever a
- LOOKfor executes. It tells {COMMO} to wait up to 60 seconds for the
- string (or strings) and to GOTO the label "hng" if none of the strings
- appear within that time. The timer is restarted each time a LOOKfor
- begins to execute.
-
- The SETLook also specifies that a "|" (carriage return) should be sent
- to the modem whenever 10 seconds have elapsed and no characters are
- received. This is used to respond to prompts that are not explicitly
- specified in SSLOoks/CALOoks/GOLOoks/LOOKfors (e.g., "Press any key to
- continue").
-
- Use this latter facility with care since a BBS may spend time
- processing and not actually be expecting input from the caller. The
- carriage returns sent will accumulate and be used to satisfy later
- prompts, causing things to get out of "sync." Adjust the 10 second
- timeout as needed.
-
- {setv ss_r,~|}
- {setv ss_yr,~y|}
- Variables are set for some common responses. They will be used later
- by SSLOok functions. For convenience, these variables may be defined
- in the Setup File (using the "set" keyword).
-
- SSLOoks, CALOoks and GOLOoks store strings to look for, but do not
- wait for the strings (only a LOOKfor can do the actual waiting).
-
- {:li1}
- {sslo ss_r,(enter)}
- {sslo ss_yr,graphics (enter)}
- {sslo ss_yr,is this correct}
- The SSLOoks will send the strings in the variables when the respective
- targets are received. The looking for all of the stored strings then
- resumes.
-
- {calo li1,li2,first name}
-
-
-
- -19-
-
- {calo li1,li3,last name}
- CALOoks will CALL the second label if the target string appears (the
- LOOKfor is cancelled). When the macro executes a RETUrn, control goes
- to the first label where all of the strings can be set up again. Note
- that CALOoks are used here for demonstration. SSLOoks could be used
- as well (and probably should be).
-
- {golo li1,;passwor}
- A GOLOok will set up a string and GOTO the label if the string appears
- (only one label is used). In this example the specified string is to
- be ignored. This was needed for a BBS that used the string
- "first;last;password" prior to the actual password prompt.
-
- {lookfor password}
- This is where the actual "looking" takes place. Remember that
- SSLOoks, CALOoks and GOLOoks only cause strings to be stored but do
- not actually wait for the strings.
-
- The LOOKfor will wait for the string specified and also any other
- stored strings (up to 16 total). If the string in the LOOKfor
- appears, control passes to the next macro function.
-
- "password" is assumed to be the last prompt in the login sequence.
-
- {send ~%_pas|}
- Control then passes here and the string is sent to the modem. The
- tilde (~) causes a half-second delay before sending the password. The
- password in the Dialing Directory entry was stored into the built-in
- variable "_pas" when dialing began.
-
- Finally, a carriage return (|) is sent.
-
- {return}
- This will RETUrn to the "login" macro.
-
- {:li2}
- {send ~Firstname|}
- Response to "first name".
-
- {return}
-
- {:li3}
- {send ~Lastname|}
- Response to "last name".
-
- {return}
-
-
-
- -20-
-
- ========== Description of Functions (Alphabetical)
-
-
- The purpose of this section is to show the syntax of each function and the
- meaning of its arguments through examples. All functions are listed here,
- but details for functions which are also default key commands are found in
- Part I under "{COMMO} Key Commands."
-
- Function names are shown with their four-letter abbreviations in uppercase.
-
- For consistency, the following conventions are used in many functions:
-
- "y" or "yes" is used to indicate "yes", "on", "open", etc.
- "n" or "no" is used to indicate "no", "off", "close", etc.
-
-
- === ABAUd ===
-
-
- Default key: none
- Description: Set AutoBaud toggle.
-
- Examples:
-
- {abaud}
- Toggle AutoBaud on/off
-
- {abaud y}
- Turn on AutoBaud
-
- {abaud n}
- Turn off AutoBaud
-
-
- === ALARm ===
-
-
- Default key: none
- Description: Ring the alarm.
-
- Examples:
-
- {alarm}
- Ring alarm, use ring count in Setup File.
-
- {alarm 2}
- Ring alarm 2 times.
-
- {COMMO} will wait until the alarm has stopped ringing before proceeding to
- the next macro function (the alarm may be terminated early by pressing a
- key).
-
-
-
- -21-
-
- === ASCIiup ===
-
-
- Default key: Alt-A
- Description: Upload an ASCII (text) file.
-
- General form:
-
- {ASCIiup path\filename[\],pace}
-
- path\filename
- The complete path and filename (if the path is absent, the
- current directory will be used).
-
- If a path only is used (signified by a "\" at the end) the
- ASCII Upload window will open, prompting you to enter the
- filename.
-
- pace
- The pacing character to be used.
-
- Switches:
-
- E1 or E
- Expand blank lines. A space will be sent when a zero-character
- line is encountered.
-
- E0
- Do not expand blank lines.
-
- S1 or S
- Strip linefeeds from outgoing text.
-
- S0
- Do not strip linefeeds.
-
- If a switch is absent, the current setting of the toggle will be
- used. The toggles can be set in the Setup File or by using the
- Alt-T key command.
-
- Switches apply to the current function only and do not affect the
- settings of the toggles.
-
- Examples:
-
- {asci}
- Open ASCII Upload window.
-
-
-
- -22-
-
- {asci-S}
- Open ASCII Upload window, strip linefeeds when file is sent.
-
- {asci %uldir%\}
- Open ASCII Upload window, prompt with the current value of the
- variable "uldir".
-
- {asci c:\msgs\file.xyz,:}
- Upload "file.xyz." Use ":" for pacing.
-
- {asci-E0 c:\msgs\file.xyz}
- Upload "file.xyz." Use current pacing character, do not expand
- blank lines.
-
- {asci c:\msgs\file.xyz,}
- Upload "file.xyz." Do not use pacing.
-
- {asci ,?}
- Set current pacing character to "?"
-
- {asci ,}
- Set current pacing to "no" pacing.
-
- The pacing character may be entered according to the rules shown in
- Appendix D. For example, "^m" or "|" may be used to represent the carriage
- return.
-
-
- === AUTO ===
-
-
- Default key: none
- Description: Maintain Auto Receive strings.
-
- General form:
-
- {AUTO label,string}
-
- label
- Label to GOTO when the string is received.
-
- string
- String to look for, may be up to 32 characters.
-
- Examples:
-
- {auto}
- Clear all Auto Receive strings.
-
- {auto zmodem,^XB00}
- Zmodem Auto Receive string.
-
-
-
- -23-
-
- Note that up to 16 Auto Receive strings may be in effect at the same time
- (including any strings defined in the Setup File).
-
- Use this function with no arguments to clear all strings when necessary.
-
- See also "TIPS on creating LOOKfor strings" under LOOKfor.
-
-
- === BEEP ===
-
-
- Default key: none
- Description: Sound a beep.
-
- Example:
-
- {beep}
- No arguments.
-
-
- === BREAk ===
-
-
- Default key: Alt-B
- Description: Send a break.
-
- Switches:
-
- Tn
- Set break duration in system clock ticks. "n" may range
- from 1 to 999. There are 18.2 clock ticks per second.
-
- T0 or T
- Set break duration to 18 clock ticks (default).
-
- Examples:
-
- {break}
- One second break.
-
- {break-t9}
- One-half second break.
-
- {break-t55}
- Three second break.
-
-
- === CALL ===
-
-
- Default key: none
- Description: Execute a macro subroutine.
-
-
-
- -24-
-
- General form:
-
- {CALL label,filename}
-
- label
- The label that begins the subroutine to be executed.
-
- filename
- The name of the Macro File where the label is to be found.
- This argument is OPTIONAL and is normally used only if the
- file is not already loaded. Do NOT specify a path; the
- {COMMO} home directory will be used.
-
- Switches:
-
- F1 or F
- Force loading of the specified file (as the auxiliary file).
- No filename comparison will be made.
-
- F0
- Compare filenames. If the file is already loaded (resident
- or auxiliary), it will not be reloaded (default).
-
- Examples:
-
- {call abc}
- Execute subroutine "abc".
-
- {call abc,other.mac}
- Execute subroutine "abc" in the auxiliary Macro File "other.mac".
-
- CALL will push the return location onto the macro stack; then it will
- transfer control to the given label. When a RETUrn is executed, the
- location will be popped and control will return to the function following
- the CALL. If the CALL is located in the auxiliary Macro File, the filename
- will be saved on the macro stack along with the return location.
-
- If a filename is specified, {COMMO} will check to see if the file is
- already loaded (resident or auxiliary). If not, the file will be loaded as
- the auxiliary (the current auxiliary will be saved to disk if there are any
- outstanding changes).
-
- TIPS on using CALL:
-
- > It isn't necessary to specify a filename if the target label is in the
- resident Macro File or in the current auxiliary file.
-
- > A macro error will result if either the label or the file do not
- exist.
-
- > CALLs may be nested up to 32 deep.
-
-
-
- -25-
-
- > Use GOTO when you want to load or execute macros in another file and
- you do not need to return. This will prevent the macro stack from
- filling with "dead" entries.
-
- > Do not modify a Macro File while a CALL from that file is active (the
- return location may be invalidated).
-
- See also RETUrn, GOTO, PUSHstack, POPStack, UNLOad, Appendix K.
-
-
- === CALOok ===
-
-
- Default key: none
- Description: CALL a label when a string appears.
-
- General form:
-
- {CALOok label1,label2,target}
-
- label1
- The location to return to after label2 is CALLed.
-
- label2
- The label to CALL when the target is received from the
- serial port.
-
- target
- The ASCII string to look for. The string begins following
- the "," and is terminated by the "}".
-
- CALOok is used in conjunction with the LOOKfor function. It sets up an
- additional string to look for. When the target string appears, a CALL is
- made to "label2." When the routine executes a RETUrn, control will pass to
- "label1". This is equivalent to:
-
- {call label2} {:label1} ...
-
- See LOOKfor for details, examples and tips on using CALOok.
-
- See also: SSLOok, GOLOok, SETLook.
-
-
- === CAPMode ===
-
-
- Default key: none
- Description: Set Capture Mode.
-
-
-
- -26-
-
- Examples:
-
- {capmode screen}
- Set Capture Mode to SCREEN.
-
- {capmode filter}
- Set Capture Mode to FILTER.
-
- {capmode raw}
- Set Capture Mode to RAW.
-
- See also CAPTure.
-
-
- === CAPTure ===
-
-
- Default key: Alt-1
- Description: Capture File Options.
-
- Switches:
-
- N1 or N
- Do not wait for a keypress if the disk fills up while capturing
- (a message is displayed for several seconds). The setting
- remains in effect until the Capture File is closed.
-
- NOTE: This switch is effective only on a CAPTure function that
- successfully opens a Capture File.
-
- N0
- Wait for Esc to be pressed if the disk fills up (default).
-
- Examples:
-
- {capture}
- Open Capture File Options window.
-
- {capture y}
- Open current Capture File.
-
- {capture n}
- Close current Capture File.
-
- {capt y,c:\commo\file.xyz}
- Open indicated Capture File.
-
- {capt n,c:\dl\newfile.cap}
- Close current Capture File, set new file as indicated.
-
- The current Capture File will always be closed when a new file is opened.
-
-
-
- -27-
-
- IMPORTANT! If the disk fills while capture is open, a "disk full" message
- will appear (see the "N" switch above) and the file will be closed. The
- built-in variable "_dfc" will be set to 1.
-
- See also CAPMode.
-
-
- === CHATmode ===
-
-
- Default key: Alt-- (Alt minus)
- Description: Set Chat Mode toggle.
-
- Examples:
-
- {chat}
- Toggle Chat Mode on/off.
-
- {chat y}
- Turn on Chat Mode.
-
- {chat n}
- Turn off Chat Mode
-
-
- === CLEAr ===
-
-
- Default key: Alt-C
- Description: Clear Terminal Screen to default colors.
-
- Example:
-
- {clear}
- No arguments.
-
-
- === COMPare ===
-
-
- Default key: none
- Description: Compare a string or numeric variable.
-
- General form:
-
- {COMPare name,string}
-
- name
- The name of a variable.
-
- string
- A string of ASCII characters.
-
-
-
- -28-
-
- Examples:
-
- {comp pword,aardvark}
- Test if the variable "pword" is set to "aardvark."
-
- {comp pword}
- Test if "pword" is null.
-
- {comp pword,}
- Test if "pword" is null.
-
- {comp nmbr,5}
- Compare a numeric variable.
-
- {comp abc,%xyz}
- Test if the variable "abc" is equal to the variable "xyz."
-
- A numeric variable is a string of ASCII digits, 0-9, forming a positive
- integer. If the number is outside the allowed range or contains non-
- numeric characters, the results of the compare will be unpredictable.
-
- COMPare will set flags which can be tested with the IFCOndition function.
-
- The Condition Flag will be set to "true" if the two arguments are
- identical strings (case is ignored). Otherwise it will be set to
- "false."
-
- The Numeric Flag will be set to "equal", "less than" or "greater
- than." This flag is unpredictable unless both arguments are valid
- numeric variables.
-
- A variable may be tested for being null (no entry in variable space) by
- omitting the second argument (or by comparing to a null variable).
-
- See also IFCOndition.
-
-
- === CURSor ===
-
-
- Default key: none
- Description: Terminal Screen cursor on/off.
-
- Examples:
-
- {cursor}
- Toggle Terminal cursor on/off.
-
- {curs y}
- Turn on Terminal Screen cursor.
-
- {curs n}
- Turn off Terminal Screen cursor.
-
-
-
- -29-
-
-
-
- === DECRement ===
-
-
- Default key: none
- Description: Subtract a number from a numeric variable.
-
- Examples:
-
- {decr count}
- Subtract 1 from the variable "count".
-
- {decr apples,200}
- Subtract 200 from "apples".
-
- The default for the second argument is 1.
-
- If the result is less than 0 or if either argument is out of range, then
- the variable will be set to the string "ERROR".
-
- If the variable is not numeric, the results will be unpredictable.
-
- See also INCRement.
-
-
- === DIAL ===
-
-
- Default keys: Alt-D, Alt-N
- Description: Open Dialing Directory, dial marked systems.
-
- General form:
-
- {DIAL tries,label1,label2}
-
- tries
- The maximum number of dialing tries. If no connection is
- established when the try count is exhausted, the macro in
- the second argument will be started. May be 0 to 999. "0"
- means unlimited. Default is 0.
-
- label1
- A macro to GOTO if the try count in the first argument is
- exhausted. If no macro is specified or if the macro label
- is invalid, control will pass to the next function. Default
- is none.
-
- If the "C" switch is used, the macro will be CALLed. When a
- RETUrn is executed, control will return to the DIAL
- function.
-
-
-
- -30-
-
- label2
- A macro to GOTO when a response is matched during the Inter-
- dial Delay. Response strings may be listed in the reserved
- variable "_dialir" and are usually defined in the Setup
- File. If no macro is specified or if the macro label is
- invalid, the response is ignored.
-
- If the "C" switch is used, the macro will be CALLed. When a
- RETUrn is executed, control will return to the DIAL
- function.
-
- Switches:
-
- C1 or C
- Specifies that macros will be started via CALL (instead of GOTO).
- When the macros execute a RETUrn, control returns to the DIAL
- function and Multi Number Dialing will resume.
-
- The "C" switch applies to the Linked Macro (from the Dialing
- Directory), the "tries exhausted" macro and to the Inter-dial
- Delay macro.
-
- C0
- Start dialing macros via GOTO (default).
-
- Examples:
-
- {dial}
- Open Dialing Directory window (similar to Alt-D).
-
- {dial ,}
- Multi Number Dial (similar to Alt-N).
-
- {dial 25,abc}
- Multi Number Dial with try count.
-
- {dial-C ,}
- Multi Number Dial, CALL Linked Macros.
-
- {dial-c ,,inter}
- Multi Number Dial with Inter-dial Delay macro.
-
-
- ---------- Marking Numbers for Dialing
-
-
- Numbers may be marked in one of several ways:
-
- 1) Manually in the Dialing Directory window.
- 2) By placing Dialing Strings on the {COMMO} command line.
- 3) Using the MARK macro function.
-
-
-
- -31-
-
- Marked numbers will be redialed in sequence. If a connection occurs and a
- valid Linked Macro is specified in the Dialing Directory, the macro will be
- started via GOTO (or CALL if the "C" switch is present). If no Linked
- Macro is specified in the Dialing Directory or if the macro label is
- invalid, macro execution will STOP.
-
- If no numbers are marked when executing the DIAL, control will pass to the
- next function.
-
-
- ---------- Automatic Resumption of Dialing
-
-
- Here are two methods for resuming at the end of a Linked Macro. Both allow
- multiple systems to be called without operator intervention.
-
- 1) Use the "C" switch on the DIAL function. Each Linked Macro
- should end with a RETUrn which will transfer control back to the
- DIAL. When all numbers have been called, control will pass to
- the function following the DIAL.
-
- 2) At the end of each Linked Macro (after logging off), GOTO a macro
- such as this:
-
- {:nocar} {pause 1} {ifcarrier nocar} {dial ,} {}
-
- This ensures that carrier has dropped before DIALing the next
- number. The PAUSe allows data to display on the screen while
- waiting for carrier to drop.
-
-
- ---------- Testing Success and Failure Results
-
-
- Details about a successful or failed dialing attempt are available in
- several reserved variables (see Appendix I "List of Reserved Variables" for
- complete descriptions):
-
- _dtc
- Dialing termination code
-
- _dialrt
- Dialing response text
-
- _mod
- Speed reported by modem (normally in the CONNECT or CARRIER
- response)
-
- After a successful attempt the variables "_dialrt" and "_mod" may be tested
- in your Linked Macro. For example, if you expected a high-speed connect
- and the speed reported was 2400 or 1200, then you may want to hang up and
- try again later.
-
-
-
- -32-
-
- You can get control after each failed attempt by using "DIAL 1", with or
- without a macro. For example:
-
- 1) {dial-c 1,nocon} ...
-
- The Linked Macro and the "no connect" macro will be CALLed (the
- "C" switch). The variables "_dtc" and "_dialrt" may be tested in
- the macro at "nocon".
-
- 2) {dial 1} ...
-
- Control will pass to the next function if a dialing attempt fails
- or when no more systems are marked (test "_dtc" to determine
- which).
-
- If the testing indicates that the system should not be dialed again (e.g.,
- it did not answer, _dtc = 3), the UNMArk function can be used with the "L"
- switch to unmark the last number dialed: {unmark-l}.
-
-
- ---------- Handling Incoming Calls
-
-
- Most modems return the string "RING" when a call comes in. If this happens
- during the Inter-dial Delay, you may choose to stop dialing (to answer a
- voice call) or to send a brief message to a modem caller (during a BBS
- event, for example).
-
- Use "label2" on the DIAL function to process responses during the Inter-
- dial Delay. For example:
-
- {dial ,,incoming}
-
- The macro at "incoming" will execute if the modem sends an Inter-dial Delay
- response string (these are normally defined in the Setup File with the
- "_dialir" variable).
-
- See also: SETDial, MARK, UNMArk.
-
-
- === DISPlay ===
-
-
- Default key: none
- Description: Display a string to the screen.
-
- General form:
-
- {DISPlay row,col,attr,string}
-
-
-
- -33-
-
- row
- The row where the string will display.
-
- col
- The column where the string will display.
-
- attr
- The attribute (colors) of the string.
-
- string
- The text of the string (no quotes).
-
- Examples:
-
- {display 12,20,17,Hello!}
- Display "Hello!" at row 12, column 20. Colors are white on blue.
-
- {disp ,,,Hello, again.^m^j}
- Display "Hello, again." at the current cursor using the current
- attribute, followed by a cr/lf.
-
- {disp 3,40}
- Position the cursor at row 3, column 40.
-
- TIPS on using DISPlay:
-
- > The attribute is specified in the same manner as the colors in the
- Setup File (press F7 in the Internal Editor to display the Color
- Chart).
-
- > Setting background colors to high intensity values will cause blinking
- (for example, using "9" instead of "1" will still give a blue
- background but the foreground character will blink).
-
- > After the string is displayed, the previous Terminal Screen attribute
- will be restored.
-
- > Conversion is performed on the string according to the rules in
- Appendix D.
-
-
- === DIVIde ===
-
-
- Default key: none
- Description: Divide a numeric variable by a number.
-
- Example:
-
- {divi space,1024}
- Divide "space" by 1024.
-
- The divisor (second argument) is limited to 65535 (default is 1).
-
-
-
- -34-
-
-
- The named variable will be set to the quotient, the built-in variable
- "_rem" will be set to the remainder.
-
- If the divisor is zero or if either argument is out of range, then the
- variable will be set to the string "ERROR".
-
- If the variable is not numeric, the results will be unpredictable.
-
-
- === DOORway ===
-
-
- Default key: Alt-=
- Description: Toggle Doorway Mode.
-
- Switches:
-
- S1 or S
- Status Line on when entering Doorway Mode.
-
- S0
- Status Line off (default).
-
- M0
- Do not display Doorway enter/exit messages.
-
- M1
- Display enter/exit messages (default).
-
- Examples:
-
- {doorway}
- Toggle Doorway Mode on/off.
-
- {door-S}
- Status Line on when entering Doorway Mode.
-
- {doorway-M0}
- Do not display enter/exit messages.
-
- The "S" switch is ignored when exiting Doorway Mode (the Status Line will
- be restored to its prior state).
-
-
- === DPARms ===
-
-
- Default key: Alt-P
- Description: Set Default Dialing Terminal Parameters
-
-
-
- -35-
-
- General form:
-
- {DPARms speed,format,comport,terminal-type,delay}
-
- speed
- The bps rate: 2400, 9600, etc.
-
- format
- The data format: 8n1, 7e1, etc.
-
- comport
- The serial port number: 1, 2, 3 or 4.
-
- terminal
- The terminal-type: A, V or T.
-
- delay
- The inter-character delay factor: 0-999.
-
- Examples:
-
- {dparms 2400,8,1,,20}
- Set 2400 bps, 8n1, Com1, delay=20.
-
- {dparms ,,4,V}
- Set Com4 VT102.
-
- {dparms 19200,7o1}
- Set 19200 bps, 7o1.
-
- IMPORTANT! Omitted parameters are not changed.
-
- These are the parameters that are set whenever a number is DIALed. Any of
- them may be overridden in the Dialing Directory entry.
-
- See also PARMs.
-
-
- === EDIT ===
-
-
- Default key: none
- Description: Edit an external file.
-
- Example:
-
- {edit c:\autoexec.bat}
- Edit AUTOEXEC.BAT file.
-
- EDIT may be used to edit any text file up to 64k in length. The rules are
- the same as for editing a support file with the Internal Editor. See
- Appendix K for more information.
-
-
-
- -36-
-
- TIPS on using EDIT:
-
- > Control characters (below ASCII 28) may not be typed.
-
- > Any data beyond the last cr/lf pair will be removed prior to editing.
- A cr/lf pair will be added, if necessary, to ensure at least one line
- in the file.
-
- > The file will be saved unconditionally when Alt-F is pressed or
- conditionally (if changes were made) when Esc is pressed. The file is
- "saved in place" (no backup).
-
-
- === ELAPse ===
-
-
- Default key: none
- Description: Reset the elapsed timer to 0 minutes.
-
- Example:
-
- {elap}
- No arguments.
-
- The elapsed timer is automatically reset whenever dialing begins and when a
- connection is made with a remote system.
-
-
- === EXECute ===
-
-
- Default key: none
- Description: Execute a DOS command.
-
- Switches:
-
- A1 or A
- Sound the alarm at the end of command execution.
-
- A0
- Do not sound the alarm (default).
-
- D1 or D
- Execute an external program directly, without use of the command
- processor (see details below).
-
- D0
- Use the command processor (default).
-
-
-
- -37-
-
- N1 or N
- Do not clear the screen before execution. This is useful when
- running programs that clear or rewrite the screen. Also for
- simple DOS functions like changing directories, renaming files,
- etc.
-
- N0
- Clear the screen (default).
-
- S1 or S
- Swap to Disk before executing the program (see details below).
-
- S0
- Do not swap to disk (default).
-
- W
- Wait for a key press before restoring the Terminal Screen. This
- is useful if you need to see the results of the command
- execution.
-
- Wn
- Wait for "n" seconds, "n" may range from 0 to 999. Press a key
- to cancel the wait.
-
- Note: Default (no "W" switch) is no wait.
-
- Examples:
-
- {exec-AW3 dsz port %_por speed %_spe sz %uldir%\%file}
- {COMMO} will prepare the DSZ command by expanding the "%"
- variables, then call DOS to execute the program.
-
- See the section "Macro Variables" for complete details on
- variable substitution.
-
- The alarm will sound at completion (the "A" switch) and {COMMO}
- will wait for three seconds (the "W3" switch) before restoring
- the Terminal Screen.
-
- {execute-DN c:\utils\list.com %_cap}
- The LIST program will be directly executed with the current
- Capture File path\filename as a command line argument. The
- screen will not be cleared (LIST will rewrite the screen).
- {COMMO} will return immediately to the Terminal Screen when LIST
- exits.
-
- The EXECute function enables you to "build" a command to be executed by
- DOS. The DOS command processor (COMMAND.COM) is normally used (see below),
- which implies that you may specify any command as you would type it from
- the DOS prompt.
-
-
-
- -38-
-
- Thus you can execute batch files and internal DOS commands (REN, DEL,
- etc.). Also you can omit command paths and extensions (if the command is
- in your PATH or in the current directory).
-
- Character conversion is performed in the EXECute function. This enables
- you to specify control characters. For example:
-
- {exec echo ^L> prn} Send a formfeed to the printer
-
- See Appendix D for details on conversion. Note that the vertical bar "|"
- is NOT translated to a carriage return in the EXECute function.
-
- Key codes may be placed in the keyboard buffer prior to EXECute using the
- KEYStuff function.
-
-
- ---------- Using the Direct Switch: EXEC-D
-
-
- Use this switch to execute .EXE and .COM programs without the use of the
- command processor (usually COMMAND.COM).
-
- The program's Exit Code (called ERRORLEVEL in batch files) is saved and may
- be tested with the IFERrorlevel function. The Exit Code is also available
- in the variable "_err".
-
- There are several advantages to using the "D" switch:
-
- 1) Only the memory needed to run the program is required (the command
- processor requires that about 32k be available, even if the program
- being run is much smaller).
-
- 2) About 4k of memory is saved by not having a copy of the command
- processor resident when the program is running.
-
- 3) The program executes faster, since COMMAND.COM is not loaded from
- disk.
-
- 4) The program's Exit Code is preserved and may be tested with the
- {COMMO} IFERrorlevel function.
-
- Two important rules must be followed when using the "D" switch:
-
- 1) The full path\filename of the program file must be specified,
- including the path where the file resides on disk and the file
- extension. For example:
-
- {exec-D c:\util\list.com file.txt}
-
- 2) Only .EXE and .COM files may be run (batch files and internal DOS
- commands cannot be executed without COMMAND.COM).
-
-
-
- -39-
-
- ---------- Using the Swap to Disk Switch: EXEC-S
-
-
- The "S" switch will direct {COMMO} to write the program and associated data
- to a disk file. This will free up approximately 50k to 180k of memory,
- depending on the sizes of your Variable Space, Scrollback Buffer, Dialing
- Directory and Macro File. The path\filename of this file is specified with
- "swp=" in the Setup File (under "Paths and Files").
-
- When the program or shell exits back to {COMMO}, the program and data will
- be restored from the disk file. Any errors in this process will cause
- {COMMO} to exit to DOS. If the Swap File cannot be opened or there is not
- enough disk space for the swap, the EXECute (or SHELl) will be attempted
- without swapping.
-
- TIPS on using Swap to Disk:
-
- > The serial port will be closed during the swap (normally it is left
- open to receive characters during EXECute and SHELl). To avoid losing
- any data, swapping should be initiated when the remote system is quiet
- (or when you are offline).
-
- > Use Swap to Disk when running major applications such as external
- protocol programs, offline mail readers, etc. Using it with internal
- DOS functions (DEL, COPY, REN, etc.) or very small programs is
- inefficient and unnecessary.
-
- > If possible, specify the Swap File on a RAMDISK. This will speed up
- the swap considerably. A ramdisk program is supplied with DOS
- (RAMDRIVE.SYS or VDISK.SYS) or you can obtain one from a BBS.
-
- > Be sure to specify a complete path\filename for the Swap File.
-
- > Do not run any TSR (resident) programs when swapping is in effect.
- Doing so may result in a swap error.
-
-
- ---------- EXECute Preview Mode
-
-
- Use the Set Toggles key command, Alt-T, to turn on "EXECute Preview Mode."
- This mode is used to test your DOS commands and performs the following
- steps for each EXECute function:
-
- 1) The command will be displayed after expanding variables and converting
- control characters.
-
- 2) You will be given an opportunity to edit and/or cancel the command
- before it is executed.
-
- 3) Following execution {COMMO} will wait before restoring the Terminal
- Screen. This lets you see any error messages that the command may
- have displayed.
-
-
-
- -40-
-
-
-
- === EXIT ===
-
-
- Default key: Alt-X
- Description: Exit {COMMO}.
-
- General form:
-
- {EXIT number}
-
- number
- The return code to be passed to DOS. It may be tested with
- the IF ERRORLEVEL batch command. Range is 0 to 255.
-
- Switches:
-
- D1 or D
- Drop DTR and RTS. Dropping DTR will cause the modem to
- disconnect if it has been properly initialized. See Appendix A.
-
- D0
- Do not drop DTR and RTS.
-
- If the switch is absent, the current setting of the toggle will
- be used. The toggle can be set in the Setup File or by using the
- Alt-T key command.
-
- Examples:
-
- {exit}
- No arguments (return code = 0).
-
- {exit 3}
- With return code.
-
- {exit-D}
- Drop DTR and RTS.
-
-
- === FILE ===
-
-
- Default key: none
- Description: Find directory entry information.
-
- General form:
-
- {FILE filespec}
-
-
-
- -41-
-
- filespec
- The path and file mask to be used for finding directory
- entries (filenames and subdirectories). May consist of
- drive, path and filename with wildcards.
-
- Switches:
-
- X1 or X
- Find next matching entry.
-
- X0
- Find first matching entry (default).
-
- Examples:
-
- {file c:\upload\*.*}
- Find first filename or subdirectory in the directory "c:\upload."
-
- {file-x}
- Find next filename in same directory.
-
- The FILE function will find directory information about the files and
- subdirectories specified in "filespec." The data will be made available in
- the following built-in variables:
-
- _ffn
- Filename or subdirectory name. Subdirectory names will be
- preceded with a "\". The parent directory (if any) will be
- indicated as "\..".
-
- _ffs
- File size in bytes.
-
- _ffd
- File date. The format will be as specified in Setup File item
- "dat=".
-
- _fft
- File time. The format will be as specified in Setup File item
- "tim=".
-
- The FILE function must be executed without the "X" switch (or with X0) to
- initialize the directory. This will also make available the first filename
- or subdirectory. Subsequent executions (with the "X" switch) will make
- subsequent names available.
-
- Use the IFCOndition function to determine if a filename was made available.
- The first label ("true") will be taken if a filename was found; the second
- label ("false") will be taken if no additional filenames are available.
-
-
-
- -42-
-
- TIPS on using FILE:
-
- > IMPORTANT! Do not use IFEXist until all files have been found (it
- uses the same DOS file finding functions).
-
- > The built-in variables will always contain the data for the last
- filename found. If no filename has ever been found, the contents are
- unpredictable.
-
-
- === FONFile ===
-
-
- Default key: none
- Description: Load a new Dialing Directory file.
-
- Example:
-
- {fonf local.fon}
- The Dialing Directory is replaced with the file LOCAL.FON.
-
- (Note that this feature is unavailable during shareware evaluation.)
-
- The current Dialing Directory file will be saved to disk if there are any
- outstanding changes. Dialing marks in the new file will be erased if
- {cdm=yes} in the Setup File.
-
-
- === GETString ===
-
-
- Default key: none
- Description: Input a string from the modem to a variable.
-
- General form:
-
- {GETString name,count,label}
-
- name
- The name of the variable to which the string will be
- assigned.
-
- count
- The maximum number of data characters allowed. A carriage
- return will always terminate input. May be 1 to 240.
- Default is 240.
-
- label
- A macro to GOTO if a carriage return is received and no
- characters have been entered (the string will be assigned as
- null). If this argument is omitted, control will pass to
- the next function.
-
-
-
- -43-
-
- Switches:
-
- A1 or A
- "Append" mode. Characters will be appended to the variable. If
- the current length of the variable is greater than the count in
- the second argument, a count of 240 will be assumed.
-
- A0
- The variable will be replaced (default).
-
- H1 or H
- "Hotkey" mode. When the maximum number of characters has been
- entered, control will pass to the next function.
-
- H0
- Ignore all input after the maximum has been entered, except
- backspace and carriage return (default).
-
- P1 or P
- "Password" mode. Asterisks will be echoed to the remote and
- local terminals in place of the received characters (Echo Status
- will be honored, see SETGet).
-
- P0
- Characters are echoed as received (default).
-
- Examples:
-
- {setget 60,timeout,y,^m^j}
- Set GETString parameters.
-
- {gets fonum,12,badinput}
- Get input to "fonum."
-
- {gets-p pword,20}
- Get a password.
-
- TIPS on using GETString:
-
- > The only control characters allowed (below ASCII 28) are carriage
- return (ASCII 13) and backspace (ASCII 8). Other control characters
- should be entered as ^J for linefeed, etc. See Appendix D.
-
- > Destructive backspace processing is supported for editing purposes.
-
- > GETString supports "tandem" input. Characters entered at either end
- will be input to the string (and displayed at both ends if echo is on
- (see SETGet). Turn on Local Echo to see text locally that is sent to
- the remote with SEND, ASCIiup, etc.
-
- > Use the "H" switch and a character count of 1 for "hotkeys."
-
-
-
- -44-
-
- > Turn off echo in the SETGet while waiting for the modem to answer (in
- host mode). Some modems react poorly to characters being echoed when
- they are generating a response (such as "RING").
-
- > Incoming characters displayed during a GETString function are not seen
- by subsequent SSLOok/CALOok/GOLOok/LOOKfor functions.
-
- See also SETGet.
-
-
- === GOLOok ===
-
-
- Default key: none
- Description: GOTO a label when a string appears.
-
- General form:
-
- {GOLOok label,target}
-
- label
- A label to GOTO when the target is received from the serial
- port.
-
- target
- The ASCII string to look for. The string begins following
- the "," and is terminated by the "}".
-
- GOLOok is used in conjunction with the LOOKfor function. It sets up an
- additional string to look for. When the target string appears, control
- will pass to the label.
-
- See LOOKfor for details, examples and tips on using GOLOok.
-
- See also: SSLOok, CALOok, SETLook.
-
-
- === GOTO ===
-
-
- Default key: none
- Description: Transfer control of macro execution.
-
- General form:
-
- {GOTO label,filename}
-
- label
- The label to which control will be transferred.
-
- filename
- The name of the Macro File where the label is to be found.
- This argument is OPTIONAL and is normally used only if the
-
-
-
- -45-
-
- file is not already loaded. Do NOT specify a path; the
- {COMMO} home directory will be used.
-
- Switches:
-
- F1 or F
- Force loading of the specified file (as the auxiliary file).
- No filename comparison will be made.
-
- F0
- Compare filenames. If the file is already loaded (resident
- or auxiliary), it will not be reloaded (default).
-
- Examples:
-
- {goto mail_run}
- Control transferred to label "mail_run".
-
- {goto mail_run,ginger.mac}
- Control transferred to label "mail_run" in the auxiliary Macro
- File "ginger.mac".
-
- {goto ,ginger.mac}
- The auxiliary Macro File "ginger.mac" is loaded; macro execution
- STOPs (no label given).
-
- If a filename is specified, {COMMO} will check to see if the file is
- already loaded (resident or auxiliary). If not, the file will be loaded as
- the auxiliary (the current auxiliary will be saved to disk if there are any
- outstanding changes).
-
- TIPS on using GOTO:
-
- > It isn't necessary to specify a filename if the target label is in the
- resident Macro File or in the current auxiliary file.
-
- > A macro error will result if either the label or the file do not
- exist.
-
- See also CALL, UNLOad, Appendix K.
-
-
- === HANGup ===
-
-
- Default key: Alt-H
- Description: Disconnect by dropping DTR.
-
-
-
- -46-
-
- Examples:
-
- {hangup}
- Prompt user for disconnect.
-
- {hangup y}
- Disconnect without prompting.
-
-
- === HELP ===
-
-
- Default key: F1
- Description: Open Online Help window.
-
- Examples:
-
- {help}
- Display key command help
-
- {help x}
- Display topic "TX"
-
- Any single character may be specified. {COMMO} will prefix it with a "T"
- and search for the topic code. You may create your own Online Help file.
- See "Modifying the Help File" in Part I.
-
-
- === HOLD ===
-
-
- Default key: none
- Description: Hold until specified time of day (24 hour format).
-
- Examples:
-
- {hold 3:30}
- Hold until 3:30 am.
-
- {hold 16:10}
- Hold until 4:10 pm.
-
- {hold 0:00}
- Hold until midnight.
-
- NOTE: Incoming characters displayed during a HOLD function are not seen by
- subsequent SSLOok/CALOok/GOLOok/LOOKfor functions.
-
-
-
- -47-
-
- === IFCArrier ===
-
-
- Default key: none
- Description: Test for presence of carrier detect signal.
-
- General form:
-
- {IFCArrier true,false}
-
- true
- A label to GOTO or CALL if carrier is detected.
-
- false
- A label to GOTO or CALL if carrier is not detected.
-
- NOTE: If a target label is omitted (null), control will pass to the next
- function.
-
- Switches:
-
- C1 or C
- A CALL is performed on the label. When the CALLed routine
- RETUrns, execution will continue following the IFCArrier.
-
- C0
- A GOTO is performed (default).
-
- Examples:
-
- {ifcarrier c10,c20}
- Using GOTO
-
- {ifcarrier-c c10,c20}
- Using CALL
-
- TIP on using IFCArrier:
-
- > When using a loop to wait for a change in carrier detect, you should
- include a short pause in the loop if you want characters to display.
- The following sequence will display incoming characters while waiting
- for carrier detect to drop:
-
- ... {:cd1} {pause 1} {ifcarrier cd1} ...
-
- See also NOCArrier.
-
-
- === IFCOndition ===
-
-
- Default key: none
- Description: Test for conditions set by other functions.
-
-
-
- -48-
-
-
- General form:
-
- {IFCOndition true,false}
-
- true
- A label to GOTO or CALL if the Condition Flag is true.
-
- false
- A label to GOTO or CALL if the Condition Flag is false.
-
- NOTE: If a target label is omitted (null), control will pass to the next
- function.
-
- Numeric switches:
-
- no switches present
- Test the current state of the Condition Flag.
-
- E1 or E
- Test for numeric equality. A numeric string contains only the
- digits 0-9 and is in the range 0 to 65535.
-
- L1 or L
- Numeric test -- if first COMPare argument is less than the
- second.
-
- G1 or G
- Numeric test -- if first COMPare argument is greater than the
- second.
-
- Other switches:
-
- C1 or C
- A CALL is performed on the label. When the CALLed routine
- RETUrns, execution will continue following the IFCOndition.
-
- C0
- A GOTO is performed (default).
-
- Examples:
-
- {compare var1,message}
- {ifcondit match,nomatch}
- Compare and set Condition Flag. GOTO "match" if the variable
- "var1" is set to "message," to "nomatch" if it is not.
-
- {compare value,200}
- {ifcon-GEC toobig,aok}
- Compare and set conditions. CALL "toobig" if "value" is greater
- than or equal to 200, else CALL "aok."
-
-
-
- -49-
-
- {instring zipcode,90}
- {ifcon yes,no}
- Test if "zipcode" contains the digits "90". If "true" GOTO
- "yes", if "false" GOTO "no".
-
- Switches may be used in any combination. If any numeric switches are
- present, the Condition Flag is not tested.
-
- The difference between testing for string equality and numeric equality is
- shown in this example:
-
- The strings "05" and "5" are different text strings, but are
- numerically equal.
-
-
- === IFERrorlevel ===
-
-
- Default key: none
- Description: Test the Exit Code set by certain functions.
-
- General form:
-
- {IFERrorlevel number,true,false}
-
- number
- A number from 0 to 255. It will be compared to the last
- Exit Code that was set.
-
- true
- A label to GOTO or CALL if the Exit Code is greater than or
- equal to "number."
-
- false
- A label to GOTO or CALL if the Exit Code is less than
- "number."
-
- NOTE: If a target label is omitted (null), control will pass to the next
- function.
-
- Switches:
-
- C1 or C
- A CALL is performed on the label. When the CALLed routine
- RETUrns, execution will continue following the IFERrorlevel.
-
- C0
- A GOTO is performed (default).
-
-
-
- -50-
-
- Examples:
-
- {iferror 1,abc,def}
- GOTO "abc" if Exit Code is greater than or equal to 1. Else GOTO
- def.
-
- {ifer-c 2,gtr2}
- CALL "gtr2" if Exit Code is greater than or equal to 2 Else
- continue.
-
- TIPS on using IFERrorlevel:
-
- > The Exit Code is set by certain functions (e.g., EXECute-D, SHELl,
- RXMOdem, SXMOdem) and should normally be tested immediately following
- execution of those functions.
-
- > EXECute without the "D" switch or Shell to DOS will normally set the
- Exit Code to 0.
-
- > Many programs return an Exit Code greater than 0 when the result is
- unsuccessful. DSZ, for example, will return an Exit Code of 1 if the
- file transfer has failed.
-
- > The value of the Exit Code is also stored in the string variable
- "_err" and may be tested with COMPare.
-
-
- === IFEXist ===
-
-
- Default key: none
- Description: Test for existence of a disk file or files.
-
- General form:
-
- {IFEXist path\filename,true,false}
-
- path\filename
- A DOS path\filename. If the path is omitted, the current
- directory will be used. If wildcards are used the "true"
- condition will hold if any files match the specification.
-
- true
- A label to GOTO or CALL if the file exists.
-
- false
- A label to GOTO or CALL if no files match.
-
- NOTE: If a target label is omitted (null), control will pass to the next
- function.
-
-
-
- -51-
-
- Switches:
-
- C1 or C
- A CALL is performed on the label. When the CALLed routine
- RETUrns, execution will continue following the IFEXist.
-
- C0
- A GOTO is performed (default).
-
- Examples:
-
- {ifex-c a:file.xyz,,m20}
- CALL "m20" if not found.
-
- {ifex c:\data\words.txt,345}
- GOTO "345" if found.
-
- {ifex c:\ul\*.rep,a01,a02}
- Using a wildcard.
-
-
- === INCRement ===
-
-
- Default key: none
- Description: Add a number to a numeric variable.
-
- Examples:
-
- {incr count}
- Add 1 to the variable "count".
-
- {incr oranges,1234}
- Add 1234 to "oranges".
-
- The default for the second argument is 1.
-
- If either argument or the result is out of range, then the variable will be
- set to the string "ERROR".
-
- If the variable is not numeric, the results will be unpredictable.
-
- See also DECRement.
-
-
- === INFOrm ===
-
-
- Default key: none
- Description: Display an advisory message.
-
-
-
- -52-
-
- General form:
-
- {INFOrm string}
-
- string
- Message to be displayed.
-
- Switches:
-
- Q1 or Q
- Query the user for a "Yes/No" response. "Yes" will be the
- default if Enter is pressed.
-
- The Condition Flag will be set to "true" if the response is
- "yes". It will be set to "false" if the response is "no". Test
- with IFCOndition.
-
- Q0
- Query the user for a "Yes/No" response. "No" will be the default
- if Enter is pressed. The Condition Flag is set as above.
-
- Dn
- Display the message for "n" seconds, then continue. "n" may
- range from 1 to 999. This switch is ignored if the "Q" switch is
- present.
-
- S1 or S
- An error sound will accompany the message (default). The error
- sound is controlled with the "ers" item in the Setup File.
-
- S0
- No error sound will be made.
-
- Examples:
-
- {inform Press a key to continue}
- Wait for Esc.
-
- {info-qs0 Overwrite the file?}
- Yes/No response, no error sound.
-
- {info-d3 Login now in progress}
- Display message for 3 seconds, then continue.
-
- INFOrm will display a string in a pop-up box over the Terminal Screen.
- {COMMO} will normally wait for "Esc" to be pressed (switches can alter this
- behavior). The string length is limited by the width of the screen.
-
- NOTE: When the "Q" switch is used, Esc and Ctrl-Break will be ignored.
-
-
-
- -53-
-
- === INITmodem ===
-
-
- Default key: Alt-O
- Description: Send Modem Initialization String.
-
- Example:
-
- {init}
- No arguments
-
-
- === INPUt ===
-
-
- Default key: none
- Description: Input a string from the keyboard.
-
- General form:
-
- {INPUt name,prompt}
-
- name
- The name of a string variable. The current value of this
- variable will appear in the input line.
-
- prompt
- A prompt string that will appear in the input window border.
-
- Example:
-
- {input upfile,Enter a filename:}
- Input a string to the variable "upfile."
-
- If 0 data characters are entered, the variable will be set to null.
-
- NOTE: If Esc is pressed, macro execution will be terminated unless an exit
- label has been defined with SETEsc.
-
-
- === INSTring ===
-
-
- Default key: none
- Description: Find a string within a string, return its position.
-
- General form:
-
- {INSTring name,string}
-
-
-
- -54-
-
- name
- The name of a variable (string to search in).
-
- string
- The string to search for.
-
- Example:
-
- {inst line,abc}
- The variable "line" is searched for the string "abc".
-
- INSTring will set the following:
-
- 1) The Condition Flag will be set to "true" if the string is found,
- to "false" if the string is not found. Test with IFCOndition, no
- switches.
-
- 2) The starting position of the string will be returned in the
- built-in variable "_pos" (first character is "1"). "_pos" will
- be set to zero if the string is not found.
-
-
- === KEYStuff ===
-
-
- Default key: none
- Description: Put key codes into the keyboard buffer.
-
- Examples:
-
- {keys 1c0d}
- Put a carriage return into the keyboard buffer.
-
- {keys 1e41,6c00}
- Put an "A" in the keyboard buffer followed by Alt-F5.
-
- This function is usually used prior to EXECuting programs, batch files or
- DOS commands that require keys to be pressed. It allows complete
- automation without operator intervention.
-
- TIPS on using KEYStuff:
-
- > The key codes are given in hexadecimal (scan code/character code as
- received from the BIOS). Press Alt-K in the Internal Editor to view
- any key code.
-
- > One or more codes may be listed. Do not insert extra spaces.
-
- > Usually, when specifying an ASCII character, only the character code
- need be listed. Thus the second example above could be written:
-
- {keys 41,6c00}
-
-
-
- -55-
-
-
- === LENGth ===
-
-
- Default key: none
- Description: Determine the length of a string.
-
- Examples:
-
- {leng %line}
- Find the length of the string in the variable "line".
-
- {leng %line1%%line2}
- Find the combined length of "line1" and "line2".
-
- The length will be returned in the built-in variable "_len". If the string
- is null, the length will be set to zero.
-
-
- === LIGHts ===
-
-
- Default key: none
- Description: Set Signal Lights toggle.
-
- Examples:
-
- {lights}
- Toggle Signal Lights on/off.
-
- {lights y}
- Turn on Signal Lights.
-
- {lights n}
- Turn off Signal Lights.
-
-
- === LOCAlecho ===
-
-
- Default key: none
- Description: Set Local Echo toggle.
-
- Examples:
-
- {local}
- Toggle Local Echo on/off.
-
- {local y}
- Turn on Local Echo.
-
- {local n}
- Turn off Local Echo.
-
-
-
- -56-
-
-
-
- === LOOKfor ===
-
-
- Default key: none
- Description: Look for strings in the modem input stream.
-
- LOOKfor is used in conjunction with SSLOok, CALOok and GOLOok to scan for
- as many as 16 strings at the same time. When SSLOok, CALOok and GOLOok set
- up additional strings to look for, the actual "looking" does not take place
- until the LOOKfor executes.
-
- Parameters controlling LOOKfor are set with the SETLook function and may be
- changed at any time with another SETLook. See the description of the
- SETLook function for details.
-
- Examples using LOOKfor only:
-
- {lookfor first name?}
- Look for the string "first name?"
-
- {look ^(COMMO^)}
- Look for the string "{COMMO}".
-
- When the string comes in, control will pass to the next function.
-
- Example construct using SSLOok/CALOok/GOLOok/LOOKfor:
-
- {setlook 60,hng,3,n|}
- {setv ss_r,|}
- ...
- {:start}
- {golook label-a,target1}
- {calook start,label-b,target2}
- {sslook ss_r,target3}
- {golook ,target4}
- {lookfor target5} {send answer5}
- {goto label-c}
-
- {:label-a} {hangup y} {goto cancel}
- {:label-b} {send answer2} {call subr} {return}
- {:label-c} ...
-
- In this example {COMMO} will look for five target strings.
-
- When a target specified in any of the CALOok, GOLOok or LOOKfor
- functions is received, the LOOKfor is cancelled. It may be set up
- again by going to "start".
-
- When the target specified in the SSLOok is received, the string in the
- variable will be transmitted to the serial port. The LOOKfor will
- continue to look for the same targets.
-
-
-
- -57-
-
-
- The GOLOok function for target1 will GOTO "label-a" when the string
- comes in. In the example control will pass to "cancel" (macro not
- shown).
-
- If target2 comes in, the CALOok function will set "start" as the
- return point and then CALL "label-b". When this routine RETUrns,
- control returns to "start" and the five string LOOKfor will be set up
- again.
-
- If target3 is received, the string in the variable "ss_r" will be sent
- (in this case, a carriage return) and looking will continue.
-
- The GOLOok for target4 has a null label and control will pass to the
- function following the LOOKfor if that string comes in. The "," must
- be present.
-
- If target5 comes in, control will pass to the function following the
- LOOKfor.
-
- TIPS on creating LOOKfor strings:
-
- > There should be just one space following the LOOKfor function name.
- Any spaces beyond this point are part of the string. The string ends
- at the right curly brace.
-
- > SSLOok/CALOok/GOLOok/Auto Receive strings begin immediately after the
- comma. There should be no spaces unless they are part of the string.
-
- > Strings may be up to 32 characters in length (control characters like
- "^M" count as one). Upper/lower case is ignored.
-
- > ANSI control sequences are filtered if ANSI or VT102 emulation is
- enabled.
-
- > Remember that short strings may not be unique enough, long strings may
- not match due to line noise.
-
- > Rules for representing special characters in
- SSLOok/CALOok/GOLOok/LOOKfor/Auto Receive strings are given in
- Appendix D.
-
- Additional TIPS:
-
- > SSLOok, CALOok and GOLOok functions should immediately precede a
- LOOKfor (no string compares actually occur until the LOOKfor
- executes). Up to 15 SSLOok/CALOok/GOLOok strings may be used in
- addition to the LOOKfor (up to 16 strings total).
-
- > FILTER Capture Mode should be used to determine the exact prompt to
- look for. The LOOKfor sees the incoming data exactly as it is
- captured when FILTER mode is set.
-
-
-
- -58-
-
- > If two or more strings cause a match at the same time, the LAST such
- string listed is the one acted upon (for example, if "abcdef" and
- "def" are listed and the string "abcdef" comes in).
-
- See also: SSLOok, CALOok, GOLOok, SETLook.
-
-
- === MACRo ===
-
-
- Default key: Alt-M
- Description: Open Macro File window.
-
- Examples:
-
- {macro}
- Open window at current position.
-
- {macro menu1}
- Open window at "menu1."
-
- NOTE: The MACRo function always terminates the macro that is currently
- executing.
-
- A string argument may be included to facilitate the creation of menus
- within the Macro File. The first occurrence of the argument string will
- become the top line of the display when the window is opened.
-
- The Selector Bar will be positioned on the first screen line that has a
- left curly brace, if any.
-
- Here is an example of how to structure a menu using MACRo:
-
- | (this is past col. 80)
- | menu111
- Name of Menu |
- |
- |
- Selection 1 | {goto sel1}
- Selection 2 | {goto sel2}
- Selection 3 | {goto sel3}
-
- {:af1} {macro menu111}
- {:sel1} ...
- {:sel2} ...
- {:sel3} ...
-
- The upper line with "menu111" will be the top line of the screen. Pressing
- Alt-F1 will bring up the menu with the Selector Bar on Selection 1. Macros
- at "sel1", "sel2" and "sel3" will process the respective selections.
-
- Note that the macro at "af1" to invoke the menu must be below the menu
- since it contains the string and would be found in the search.
-
-
-
- -59-
-
-
- See also MENU.
-
-
- === MARK ===
-
-
- Default key: none
- Description: Mark Dialing Directory entries for dialing.
-
- Example:
-
- {mark joes-bbs,file-city}
- Mark entries for dialing.
-
- Dialing Strings may be separated by spaces or commas.
-
- {COMMO} will search the Dialing Directory for each string and mark the
- first entry where a match is found. Case is ignored.
-
- The strings may consist of any part of a Dialing Directory entry line
- (including strings contained within curly braces), but must NOT contain any
- spaces, commas or curly braces.
-
- See also: DIAL, UNMArk.
-
-
- === MENU ===
-
-
- Default key: none
- Description: Create a pop-up macro menu.
-
- General form:
-
- {SETV _menu1,text1}
- {SETV _menu2,text2}
- ...
- {SETV _menuN,textN}
-
- text1
- Text to be placed on first information line in the pop-up
- window (third line down, counting from the top border).
-
- NOTE: These text strings are simply information and have no
- effect on which macros will be executed.
-
- text2
- Text to be placed on second information line.
- ...
-
- textN
- Text to be placed on Nth information line.
-
-
-
- -60-
-
-
- {SETV _mlabel,label1,label2,...}
-
- NOTE: Labels are positional and may be omitted using null
- arguments for keys that aren't used. See example 2 below.
-
- label1
- Label to GOTO if F1, A or 1 is pressed. Any of the three
- keys will activate the macro at the first label.
-
- label2
- Label to GOTO if F2, B or 2 is pressed.
-
- ... etc.
-
- {SETV _menter,label}
-
- label
- Label to GOTO if Enter is pressed.
-
- {SETV _mcolor,text,border}
-
- text
- Colors for the text area of the pop-up window.
-
- border
- Colors for the window border.
-
- NOTE: The attributes are specified in the same manner as the
- colors in the Setup File (press F7 in the Internal Editor to
- display the Color Chart).
-
- {MENU height,width,string}
-
- height
- Total number of rows from top to bottom of pop-up window,
- including borders. Minimum is 5.
-
- width
- Total number of columns from left side to right side,
- including borders. Minimum is 23.
-
- string
- Title string that will appear in the top border.
-
- Example 1:
-
- {setv _menu1, F1 Call computer at work}
- {setv _menu3, F2 Call E-mail service}
- {setv _menu5, F3 Run offline mail reader}
- {setv _mlabel,work,mail,reader}
- {setv _mcolor,17,30}
- {menu 9,32,Daily Activity Menu} {}
-
-
-
- -61-
-
-
- {:work} ... macro to call work computer.
- {:mail} ... macro to call E-mail service.
- {:reader} ... macro to run offline reader.
-
- This menu specifies that function keys be pressed to activate the
- macros. You could also press A or 1 instead of F1, B or 2 instead of
- F2, etc. The macros may be as simple or as complex as desired to
- complete the task.
-
- Example 2:
-
- {setv _menu1, [D] Dialing Directory}
- {setv _menu4, [E] Edit a file}
- {setv _menu2, [M] Macro File}
- {setv _menu3, [Enter] Shell to DOS (with swap)}
- {setv _mlabel,,,,ddir,edit,,,,,,,,mfile}
- {setv _menter,dos}
- {setv _mcolor,03,47}
- {menu 8,39,Common Commands} {}
-
- {:ddir} {dial} {}
- {:edit} {input efile,Filename to Edit}
- {edit %efile} {}
- {:mfile} {macro}
- {:dos} {shell-s} {}
-
- This menu uses "mnemonic" key labeling -- D for (D)ialing Directory,
- etc. Notice that there are three empty positions in the "_mlabel"
- list prior to "ddir" and "edit". These correspond to A, B and C,
- which are not used in this menu. Then there are empty positions up to
- "mfile" (M).
-
- TIPS on using MENU:
-
- > The dimensions of the window are limited by the current size of the
- Terminal Screen.
-
- > The total number of displayable lines is "height" less 4. Lines in
- the window for which no "_menux" variable has been defined will be
- left blank.
-
- > Up to 26 labels can be specified in each menu. These correspond to
- pressing the letters A through Z. The first 12 labels also correspond
- to pressing F1 through F12, while the first 9 labels correspond to
- pressing 1 through 9.
-
- > The built-in variable "_msn" is set to the number of the menu
- selection when a menu key is pressed: 0 for Enter, 1 to 26 for A to Z,
- etc.
-
- > All variables used to create the menu are automatically deleted from
- Variable Space after the menu is displayed.
-
-
-
- -62-
-
-
- > The last colors used to display a menu will persist until they are
- changed (by setting the "_mcolor" variable).
-
- > If Esc is pressed to exit the menu, macro execution continues in
- sequence following the MENU function.
-
- See also MACRo.
-
-
- === MULTiply ===
-
-
- Default key: none
- Description: Multiply a numeric variable by a number.
-
- Example:
-
- {mult money,10}
- Multiply "money" by 10.
-
- The multiplier (second argument) is limited to 65535 (default is 1).
-
- If either argument or the result is out of range, then the variable will be
- set to the string "ERROR".
-
- If the variable is not numeric, the results will be unpredictable.
-
-
- === NOCArrier ===
-
-
- Default key: none
- Description: Sets/resets a macro to execute when carrier detect is lost.
-
- Examples:
-
- {noca carrlost}
- GOTO the label "carrlost" when the carrier detect signal drops.
-
- {noca}
- Cancel the carrier lost label.
-
- This function is used to modify the label defined by the "ncr" item in the
- Setup File. See "Alt-G Edit Setup File" in Part I for details and
- restrictions on this feature.
-
-
- === NOOP ===
-
-
- Default key: none
- Description: No-op function, does nothing
-
-
-
- -63-
-
-
- Example:
-
- {noop}
- No arguments.
-
-
- === OFFLog ===
-
-
- Default key: none
- Description: Make an {Off} entry in the Usage Log.
-
- Example:
-
- {offlog}
- No arguments.
-
- This function is useful on systems that do not support the carrier detect
- signal.
-
- NOTE: An {Off} entry will be made only if an {On} entry was made at
- connection time.
-
-
- === PARMs ===
-
-
- Default key: Alt-P
- Description: Set Current Terminal Parameters
-
- General form:
-
- {PARMs speed,format,comport,terminal-type,delay}
-
- speed
- The bps rate: 2400, 9600, etc.
-
- format
- The data format: 8n1, 7e1, etc.
-
- comport
- The serial port number: 1, 2, 3 or 4.
-
- terminal
- The terminal-type: A, V or T.
-
- delay
- The inter-character delay factor: 0-999.
-
-
-
- -64-
-
- Examples:
-
- {parms 2400,8,1,,20}
- Set 2400 bps, 8n1, Com1, delay=20.
-
- {parms ,,4,V}
- Set Com4 VT102.
-
- {parms 19200,7o1}
- Set 19200 bps, 7o1.
-
- IMPORTANT! Omitted parameters are not changed.
-
- This function will change the current parameters, but has no effect on the
- parameters set when dialing.
-
- See also DPARms.
-
-
- === PASSword ===
-
-
- Default key: Alt-W
- Description: Send current password.
-
- Example:
-
- {password}
- No arguments.
-
- The current password is obtained from the Dialing Directory entry whenever
- a number is dialed. If no password is specified no characters will be
- sent.
-
-
- === PAUSe ===
-
-
- Default key: none
- Description: Pause for a time interval.
-
- Switches:
-
- T or T1
- Time is specified in DOS clock ticks (there are 18 clock ticks
- per second).
-
- T0
- Time is specified in seconds (default).
-
-
-
- -65-
-
- Examples:
-
- {pause 25}
- Pause for 25 seconds.
-
- {pause-t 9}
- Pause for 9 clock ticks (one half second).
-
- NOTE: Incoming characters displayed during a PAUSe function are not seen
- by subsequent SSLOok/CALOok/GOLOok/LOOKfor functions.
-
-
- === POPStack ===
-
-
- Default key: none
- Description: Pop an element from the macro stack.
-
- Switches:
-
- C1 or C
- Clear all elements from the stack.
-
- C0
- Pop the top element (default).
-
- Examples:
-
- {pops}
- Pop the top element.
-
- {pops-c}
- Clear the stack.
-
- POPStack throws away the top element on the macro stack. This element
- would have been used by the next RETUrn function.
-
- See also CALL, RETUrn, PUSHstack.
-
-
- === PRINtlog ===
-
-
- Default key: Alt-2
- Description: Set Print Log toggle.
-
- Examples:
-
- {print}
- Toggle Print Log on/off.
-
-
-
- -66-
-
- {print y}
- Turn on Print Log.
-
- {print n}
- Turn off Print Log.
-
-
- === PUSHstack ===
-
-
- Default key: none
- Description: Push a return point onto the macro stack.
-
- Examples:
-
- {push}
- Push the current location.
-
- {push abc}
- Push the location "abc".
-
- When there are no arguments, the location pushed is the location of the
- PUSHstack function itself (i.e., it will be executed again when a RETUrn is
- encountered).
-
- PUSHstack will push a return point onto the macro stack without
- transferring control to the location (control continues in sequence). A
- subsequent RETUrn will transfer control to the location that was pushed.
-
- POPStack will remove the top stack element without transferring control to
- it (control continues in sequence).
-
- TIPS on using PUSHstack:
-
- > The return point will include the name of the current auxiliary file
- if the PUSHstack function is located in the auxiliary.
-
- > PUSHstack cannot save a location that is in a Macro File that is not
- currently loaded.
-
- See also CALL, RETUrn, POPStack.
-
-
- === RCLOse ===
-
-
- Default key: none
- Description: Close the read file.
-
- Example:
-
- {rclose}
- No arguments.
-
-
-
- -67-
-
-
- NOTE: The read file will be closed automatically in the following
- situations:
-
- 1) When an attempt is made to read past the end of the file.
- 2) When the macro terminates (STOP, EXIT, etc.).
-
- See also ROPEn, READ.
-
-
- === READ ===
-
-
- Default key: none
- Description: Read a line from the read file to a variable.
-
- Example:
-
- {read nextline}
- Read the next line in the file into the variable "nextline."
-
- TIPS on reading files:
-
- > A file must be open for reading or a macro error will result.
-
- > Each READ will get the next line in the file (lines are terminated by
- carriage return and linefeed).
-
- > When an attempt is made to read past the end of file, control will
- GOTO the label specified in the ROPEn. If no label was specified or
- if the label was invalid, control will continue in sequence. In
- either case the file is automatically closed and the variable is set
- to null.
-
- > READ will set the Exit Code to 0 unless the end of file was
- encountered, in which case it will be set to 1. The Exit Code is
- stored in the built-in variable "_err" and can be tested with the
- IFERrorlevel function.
-
- > ALL control characters (below ASCII 28) will be discarded, including
- the carriage return/linefeed that terminates the line.
-
- > Lines longer than 240 characters will be truncated to a length of 240.
-
- See also ROPEn, RCLOse
-
-
- === RETUrn ===
-
-
- Default key: none
- Description: Return from a CALLed macro.
-
-
-
- -68-
-
- Example:
-
- {return}
- No arguments.
-
- This function will return control to the last location pushed onto the
- macro stack (by CALL, PUSHstack, etc.). The location may reside in a Macro
- File that is not currently loaded (loading will occur automatically).
-
- TIPS on using RETUrn:
-
- > If a RETUrn is encountered and no elements remain on the macro stack,
- a STOP will occur. This is useful in macros that are CALLed and also
- used standalone (such as protocol file transfer macros).
-
- > If the macro filename popped from the macro stack is the same as the
- current auxiliary file, no load will occur.
-
- See also CALL, CALOok, DIAL, PUSHstack, POPStack.
-
-
- === ROPEn ===
-
-
- Default key: none
- Description: Open a file for reading.
-
- General Form:
-
- {ROPEn path\filename,label}
-
- path\filename
- The path\filename of the file to open.
-
- label
- A label to GOTO when a READ is attempted at the end of the
- file.
-
- Example:
-
- {ropen c:\bbs\file.txt,nomore}
- Open the file and set the label "nomore" to GOTO when the end of
- the file is reached.
-
- TIPS on using ROPEn:
-
- > Only one file may be opened for reading (and one for writing).
-
- > The file will be automatically closed when the end of the file is
- encountered during a READ (whether or not a label is specified). An
- RCLOse is not needed in this situation.
-
- See also READ, RCLOse.
-
-
-
- -69-
-
-
-
- === RTRAn ===
-
-
- Default key: none
- Description: Maintain Receive Translate Table.
-
- Switches:
-
- I1 or I
- Initialize Receive Translate Table to default values (consecutive
- 0 to 255).
-
- I0
- Do not initialize (default).
-
- Examples:
-
- {rtran y}
- Turn receive translation ON.
-
- {rtran-i n}
- Initialize the table and turn it OFF.
-
- {rtran 26,0}
- Change ASCII 26 to null (ASCII 0, which will not display).
-
- {rtran-i y,#8,224,240}
- Initialize the table, turn receive translation ON, change ASCII
- 224 to 240, 225 to 241, ..., 231 to 247.
-
- {rtran}
- Toggle receive translation ON/OFF.
-
- {rtran #13,65,78,#13,78,65,#13,97,110,#13,110,97}
- ROT13 translation. This exchanges each letter in the first half
- of the alphabet with the corresponding letter from the second
- half (and vice-versa).
-
- Rules for RTRAn arguments are the same as for the {rtr=} item in the Setup
- File. In addition, "n" may be used as the first argument to turn receive
- translation OFF at any time.
-
- See "Edit Setup File" in Part I for details and more examples.
-
- TIPS on using RTRAn:
-
- > Some control characters are unaffected by translation when certain
- features are enabled. Examples: XON (17) and XOFF (19) are not
- translated when Software Flow Control is on. ENQ (5) is not
- translated when ENQ/ACK emulation is on.
-
-
-
- -70-
-
- > When the Capture Mode is set to RAW, data will be captured prior to
- translation. FILTER and SCREEN captures will contain translated data.
-
- > LOOKfor will always see translated data. Use FILTER Capture Mode to
- see what LOOKfor sees.
-
- > In GETString, incoming data (as well as locally typed characters) will
- be translated with the Receive Translate Table (it may be necessary to
- turn receive translation off during certain GETString functions).
-
- See also STRAn.
-
-
- === RXMOdem ===
-
-
- Default key: none
- Description: Receive a file using the Xmodem protocol.
-
- Switches:
-
- See RYMOdem (switches are the same).
-
- Example:
-
- {rxmo-ya c:\dl\file.zip}
- Receive "file.zip", overwrite the file if it exists, sound the
- alarm.
-
- Only one file may be received with each RXMOdem function (the file must be
- explicitly named, but need not be given the same name as on the remote
- system).
-
- See RYMOdem for tips that apply to both RXMOdem and RYMOdem.
-
- See also SXMOdem, RYMOdem.
-
-
- === RYMOdem ===
-
-
- Default key: none
- Description: Receive files using the Ymodem Batch protocol.
-
- Switches:
-
- C1 or C
- Use CRC error correction (default).
-
- C0
- Use Checksum error correction.
-
-
-
- -71-
-
- G1 or G
- Use streaming (fast) transfer method.
-
- IMPORTANT! Use only with error-correcting modems or direct
- connections between computers.
-
- G0
- Use normal (error-correcting) transfer method (default).
-
- Y1 or Y
- Overwrite an existing file when a received file has the same name
- (the existing file will be erased).
-
- Y0
- Cancel the transfer if a received file has the same name as an
- existing file (default).
-
- D1 or D
- Cancel transfer if carrier detect is lost (default).
-
- NOTE: If carrier detect is off when the transfer is started,
- this switch will behave as if "D0" had been set.
-
- D0
- Ignore state of carrier detect.
-
- A1 or A
- Sound the alarm at the end of the transfer.
-
- A0
- Do not sound the alarm (default).
-
- W
- Wait for a keypress at end of transfer.
-
- Wn
- Wait for "n" seconds, "n" may range from 0 to 999. Press a key
- to cancel the wait.
-
- Note: Default (no "W" switch) is no wait.
-
- Examples:
-
- {rymo-ya %dldir}
- Receive files into the download directory, overwrite a file if it
- exists, sound the alarm.
-
- {rymo-gw3}
- Receive files using the "G" method into the current directory.
- Wait 3 seconds before returning to the Terminal Screen.
-
- Ymodem is a "batch" protocol that will receive multiple files. Filenames
- are transmitted by the sender and are used to name files at the receiving
-
-
-
- -72-
-
- end. A filename "collision" will cause the transfer to cancel unless the
- "Y" switch is used. File sizes are also transmitted by the sender and are
- used to truncate the file to the proper size.
-
- TIPS on using RYMOdem and RXMOdem:
-
- > The "G" method is specified by the receiver. Be sure that the sender
- allows it before starting.
-
- > Block size is established by the sender and may be changed on a block-
- by-block basis (always 1024 when the "G" method is used).
-
- > Some conditions that will cancel a transfer:
- 1) 10 consecutive errors.
- 2) Any error when "G" method is used.
- 3) The file to be received already exists and the "Y" switch is not
- present.
- 4) The sender has transmitted CAN (^X) characters.
-
- > The Exit Code (test with IFER) will be set at the end of the transfer.
- The Exit Code will also be stored in the variable "_err". 0 means
- success, 1 means failure.
-
- > If the Usage Log is enabled, an entry will be made after each file is
- transferred (or if a transfer is cancelled).
-
- See also SYMOdem, RXMOdem.
-
-
- === SCREen ===
-
-
- Default key: Alt-I
- Description: Screen Image Save.
-
- Examples:
-
- {screen}
- Open Screen Image Save window.
-
- {screen y}
- Append screen image to current file.
-
- {screen y,commo.scr}
- Append screen image to indicated file. (and change current
- path\filename).
-
- {screen n,c:\file.xyz}
- Change current screen image path\filename (don't save screen to
- file).
-
-
-
- -73-
-
- === SCROllback ===
-
-
- Default key: Alt-K
- Description: Display Scrollback Buffer
-
- Example:
-
- {scroll}
- No arguments.
-
-
- === SEND ===
-
-
- Default key: none
- Description: Send a string to the modem (serial port).
-
- Examples:
-
- {send Firstname|~~Lastname|~~%_pass%|}
- Send first and last names with carriage returns and 1 second
- delays, then send the current password and a <cr>.
-
- {send ^[^[}
- Send two <esc> characters.
-
- {send }
- Send a space (there must be two spaces, the first is the
- separator).
-
- {send %line}
- Send the string in the variable "line".
-
-
- NOTE: See Appendix D for information on how to represent any character in
- a SEND function.
-
-
- === SETDial ===
-
-
- Default key: none
- Description: Set parameters for dialing.
-
- Examples:
-
- {setdial 60,15}
- Set the dialing cycle timer to 60 seconds and the Inter-dial
- Delay to 15 seconds.
-
- {setd ,3}
- Change only the Inter-dial Delay timer.
-
-
-
- -74-
-
-
- The first argument is the dialing cycle time limit. This is the number of
- seconds {COMMO} will allow after sending the dial command to the modem.
- Range is from 1 to 999.
-
- The second argument is the inter-dial delay timer. This is the number of
- seconds before {COMMO} dials the next number. Range is from 1 to 999.
-
- NOTE: Changes to dialing parameters override the Setup File values and
- remain in effect until {COMMO} is exited.
-
- See also DIAL.
-
-
- === SETEsc ===
-
-
- Default key: none
- Description: Define a label to GOTO when Esc is pressed.
-
- General form:
-
- {setesc label}
-
- label
- A label to GOTO when the user presses Esc during macro
- execution.
-
- Switches:
-
- P1 or P
- The user will be prompted with, "A macro is running. Terminate
- it?." If the user answers "no," macro execution will continue as
- if nothing had happened. If "yes," control will GOTO the label.
- If the label does not exist, a STOP will be executed. P1 is the
- default.
-
- P0
- The user will not be prompted. Control will GOTO the label if it
- exists, else a STOP will be executed.
-
- Examples:
-
- {setesc finish}
- GOTO label, with prompt.
-
- {sete-p0 done}
- GOTO label, without prompt.
-
- {setesc}
- Reset to no label (STOP on Esc).
-
-
-
- -75-
-
- This function is used to "capture" the Esc key during macro execution,
- especially when CALL is used to load a new Macro File. It will help
- prevent accidental macro terminations.
-
- The macro at the label would typically reload COMMO.MAC, thus restoring the
- user's familiar environment.
-
- TIPS on using SETEsc:
-
- > Do not set a label in an auxiliary Macro File that could be replaced.
- In this situation the label should be in the resident file.
-
- > In the various command windows, Esc is normally used to exit the
- window. Use Ctrl-Break to bring up the prompt.
-
-
- === SETGet ===
-
-
- Default key: none
- Description: Set parameters for GETString functions.
-
- General form:
-
- {SETGet seconds,label,y/n/l,string}
-
- seconds
- GETString timeout. If a character is not entered in the
- specified amount of time, the macro in the second argument
- will be started. May be 0 to 999. Default is 0 (disabled).
-
- label
- Timeout macro. Macro to GOTO if the time in the first
- argument expires. If no macro is specified or if the macro
- label is invalid, control will pass to the function
- following the GETString. Default is no macro.
-
- Note that if the timer expires no variable assignment will
- be made. Any previous assignment will be unaltered.
-
- y/n/l
- Echo Status. If this is "yes", characters entered at the
- local or remote terminals will be echoed back to the remote
- and displayed locally. This is the default.
-
- If "no", characters will not be echoed to either location.
-
- If "local", characters will be displayed locally, but not
- echoed to the remote. This should be used when the remote
- is a host system.
-
-
-
- -76-
-
- IMPORTANT! This setting is independent of Local Echo. Turn
- on Local Echo if necessary for local display of data
- transmitted with SEND, ASCIiup, etc.
-
- string
- Terminator response. This string will be sent and/or
- displayed locally (in accord with the Echo Status) when a
- carriage return is received (input terminated). This is
- typically a carriage return/linefeed. May be up to 32
- characters. Default is no string.
-
- Example:
-
- {setg 120,noget,y,^m^j}
- Set GETString parameters.
-
-
- The SETGet function will set parameters for all subsequent GETString
- functions. It may be executed at any time to modify the parameters.
-
- When macro execution terminates, the parameters will be reset to the
- default values.
-
- Default arguments are:
-
- GETString timeout 0 (disabled)
- Timeout macro none
- Echo status y (echo on)
- Terminator response none
-
- IMPORTANT! Null arguments in the SETGet function will be set to these
- defaults.
-
- See also: GETString.
-
-
- === SETLook ===
-
-
- Default key: none
- Description: Set parameters for LOOKfor functions.
-
- General form:
-
- {SETLook seconds,label,seconds,string}
-
- seconds
- LOOKfor timeout. Maximum time in seconds to look for a
- string. If the string is not found in the allotted time,
- the macro in the second argument will be started. May be 0
- to 999. Default is 0 (disabled).
-
-
-
- -77-
-
- label
- Timeout macro. Macro to GOTO if the time in the first
- argument expires. If no macro is specified or if the macro
- label is invalid, control will pass to the function
- following the LOOKfor.
-
- seconds
- Prompt timeout. During a LOOKfor function unwanted prompts
- may appear like "Press any key" or "More [Y/n]", etc. This
- argument is the time in seconds to wait at a prompt (no
- input from the modem) before sending the string in the
- fourth argument. Usually you would send "|" or "n|".
-
- When the response string is sent the timer is restarted,
- allowing any number of prompts to be satisfied (until the
- LOOKfor itself is satisfied or times out).
-
- The timer will also be restarted if any keys are typed while
- waiting. This allows a manual response to a prompt which
- the macro does not handle.
-
- IMPORTANT! The prompt timeout should be long enough (or
- disabled entirely) to prevent the response from being sent
- when there is a long delay without a prompt. This might
- occur right after connection while the BBS software is
- loading or when a "door" program is loading.
-
- Failure to heed this warning will result in "n" responses to
- "First name?" and other undesirable effects.
-
- May be 0 to 999. Default is 0 (disabled).
-
- string
- Prompt response. String to send when the time in the third
- argument runs out. May be up to 32 characters. Default is
- no string.
-
- Example:
-
- {setl 60,abc,4,n|}
- Set LOOKfor parameters
-
-
- The SETLook function will set parameters for subsequent LOOKfor functions
- and may be executed at any time to modify the parameters.
-
- When macro execution terminates, the parameters will be reset to the
- default values.
-
-
-
- -78-
-
- Default arguments are:
-
- LOOKfor timeout 0 (disabled)
- Timeout macro none
- Prompt timeout 0 (disabled)
- Prompt response none
-
- IMPORTANT! Null arguments in the SETLook function will revert to these
- defaults.
-
- See also: LOOKfor, SSLOok, CALOok, GOLOok.
-
-
- === SETVariable ===
-
-
- Default key: none
- Description: Assign a string to a variable name.
-
- General form:
-
- {SETVariable name,string}
-
- name
- The name of the variable to which the string will be
- assigned.
-
- string
- The string may be the name of another {COMMO} variable or an
- environment variable. In these cases further expansion is
- controlled by switches (see below).
-
- Switches:
-
- E1 or E
- This switch indicates that the second argument is a DOS
- environment variable. If it is not found in the environment, the
- {COMMO} variable will be set to NULL.
-
- Note that environment variable names are CASE SENSITIVE (they are
- usually upper case).
-
- E0
- Normal variable (default).
-
-
-
- -79-
-
- S1 or S
- This switch will cause "double expansion" of the second argument
- (indirect variable). First {COMMO} will substitute any variables
- indicated by "%" signs. The resulting string (which must NOT
- begin with a "%") will then be treated as a variable name and
- expanded again.
-
- This facility may be used to create a "subscript."
-
- S0
- Single expansion (default).
-
- Examples:
-
- {setv net,nodeid}
- Assign the string "nodeid" to the variable name "net".
-
- {setv nodeid,ggcs_bbs}
- Assign the string "ggcs_bbs" to the variable name "nodeid".
-
- {setv-s bbs,nodeid}
- Assuming the above examples have been executed, this will set the
- variable "bbs" to "ggcs_bbs".
-
- {setv-s board,%net}
- Assuming the above examples have been executed, this will set the
- variable "board" to "ggcs_bbs".
-
- {setv-s xxx,yyy%index}
- Suppose the variable "index" has the value "3". It will be
- expanded first, then "yyy3" will be expanded and its value
- assigned to "xxx".
-
- {setv-e abc,TABLE}
- Assuming a "SET TABLE=" DOS command has been executed prior to
- running {COMMO}, the variable "abc" will be set to the
- environment string.
-
- {setv abc} or {setv abc,}
- Set the variable "abc" to null (it will be deleted from variable
- space).
-
-
- === SFICtrl ===
-
-
- Default key: none
- Description: Speech Friendly Interface control.
-
-
-
- -80-
-
- Examples:
-
- {sfic}
- Toggle Speech Friendly Interface on/off.
-
- {sfic y}
- Turn on Speech Friendly Interface.
-
- {sfic n}
- Turn off Speech Friendly Interface.
-
-
- === SHELl ===
-
-
- Default key: Alt-S
- Description: Shell to DOS.
-
- Switches:
-
- S1 or S
- Swap to disk before shelling to DOS (see details under EXECute,
- "Using the Swap to Disk Switch").
-
- S0
- Do not swap to disk (default).
-
- Examples:
-
- {shell}
- No arguments.
-
- {shell-s}
- Swap to disk before shelling to DOS.
-
-
- === SIGNal ===
-
-
- Default key: none
- Description: Set state of hardware signals.
-
- Switches:
-
- D1 or D
- Set DTR high.
-
- D0
- Set DTR low.
-
-
-
- -81-
-
- R1 or R
- Set RTS high.
-
- R0
- Set RTS low.
-
- Example:
-
- {signal-d0r1}
- Turn off DTR, turn on RTS.
-
- The "D" and "R" switches are used to control the RS-232C signals DTR (Data
- Terminal Ready) and RTS (Request To Send). The default for each switch is
- to leave the signal unchanged. Use these with care due to interaction with
- Hardware Flow Control, etc.
-
-
- === SOUNd ===
-
-
- Default key: none
- Description: Set Master Sound toggle.
-
- Examples:
-
- {sound}
- Toggle Master Sound on/off.
-
- {sound y}
- Turn on Master Sound.
-
- {sound n}
- Turn off Master Sound.
-
-
- === SPDCtrl ===
-
-
- Default key: none
- Description: Serial port display control.
-
- Examples:
-
- {spdc y}
- Serial port display is ON.
-
- {spdc n}
- Serial port display is OFF.
-
- This function will suppress display of any data received from the serial
- port. It can be used when a "clean" display is desired during automated
- procedures.
-
-
-
- -82-
-
- TIPS on using SPDCtrl:
-
- > Serial port display can be suppressed only while a macro is running
- (it will be restored to ON at macro termination).
-
- > ANSI control sequences are not processed while the display is OFF
- (Terminal Emulation effectively reverts to TTY).
-
- > LOOKfor will function normally, but remember that ANSI sequences are
- not stripped. Make a manual run using TTY emulation to see what the
- LOOKfor will see.
-
- > SCREEN Capture Mode will not capture any of the incoming data. Use
- RAW mode or FILTER mode instead (FILTER capture will be affected by
- the Translate Table, but will still contain ANSI sequences).
-
-
- === SPOCtrl ===
-
-
- Default key: none
- Description: Serial port output control.
-
- Examples:
-
- {spoc y}
- Serial port output is ON.
-
- {spoc n}
- Serial port output is OFF.
-
- This function will inhibit any data from being sent to the serial port.
- All other program operations will be normal. It is used for "local mode"
- in host macros (no data is sent to the modem).
-
- TIPS on using SPOCtrl:
-
- > Serial port output can be inhibited only while a macro is running (it
- will be restored to ON at macro termination).
-
- > Dialing and internal protocols will not operate properly if serial
- port output is turned OFF.
-
-
- === SSLOok ===
-
-
- Default key: none
- Description: Send a string when a string appears.
-
- General form:
-
- {SSLOok name,target}
-
-
-
- -83-
-
-
- name
- The name of a string variable (MUST be a variable).
-
- target
- The ASCII string to look for. The string begins following
- the "," and is terminated by the "}".
-
- Switches:
-
- R or R1
- Send a carriage return after sending the variable string to the
- serial port.
-
- R0
- Do not send a carriage return (default).
-
- Example:
-
- {setv ss_r,|} {setv ss_nr,n|}
- ...
- {sslo-r _pas,password:}
- {sslo ss_r,Press enter to continue}
- {sslo ss_nr,Do you want to log off?}
- {look command?} ...
-
- SSLOok is used in conjunction with the LOOKfor function. It sets up an
- additional string to look for. When the target string appears, the string
- in the variable is sent to the serial port. The LOOKfor continues to look
- for all specified strings.
-
- IMPORTANT! The LOOKfor timeout (specified in a SETLook) is unaffected when
- an SSLOok is triggered.
-
- See LOOKfor for details, examples and tips on using SSLOok.
-
- See also: CALOok, GOLOok, SETLook.
-
-
- === STATusline ===
-
-
- Default key: none
- Description: Set Status Line toggle.
-
- IMPORTANT! The Status Line is {COMMO}'s instrument panel. You should not
- turn it off until you are familiar with operating the program.
-
- Examples:
-
- {statusline}
- Toggle Status Line on/off.
-
-
-
- -84-
-
- {status y}
- Turn on Status Line.
-
- {status n}
- Turn off Status Line.
-
- When the Status Line is off (not visible), the bottom line of the display
- becomes part of the Terminal Screen.
-
- The STATusline function is ignored while in Chat Mode.
-
-
- === STOP ===
-
-
- Default key: none
- Description: Halt macro execution.
-
- Examples:
-
- {stop}
- No arguments.
-
- {}
- Short form.
-
- STOP always returns {COMMO} to manual operation in the Terminal Screen. It
- should be used to end login macros.
-
-
- === STRAn ===
-
-
- Default key: none
- Description: Maintain Send Translate Table.
-
- Switches:
-
- I1 or I
- Initialize Send Translate Table to default values (consecutive 0
- to 255).
-
- I0
- Do not initialize (default).
-
- Examples:
-
- {stran y}
- Turn send translation ON.
-
-
-
- -85-
-
- {stran-i n}
- Initialize the table and turn it OFF.
-
- {stran-i y,92,47}
- Initialize the table, turn send translation ON, change "\" to
- "/".
-
- {stran}
- Toggle send translation ON/OFF.
-
- {stran #13,65,78,#13,78,65,#13,97,110,#13,110,97}
- ROT13 translation. This swaps the first 13 letters of the
- alphabet for the second 13.
-
- Rules for STRAn arguments are the same as for the {str=} item in the Setup
- File. In addition, "n" may be used as the first argument to turn send
- translation OFF at any time.
-
- See "Edit Setup File" in Part I for details and more examples.
-
- TIPS on using STRAn:
-
- > Some control characters are unaffected by translation when certain
- features are enabled. Examples: XON (17) and XOFF (19) are not
- translated when Software Flow Control is on. When ENQ/ACK emulation
- is on, an ACK sent in response to an ENQ will not be translated.
-
- > In GETString, data echoed to the modem (and displayed locally) will be
- translated with the Send Translate Table (it may be necessary to turn
- send translation off during certain GETString functions).
-
- See also RTRAn.
-
-
- === SUBString ===
-
-
- Default key: none
- Description: Move a substring to a variable.
-
- General form:
-
- {SUBString name,start,count,string}
-
- name
- The name of the variable to which the substring will be
- assigned.
-
- start
- The starting character number (first character is "1"). If
- it is negative, {COMMO} will count in from the end of the
- string.
-
-
-
- -86-
-
- If it is too large and positive, the substring will be null.
-
- If it is too large and negative, the substring will start at
- the beginning of the string.
-
- count
- The number of characters to use. If the number is too
- large, {COMMO} will use as many as possible. If the count
- is 0, the substring will be null.
-
- string
- The string to use.
-
- Examples:
-
- {subs var_sub,2,4,abcdefgh}
- Set "var-sub" to "bcde".
-
- {subs newvar,-5,20,abcdefgh}
- Set "newvar" to "defgh".
-
-
- === SXMOdem ===
-
-
- Default key: none
- Description: Send a file using the Xmodem protocol.
-
- Switches:
-
- See SYMOdem (switches are the same).
-
- Example:
-
- {sxmo-ka c:\ul\file.zip}
- Send "file.zip" using 1024 byte block size (Xmodem-1k), sound the
- alarm.
-
- Only one file may be sent with each SXMOdem function.
-
- See SYMOdem for tips that apply to both SXMOdem and SYMOdem.
-
- See also RXMOdem, SYMOdem.
-
-
- === SYMOdem ===
-
-
- Default key: none
- Description: Send a file using the Ymodem Batch protocol.
-
-
-
- -87-
-
- Switches:
-
- K1 or K
- Use 1024 byte block size.
-
- K0
- Use 128 byte block size (default).
-
- D1 or D
- Cancel transfer if carrier detect is lost (default).
-
- NOTE: If carrier detect is off when the transfer is started,
- this switch will behave as if "D0" had been set.
-
- D0
- Ignore state of carrier detect.
-
- A1 or A
- Sound the alarm at end of transfer.
-
- A0
- Do not sound the alarm (default).
-
- W
- Wait for a keypress at end of transfer.
-
- Wn
- Wait for "n" seconds, "n" may range from 0 to 999. Press a key
- to cancel the wait.
-
- Note: Default (no "W" switch) is no wait.
-
- Examples:
-
- {symo-ka %uldir\*.zip}
- Send all .ZIP files in the upload directory using 1024 byte block
- size, sound the alarm.
-
- {symo-k c:\subdir\*.*,@c:\ul\file.lst,info.txt,a:*.qw?}
- Send all files listed using 1024 byte block size.
-
- Any combination of file specifications may be listed in the SYMOdem
- function (separated with commas). These may include wildcard specifiers
- (*,?), the indirect file specifier (@) and any single files.
-
- If a filespec is preceded with the "@" sign, it will be assumed to be an
- "indirect file." This means that it is a text file containing a list of
- filespecs. Filespecs should be listed one per line and each line should
- end with a cr/lf. Each filespec may contain wildcards. For example:
-
- c:\subdir\*.*
- info.txt
- a:*.qw?
-
-
-
- -88-
-
-
- TIPS on using SYMOdem and SXMOdem:
-
- > CRC vs. Csum mode is established by the receiver.
-
- > Use of "G" method is established by the receiver.
-
- > Some conditions that will cancel a transfer:
- 1) 10 consecutive errors.
- 2) Any error when "G" method is used.
- 3) The receiver has transmitted CAN (^X) characters.
-
- > The Exit Code (test with IFER) will be set at the end of the transfer.
- The Exit Code will also be stored in the variable "_err". 0 means
- success, 1 means failure.
-
- > If the Usage Log is enabled, an entry will be made after each file is
- transferred (or if a transfer is cancelled).
-
- See also RYMOdem, SXMOdem.
-
-
- === TOGGles ===
-
-
- Default key: Alt-T
- Description: Set various toggle parameters.
-
- Example:
-
- {toggles}
- Open Set Toggles window.
-
-
- === UNLOad ===
-
-
- Default key: none
- Description: Unload the current auxiliary Macro File.
-
- Examples:
-
- {unload}
- No arguments.
-
- The auxiliary Macro File will be released from memory. If no auxiliary is
- loaded, no action will be taken.
-
- If this function is executed from the auxiliary file, a STOP will occur
- after the auxiliary is released.
-
- See also: CALL, GOTO.
-
-
-
- -89-
-
-
- === UNMArk ===
-
-
- Default key: none
- Description: Unmark Dialing Directory entries.
-
- Switches:
-
- L1 or L
- Unmark last-dialed entry only.
-
- L0
- Unmark all or listed entries (default).
-
- Examples:
-
- {unmark joes-bbs,file-city}
- Unmark listed entries.
-
- {unmark}
- Unmark all entries.
-
- {unmark-L}
- Unmark last-dialed entry.
-
- NOTE: When the "L" switch is present, any Dialing Strings listed will be
- ignored.
-
- Dialing Strings may be separated by spaces or commas.
-
- {COMMO} will search the Dialing Directory for each string and unmark the
- first entry where a match is found. Case is ignored.
-
- The strings may consist of any part of a Dialing Directory entry line
- (including strings contained within curly braces), but must NOT contain any
- spaces, commas or curly braces.
-
- See also: DIAL, MARK.
-
-
- === VIDEo ===
-
-
- Default key: none
- Description: Change to an alternate hardware video mode.
-
-
-
- -90-
-
- Switches:
-
- M1 or M
- Change to the alternate display mode.
-
- M0
- Change back to the normal display mode.
-
- Examples:
-
- {video-m1}
- Change to the alternate mode.
-
- {video-m0}
- Change back to the normal mode.
-
- The "alternate" mode is defined by Setup File item {avm=}. The "normal"
- mode is the mode in effect when you start {COMMO}.
-
-
- === VTCUr ===
-
-
- Default key: none
- Description: Define a VT102 cursor (arrow) key.
-
- Example:
-
- {vtcur ^[[A|^[OA}
- Define up-arrow key strings.
-
- The first string is sent when cursor mode is active; the second string is
- sent when application mode is active (these modes are controlled by the
- host).
-
- The two strings must be separated by a "|". Use "^m" for carriage return
- if necessary.
-
- See also VTPAd.
-
-
- === VTPAd ===
-
-
- Default key: none
- Description: Define a VT102 keypad key.
-
- Example:
-
- {vtpad 5|^[Ou}
- Define keypad "5" key strings.
-
-
-
- -91-
-
- The first string is sent when numeric mode is active; the second string is
- sent when application mode is active (these modes are controlled by the
- host).
-
- The two strings must be separated by a "|". Use "^m" for carriage return
- if necessary.
-
- See also VTCUr.
-
-
- === WCLOse ===
-
-
- Default key: none
- Description: Close the write file.
-
- Example:
-
- {wclose}
- No arguments.
-
- NOTE: The write file will be closed automatically when the macro
- terminates (STOP, EXIT, etc.).
-
- See also WOPEn, WRITE.
-
-
- === WINDow ===
-
-
- Default key: none
- Description: Preserve window display.
-
- Switches:
-
- K1 or K
- Do not allow the Terminal Screen to be restored when exiting from
- a window.
-
- K0
- Allow the Terminal Screen to be restored when exiting from a
- window (default).
-
- Examples:
-
- {window-k}
- Don't restore the Terminal Screen.
-
- {wind-k0}
- Restore the Terminal Screen.
-
- This function will prevent the Terminal Screen from being restored after a
- window function exits. It is useful for making smooth, flicker-free
-
-
-
- -92-
-
- transitions between windows or for placing one pop-up window on top of
- another.
-
- The condition will remain active until either the "k0" switch is used or
- the macro terminates.
-
-
- === WOPEn ===
-
-
- Default key: none
- Description: Open a file for writing.
-
- Switches:
-
- A1 or A
- Open the file in "append" mode. New lines written to the file
- will be added at the end. If the file doesn't exist, it will be
- created.
-
- A0
- Open the file in "create" mode. If the file exists, it will be
- erased (default).
-
- Examples:
-
- {wopen c:\bbs\file.txt}
- Open the file in create mode.
-
- {wopen-a c:\data\word.fil}
- Open the file in append mode.
-
- TIP on using WOPEn:
-
- > Only one file may be opened for writing (and one for reading).
-
- See also WRITe, WCLOse.
-
-
- === WRITe ===
-
-
- Default key: none
- Description: Write a string to the write file.
-
- Examples:
-
- {write %nextline}
- Write the contents of the variable "nextline" to the write file.
-
-
-
- -93-
-
- {write}
- Write a carriage return/linefeed only (blank line) to the file.
-
- {write %num%> }
- Write the contents of "num" followed by a ">" and a space.
-
- TIPS on using WRITe:
-
- > A file must be open for writing or a macro error will result.
-
- > The string will be written as one line, terminated by a carriage
- return/linefeed.
-
- > Control character conversion is NOT performed on the write string.
-
- > A macro error will result if the disk is full.
-
- See also WOPEn, WCLOse
-
-
-
- -94-
-
- For APPENDICES see Part I, COMMO.DOC.
-
-