home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / filesbbs / dos / cs340a-e.exe / DOC / REFERENC.DOC < prev    next >
Encoding:
Text File  |  1997-07-09  |  46.0 KB  |  942 lines

  1.  
  2.                    "The Army Knife for ProBoard BBS Software"
  3.  
  4.    · ·· ·-──── -──·──── -──· ┌┐-──·┌─┐┌─ ──·┌─┐─────── -──·──── ──-──· -∙· ·
  5.                              │  ┌ ┌┼┬┘└─┐┌──┼┬┘│ ┐
  6.                              └─┘└─┘│└───┘└─┘│└─┴─│
  7.    · ·· ·-──── -──·──── -──· ─ -──·│─── -──·──-──┘──── -──·──── ──-──· -∙· ·
  8.  
  9.                              CURSORY, VERSION 3.40
  10.                              PROBOARD 2.1x DOS PEX
  11.  
  12.                       Copyright (C) 1995-1997 WSA Software
  13.                              Written by J. Rathmann
  14.                               ALL RIGHTS RESERVED
  15.  
  16. ╔══════════════════════════════════════════════════════════════════════════╗
  17. ║ ▒▒ Reference ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ║ █
  18. ╚══════════════════════════════════════════════════════════════════════════╝ █
  19.   ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  20.  This file contains a reference of ALL CSI-keywords, control codes, color
  21.  codes, text macros, special codes for "hotkey" and "globalkey" and error
  22.  messages.
  23.  
  24.  ┌──────────────┐
  25.  │ CSI-keywords │
  26.  └──────────────┘
  27.  
  28.              LOCAL KEYWORDS              GLOBAL KEYWORDS
  29.            ╔────────────────╗   ╔─────────────────────────────────╗
  30.            │ menu           │   │ globalhotkeys   nocheck         │
  31.            │ help           │   │ globalkey       noglobalcheck   │
  32.            │ hotkey         │   │ startmenu       log             │
  33.            │ returnkey      │   │ show            forceansi       │
  34.            │ function       │   │ numeric         forceavatar     │
  35.            │ restart        │   │ static          hide            │
  36.            │ leftgoto       │   │ elitemenu       printstart      │
  37.            │ rightgoto      │   │ elitetask       printend        │
  38.            │ upgoto         │   │ nofresh         userdoes        │
  39.            │ downgoto       │   │ noloop          timeslice       │
  40.            │ leftkey        │   ╚─────────────────────────────────╝
  41.            │ rightkey       │
  42.            │ upkey          │
  43.            │ downkey        │
  44.            │ task           │
  45.            │ wait           │
  46.            ╚────────────────╝
  47.  
  48.  ╔──────╗
  49.  │ menu │             Defines a new menu option
  50.  ╚──────╝─────────────────────────────────────────────────────────────────────
  51.  Type ............... LOCAL
  52.  Syntax ............. menu "MENUTEXT"
  53.                       MENUTEXT = Text including control codes (you can find
  54.                                  a description of all control codes in the
  55.                                  section "Control codes")
  56.  Example ............ menu "%1,1%@8,27@ Test menu option "
  57.  Description ........ This keyword defines the text, position(s) and color(s)
  58.                       of ONE menu option. It is the START MARKING of a menu
  59.                       block, ALL LOCAL keywords below belong to this menu
  60.                       option (until the next menu option is defined using
  61.                       "menu").
  62.  
  63.  
  64.  ╔──────╗
  65.  │ help │             Defines a help text (online help) for a menu option
  66.  ╚──────╝─────────────────────────────────────────────────────────────────────
  67.  Type ............... LOCAL
  68.  Syntax ............. help "HELPTEXT"
  69.                       HELTTEXT = including control codes (you can find a
  70.                                  description of all control codes in the
  71.                                  section "Control codes")
  72.  Example ............ help "%1,20%@14@This is a help text"
  73.  Description ........ This keyword defines text, position(s) and color(s) of
  74.                       ONE help text. This help text belongs to the LAST
  75.                       defined menu option.
  76.  
  77.  
  78.  ╔────────╗
  79.  │ hotkey │           Defines a "hotkey" for a menu option
  80.  ╚────────╝───────────────────────────────────────────────────────────────────
  81.  Type ............... LOCAL
  82.  Syntax ............. hotkey HOTKEY
  83.                       HOTKEY = ASCII-character
  84.                                OR
  85.                                ASCII-code with preceding "#"
  86.  Examples ........... hotkey a
  87.                       hotkey #27
  88.  Description ........ This keyword defines a LOCAL hotkey for the LAST defined
  89.                       menu option. If it is defined, the corresponding menu
  90.                       option can be selected directly via the specified
  91.                       character, alternatively to the cursor key control and
  92.                       "RETURN". The character is case insensitive.
  93.  
  94.  
  95.  ╔───────────╗        Defines a character which is sent after the
  96.  │ returnkey │        corresponding menu option is selected
  97.  ╚───────────╝────────────────────────────────────────────────────────────────
  98.  Type ............... LOCAL
  99.  Syntax ............. returnkey RETURNKEY
  100.                       RETURNKEY = ASCII-character
  101.                                   OR
  102.                                   ASCII-Code with preceding "#"
  103.  Examples ........... returnkey a
  104.                       returnkey #65
  105.  Description ........ This keyword can be used to define a character which
  106.                       is sent to ProBoard after the corresponding menu option
  107.                       is selected. This character MUST be defined as HOTKEY
  108.                       in the ProBoard MENU EDITOR. The character is sent to
  109.                       ProBoard AFTER execution of a function possibly defined
  110.                       with "function". The character is case insensitive.
  111.  
  112.  
  113.  ╔───────────╗        Defines a function which is executed after the
  114.  │ function  │        corresponding menu option is selected
  115.  ╚───────────╝────────────────────────────────────────────────────────────────
  116.  Type ............... LOCAL
  117.  Syntax ............. function FUNCTIONNUMBER
  118.                       OR
  119.                       function FUNCTIONNUMBER, "PARAMETER"
  120.                       FUNCTIONNUMBER = ProBoard function (you can find a
  121.                                        description of all ProBoard functions
  122.                                        in the ProBoard documentation)
  123.                       PARAMETER = Parameter (if necessary)
  124.  Examples ........... function 8
  125.                       function 60, "TEXTSRCH"
  126.  Description ........ This keyword defines a ProBoard function which is
  127.                       executed after the corresponding menu option is
  128.                       selected. After execution the menu is left (you can
  129.                       avoid this by using "restart"). The defined function
  130.                       is executed BEFORE a character possibly defined with
  131.                       "returnkey" is sent.
  132.  
  133.  
  134.  ╔─────────╗
  135.  │ restart │          Causes CURSORY to restart after a function is executed
  136.  ╚─────────╝──────────────────────────────────────────────────────────────────
  137.  Type ............... LOCAL
  138.  Syntax ............. restart
  139.  Description ........ After selection of a SPECIFIC menu option and execution
  140.                       of a function the menu is NOT left. Instead the CSI-file
  141.                       is called again (the file is NOT read again physically).
  142.  
  143.  
  144.  ╔──────────╗         Defines the menu option which is active after the user
  145.  │ leftgoto │         pressed CURSOR-LEFT on the corresponding menu option
  146.  ╚──────────╝─────────────────────────────────────────────────────────────────
  147.  Type ............... LOCAL
  148.  Syntax ............. leftgoto MENUOPTION
  149.                       MENUOPTION = Number of a menu option
  150.                       Note: The menu options are numbered top down
  151.  Default ............ Active menu option - 1
  152.  Example ............ leftgoto 4
  153.  Description ........ If the user presses CURSOR-LEFT on the corresponding
  154.                       menu option, the defined menu option is active. All
  155.                       invalid values are ignored.
  156.  
  157.  
  158.  ╔───────────╗        Defines the menu option which is active after the user
  159.  │ rightgoto │        pressed CURSOR-RIGHT on the corresponding menu option
  160.  ╚───────────╝────────────────────────────────────────────────────────────────
  161.  Type ............... LOCAL
  162.  Syntax ............. rightgoto MENUOPTION
  163.                       MENUOPTION = Number of a menu option
  164.                       Note: The menu options are numbered top down
  165.  Default ............ Active menu option + 1
  166.  Example ............ rightgoto 4
  167.  Description ........ If the user presses CURSOR-RIGHT on the corresponding
  168.                       menu option, the defined menu option is active. All
  169.                       invalid values are ignored.
  170.  
  171.  
  172.  ╔────────╗           Defines the menu option which is active after the user
  173.  │ upgoto │           pressed CURSOR-UP on the corresponding menu option
  174.  ╚────────╝───────────────────────────────────────────────────────────────────
  175.  Type ............... LOCAL
  176.  Syntax ............. upgoto MENUOPTION
  177.                       MENUOPTION = Number of a menu option
  178.                       Note: The menu options are numbered top down
  179.  Default ............ Active menu option - 1
  180.  Example ............ upgoto 4
  181.  Description ........ If the user presses CURSOR-UP on the corresponding
  182.                       menu option, the defined menu option is active. All
  183.                       invalid values are ignored.
  184.  
  185.  
  186.  ╔──────────╗         Defines the menu option which is active after the user
  187.  │ downgoto │         pressed CURSOR-DOWN on the corresponding menu option
  188.  ╚──────────╝─────────────────────────────────────────────────────────────────
  189.  Type ............... LOCAL
  190.  Syntax ............. downgoto MENUOPTION
  191.                       MENUOPTION = Number of a menu option
  192.                       Note: The menu options are numbered top down
  193.  Default ............ Active menu option + 1
  194.  Example ............ downgoto 4
  195.  Description ........ If the user presses CURSOR-DOWN on the corresponding
  196.                       menu option, the defined menu option is active. All
  197.                       invalid values are ignored.
  198.  
  199.  
  200.  ╔─────────╗          Defines a character which is sent after pressing
  201.  │ leftkey │          CURSOR-LEFT on the corresponding menu option
  202.  ╚─────────╝──────────────────────────────────────────────────────────────────
  203.  Type ............... LOCAL
  204.  Syntax ............. leftkey LEFTKEY
  205.                       LEFTKEY = ASCII-character
  206.                                 OR
  207.                                 ASCII-code with preceding "#"
  208.  Examples ........... leftkey a
  209.                       leftkey #65
  210.  Description ........ If the user pressed CURSOR-LEFT on the corresponding
  211.                       menu option, the defined LEFTKEY is sent to ProBoard.
  212.                       If for a menu option both "leftkey" and "leftgoto" is
  213.                       defined, then "leftkey" has a higher priority.
  214.  
  215.  
  216.  ╔──────────╗         Defines a character which is sent after pressing
  217.  │ rightkey │         CURSOR-RIGHT on the corresponding menu option
  218.  ╚──────────╝─────────────────────────────────────────────────────────────────
  219.  Type ............... LOCAL
  220.  Syntax ............. rightkey RIGHTKEY
  221.                       RIGHTKEY = ASCII-character
  222.                                  OR
  223.                                  ASCII-code with preceding "#"
  224.  Examples ........... rightkey a
  225.                       rightkey #65
  226.  Description ........ If the user pressed CURSOR-RIGHT on the corresponding
  227.                       menu option, the defined RIGHTKEY is sent to ProBoard.
  228.                       If for a menu option both "rightkey" and "rightgoto" is
  229.                       defined, then "rightkey" has a higher priority.
  230.  
  231.  
  232.  ╔───────╗            Defines a character which is sent after pressing
  233.  │ upkey │            CURSOR-UP on the corresponding menu option
  234.  ╚───────╝────────────────────────────────────────────────────────────────────
  235.  Type ............... LOCAL
  236.  Syntax ............. upkey UPKEY
  237.                       UPKEY = ASCII-character
  238.                               OR
  239.                               ASCII-code with preceding "#"
  240.  Examples ........... upkey a
  241.                       upkey #65
  242.  Description ........ If the user pressed CURSOR-UP on the corresponding menu
  243.                       option, the defined UPKEY is sent to ProBoard. If for a
  244.                       menu option both "upkey" and "upgoto" is defined, then
  245.                       "upkey" has a higher priority.
  246.  
  247.  
  248.  ╔─────────╗          Defines a character which is sent after pressing
  249.  │ downkey │          CURSOR-DOWN on the corresponding menu option
  250.  ╚─────────╝──────────────────────────────────────────────────────────────────
  251.  Type ............... LOCAL
  252.  Syntax ............. downkey DOWNKEY
  253.                       DOWNKEY = ASCII-character
  254.                                 OR
  255.                                 ASCII-code with preceding "#"
  256.  Examples ........... downkey a
  257.                       downkey #65
  258.  Description ........ If the user pressed CURSOR-DOWN on the corresponding
  259.                       menu option, the defined DOWNKEY is sent to ProBoard.
  260.                       If for a menu option both "downkey" and "downgoto" is
  261.                       defined, then "downkey" has a higher priority.
  262.  
  263.  
  264.  ╔──────╗
  265.  │ task │             Defines an animation sequence
  266.  ╚──────╝─────────────────────────────────────────────────────────────────────
  267.  Type ............... LOCAL (TASK)
  268.  Syntax ............. task "SEQUENCE"
  269.                       SEQUENCE = Text including control codes (you can find a
  270.                                  description of all control codes in the
  271.                                  section "Control codes")
  272.  Example ............ task "%1,24%@7@This is part of an animation"
  273.  Description ........ Using this keyword you can define an animation sequence
  274.                       (a "state" of an animation). If several "tasks" are
  275.                       defined, they will be shown top down at runtime. When
  276.                       the last "task" is reached (the end), the animation is
  277.                       shown again (you can disable this via "noloop"). A
  278.                       "task" is local, but it does not belong to a menu
  279.                       option. "Local" just means that it belongs to the
  280.                       keyword "wait".
  281.  
  282.  
  283.  ╔──────╗             Defines the delay after the corresponding animation
  284.  │ wait │             sequence is displayed
  285.  ╚──────╝─────────────────────────────────────────────────────────────────────
  286.  Type ............... LOCAL (TASK)
  287.  Syntax ............. wait DELAY
  288.                       DELAY = Value for delay (the value 18 delays about 1
  289.                               second)
  290.  Default ............ 0
  291.  Example ............ wait 10
  292.  Description ........ This keyword defines the delay after the corresponding
  293.                       "task" is displayed. The next "task" is not displayed
  294.                       until the delay ends. This keyword is OPTIONAL, it does
  295.                       not have to be defined behind every "task". 0 is default
  296.                       (no delay). Each value behind "wait" may be different,
  297.                       so you can change the animation speed at runtime!
  298.  
  299.  
  300.  ╔───────────────╗
  301.  │ globalhotkeys │    Defines SEVERAL global hotkeys
  302.  ╚───────────────╝────────────────────────────────────────────────────────────
  303.  Type ............... GLOBAL
  304.  Syntax ............. globalhotkeys "HOTKEYS"
  305.                       HOTKEYS = List of characters
  306.  Example ............ globalhotkeys "!#%?$*-"
  307.  Description ........ Defines global hotkeys or in general characters which
  308.                       are also sent to ProBoard. When a key is pressed while
  309.                       menu selection which is not a control key or a local
  310.                       hotkey, it is normally ignored. By using this keyword
  311.                       you can define ADDITIONAL characters which are also
  312.                       sent to ProBoard. For example this could be hotkeys,
  313.                       which are defined in the GLOBAL menu in the ProBoard
  314.                       menu editor. "globalhotkeys" may be defined several
  315.                       times in a CSI-file.
  316.  
  317.  
  318.  ╔───────────╗        Defines ONE global hotkey, additionally a seperated
  319.  │ globalkey │        "returnkey" can be specified
  320.  ╚───────────╝────────────────────────────────────────────────────────────────
  321.  Type ............... GLOBAL
  322.  Syntax ............. globalkey HOTKEY
  323.                       OR
  324.                       globalkey HOTKEY, RETURNKEY
  325.                       HOTKEY = ASCII-character
  326.                                OR
  327.                                ASCII-code with preceding "#"
  328.                       RETURNKEY = ASCII-character
  329.                                   OR
  330.                                   ASCII-code with preceding "#"
  331.  Examples ........... globalkey ?
  332.                       globalkey #63
  333.                       globalkey #27, !
  334.  Description ........ This keyword can be used to define ONE global hotkey
  335.                       (see also CSI-keyword "globalhotkeys"), additionally
  336.                       a RETURNKEY can be specified. In this case the
  337.                       RETURNKEY is sent after the user pressed the HOTKEY.
  338.                       You can GLOBALLY seperate hotkeys and returnkeys
  339.                       (equivalent to the local seperation via the CSI-keywords
  340.                       "hotkey" and "returnkey"). If no RETURNKEY is specified,
  341.                       the HOTKEY is sent (identical to "globalhotkeys").
  342.                       For this reason "globalkey a" is exactly the same as
  343.                       "globalkey a, a". This keyword may be defined SEVERAL
  344.                       times in a CSI-file. HOTKEY and RETURNKEY are case
  345.                       insensitive.
  346.  
  347.  
  348.  ╔───────────╗
  349.  │ startmenu │        Defines the menu option which is active at start
  350.  ╚───────────╝────────────────────────────────────────────────────────────────
  351.  Type ............... GLOBAL
  352.  Syntax ............. startmenu MENUOPTION
  353.                       MENUOPTION = Number of a menu option
  354.                       Note: The menu options are numbered top down
  355.  Default ............ 1
  356.  Example ............ startmenu 4
  357.  Description ........ The value behind this CSI-keyword defines the menu
  358.                       option which is active at start. If this keyword is
  359.                       missing, the first menu option is active by default.
  360.                       All invalid values are ignored. If the keyword "static"
  361.                       is defined additionally, then "startmenu" has only an
  362.                       effect if the menu is displayed the FIRST time.
  363.  
  364.  
  365.  ╔──────╗
  366.  │ show │             Displays an ANSI- or AVATAR-file
  367.  ╚──────╝─────────────────────────────────────────────────────────────────────
  368.  Type ............... GLOBAL
  369.  Syntax ............. show "FILENAME"
  370.                       FILENAME = Name of an ANSI/AVATAR-file WITHOUT path and
  371.                                  extension
  372.  Example ............ show "MAIN"
  373.  Description ........ Displays an ANSI/AVATAR-file as background for a menu.
  374.                       The file *MUST* be located in the ProBoard TXTFILES-
  375.                       directory. If the specified file is not found, the
  376.                       keyword is ignored.
  377.  
  378.  
  379.  ╔─────────╗
  380.  │ numeric │          Allows alternative control via 2, 4, 6 and 8
  381.  ╚─────────╝──────────────────────────────────────────────────────────────────
  382.  Type ............... GLOBAL
  383.  Syntax ............. numeric
  384.  Description ........ Allows alternative control via the keys 2, 4, 6 and 8
  385.                       (replacement for the cursor keys). If identical hotkeys
  386.                       are defined, the hotkeys have a HIGHER priority!
  387.  
  388.  
  389.  ╔────────╗           Causes that the last selected menu option is saved
  390.  │ static │           and active automatically when the menu is called again
  391.  ╚────────╝───────────────────────────────────────────────────────────────────
  392.  Type ............... GLOBAL
  393.  Syntax ............. static
  394.  Description ........ If this keyword is defined in a CSI-file, the last
  395.                       selected menu option is saved when the menu is left. If
  396.                       the same menu is called again, not the first or the
  397.                       menu option defined via "startmenu" is active but the
  398.                       saved one. Therefore this keyword has a higher priority
  399.                       than "startmenu".
  400.  
  401.  
  402.  ╔───────────╗
  403.  │ elitemenu │        Converts all menu and help texts into "elite-font"
  404.  ╚───────────╝────────────────────────────────────────────────────────────────
  405.  Type ............... GLOBAL
  406.  Syntax ............. elitemenu
  407.  Description ........ If this keyword is defined, ALL menu options and help
  408.                       texts are converted into "elite"-font. The following
  409.                       changes are made:
  410.                       1. All characters are converted into capitals
  411.                       2. 'A' (ASCII-code 065) -> 'Æ' (ASCII-code 146)
  412.                       3. 'E' (ASCII-code 069) -> 'ε' (ASCII-code 238)
  413.                       4. 'F' (ASCII-code 070) -> 'ƒ' (ASCII-code 159)
  414.                       5. 'I' (ASCII-code 073) -> 'i' (ASCII-code 105)
  415.                       6. 'N' (ASCII-code 078) -> '∩' (ASCII-code 239)
  416.  
  417.  
  418.  ╔───────────╗        
  419.  │ elitetask │        Converts all animation sequences into "elite-font"
  420.  ╚───────────╝────────────────────────────────────────────────────────────────
  421.  Type ............... GLOBAL
  422.  Syntax ............. elitetask
  423.  Description ........ Converts ALL animation sequences (defined with "task")
  424.                       into "elite"-font. Take a look at "elitemenu" to find
  425.                       detailed information.
  426.  
  427.  
  428.  ╔─────────╗          Causes that all menu options are NOT displayed at start
  429.  │ nofresh │          (only the active menu option is visible)
  430.  ╚─────────╝──────────────────────────────────────────────────────────────────
  431.  Type ............... GLOBAL
  432.  Syntax ............. nofresh
  433.  Description ........ This keyword causes a "nofreshing" of all menu options
  434.                       at start. Normally ALL menu options defined in a CSI-
  435.                       file are displayed once automatically, so the user can
  436.                       see between what he may choose. If the keyword "nofresh"
  437.                       is used, ONLY the active menu option is visible at
  438.                       start. Therefore it is possible to "paint" all menu
  439.                       options in the background picture (see CSI-keyword
  440.                       "show") and CURSORY will not overwrite them at start.
  441.                       In principle this is not disturbing, but it is sometimes
  442.                       visible if the user has a bad connect and there are many
  443.                       menu options. The advantage of defining all menu options
  444.                       (in the "not active" color!) in the background picture
  445.                       is that these menu options are visible IMMEDIATELY for
  446.                       the user. Without "nofresh" the background picture is
  447.                       shown FIRST, THEN the menu options are displayed. You
  448.                       should ONLY use "nofresh" if you do not like the aspect
  449.                       described above, because there are also two
  450.                       disadvantages:
  451.  
  452.                       1. All menu options defined in the CSI-file must be
  453.                          EXACTLY identical with the menu options in the
  454.                          background picture
  455.                       2. The keyword "elitemenu" only has an effect if the
  456.                          user chooses the menu options at least ONCE. If you
  457.                          want to use this keyword, all menu options must be
  458.                          defined in "elite-font" in the background (see CSI-
  459.                          keyword "elitemenu")
  460.  
  461.  
  462.  ╔────────╗           Causes that a defined animation is NOT repeated, it is
  463.  │ noloop │           displayed only ONCE
  464.  ╚────────╝───────────────────────────────────────────────────────────────────
  465.  Type ............... GLOBAL
  466.  Syntax ............. noloop
  467.  Description ........ If this keyword is defined and the last animation
  468.                       sequence is reached, the animation is NOT repeated.
  469.                       This keyword has only an effect if there is really an
  470.                       animation. If not, the keyword is ignored.
  471.  
  472.  
  473.  ╔─────────╗
  474.  │ nocheck │          Disables checking for all menu options
  475.  ╚─────────╝──────────────────────────────────────────────────────────────────
  476.  Type ............... GLOBAL
  477.  Syntax ............. nocheck
  478.  Description ........ After a menu option is selected the programm will NOT
  479.                       check if the user has really access. If a returnkey is
  480.                       defined, it is sent to ProBoard in any case (and there
  481.                       possibly ignored). You should use this keyword if you
  482.                       call CURSORY in a language file, otherwise the error
  483.                       message "Could not open PBM-file" is shown (a PBM-file
  484.                       contains information about limitations for each menu
  485.                       options).
  486.  
  487.  
  488.  ╔───────────────╗
  489.  │ noglobalcheck │    Disables checking for menu options in the GLOBAL menu
  490.  ╚───────────────╝────────────────────────────────────────────────────────────
  491.  Type ............... GLOBAL
  492.  Syntax ............. noglobalcheck
  493.  Description ........ Similar to "nocheck", but ONLY the GLOBAL checking is
  494.                       disabled. Use this keyword if you want checking but
  495.                       no global menu is defined in the ProBoard menu editor
  496.                       (file GLOBAL.PBM).
  497.  
  498.  
  499.  ╔─────╗              Enables the "LOG"-function / some runtime information
  500.  │ log │              is written to the file PROBOARD.LOG
  501.  ╚─────╝──────────────────────────────────────────────────────────────────────
  502.  Type ............... GLOBAL
  503.  Syntax ............. log
  504.  Description ........ If this keyword is defined, some useful runtime
  505.                       information (e. g. selected menu options, executed
  506.                       functions) is written to the file PROBOARD.LOG.
  507.  
  508.  
  509.  ╔───────────╗
  510.  │ forceansi │        Forces CURSORY to use the ANSI-emulation
  511.  ╚───────────╝────────────────────────────────────────────────────────────────
  512.  Type ............... GLOBAL
  513.  Syntax ............. forceansi
  514.  Description ........ If this keyword is defined, CURSORY uses the ANSI-mode
  515.                       in any case. For example this is useful for a LOGIN.
  516.  
  517.  
  518.  ╔─────────────╗
  519.  │ forceavatar │  Forces CURSORY to use the AVATAR-emulation
  520.  ╚─────────────╝──────────────────────────────────────────────────────────────
  521.  Type ............... GLOBAL
  522.  Syntax ............. forceavatar
  523.  Description ........ If this keyword is defined, CURSORY uses the AVATAR-mode
  524.                       in any case. For example this is useful for a LOGIN.
  525.  
  526.  
  527.  ╔──────╗
  528.  │ hide │             The cursor is hidden GLOBALLY
  529.  ╚──────╝─────────────────────────────────────────────────────────────────────
  530.  Type ............... GLOBAL
  531.  Syntax ............. hide X, Y
  532.                       OR
  533.                       hide X, Y, NOHIDE
  534.                       X = X-position
  535.                       Y = Y-position
  536.                       NOHIDE = 0 or 1
  537.                                1 means, that the cursor is not hidden
  538.                                after it is set to the defined position
  539.                                (default is 0)
  540.  Example ............ hide 79, 24
  541.                       hide 79, 24, 1
  542.  Description ........ The cursor is hidden GLOBALLY. This keyword is a
  543.                       replacement for the control code "*". If this keyword
  544.                       is used, the cursor is set to the defined position after
  545.                       EACH change on the screen. Now it will be invisible
  546.                       (also for the user!). The difference to the control
  547.                       code "*" is that the cursor is set to a fixed position
  548.                       again and again. "*" will always use the CURRENT
  549.                       position.
  550.                       NOTE: "hide 80, 24" will scroll up the screen.
  551.  
  552.  
  553.  ╔────────────╗
  554.  │ printstart │       Displays a text BEFORE the cursor key control is started
  555.  ╚────────────╝───────────────────────────────────────────────────────────────
  556.  Type ............... GLOBAL
  557.  Syntax ............. printstart "TEXT"
  558.                       TEXT = including control codes (you can find a
  559.                              description of all control codes in the section
  560.                              "Control codes")
  561.  Example ............ printstart "%1,1%@15@Welcome to this menu!"
  562.  Description ........ The text defined behind this keyword is displayed
  563.                       BEFORE the cursor key control (or the animation, if no
  564.                       menu options are defined) is started. If a background
  565.                       picture is defined (see CSI-keyword "show"), this will
  566.                       happen AFTER the picture is shown. For example you can
  567.                       use this keyword to display static text macros (fixed
  568.                       text macros, e. g. the user's name or location).
  569.  
  570.  
  571.  ╔──────────╗         Displays a text AFTER the cursor key control is left
  572.  │ printend │         and BEFORE the program exits
  573.  ╚──────────╝─────────────────────────────────────────────────────────────────
  574.  Type ............... GLOBAL
  575.  Syntax ............. printend "TEXT"
  576.                       TEXT = including control codes (you can find a
  577.                              description of all control codes in the section
  578.                              "Control codes")
  579.  Example ............ printend "ⁿ²"
  580.                       ⁿ (control code) = clear screen
  581.                       ² (control code) = log off the user
  582.  Description ........ Similar to "printstart", but this text is shown AFTER
  583.                       the menu selection is left and BEFORE the program exits.
  584.                       For example this is useful if an animation is defined in
  585.                       a CSI-file but the "hide"-keyword is NOT used. Then the
  586.                       cursor position is not defined any time, so if you leave
  587.                       the menu ProBoard could display something at a wrong
  588.                       position. These "errors" occur for example if you use
  589.                       the internal message reading routine. After the user
  590.                       selected the menu option "Read messages", the prompt
  591.                       which messages should be shown is displayed in the
  592.                       MIDDLE of the background picture. This problem can be
  593.                       solved by using the keywords "printend" OR "hide" (the
  594.                       cursor is hidden additionally). You can also use
  595.                       "printend" e. g. to "log off" the user immediately after
  596.                       a menu is left (e. g. at Login).
  597.  
  598.  
  599.  ╔──────────╗
  600.  │ userdoes │         Creates a USERDOES-file in the ProBoard system-directory
  601.  ╚──────────╝─────────────────────────────────────────────────────────────────
  602.  Type ............... GLOBAL
  603.  Syntax ............. userdoes "TEXT"
  604.  Example ............ userdoes "Just testing CURSORY :-)"
  605.  Description ........ This keyword can be used to create a "USERDOES.*"-file
  606.                       in the ProBoard system-directory BEFORE the program is
  607.                       started ("*" is the current node number). This file may
  608.                       contain information about the user's activity. It can
  609.                       be read using special programs (e. g. USERDOES by DQP).
  610.                       You can assign a USERDOES-text to each CSI-file
  611.                       (therefore also if you call the program in a language
  612.                       file!). E. g. if userdoes "Just testing CURSORY" is
  613.                       defined in a CSI-file and this file is called on node
  614.                       1, all other users can see (if they just use e. g.
  615.                       DQP-USERDOES) that user no. 1 is just testing CURSORY
  616.                       :-).
  617.  
  618.  
  619.  ╔───────────╗        Defines how many "timeslices" are released per time unit
  620.  │ timeslice │        if a multitasker is used
  621.  ╚───────────╝────────────────────────────────────────────────────────────────
  622.  Type ............... GLOBAL
  623.  Syntax ............. timeslice VALUE
  624.                       VALUE = a decimal value
  625.  Default ............ 1
  626.  Example ............ timeslice 5
  627.  Description ........ The value behind this keyword defines how many
  628.                       "timeslices" are released per time unit if CURSORY runs
  629.                       under a multitasker. Value 1 means that such
  630.                       "timeslices" are released after every cycle (checking
  631.                       the keyboard and modem buffer and displaying the next
  632.                       animation sequence). If 2 is specified, this will only
  633.                       happen every second, if 3 every third cycle. Default is
  634.                       1. If 0 is defined, no "timeslices" are released. Using
  635.                       this keyword you can reserve more time for a CURSORY-
  636.                       task under a multitasker. E. g. this is useful if many
  637.                       other tasks are in the background which "slow down" an
  638.                       animation. The best setting depends on the system used
  639.                       and should be tested. If no multitasker is detected,
  640.                       this keyword has no effect.
  641.  
  642.  ┌───────────────┐
  643.  │ Control codes │
  644.  └───────────────┘
  645.  
  646.  All control codes may be used in connection with the keywords "menu", "help",
  647.  "task", "printstart" and "printend".
  648.  
  649.  Many of these control codes need a start and an end marking (two identical
  650.  characters, e. g. for color changing the character "@"). If you forget the
  651.  end marking, the complete control code is ignored. This could cause wrong
  652.  results. If you have problems, check if all end markings are set.
  653.  
  654.  NOTE: If you want to DISPLAY a control character, you have to define it
  655.        TWICE (see also chapter "How to use control characters" in the
  656.        file "CURSORY.DOC").
  657.  
  658.  ─────────────────────────────────────────────────────────────────────────────
  659.  
  660.  @a,b@ = Change color (for "menu")
  661.          a = Color code or color macro, if the menu option is NOT active
  662.          b = Color code or color macro, if the menu option is active
  663.  
  664.  @a@   = Change color (for "help", "task", "printstart" and "printend")
  665.          a = Color code or color macro
  666.  
  667.          Color code = background color * 16 + foreground color
  668.          ─────────────────────────────────────────────────────
  669.          0 = Black, 1 = Blue, 2 = Green, 3 = Cyan, 4 = Red, 5 = Magenta,
  670.          6 = Brown, 7 = Lightgray, 8 = Darkgray, 9 = Lightblue,
  671.          10 = Lightgreen, 11 = Lightcyan, 12 = Lightred, 13 = Lightmagenta,
  672.          14 = Yellow, 15 = White
  673.          If you add 128 to the color code, the foreground color will blink.
  674.          A value higher than 7 as backround color has no effect.
  675.  
  676.          Color macros see section "Color macros" below!
  677.  
  678.  %x,y% = Change absolute cursor position
  679.          x = X-position
  680.          y = Y-position
  681.          If x and/or y are 0, the specific coordinate is not changed.
  682.          There are two macros which may be used instead of x and y:
  683.          - STARTX
  684.            The X-coordinate where the cursor was located before CURSORY was
  685.            called
  686.          - STARTY
  687.            The Y-coordinate where the cursor was located before CURSORY was
  688.            called
  689.  
  690.  &Xx&  = Change relative cursor position
  691.          X = L (Left), R (Right), U (Up) or D (Down)
  692.          x = relative change
  693.  
  694.  ^TEXTMACRO^  = Displays a ProBoard-compatible text macro, which is replaced
  695.                 through specific information at runtime (text macros see
  696.                 section "Text macros" below!)
  697.  
  698.  ~FILENAME~   = Shows an ASCII-/ANSI-/AVATAR-file (the file extension MUST
  699.                 NOT be specified). The file, which must be located in the
  700.                 ProBoard TXTFILES-directory, is shown immediately when this
  701.                 control code is found (if the file is found)
  702.  
  703.  $PEX$        = The defined PEX, which must be located in the ProBoard PEX-
  704.                 directory, is executed. You can use this to call your own
  705.                 programs while runtime
  706.  
  707.  _DELAY_      = The display is delayed dependent on the value specified
  708.                 behind "DELAY". You can use this to create "fadings". The
  709.                 value 18 will delay about 1 second.
  710.  
  711.  *     = The cursor is hidden at the current position (on FREE background
  712.          ONLY!) (see also CSI-keyword "hide")
  713.  
  714.  ⁿ     = (ASCII 252) Clear screen, if the user has set the "CLRSCR"-flag
  715.  
  716.  ²     = (ASCII 253) If CURSORY finds this character, the user is logged off
  717.          IMMEDIATELY :-)
  718.  
  719.  ┌──────────────┐
  720.  │ Color macros │
  721.  └──────────────┘
  722.  
  723.  Color macros may be used in connection with the control character "@"
  724.  everywhere "normal" color codes are valid, too.
  725.  The syntax is FOREGROUNDCOLOR-BACKGROUNDCOLOR-BLINK, all macros must be
  726.  seperated by a hyphen ("-"). ALL macros are OPTIONAL and SHAPELESS. The
  727.  color BLACK may be left out. Some examples (in brackets the equivalent color
  728.  codes):
  729.  
  730.  blue-black-blink (129)        blue (1)            blau-black (1)
  731.  BLUE-Black (1)                blue--blink (129)   yellow-red (78)
  732.  blue - black (1)              -blue (16)
  733.  b l u e - b l a c k (1)       blau-schwarz (1)
  734.  
  735.  Note: English and german color macros and color codes may be mixed. A color
  736.        macro or color code with a background color value higher than 7 has no
  737.        effect.
  738.  
  739.  All valid color macros (ENGLISH/GERMAN):
  740.  
  741.  Color macro           Color code   Color macro                 Color code
  742.  ────────────────────────────────   ──────────────────────────────────────
  743.  BLACK, SCHWARZ        0            DARKGRAY, DUNKELGRAU        8
  744.  BLUE, BLAU            1            LIGHTBLUE, HELLBLAU         9
  745.  GREEN, GRUEN          2            LIGHTGREEN, HELLGRUEN       10
  746.  CYAN, TUERKIS         3            LIGHTCYAN, HELLTUERKIS      11
  747.  RED, ROT              4            LIGHTRED, HELLROT           12
  748.  MAGENTA, VIOLETT      5            LIGHTMAGENTA, HELLVIOLETT   13
  749.  BROWN, BRAUN          6            YELLOW, GELB                14
  750.  LIGHTGRAY, HELLGRAU   7            WHITE, WEISS                15
  751.                                     BLINK                       128
  752.  
  753.  ┌─────────────┐
  754.  │ Text macros │
  755.  └─────────────┘
  756.  
  757.  Text macros can be shown left-aligned, right-aligned or centered.
  758.  
  759.  Normal:                 ^textmacro^
  760.  Left-aligned:           ^textmacro:20^
  761.  Right-aligned:          ^textmacro:-20^
  762.  Centered:               ^textmacro::20^
  763.  
  764.  ADDRESS1                User's address, 1. part
  765.  ADDRESS2                User's address, 2. part
  766.  ADDRESS3                User's address, 3. part
  767.  BAUD                    Baudrate
  768.  BBSLOCATION             Location of BBS
  769.  BBSNAME                 Name of BBS
  770.  BBSPHONE                Phone number of BBS
  771.  BIRTHDATE               User's birthday
  772.  CIL                     CURSORY KERNEL INFO
  773.  CITY                    User's location
  774.  COUNTRY                 User's country
  775.  CURFILEAREA#            Number of current filearea
  776.  CURFILEAREA             Name of current filearea
  777.  CURFILEGROUP#           Number of current filegroup
  778.  CURFILEGROUP            Name of current filegroup
  779.  CURMENU                 Name of current menu
  780.  CURMSGAREA#             Number of current messagearea
  781.  CURMSGAREA              Name of current messagearea
  782.  CURMSGGROUP#            Number of current messagegroup
  783.  CURMSGGROUP             Name of current messagegroup
  784.  DATAPHONE               User's data phone number
  785.  DATE                    Current date
  786.  DOWNLOADLIMIT           User's KB download-limit per day
  787.  EXPIRATIONDATE          Expiration-date
  788.  FAXPHONE                User's FAX phone number
  789.  FIRSTLOGIN              Date of user's first login
  790.  FIRSTNAME               User's first name
  791.  FLAGANSI                +/- = Ansi enabled/disabled
  792.  FLAGAVATAR              +/- = Avatar enabled/disabled
  793.  FLAGAVTPLUS             +/- = Avt/0+ enabled/disabled
  794.  FLAGCLEARSCREEN         +/- = Clearscreen enabled/disabled
  795.  FLAGFSED                +/- = Fullscreen-editor enabled/disabled
  796.  FLAGHOTKEYS             +/- = Hotkeys enabled/disabled
  797.  FLAGIBM                 +/- = IBM-chars enabled/disabled
  798.  FLAGMOREPROMPT          +/- = Moreprompt enabled/disabled
  799.  FULLTIME                Current time (including seconds!)
  800.  HANDLE                  User's handle (alias)
  801.  ID                      User's "ID" (short description of level)
  802.  INACTIVITYTIME          Inactivity-time
  803.  INFO                    CURSORY version number
  804.  KBDOWNLOADED            User's KB download (total)
  805.  KBUPLOADED              User's KB Upload (total)
  806.  KBUSEDTODAY             User's KB Download (today)
  807.  LANGUAGE                User's language
  808.  LASTDATE                Date of user's last call
  809.  LASTNEWFILESCHECK       Date of user's last newfilecheck
  810.  LASTPASSWORDCHANGE      Date of user's last password change
  811.  LASTTIME                Time of user's last call
  812.  LEVEL                   User's level
  813.  MAXSYSOPPAGES           Number of allowed sysop pages
  814.  MINUSEDTODAY            User's online time today (minutes)
  815.  MNUDIR                  Path to the *.PBM-files
  816.  MSGDIR                  Path to messagebase
  817.  NAME                    User's name
  818.  NEWUSERLEVEL            Level for new users
  819.  NLDIR                   Nodelist-directory
  820.  NODE                    Current node number
  821.  NUMCALLS                Number of user's total calls
  822.  NUMDOWNLOADS            Number of user's total downloads
  823.  NUMFILEAREAS            Number of fileareas
  824.  NUMMSGAREAS             Number of messageareas
  825.  NUMNODES                Number of nodes
  826.  NUMPOSTED               Number of user's written messages
  827.  NUMUPLOADS              Number of user's total uploads
  828.  NUMUSERS                Number of users
  829.  PASSWORD                User's password
  830.  PEXDIR                  PEX-directory
  831.  PREVUSER                Name of previous user
  832.  PROTOCOLHOTKEY          Hotkey of user's default protocol
  833.  PROTOCOLNAME            Name of user's default protocol
  834.  PVTDIR                  User's private upload-directory
  835.  SCREENLENGTH            Number of lines
  836.  SCREENWIDTH             Number of columns
  837.  STARTDIR                Startup-path
  838.  STATE                   User's state
  839.  SYSDIR                  ProBoard system-directory
  840.  SYSOPNAME               Sysop's name
  841.  TIME                    Current time
  842.  TMLEFT                  User's time left today
  843.  TMLIMIT                 User's daily time limit
  844.  TMONLINE                User's online time today
  845.  TOTALTIMEUSED           User's total online time
  846.  TXTDIR                  Path to the ASCII-/ANSI-/AVATAR-files
  847.  UPDIR                   Upload-directory
  848.  USERREC                 User's number in the file USERS.BBS
  849.  VERSION                 ProBoard version number
  850.  VOICEPHONE              User's voice phone number
  851.  %ENVIRONMENT-VARIABLE   Shows the environment variable defined with
  852.                          "SET VARIABLE="
  853.  
  854.  ┌────────────────────────────────────────────┐
  855.  │ Special codes for "hotkey" and "globalkey" │
  856.  └────────────────────────────────────────────┘
  857.  
  858.  By using these special codes you can use the following keys as hotkey.
  859.  
  860.  SPACE          #32
  861.  RETURN         #13
  862.  ESC            #27
  863.  Cursor-left    #19200
  864.  Cursor-right   #19712
  865.  Cursor-up      #18432
  866.  Cursor-down    #20480
  867.  HOME           #18176
  868.  END            #20224
  869.  
  870.  Examples:      hotkey #27
  871.                 globalkey #19200, <
  872.                 globalkey #19712, >
  873.  
  874.  ┌────────────────┐
  875.  │ Error messages │
  876.  └────────────────┘
  877.  
  878.  ERROR -> No CSI-file defined
  879.           The program could not find any parameter in the DATA-field
  880.           of the menu editor
  881.  
  882.  ERROR -> No menu or task defined
  883.           In the specified CSI-file there is neither a menu option nor
  884.           an animations sequence defined
  885.  
  886.  ERROR -> Could not open PBM-file
  887.           After selecting a menu option the program checks if it
  888.           is possibly locked by flags, a minumum level or something
  889.           else in the menu editor. This information is read from
  890.           "PBM"-files. When CURSORY is called in a language file, no
  891.           PBM-file exists. In this case the checking must be
  892.           deactivated manually to prevent this error message. You can
  893.           do this by using the global CSI-keyword "nocheck"
  894.  
  895.  ERROR -> Could not open GLOBAL.PBM
  896.           The file GLOBAL.PBM could not be found. Create a global menu
  897.           or use the global CSI-keyword "noglobalcheck"
  898.  
  899.  ERROR -> Out of memory
  900.           Too few memory to display all menu options / animation
  901.           sequences defined in the CSI-file
  902.  
  903.  ERROR -> Could not open CSI-file
  904.           The CSI-file was not found. This error occurs if the
  905.           specified file does not exist or the filename and/or the
  906.           path are not spelled correctly. If this error occurs again
  907.           in spite of all checking, then use the filename including
  908.           COMPLETE path and drive name in the DATA-field (you can find
  909.           further information in the file "FAQ.DOC")
  910.  
  911.  ERROR -> Unknown keyword in line x
  912.           In the given line of the CSI-file there is an unkown
  913.           keyword. Check if the keyword is spelled correctly. You can
  914.           find further information in the file "FAQ.DOC"
  915.  
  916.  ERROR -> Too many "menu" defined
  917.           Too many menu options defined
  918.  
  919.  ERROR -> Too many "task" defined
  920.           Too many animation sequences defined
  921.  
  922.  ERROR -> Too many global hotkeys defined
  923.           Too many global hotkeys defined
  924.  
  925.  ERROR -> " expected in line x
  926.           In the given line a " is missing
  927.  
  928.  ERROR -> Too few parameters in line x
  929.           In the given line at least one parameter is missing behind
  930.           the CSI-keyword
  931.  
  932.  ERROR -> Too many parameters in line x
  933.           In the given line there are too many parameters behind the
  934.           CSI-keyword. You can find further information about other
  935.           reasons for this error message in the file "FAQ.DOC"
  936.  
  937.  ERROR -> Keyword outside block in line x
  938.           In the given line there is a LOCAL CSI-keyword which does
  939.           not belong to any menu option or animation sequence. Please
  940.           check if you possibly forgot to define the keywords "menu"
  941.           or "task" above this keyword
  942.