 {COMMO} (tm) Help  (C)Copyright 1989-1997 Fred P. Brucker  All Rights Reserved

[00.10] ****  MACRo

 Default key:   Alt+M
 Description:   Open Macro File window.

 Examples:

      {macro}
           Open window at current position.

      {macro menu1}
           Open window at "menu1".

 A string argument may be included to facilitate the creation of menus within
 the Macro File.  The first occurrence of the argument string will become the
 top line of the display when the window is opened.

 The Selector Bar will be positioned on the first screen line that has a left
 curly brace, if any.

 Here is an example of how to structure a menu using MACRo:

                                    | (this is past col. 80)
                                    | menu111
           Name of Menu             |
                                    |
                                    |
           Selection 1              | {goto sel1}
           Selection 2              | {goto sel2}
           Selection 3              | {goto sel3}

      {:af1} {macro menu111}
      {:sel1} ...
      {:sel2} ...
      {:sel3} ...

 The upper line with "menu111" will be the top line of the screen.  Pressing
 Alt+F1 will bring up the menu with the Selector Bar on Selection 1.  Macros at
 "sel1", "sel2" and "sel3" will process the respective selections.

 Note that the macro at "af1" to invoke the menu must be below the line with
 "menu111" since it contains the string and would be found in the search.  Also
 the macro at "af1" must be in the same Macro File (resident or auxiliary) as
 the menu itself.

 TIPS on using MACRo:

  >   The MACRo function always terminates the macro that is currently
      executing.

  >   Menu creation using MACRo cannot be used when the Macro File is compiled.
      Use MENU instead.

 See also MENU.


[00.20] ****  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.


[00.30] ****  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,...}

           NOTE: Labels are positional and may be omitted using null arguments
           for keys that aren't used.  See example 2 below.

           label1
                Label to GOTO if F1, A or 1 is pressed.  Any of the three keys
                will activate the macro at the first label.

           label2
                Label to GOTO if F2, B or 2 is pressed.

           ... etc.

      {SETV _menter,label}

           label
                Label to GOTO if Enter is pressed.

      {SETV _mhelp,label}

           label
                Label to GOTO if F1 is pressed.  This allows F1 to be used
                separately for help when the A or 1 keys need to be used for a
                menu selection.

      {SETV _mcolor,text,border}

           text
                Colors for the text area of the pop-up window.

           border
                Colors for the window border.

           NOTE: The attributes are specified in the same manner as the colors
           in the Setup File (press F7 in the Internal Editor to display the
           Color Chart).

      {MENU height,width,string}

           height
                Total number of rows from top to bottom of pop-up window,
                including borders.  Minimum is 5.

           width
                Total number of columns from left side to right side, including
                borders.  Minimum is 23.

           string
                Title string that will appear in the top border.

 Example 1:

           {setv _menu1, F1  Call computer at work}
           {setv _menu3, F2  Call E-mail service}
           {setv _menu5, F3  Run offline mail reader}
           {setv _mlabel,work,mail,reader}
           {setv _mcolor,17,30}
           {menu 9,32,Daily Activity Menu} {}

      {:work}    ... macro to call work computer.
      {:mail}    ... macro to call E-mail service.
      {:reader}  ... macro to run offline reader.

      This menu specifies that function keys be pressed to activate the macros.
      You could also press A or 1 instead of F1, B or 2 instead of F2, etc.
      The macros may be as simple or as complex as desired to complete the
      task.

 Example 2:

           {setv _menu1, D      Dialing Directory}
           {setv _menu4, E      Edit a file}
           {setv _menu2, M      Macro File}
           {setv _menu3, Enter  Shell to DOS (with swap)}
           {setv _mlabel,,,,ddir,edit,,,,,,,,mfile}
           {setv _menter,dos}
           {setv _mcolor,03,47}
           {menu 8,37,Common Commands} {}

      {:ddir}  {dial} {}
      {:edit}  {input efile,Filename to Edit}
               {edit %efile} {}
      {:mfile} {macro}
      {:dos}   {shell-s} {}

      This menu uses "mnemonic" key labeling -- D for (D)ialing Directory, etc.
      Notice that there are three empty positions in the "_mlabel" list prior
      to "ddir" and "edit".  These correspond to A, B and C, which are not used
      in this menu.  Then there are empty positions up to "mfile" (M).

 TIPS on using MENU:

  >   The dimensions of the window are limited by the current size of the
      Terminal Screen.

  >   The total number of displayable lines is "height" less 4.  Lines in the
      window for which no "_menux" variable has been defined will be left
      blank.

  >   Up to 26 labels can be specified in each menu.  These correspond to
      pressing the letters A through Z.  The first 12 labels also correspond to
      pressing F1 through F12, while the first 9 labels correspond to pressing
      1 through 9.

  >   The built-in variable "_msn" is set to the number of the menu selection
      when a menu key is pressed: 0 for Enter, 1 to 26 for A to Z, etc.

  >   All variables used to create the menu are automatically deleted from
      Variable Space after the menu is displayed.

  >   The last colors used to display a menu will persist until they are
      changed (by setting the "_mcolor" variable).

  >   If Esc is pressed to exit the menu, macro execution continues in sequence
      following the MENU function.

 See also MACRo.


[00.40] ****  MULTiply

 Default key:   none
 Description:   Multiply a numeric variable by a number.

 Example:

      {mult money,10}
           Multiply "money" by 10.

 The multiplier (second argument) is limited to 65535 (default is 1).

 If either argument or the result is out of range, then the variable will be
 set to the string "ERROR".

 If the variable is not numeric, the results will be unpredictable.


[00.50] ****  NOCArrier

 Default key:   none
 Description:   Sets/resets a macro to execute when Carrier Detect is lost.

 Switches:

      E1 or E
           Enable the "carrier lost" logic as if a connection had been made
           using the Auto Dialer.  If no label is specified when using the "E"
           switch, the current label will be retained.

      E0
           Do not enable the "carrier lost" logic (default).

 Examples:

      {noca carrlost}
           GOTO the label "carrlost" when the Carrier Detect signal drops.

      {noca}
           Cancel the carrier lost label.

 This function is used to modify the label defined by the "ncr" item in the
 Setup File.  See "Alt+G  Edit Setup File" for details and restrictions on this
 feature.


[00.60] ****  NOOP

 Default key:   none
 Description:   No-op function, does nothing

 Example:

      {noop}
           No arguments.


[00.70] ****  OFFLog

 Default key:   none
 Description:   Make an {Off} entry in the Usage Log.

 Example:

      {offlog}
           No arguments.

 This function is useful on systems that do not support the Carrier Detect
 signal.

 NOTE: An {Off} entry will be made only if an {On} entry was made at connection
 time.


[00.80] ****  PARMs

 Default key:   Alt+P
 Description:   Set current Terminal Parameters

 General form 1:

      {PARMs speed,format,comport,terminal-type,delay}

           speed
                The bps rate: 2400, 38400, etc.

           format
                The data format: 8n1, 7e1, etc.

           comport
                The serial port number: 1-16.

           terminal
                The terminal-type: A, V or T.

           delay
                The inter-character delay factor: 0-999.

 General form 2:

      {PARMs-C comport,address,irq,freq}

           comport
                The serial port number: 1-16.

           address
                The hexadecimal hardware base address.

           irq
                The IRQ number for this port.

           freq
                The maximum speed of the port.

 Switches:

      C1 or C
           Enter the specified port address, IRQ and frequency into {COMMO}'s
           internal port tables (override "com" item in COMMO.SET).  Then make
           "comport" the active port.

      C0
           Use general form 1 (default).

 Examples:

      {parms}
           Open Terminal Parameters window.

      {parms 38400,8,1,,20}
           Set 38400 bps, 8n1, Com1, delay=20.

      {parms ,,4,V}
           Set Com4 VT102.

      {parms 19200,7o1}
           Set 19200 bps, 7o1.

      {parm-c 3,3e8,5}
           Switch to COM3 using address 3e8 and IRQ 5.

 IMPORTANT!  Omitted parameters are not changed.

 This function will change the current parameters, but has no effect on the
 default parameters that are set when dialing.

 The speed field is also used to indicate INT 14 driver mode.  See "External
 Comm Drivers (INT 14)" for details.

 See also DPARms.


[00.90] ****  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.


[01.00] ****  PAUSe

 Default key:   none
 Description:   Pause for a time interval.

 Switches:

      T1 or T
           Time is specified in DOS clock ticks (there are 18 clock ticks per
           second).

      T0
           Time is specified in seconds (default).

 Examples:

      {pause 25}
           Pause for 25 seconds.

      {pause-t 9}
           Pause for 9 clock ticks (one half second).

 NOTE: Incoming characters displayed during a PAUSe function are not seen by
 subsequent SSLOok/CALOok/GOLOok/LOOKfor functions.


[01.10] ****  POPStack

 Default key:   none
 Description:   Pop an element from the macro stack.

 Switches:

      C1 or C
           Clear all elements from the stack.

      C0
           Pop the top element (default).

 Examples:

      {pops}
           Pop the top element.

      {pops-c}
           Clear the stack.

 POPStack throws away the top element on the macro stack.  This element would
 have been used by the next RETUrn function.

 See also CALL, RETUrn, PUSHstack.


[01.20] ****  PRINtlog

 Default key:   Alt+2
 Description:   Set Print Log toggle.

 Examples:

      {print}
           Toggle Print Log on/off.

      {print y}
           Turn on Print Log.

      {print n}
           Turn off Print Log.


[01.30] ****  PUSHstack

 Default key:   none
 Description:   Push a return point onto the macro stack.

 Examples:

      {push}
           Push the current location.

      {push abc}
           Push the location "abc".

 When there are no arguments, the location pushed is the location of the
 PUSHstack function itself (i.e., it will be executed again when a RETUrn is
 encountered).

 PUSHstack will push a return point onto the macro stack without transferring
 control to the location (control continues in sequence).  A subsequent RETUrn
 will transfer control to the location that was pushed.

 POPStack will remove the top stack element without transferring control to it
 (control continues in sequence).

 TIPS on using PUSHstack:

  >   The return point will include the name of the current auxiliary file if
      the PUSHstack function is located in the auxiliary.

  >   PUSHstack cannot save a location that is in a Macro File that is not
      currently loaded.

 See also CALL, RETUrn, POPStack.


[01.40] ****  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:

  >   When an attempt is made to read past the end of the file.
  >   When the macro terminates (STOP, EXIT, etc.).

 See also ROPEn, READ.


[01.50] ****  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


[01.60] ****  RETUrn

 Default key:   none
 Description:   Return from a CALLed macro.

 Example:

      {return}
           No arguments.

 This function will return control to the last location pushed onto the macro
 stack (by CALL, PUSHstack, etc.).  The location may reside in a Macro File
 that is not currently loaded (loading will occur automatically).

 TIPS on using RETUrn:

  >   If a RETUrn is encountered and no elements remain on the macro stack, a
      STOP will occur.  This is useful in macros that are CALLed and also used
      standalone (such as protocol file transfer macros).

  >   If the macro filename popped from the macro stack is the same as the
      current auxiliary file, no load will occur.

 See also CALL, CALOok, DIAL, PUSHstack, POPStack.


[01.70] ****  ROPEn

 Default key:   none
 Description:   Open a file for reading.

 General Form:

      {ROPEn path\filename,label}

           path\filename
                The path\filename of the file to open.

           label
                A label to GOTO when a READ is attempted at the end of the
                file.

                IMPORTANT!  If the READ is in a CALLed subroutine, be sure to
                execute a RETUrn or POPS at the label.

 Example:

      {ropen c:\bbs\file.txt,nomore}
           Open the file and set the label "nomore" to GOTO when the end of the
           file is reached.

 TIPS on using ROPEn:

  >   Only one file may be opened for reading (and one for writing).

  >   The file will be automatically closed when the end of the file is
      encountered during a READ (whether or not a label is specified).  An
      RCLOse is not needed in this situation.

 See also READ, RCLOse.


[01.80] ****  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 "Alt+G  Edit Setup File" for details and more examples.

 TIPS on using RTRAn:

  >   Some control characters are unaffected by translation when certain
      features are enabled.  Examples:  XON (17) and XOFF (19) are not
      translated when Software Flow Control is on.  ENQ (5) is not translated
      when ENQ/ACK emulation is on.

  >   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.


[01.90] ****  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.


[02.00] ****  RYMOdem

 Default key:   none
 Description:   Receive files using the Ymodem Batch protocol.

 Switches:

      NOTE: N, D, A and W switches are the same as for RZMOdem.

      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).

 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 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.

  >   Some conditions that will cancel a transfer:
        >   10 consecutive errors.
        >   Any error when "G" method is used.
        >   File exists and the "Y" switch is not present.
        >   The sender has transmitted CAN (^X) characters.
        >   Loss of carrier.

  >   The Exit Code (test with IFER) will be set at the end of the transfer and
      will also be stored in the variable "_err".  0 means all files were
      transferred successfully.  1 means one or more files in the batch were
      not completed.

  >   If the Usage Log is enabled, an entry will be made after each file is
      transferred (or if a transfer is cancelled).


[02.10] ****  RZMOdem

 Default key:   none
 Description:   Receive a file using the Zmodem protocol.

 Switches:

      R1 or R
           Resume like-named files.  If the incoming file is longer, the
           transfer will resume at the end of the existing file.  No check is
           made to determine if the common portion of the file is identical.

      N1 or N
           Rename incoming files if like-named files exist.  A letter "A"
           through "Z" will be used in place of the last character of
           "filename.ext".

      Y1 or Y
           Overwrite like-named files.  The existing file will be deleted at
           the start of the transfer.

      D1 or D
           Cancel transfer if Carrier Detect is lost (default).

           NOTE: If Carrier Detect is off when the transfer is started, this
           switch will behave as if "D0" had been set.

      D0
           Ignore state of Carrier Detect.

      A1 or A
           Sound the success or fail 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.

 The "R", "N" and "Y" switches are mutually exclusive (use only one).

 Example:

      {rzmo-ra %dldir}
           Receive files into the download directory, resume partial files,
           sound the alarm.

 TIPS on using RZMOdem:

  >   The sender may also request that the file be "resumed."  The "N" and "Y"
      switches will override this request.

  >   If a like-named file exists in the download directory and no action is
      specified, the file will be "skipped."

  >   If an incoming filename is not DOS compatible, the file will be
      "skipped."

  >   Some conditions that will cancel a transfer:
        >   20 consecutive errors.
        >   The sender has cancelled.
        >   Unable to open a file.
        >   Disk is full.
        >   Loss of carrier.

  >   The Exit Code (test with IFER) will be set at the end of the transfer and
      will also be stored in the variable "_err".  0 means all files were
      transferred successfully.  1 means one or more files in the batch were
      not completed.

  >   If the Usage Log is enabled, an entry will be made after each file is
      transferred (or if a transfer is cancelled).


[02.20] ****  SCREen

 Default key:   Alt+I
 Description:   Screen Image Save.

 Examples:

      {screen}
           Open Screen Image Save window.

      {screen y}
           Append screen image to current file.

      {screen y,commo.scr}
           Append screen image to indicated file. (and change current
           path\filename).

      {screen n,c:\file.xyz}
           Change current screen image path\filename (don't save screen to
           file).


[02.30] ****  SCROllback

 Default key:   Alt+K
 Description:   Display Scrollback Buffer

 Example:

      {scroll}
           No arguments.


[02.40] ****  SEND

 Default key:   none
 Description:   Send a string to the modem (serial port).

 Switches:

      N1 or N
           Do NOT convert control characters.

      N0
           Convert control characters as described in "ASCII Character
           Representation" (default).

      B1 or B
           Byte mode.  Characters are represented by decimal or hex numbers,
           separated by commas.  Hex numbers are preceded by a "0" and all
           characters from 0 to 255 may be sent.  There is no conversion, no
           translation and no local echo.

      B0
           Normal string mode (default).

      W1 or W
           Wait until all characters have been transmitted before proceeding to
           the next function (default).

      W0
           All characters in the string will be stored in the transmit buffer.
           Then {COMMO} will proceed without waiting (unless the buffer is
           full).  The Inter-character Delay and any delays in the string will
           be ignored.

 Examples:

      {send Firstname|~~Lastname|~~%_pas|}
           Send first and last names with carriage returns and 1 second delays,
           then send the current password and a <cr>.

      {send ^[^[}
           Send two <esc> characters.

      {send  }
           Send a space (there must be two spaces, the first is the separator).

      {send %line}
           Send the string in the variable "line".

      {send-n ^A|~}
           Send the characters as written.  Do not convert the special
           characters.

      {send-b 123,043,04f,77,04d,79,07d}
           Send "{COMMO}"

      {send-w0 Now is the time.}
           Send the string, don't wait.

      {send}
           Wait for all characters in the transmit buffer to be sent.


[02.50] ****  SETDial

 Default key:   none
 Description:   Set parameters for dialing.

 Examples:

      {setdial 60,15}
           Set the dialing cycle timer to 60 seconds and the Inter-dial Delay
           to 15 seconds.

      {setd ,3}
           Change only the Inter-dial Delay timer.

 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.


[02.60] ****  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:

      K0
           Ignore all typed keys except Ctrl-Break (i.e., lock the keyboard).
           If a macro label is included, the macro will be executed when Ctrl-
           Break is pressed (there will be no prompt).  Otherwise Ctrl-Break
           causes the macro to STOP.  In either case, the keyboard is active
           again as soon as Ctrl-Break is pressed.

           NOTE: System keys such as Ctrl-Alt-Del, Shift-PrtSc, NumLock, etc.,
           are not affected (they remain active).

      K1 or K
             Allow all keys (default).

      P1 or P
           The user will be prompted with, "A macro is running.  Terminate
           it?."  If the user answers "no," macro execution will continue as if
           nothing had happened.  If "yes," the current macro will be STOPped
           and the macro at the label will be started.  If the label does not
           exist, a STOP will be executed.  P1 is the default.

      P0
           The user will not be prompted.  The current macro will be STOPped
           and the macro at the label will be started.  If the label does not
           exist, a STOP will be executed.

 Examples:

      {setesc finish}
           GOTO label, with prompt.

      {sete-p0 done}
           GOTO label, without prompt.

      {setesc}
           Reset to no label (STOP on Esc).

 This function is used to "capture" the Esc key during macro execution.  It can
 help prevent accidental macro terminations.

 NOTE: In the various command windows, Esc is normally used to exit the
 window.  Use Ctrl+Break to bring up the prompt.

