home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-02-13 | 164.3 KB | 5,080 lines |
-
-
-
-
-
-
-
-
- ____________
-
- {COMMO} (tm)
- ____________
-
-
- "A New Standard in Telecommunications"
-
-
-
-
-
-
-
-
-
- by
-
- Fred P. Brucker
-
- Post Office Box 9103
- Santa Rosa, CA 95405
-
-
-
-
-
-
- Macro Programming Guide
-
-
-
-
- Release 5.41
-
- February 13, 1993
-
-
-
-
-
-
-
-
-
-
-
-
-
- (C)Copyright 1989-1993 Fred P. Brucker All Rights Reserved
-
-
-
-
-
- The {COMMO} program and associated on-disk documentation are the
- property of 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 DOES NOT GUARANTEE THIS PROGRAM TO BE FREE FROM
- DEFECTS AND MAY NOT BE HELD RESPONSIBLE FOR LOSS CAUSED BY SUCH.
- YOUR USE OF THIS PROGRAM CONSTITUTES YOUR ACCEPTANCE OF THESE
- TERMS.
-
-
-
-
- DESQview is a trademark of Quarterdeck Office Systems
- OmniView is a trademark of Sunny Hill Software
- DoubleDOS is a trademark of SoftLogic Solutions, Inc.
- HS/Link is a product of Samuel H. Smith
- DSZ and GSZ are products of Omen Technology Inc.
- MPt is a product of Matthew Thomas
- LIST is a product of Vernon D. Buerg
- The IBM PC is a product of IBM Corp.
- MS-DOS is a trademark of MicroSoft Corp.
-
-
-
-
- (C)Copyright 1989-1993 Fred P. Brucker All Rights Reserved
-
-
-
- ================================
- {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.
- You will also receive instructions for removing the Shareware Notice
- at program startup.
-
- My (voice) TELEPHONE NUMBER for inquiries and support for registered
- users is (707) 573-1065. Please restrict calls to business hours
- (Mon-Fri, 9am-5pm, Pacific time).
-
- Registered users will also receive priority support on Bulletin Boards,
- CompuServe and GEnie (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.
- See the file LICENSE.DOC for details.
-
- 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.
-
- PAYMENT OPTIONS:
-
- 1) Payment by CHECK or MONEY ORDER: make payable to FRED P. BRUCKER.
- Mail the Registration Form and payment to the address below.
-
- 2) Payment by CREDIT CARD: fill in the credit card information at the
- bottom of the Registration Form. The following cards are accepted:
-
- VISA, MASTERCARD, CARTE BLANCHE, DINERS CLUB, JCB.
-
- You can mail the Registration Form to the address below or:
-
- Order by phone: (707) 573-1065, Mon-Fri, 9am-5pm, Pacific time.
- Have your credit card ready when you call.
-
- Order by E-mail on CompuServe (71021,356) or GEnie (F.BRUCKER1).
- Upload the completed Registration Form as a message.
-
- The company name on the charge will be "New Standard Software."
-
-
- SEND TO: Fred P. Brucker
- Post Office Box 9103
- Santa Rosa, CA 95405
-
-
-
- {COMMO} 5.41 SINGLE USER REGISTRATION FORM
-
- Name _______________________________________________________________
-
- Company name (if company address) ____________________________________
-
- Address _______________________________________________________________
-
- _______________________________________________________________
-
- _______________________________________________________________
-
-
- {COMMO} single user license, SPECIAL PACKAGE .... $50.00** $ __________
- Includes: (1) Printed, bound, indexed manual.
- (2) Latest release on diskette plus utilities
- (COMMOPNS, MOSTHOST, CMC, etc., see READ.ME).
- Diskette format: 5.25" ____ 3.5" ____
-
- {COMMO} single user license, with DISKETTE ...... $40.00 $ __________
- Diskette format: 5.25" ____ 3.5" ____
-
- {COMMO} single user LICENSE alone ............... $35.00 $ __________
-
- BBS sysops, students, seniors, low-income ....... $25.00 $ __________
- (license only; provide details on back of form)
-
- Subtotal $ __________
-
- California residents add sales tax, 7.5% $ __________
- (No tax when ordering license alone)
-
- ** SPECIAL PACKAGE ORDER, ADD SHIPPING:
- USA/Canada/Mexico ......... $3.00
- All other countries ...... $10.00 $ __________
-
- Total $ __________
-
- Payment method: Check__ Money order__ Visa__ MasterCard__
- Carte Blanche__ Diners Club__ JCB__ PO__
-
- CREDIT CARD INFORMATION:
-
- 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)
-
- ________________________________________________________________________
-
- What kind of systems do you call with {COMMO}?
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- What type of computer and modem do you use?
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
-
- Comments / Questions ___________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
- ________________________________________________________________________
-
-
- Thank you, and I hope you enjoy {COMMO}.
-
-
-
- {COMMO} (tm) Macro Programming Guide 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) . . . . . . . . . . . 21
- ABAUd . . . . . . . . . . . . . . . . . . . . . . . . . 21
- ALARm . . . . . . . . . . . . . . . . . . . . . . . . . 21
- ASCIiup . . . . . . . . . . . . . . . . . . . . . . . . 22
- AUTO . . . . . . . . . . . . . . . . . . . . . . . . . . 23
- BEEP . . . . . . . . . . . . . . . . . . . . . . . . . . 24
- BREAk . . . . . . . . . . . . . . . . . . . . . . . . . 24
- CALL . . . . . . . . . . . . . . . . . . . . . . . . . . 24
- CALOok . . . . . . . . . . . . . . . . . . . . . . . . . 25
- CAPMode . . . . . . . . . . . . . . . . . . . . . . . . 25
- CAPTure . . . . . . . . . . . . . . . . . . . . . . . . 26
- CHATmode . . . . . . . . . . . . . . . . . . . . . . . . 26
- CLEAr . . . . . . . . . . . . . . . . . . . . . . . . . 26
- COMPare . . . . . . . . . . . . . . . . . . . . . . . . 27
- CURSor . . . . . . . . . . . . . . . . . . . . . . . . . 28
- DECRement . . . . . . . . . . . . . . . . . . . . . . . 28
- DIAL . . . . . . . . . . . . . . . . . . . . . . . . . . 28
- Marking Numbers for Dialing . . . . . . . . . . . . 30
- Automatic Resumption of Dialing . . . . . . . . . . 30
- Testing Success and Failure Results . . . . . . . . 30
- Handling Incoming Calls . . . . . . . . . . . . . . 31
- DISPlay . . . . . . . . . . . . . . . . . . . . . . . . 32
- DIVIde . . . . . . . . . . . . . . . . . . . . . . . . . 33
- DOORway . . . . . . . . . . . . . . . . . . . . . . . . 33
- DPARms . . . . . . . . . . . . . . . . . . . . . . . . . 34
- EDIT . . . . . . . . . . . . . . . . . . . . . . . . . . 34
- ELAPse . . . . . . . . . . . . . . . . . . . . . . . . . 35
- EXECute . . . . . . . . . . . . . . . . . . . . . . . . 35
- Using the Direct Switch: EXEC-D . . . . . . . . . . 37
- Using the Swap to Disk Switch: EXEC-S . . . . . . . 38
- EXECute Preview Mode . . . . . . . . . . . . . . . 38
- EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . 39
- GETString . . . . . . . . . . . . . . . . . . . . . . . 39
- GOLOok . . . . . . . . . . . . . . . . . . . . . . . . . 41
-
-
-
- {COMMO} (tm) Macro Programming Guide 7
-
-
- GOTO . . . . . . . . . . . . . . . . . . . . . . . . . . 42
- HANGup . . . . . . . . . . . . . . . . . . . . . . . . . 42
- HELP . . . . . . . . . . . . . . . . . . . . . . . . . . 42
- HFLOw . . . . . . . . . . . . . . . . . . . . . . . . . 42
- HOLD . . . . . . . . . . . . . . . . . . . . . . . . . . 43
- IFCArrier . . . . . . . . . . . . . . . . . . . . . . . 43
- IFCOndition . . . . . . . . . . . . . . . . . . . . . . 44
- IFERrorlevel . . . . . . . . . . . . . . . . . . . . . . 45
- IFEXist . . . . . . . . . . . . . . . . . . . . . . . . 46
- INCRement . . . . . . . . . . . . . . . . . . . . . . . 46
- INITmodem . . . . . . . . . . . . . . . . . . . . . . . 47
- INPUt . . . . . . . . . . . . . . . . . . . . . . . . . 47
- INSTring . . . . . . . . . . . . . . . . . . . . . . . . 48
- KEYStuff . . . . . . . . . . . . . . . . . . . . . . . . 48
- LENGth . . . . . . . . . . . . . . . . . . . . . . . . . 49
- LIGHts . . . . . . . . . . . . . . . . . . . . . . . . . 49
- LOCAlecho . . . . . . . . . . . . . . . . . . . . . . . 50
- LOOKfor . . . . . . . . . . . . . . . . . . . . . . . . 50
- MACLoad . . . . . . . . . . . . . . . . . . . . . . . . 52
- MACRo . . . . . . . . . . . . . . . . . . . . . . . . . 53
- MARK . . . . . . . . . . . . . . . . . . . . . . . . . . 54
- MENU . . . . . . . . . . . . . . . . . . . . . . . . . . 55
- MULTiply . . . . . . . . . . . . . . . . . . . . . . . . 57
- NOCArrier . . . . . . . . . . . . . . . . . . . . . . . 58
- NOOP . . . . . . . . . . . . . . . . . . . . . . . . . . 58
- OFFLog . . . . . . . . . . . . . . . . . . . . . . . . . 58
- PARMs . . . . . . . . . . . . . . . . . . . . . . . . . 59
- PASSword . . . . . . . . . . . . . . . . . . . . . . . . 59
- PAUSe . . . . . . . . . . . . . . . . . . . . . . . . . 60
- POPStack . . . . . . . . . . . . . . . . . . . . . . . . 60
- PRINtlog . . . . . . . . . . . . . . . . . . . . . . . . 60
- PUSHstack . . . . . . . . . . . . . . . . . . . . . . . 61
- RCLOse . . . . . . . . . . . . . . . . . . . . . . . . . 61
- READ . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- RETUrn . . . . . . . . . . . . . . . . . . . . . . . . . 63
- ROPEn . . . . . . . . . . . . . . . . . . . . . . . . . 63
- RTRAn . . . . . . . . . . . . . . . . . . . . . . . . . 64
- RXMOdem . . . . . . . . . . . . . . . . . . . . . . . . 65
- RYMOdem . . . . . . . . . . . . . . . . . . . . . . . . 66
- SCREen . . . . . . . . . . . . . . . . . . . . . . . . . 67
- SCROllback . . . . . . . . . . . . . . . . . . . . . . . 68
- SEND . . . . . . . . . . . . . . . . . . . . . . . . . . 68
- SETDial . . . . . . . . . . . . . . . . . . . . . . . . 68
- SETEsc . . . . . . . . . . . . . . . . . . . . . . . . . 69
- SETGet . . . . . . . . . . . . . . . . . . . . . . . . . 70
- SETLook . . . . . . . . . . . . . . . . . . . . . . . . 71
- SETVariable . . . . . . . . . . . . . . . . . . . . . . 73
- SFLOw . . . . . . . . . . . . . . . . . . . . . . . . . 74
- SHELl . . . . . . . . . . . . . . . . . . . . . . . . . 75
- SIGNal . . . . . . . . . . . . . . . . . . . . . . . . . 75
- SOUNd . . . . . . . . . . . . . . . . . . . . . . . . . 76
- SPDCtrl . . . . . . . . . . . . . . . . . . . . . . . . 76
-
-
-
- {COMMO} (tm) Macro Programming Guide 8
-
-
- SPOCtrl . . . . . . . . . . . . . . . . . . . . . . . . 77
- SSLOok . . . . . . . . . . . . . . . . . . . . . . . . . 77
- STATusline . . . . . . . . . . . . . . . . . . . . . . . 78
- STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 78
- STRAn . . . . . . . . . . . . . . . . . . . . . . . . . 79
- SUBString . . . . . . . . . . . . . . . . . . . . . . . 80
- SXMOdem . . . . . . . . . . . . . . . . . . . . . . . . 80
- SYMOdem . . . . . . . . . . . . . . . . . . . . . . . . 81
- TOGGles . . . . . . . . . . . . . . . . . . . . . . . . 82
- UNMArk . . . . . . . . . . . . . . . . . . . . . . . . . 83
- VIDEo . . . . . . . . . . . . . . . . . . . . . . . . . 83
- VTCUr . . . . . . . . . . . . . . . . . . . . . . . . . 84
- VTPAd . . . . . . . . . . . . . . . . . . . . . . . . . 84
- WCLOse . . . . . . . . . . . . . . . . . . . . . . . . . 84
- WOPEn . . . . . . . . . . . . . . . . . . . . . . . . . 85
- WRITe . . . . . . . . . . . . . . . . . . . . . . . . . 85
-
- Appendix A Table of {COMMO} Key-labels . . . . . . . . . . 87
- Enhanced Keyboard Key-labels . . . . . . . . . . . . . . 88
-
- Appendix B List of Reserved Variables . . . . . . . . . . . 89
-
- Appendix C Macro Functions Listed by Class . . . . . . . . 91
-
-
-
- {COMMO} (tm) Macro Programming Guide 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 the User Guide and Reference.
-
-
- Overview
- ========
-
- {COMMO}'s Macro File may contain any number of macros. The only
- size limitation on the file is that the Dialing Directory and
- Macro File combined must total 64k bytes or less.
-
- Macros are "interpreted," which implies the following:
-
- (1) Macros are not processed until they are executed.
-
- (2) Only macros within the currently loaded Macro File are
- available for use.
-
- (3) Macros added or modified with the Internal Editor are
- available immediately.
-
- Alternate Macro Files may be loaded using the MACLoad function
- (the original file is replaced and may be reloaded at a later
- time).
-
-
- 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 by the Macro Processor.
-
- There are two types of items: "functions" and "labels."
-
-
-
- {COMMO} (tm) Macro Programming Guide 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 C "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 }.
-
-
-
- {COMMO} (tm) Macro Programming Guide 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 pathname}
-
- The ASCII Upload function will send the file indicated
- by "pathname." 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 processing and may appear in either its long form
- or short form:
-
- ... {stop} long form
- ... {} short form
-
-
-
- {COMMO} (tm) Macro Programming Guide 12
-
-
-
- Macro processing continues until a STOP function is executed. Be
- sure to use one or processing will continue into the next macro
- in the Macro File!
-
-
- 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 Macro File. This means that if a label is duplicated
- within the file, 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 processing
- 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.
-
- See Appendix A "Table of {COMMO} Key-labels" for a complete list
- of keys that may be assigned.
-
-
-
- {COMMO} (tm) Macro Programming Guide 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. 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 65535
- 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
- Processor 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 1536 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 the User Guide and Reference.
-
-
-
- {COMMO} (tm) Macro Programming Guide 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 the User Guide and
- Reference.
-
- 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 processing 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}
-
-
-
- {COMMO} (tm) Macro Programming Guide 15
-
-
- Sends "Elephants are large
- animals". Note that the trailing
- "%" is required here.
-
- {setvar animal,Elephant}
- {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 B "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 pathname 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 pathname
- _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".
-
-
-
- {COMMO} (tm) Macro Programming Guide 16
-
-
- See Appendix B for a complete list of reserved variables.
-
-
- Executing Macros
- ================
-
- Macro execution may be started in any of the following ways:
-
- 1) Open the Macro Processor window by pressing Alt-M. Position
- the Selector Bar at the desired starting point and press
- [Enter]. The Macro Processor will begin processing 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 processing.
-
- The Macro Processor will execute functions IN SEQUENCE until one
- of the following conditions occurs:
-
-
-
- {COMMO} (tm) Macro Programming Guide 17
-
-
-
- 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.
-
- 3) A macro error occurs. This will bring up the Macro
- Processor window with the Selector Bar on the problem line.
- The macro will be terminated.
-
- 4) The end of the Macro File is reached.
-
-
- Cancelling a Macro
- ==================
-
- The [Esc] key is used to terminate macro processing. To send 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 processing 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 processing continues with the next function.
- To terminate macro processing 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 18
-
-
- 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 pathname of the
- file is specified here, otherwise the current file
- would be opened.
-
- {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 processing would continue
- into subsequent macros. Remember that labels are
- "passed over" during sequential macro processing.
-
- {: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 the Macro
- Processor 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 19
-
-
- 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}
- {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}
-
-
-
- {COMMO} (tm) Macro Programming Guide 20
-
-
-
- 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 ~Fred|}
-
- Response to "first name".
-
- {return}
-
- {:li3}
- {send ~Brucker|}
-
- Response to "last name".
-
- {return}
-
-
-
- {COMMO} (tm) Macro Programming Guide 21
-
-
- =======================================
- 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 on functions which are
- also default key commands are found in The User Guide and
- Reference 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 22
-
-
- _______
-
- ASCIiup
- _______
-
- Default key: Alt-A
- Description: Upload an ASCII (text) file.
-
- General form:
-
- {ASCIiup pathname[\],pace}
-
- pathname 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.
-
- {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".
-
-
-
- {COMMO} (tm) Macro Programming Guide 23
-
-
-
- {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 in the User Guide and Reference. 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.
-
- Note that only 8 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 24
-
-
- ____
-
- 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.
-
- Example:
-
- {call abc} Execute subroutine abc.
-
- CALL will push the location following the CALL function onto the
- macro stack, then it will GOTO the label given in the argument.
- When a RETUrn is executed, the location will be popped and
- control will return to the function following the CALL.
-
-
-
- {COMMO} (tm) Macro Programming Guide 25
-
-
- Note that macros may be nested up to 32 deep.
-
- See also RETUrn, PUSHstack, POPStack.
-
- ______
-
- CALOok
- ______
-
- Default key: none
- Description: Set up an additional string to look for during a
- subsequent LOOKfor function.
-
- 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 LOOKfor. 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.
-
- Examples:
-
- {capmode screen} Set Capture Mode to SCREEN.
- {capmode filter} Set Capture Mode to FILTER.
- {capmode raw} Set Capture Mode to RAW.
-
-
-
- {COMMO} (tm) Macro Programming Guide 26
-
-
- See also CAPTure.
-
- _______
-
- CAPTure
- _______
-
- Default key: Alt-1
- Description: Capture File Options.
-
- 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.
-
- NOTE: The current Capture File will always be closed when a new
- file is opened.
-
- 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:
-
-
-
- {COMMO} (tm) Macro Programming Guide 27
-
-
-
- {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.
-
- 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 in the range from 0 to 65535. If the number is
- outside this 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 28
-
-
- 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.
-
- _________
-
- 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".
-
- Numeric variables and the numbers to be subtracted may range from
- 0 to 65535. The default number 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}
-
-
-
- {COMMO} (tm) Macro Programming Guide 29
-
-
- 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.
-
- label2 A macro to GOTO when a response is matched
- during the Inter-dial Delay. Response
- strings are listed in the reserved variable
- "_dialir" and are usually defined in the
- Setup File.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 30
-
-
- {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.
-
- 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 (unless the "C"
- switch is present). If no macro is specified in the Dialing
- Directory, control is passed to the next function.
-
- 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 B "List of
- Reserved Variables" for complete descriptions):
-
-
-
- {COMMO} (tm) Macro Programming Guide 31
-
-
-
- _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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 32
-
-
- _______
-
- DISPlay
- _______
-
- Default key: none
- Description: Display a string to the screen.
-
- General form:
-
- {DISPlay row,col,attr,string}
-
- 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 in the User Guide and Reference.
-
-
-
- {COMMO} (tm) Macro Programming Guide 33
-
-
- ______
-
- DIVIde
- ______
-
- Default key: none
- Description: Divide a numeric variable by a number.
-
- Example:
-
- {divi space,1024} Divide "space" by 1024.
-
- Numeric variables may range from 0 to 65535, the divisors may
- range from 1 to 65535. The default divisor is 1.
-
- 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 34
-
-
- ______
-
- DPARms
- ______
-
- Default key: Alt-P
- Description: Set Default Dialing Terminal Parameters
-
- 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.
-
- Note that omitted parameters are not changed.
-
- 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.
-
- TIPS on using EDIT:
-
- > Control characters (below ASCII 28) may not be typed.
-
-
-
- {COMMO} (tm) Macro Programming Guide 35
-
-
- > 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).
-
- 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 36
-
-
- 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 pathname 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.
-
- 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 37
-
-
- See Appendix D in the User Guide and Reference 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 pathname 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 38
-
-
- 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
- pathname 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 drivers, 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 pathname 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 39
-
-
-
- 3) Following execution {COMMO} will wait before restoring the
- Terminal Screen. This lets you see any error messages that
- the command may have displayed.
-
- ____
-
- 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 in the
- User Guide and Reference.
-
- 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.
-
- _________
-
- GETString
- _________
-
- Default key: none
- Description: Input a string from the modem to a variable.
-
- General form:
-
- {GETString name,count,label}
-
-
-
- {COMMO} (tm) Macro Programming Guide 40
-
-
-
- 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.
-
- 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 41
-
-
- control characters should be entered as ^J for linefeed,
- etc. See Appendix D in the User Guide and Reference.
-
- > 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."
-
- > 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: Set up an additional string to look for during a
- subsequent LOOKfor function.
-
- 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 LOOKfor. 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 42
-
-
- ____
-
- GOTO
- ____
-
- Default key: none
- Description: Transfer control to a macro label.
-
- Example:
-
- {goto mail_run} Control transferred to label
- "mail_run".
-
- ______
-
- HANGup
- ______
-
- Default key: Alt-H
- Description: Disconnect by dropping DTR.
-
- Examples:
-
- {hangup} Prompt user for disconnect.
- {hangup y} Disconnect without prompting.
-
- ____
-
- HELP
- ____
-
- Default key: F1
- Description: Open Online Help window.
-
- Example:
-
- {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 the User
- Guide and Reference.
-
- _____
-
- HFLOw
- _____
-
- Default key: none
- Description: Set Hardware Flow Control toggle.
-
-
-
- {COMMO} (tm) Macro Programming Guide 43
-
-
- Examples:
-
- {hflow} Toggle Hardware Flow Control on/off.
- {hflow y} Turn on Hardware Flow Control.
- {hflow n} Turn off Hardware Flow Control.
-
- ____
-
- 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.
-
- _________
-
- IFCArrier
- _________
-
- Default key: none
- Description: Test for presence of carrier detect signal.
-
- General form:
-
- {IFCArrier true,false}
-
- true A label to GOTO if carrier is detected.
-
- false A label to GOTO if carrier is not
- detected.
-
- NOTE: The default when either label is omitted is to pass
- control to the next function.
-
- Example:
-
- {ifcarrier c10,c20}
-
- 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 44
-
-
- incoming characters while waiting for carrier detect to
- drop:
-
- ... {:cd1} {pause 1} {ifcarrier cd1} ...
-
- ___________
-
- IFCOndition
- ___________
-
- Default key: none
- Description: Test for conditions set by other functions.
-
- General form:
-
- {IFCOndition true,false}
-
- true A label to GOTO if the Condition Flag is
- true.
-
- false A label to GOTO if the Condition Flag is
- false.
-
- NOTE: The default when either label is omitted is to pass
- control to the next function.
-
- Switches:
-
- none 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.
-
- Examples:
-
- {compare var1,message} Compare and set Condition
- {ifcondit match,nomatch} Flag. GOTO "match" if the
- variable "var1" is set to
- "message," to "nomatch" if it
- is not.
-
- {compare value,200} Compare and set conditions.
- {ifcon-GE toobig,aok} GOTO "toobig" if "value" is
- greater than or equal to 200,
- else GOTO "aok."
-
-
-
- {COMMO} (tm) Macro Programming Guide 45
-
-
-
- {instring zipcode,90} Test if "zipcode" contains
- {ifcon yes,no} 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 if the Exit Code is
- greater than or equal to "number."
-
- false A label to GOTO if the Exit Code is less
- than "number."
-
- NOTE: The default when either label is omitted is to pass
- control to the next function.
-
- Example:
-
- {iferror 1,abc,def} GOTO "abc" if Exit Code is
- greater than or equal to 1.
- Else GOTO def.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 46
-
-
- > 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 pathname,true,false}
-
- pathname A DOS pathname. 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 if the file exists.
-
- false A label to GOTO if no files match.
-
- NOTE: The default when either label is omitted is to pass
- control to the next function.
-
- Examples:
-
- {ifex a:file.xyz,,m20} GOTO "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".
-
-
-
- {COMMO} (tm) Macro Programming Guide 47
-
-
- {incr oranges,1234} Add 1234 to "oranges".
-
- Numeric variables and the numbers to be added may range from 0 to
- 65535. The default number is 1.
-
- If the result is greater than 65535 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 DECRement.
-
- _________
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 48
-
-
-
- NOTE: If Esc is pressed, macro processing 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}
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 49
-
-
- 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}.
-
- ______
-
- 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: Alt-0
- Description: Set Signal Lights toggle.
-
- Examples:
-
- {lights} Toggle Signal Lights on/off.
- {lights y} Turn on Signal Lights.
- {lights n} Turn off Signal Lights.
-
-
-
- {COMMO} (tm) Macro Programming Guide 50
-
-
- _________
-
- 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.
-
- _______
-
- 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}
-
-
-
- {COMMO} (tm) Macro Programming Guide 51
-
-
- {: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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 52
-
-
- > 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 in the User Guide and Reference.
-
- 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.
-
- > 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.
-
- _______
-
- MACLoad
- _______
-
- Default key: none
- Description: Load a new Macro File.
-
- Switches:
-
- R1 or R Specifies that COMMO.MAC will be reloaded
- when carrier detect is lost. Normally this
- would occur at the end of the call.
-
- R0 Do not reload COMMO.MAC when carrier is lost
- (default).
-
- General form:
-
- {MACLoad filename,label}
-
- filename The new Macro File. Do NOT specify a
- path; the {COMMO} home directory will be
- used.
-
-
-
- {COMMO} (tm) Macro Programming Guide 53
-
-
- label A label to GOTO when the new file is
- loaded. Optional.
-
- Examples:
-
- {macload-R vt102-1.mac} Load vt102-1.mac, reload
- COMMO.MAC at the end of the
- call.
-
- {macl newmac.fil,abc} Load newmac.fil, start macro
- "abc" in the new file.
-
-
- IMPORTANT! The new Macro File must reside in the {COMMO} home
- directory (do not specify a path).
-
- The current file will be saved to disk if changes are
- outstanding. The new file is then loaded in place of the current
- one (all macros are replaced).
-
- MACLoad should be the last function in a macro, since control is
- not returned.
-
- _____
-
- MACRo
- _____
-
- Default key: Alt-M
- Description: Open Macro Processor 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 54
-
-
- 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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 55
-
-
- ____
-
- 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.
-
- {SETV _mlabel,label1,label2,...}
-
- 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.
-
- NOTE: Labels are positional and may be
- omitted using null arguments for keys
- that aren't used. See example 2 below.
- ... ...
-
- {SETV _mcolor,text,border}
-
- text Colors for the text area of the pop-up
- window.
-
- 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 56
-
-
-
- border Colors for the window border.
-
- {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} {}
-
- {: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 _menu2, M - Macro File}
- {setv _menu3, S - Shell to DOS (with swap)}
- {setv _menu4, E - Edit a file}
- {setv _mlabel,,,,ddir,edit,,,,,,,,mfile,,,,,,dos}
- {setv _mcolor,03,47}
- {menu 8,33,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
-
-
-
- {COMMO} (tm) Macro Programming Guide 57
-
-
- correspond to A, B and C, which are not used in this menu.
- Then there are empty positions up to M and then up to S.
-
- 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.
-
- > All variables used to create the menu are automatically
- deleted from Variable Space after the menu is displayed.
-
- > 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 processing
- 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.
-
- Numeric variables and the multipliers may range from 0 to 65535.
- The default multiplier is 1.
-
- If the result is greater than 65535 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 58
-
-
- _________
-
- NOCArrier
- _________
-
- Default key: none
- Description: Sets/resets a macro to execute when carrier detect
- is lost.
-
- Examples:
-
- {nocar carrlost} GOTO the label "carrlost" when the
- carrier detect signal drops.
-
- {nocar} Turn off the carrier lost label.
-
- IMPORTANT: This feature is enabled only when a connection is
- made using {COMMO}'s Auto Dialer. Also, if carrier drops while a
- macro is running or a command window is open (such as the Dialing
- Directory or Capture File Options), the carrier lost macro will
- not activate.
-
- Be sure that you have your modem configured to provide the
- carrier detect signal. See Appendix A in the User Guide and
- Reference for modem information.
-
- ____
-
- NOOP
- ____
-
- Default key: none
- Description: No-op function, does nothing
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 59
-
-
-
- _____
-
- 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.
-
- 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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 60
-
-
- _____
-
- PAUSe
- _____
-
- Default key: none
- Description: Pause for up to 999 seconds.
-
- Example:
-
- {pause 25} Pause for 25 seconds.
-
- NOTE: Incoming characters displayed during a PAUSe function are
- not seen by subsequent 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 PUSHstack for a more complete description of the use of this
- function.
-
- See also CALL, RETUrn.
-
- ________
-
- PRINtlog
- ________
-
- Default key: Alt-2
- Description: Set Print Log toggle.
-
- Examples:
-
-
-
- {COMMO} (tm) Macro Programming Guide 61
-
-
- {print} Toggle Print Log on/off.
- {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).
-
- Explanation: Whenever a CALL is executed, the location of the
- function following the CALL (the "return point") is "pushed" onto
- the macro stack. When a subsequent RETUrn is executed, the
- location at the top of the stack is "popped" and control is
- transferred to that location. This allows "nesting" of CALLs and
- RETUrns.
-
- 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).
-
- See also CALL, RETUrn.
-
- ______
-
- RCLOse
- ______
-
- Default key: none
- Description: Close the read file.
-
- Example:
-
- {rclose} No arguments.
-
- NOTE: The read file will be closed automatically in the
- following situations:
-
-
-
- {COMMO} (tm) Macro Programming Guide 62
-
-
-
- 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 63
-
-
- ______
-
- RETUrn
- ______
-
- Default key: none
- Description: Return from a CALLed macro.
-
- Example:
-
- {return} No arguments.
-
- This function will return control to a location determined by the
- last CALL or PUSHstack function. See PUSHstack for a more
- complete description of CALL and RETUrn.
-
- NOTE: If a RETUrn is encountered and no CALL or PUSHstack has
- been executed, a STOP will occur. This is useful in macros that
- are CALLed and are also used standalone (such as protocol file
- transfer macros).
-
- See also CALL, PUSHstack, POPStack.
-
- _____
-
- ROPEn
- _____
-
- Default key: none
- Description: Open a file for reading.
-
- General Form:
-
- {ROPEn pathname,label}
-
- pathname The pathname 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 64
-
-
- > 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.
-
- _____
-
- 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 the User Guide and Reference for details
- and more examples.
-
- TIPS on using RTRAn:
-
-
-
- {COMMO} (tm) Macro Programming Guide 65
-
-
-
- > 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.
-
- > 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 66
-
-
- _______
-
- 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.
-
- 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).
- 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 end. A filename "collision" will cause
- the transfer to cancel unless the "Y" switch is used. File sizes
-
-
-
- {COMMO} (tm) Macro Programming Guide 67
-
-
- 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 SXMOdem, RYMOdem.
-
- ______
-
- 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
- pathname).
- {screen n,c:\file.xyz} Change current screen image
- pathname (don't save screen to
- file).
-
-
-
- {COMMO} (tm) Macro Programming Guide 68
-
-
- __________
-
- 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 Fred|~~Brucker|~~%_pass%|}
-
- Send my first and last name 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 in the User Guide and Reference for
- information on how to represent any character in a SEND function.
-
- _______
-
- SETDial
- _______
-
- Default key: none
- Description: Set parameters for dialing.
-
- Examples:
-
-
-
- {COMMO} (tm) Macro Programming Guide 69
-
-
- {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.
-
- 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 processing will continue
- as if nothing had happened. If "yes,"
- processing 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. Processing
- will GOTO the label if it exists, else a STOP
- will be executed.
-
- Examples:
-
- {setesc finish} GOTO label, with prompt.
-
-
-
- {COMMO} (tm) Macro Programming Guide 70
-
-
- {sete-p0 done} GOTO label, without prompt.
- {setesc} Reset to no label (STOP on Esc).
-
-
- This function is used to "capture" the Esc key during macro
- execution, especially when a MACLoad 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.
-
- NOTE: 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 71
-
-
- should be used when the remote is a host
- system.
-
- 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 processing 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 72
-
-
- 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 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 73
-
-
- The SETLook function will set parameters for subsequent LOOKfor
- functions and may be executed at any time to modify the
- parameters.
-
- When macro processing terminates, the parameters will be reset to
- the default values.
-
- 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).
-
- S1 or S This switch will cause "double expansion" of
- the second argument (indirect variable).
- First {COMMO} will substitute any variables
-
-
-
- {COMMO} (tm) Macro Programming Guide 74
-
-
- 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).
-
- _____
-
- SFLOw
- _____
-
- Default key: none
- Description: Set Software Flow Control toggle.
-
-
-
- {COMMO} (tm) Macro Programming Guide 75
-
-
- Examples:
-
- {sflow} Toggle Software Flow Control on/off.
- {sflow y} Turn on Software Flow Control.
- {sflow n} Turn off Software Flow Control.
-
- _____
-
- 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.
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 76
-
-
- _____
-
- 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.
-
- 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 77
-
-
- _______
-
- 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).
-
- > Internal protocols will not operate properly if serial port
- output is turned OFF.
-
- ______
-
- SSLOok
- ______
-
- Default key: none
- Description: Set up an additional string to look for during a
- subsequent LOOKfor function.
-
- General form:
-
- {SSLOok name,target}
-
- 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).
-
-
-
- {COMMO} (tm) Macro Programming Guide 78
-
-
- 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 LOOKfor. 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.
-
- 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.
- {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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 79
-
-
-
- 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.
-
- {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 the User Guide and Reference 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 80
-
-
- (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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 81
-
-
- 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.
-
- 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).
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 82
-
-
- 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?
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 83
-
-
- ______
-
- 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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 84
-
-
- 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.
-
- 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.
-
-
-
- {COMMO} (tm) Macro Programming Guide 85
-
-
-
- Example:
-
- {wclose} No arguments.
-
- NOTE: The write file will be closed automatically when the macro
- terminates (STOP, EXIT, etc.).
-
- See also WOPEn, WRITE.
-
- _____
-
- 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:
-
-
-
- {COMMO} (tm) Macro Programming Guide 86
-
-
- {write %nextline} Write the contents of the variable
- "nextline" to the write file.
-
- {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 writing to files:
-
- > 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
-
-
-
- {COMMO} (tm) Macro Programming Guide 87
-
-
- ========================================
- Appendix A Table of {COMMO} Key-labels
- ========================================
-
- Key-labels are also macro labels with the added advantage that
- the macro can be started by pressing the associated key from the
- Terminal Screen. Most "extended" keys may be assigned this way.
- If the same key-label appears more than once, the first
- occurrence will be used. Note that key-labels are case
- insensitive. The caret (^) indicates the Ctrl key.
-
- Enhanced keyboard key-labels are listed below.
-
-
- Key Name Key-label Key Name Key-label
- ________ _________ ________ _________
-
- Normal-F1 nf1 ... Normal-F10 nf0
- Ctrl-F1 cf1 ... Ctrl-F10 cf0
- Shift-F1 sf1 ... Shift-F10 sf0
- Alt-F1 af1 ... Alt-F10 af0
-
- Alt-A ala ... Alt-Z alz
- Alt-1 al1 ... Alt-0 al0
- Alt = al= Alt - al-
-
- Escape esc Grey * gr*
- Grey - gr- Grey + gr+
-
- Backspace bsp ^Backspace cbs
- Tab tab Shift-tab stb
- Enter ent ^Enter cen
-
- Home hom End end
- PgUp pgu PgDn pgd
- Up-Arrow upa Down-Arrow dna
- Left-Arrow lfa Right-Arrow rta
- Insert ins Delete del
-
- ^Home chm ^End cnd
- ^PgUp cpu ^PgDn cpd
- ^Right-Arrow cra ^Left-Arrow cla
-
- Keypad-0 kp0 ... Keypad-9 kp9
- Keypad-. kp. ^PrtSc cpr
-
-
-
- {COMMO} (tm) Macro Programming Guide 88
-
-
- Enhanced Keyboard Key-labels
- ============================
-
- IMPORTANT! To use the following keys you must tell {COMMO} to
- test for the enhanced keyboard. The item {tek=yes} must appear
- in your Setup File.
-
- Normal-F11 nfa Normal-F12 nfb
- Ctrl-F11 cfa Ctrl-F12 cfb
- Shift-F11 sfa Shift-F12 sfb
- Alt-F11 afa Alt-F12 afb
-
- Alt-[ al[ Alt-] al]
- Alt-; al; Alt-' al'
- Alt-, al< Alt-. al.
- Alt-/ al/ Alt-\ al\
- Alt-* al* Alt-` al`
- Center Key cky
-
- The Center Key is the Keypad 5 with Numlock off.
-
- The keys in the second group may also work with the 83-key
- keyboard if your BIOS supports the enhanced keyboard.
-
-
-
- {COMMO} (tm) Macro Programming Guide 89
-
-
- =======================================
- Appendix B List of Reserved Variables
- =======================================
-
- USER-DEFINED Reserved Variables
- -------------------------------
-
- _modini Modem Initialization String
- _dialpf Default dialing prefix
- _dialsf Default dialing suffix
- _dialsr Dialing success response(s)
- _dialfr Dialing failure response(s)
- _dialir Inter-dial Delay response(s)
- _dialrt Dialing response text, available (1) after a
- dialing attempt if _dtc = 1 or 2, or (2) in
- the Inter-dial Delay macro.
- _uselog Pathname of Usage Log
- _menux Menu display string, x = 1, 2, 3, etc.
- _mlabel List of macro labels for pop-up menu
- _mcolor Colors used with pop-up menu: text,border
-
- BUILT-IN Variables
- ------------------
-
- _hom {COMMO} home directory: c:\commo\, etc.
- _set Filename of Setup File, usually COMMO.SET
- _fon Filename of Dialing Directory, usually COMMO.FON
- _mac Filename of default Macro File, usually COMMO.MAC
- _cap Current Capture File pathname
- _scr Current Screen Image File pathname
-
- _err Errorlevel from last EXEC-D or internal file
- transfer protocol
- _dfc Disk full on capture: 0=no, 1=yes; reset when
- Capture File is opened, set when disk is full
- _pos Position in string
- _len Length of string
-
- _por Current serial port number: 1, 2, etc.
- _spe Current serial port speed: 2400, 9600, etc.
- _fmt Current serial port data format: 8n1, 7e1, etc.
- _mod Last speed reported by modem
- _pad Current serial port address: 03F8, 02E8, etc.
- _irq Current IRQ number: 4, 3, etc.
- _nci Number of characters in input buffer (received and
- not yet displayed)
-
- _dtc Dialing termination code (available after each
- dialing attempt). Values are:
- 0 = no systems were marked
- 1 = successful connection
- 2 = failure response received
-
-
-
- {COMMO} (tm) Macro Programming Guide 90
-
-
- 3 = timed out
- 4 = operator intervention
-
- _rem Remainder from last DIVIde
- _pas Current Password String
- _ela Elapsed time in minutes
-
- _dat Full date (format defined in Setup File)
- _mon Month, mm
- _day Day of the month, dd
- _yea Year, yy
- _dwn Numeric day of the week: 1=Mon, ... , 7=Sun
- _dwt Text day of the week: Mon, Tue, ...
-
- _tim Full time (format defined in Setup File)
- _24h 24 hour, hh
- _12h 12 hour, hh
- _amp Am/pm indicator, xm
- _min Minute, mm
- _sec Second, ss
-
- _row Current cursor row
- _col Current cursor column
-
-
-
- {COMMO} (tm) Macro Programming Guide 91
-
-
- ============================================
- Appendix C Macro Functions Listed by Class
- ============================================
-
- Variable manipulation
- ---------------------
-
- SETVariable Assign a string to a variable name
- INCRement Increase a numeric variable
- DECRement Decrease a numeric variable
- MULTiply Multiply a numeric variable
- DIVIde Divide a numeric variable
- INSTring Find a string within a string
- SUBString Move a substring to a variable
- LENGth Determine the length of a string
-
- Looking for text
- ----------------
-
- AUTO Auto Receive
- SETLook Set LOOKfor parameters
- LOOKfor Look for string from port
- SSLOok Additional string, send variable
- CALOok Additional string, call submacro
- GOLOok Additional string, go to macro
-
- File Input/Output
- -----------------
-
- ROPEn Open a file for reading
- READ Read from a file to a variable
- RCLOse Close the read file
- WOPEn Open a file for writing
- WRITe Write to a file from a variable
- WCLOse Close the write file
-
- Dialing/connect/disconnect
- --------------------------
-
- SETDial Set dialing timers
- DIAL Dialing Directory
- DPARms Set dialing default parameters
- HANGup Drop DTR to hangup
- MARK Mark numbers for dialing
- UNMArk Unmark Dialing Directory entries
- ABAUd AutoBaud toggle
-
- Modem control
- -------------
-
- PARMs Set current terminal parameters
- LOCAlecho Local Echo toggle
-
-
-
- {COMMO} (tm) Macro Programming Guide 92
-
-
- INITmodem Send modem init string
- HFLOW Hardware flow control
- SFLOw Software flow control
- BREAk Send a Break signal
- LIGHts Signal Lights toggle
- SIGNal Set state of hardware signals
- SPOCtrl Serial port output control
-
- Send/receive data
- -----------------
-
- ASCIiup ASCII Upload
- SEND Send a text string
- CAPMode Set Capture Mode
- CAPTure Capture File Options
- SETGet Set GETString parameters
- GETString Get a string from the modem
- RXMOdem Receive a file using Xmodem
- SXMOdem Send a file using Xmodem
- RYMOdem Receive a file using Ymodem
- SYMOdem Send a file using Ymodem
- PASSword Send current password
- RTRAn Maintain Receive Translate Table
- STRAn Maintain Send Translate Table
- VTCUr VT102 cursor key strings
- VTPAd VT102 keypad key strings
-
- Testing
- -------
-
- COMPare Compare a variable to a string
- IFCOndition Test conditions set by COMPare
- IFERrorlevel Test Exit Codes
- IFEXist Test for existence of file(s)
- IFCArrier Test for presence of carrier detect
-
- Macro control
- -------------
-
- CALL Execute a macro
- RETUrn Return from a CALL
- PUSHstack Push a location to the macro stack
- POPStack Pop from the macro stack
- GOTO Transfer control to a label
- STOP Stop macro processing
- MACLoad Load a new Macro File
- PAUSe Pause for interval 1-999 seconds
- HOLD Hold until specified 24 hr time
- NOCArrier Set a label to GOTO when carrier is lost
- SETEsc Set a label to GOTO on Esc
-
-
-
- {COMMO} (tm) Macro Programming Guide 93
-
-
- Video/sound related
- -------------------
-
- CLEAr Clear Screen
- CURSor Terminal Screen cursor toggle
- DISPlay Display a string to the screen
- SCREen Screen Image Save
- SPDCtrl Serial port display control
- STATusline Status Line on/off toggle
- VIDEo Change to an alternate video mode
-
- SOUNd Master Sound toggle
- ALARm Ring the alarm
- BEEP Sound a beep
-
- Miscellaneous
- -------------
-
- CHATmode Chat Mode toggle
- DOORway Doorway Mode toggle
- ELAPse Reset the elapsed timer
- EDIT Edit a file
- EXECute Execute a DOS command
- EXIT Exit {COMMO}
- HELP Online Help topic
- INPUt Input from the keyboard
- KEYStuff Put key codes into the keyboard buffer
- MACRo Macro Processor window
- MENU Create a pop-up macro menu
- NOOP No-op function, does nothing
- OFFLog Make an {Off} entry in the Usage Log
- PRINtlog Print Log toggle
- SCROllback Display Scrollback Buffer
- SHELl Shell to DOS
- TOGGles Set Toggles
-
-
- - end -
-
-