home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / bbs_opus / oac121.arj / OACDEMO.OEC < prev    next >
INI File  |  1990-05-22  |  10KB  |  207 lines

  1. [VERS 1.15][OnExit]Y:\EDTORIAL
  2. [$1E][CLS][MoreOff]The [OACOMP] is an [OECC] clone with many improvements. Most
  3. improvements are concerned with the new codes supported by OPUS 1.1x,
  4. but the compiler itself also offers a great enhancement over [OECC], most
  5. notably in the way it handles privileges and colours. This file gives you
  6. some examples on this.
  7. [Colour][GOTO LOOP][EndColour]
  8. You may not get the full advantage to this demo, as you do not accept ANSI
  9. or AVATAR control codes to control colours.
  10. [LABEL LOOP]
  11. [SAVE][COLOUR][KEYCOL]C[TXTCOL]olours, [KEYCOL]P[TXTCOL]rivileges, [KEYCOL]S[TXTCOL]upport programs, [KEYCOL]H[TXTCOL]ow do I get it or [KEYCOL]Q[TXTCOL]uit [[c,P,s,h,q] [Menu]CPQSH|
  12. [GOTO TEST][ENDCOLOUR]Colours, Priviliges, Support programs, How do I get it or Quit [[c,P,s,h,q] [Menu]CPQSH|
  13.  
  14. [LABEL TEST][LOAD][Choice]Q[SAVE][Cyan][RESTORE][CLS][QUIT]
  15. [Choice]S[GOTO SUPPORT]
  16. [Choice]C[GOTO COLOURS]
  17. [Choice]H[GOTO HOW]
  18. [CLS]In [OECC] you had to remember several codes for controlling display based upon
  19. privilege levels, some of them are:
  20. [TABCOL]
  21.         [[@LINE]         - Only see rest of line if Above or equal to @
  22.         [[@FILE]         - Quit file is less than @
  23.         [[@XCLUDE]       - If not equal to @, skip rest of line
  24. [LOAD]
  25. and the problem with these is that it is impossible to remember which tokens
  26. means See rest of line, which means Don't see rest of line, Which is Above,
  27. Above or Equal or Below. [OACOMP] introduces some new tokens that
  28. should be more easy to understand, plus it will enable some privilege combina-
  29. tions that are not normally possible with a single Opus/Avatar code by combi-
  30. ning two codes on the fly:
  31.  
  32.         [TABCOL][[<Operator> <Privilege> <Action>][LOAD]
  33. [INCLUDE Continue]        [TABCOL][[<Operator> <Privilege> <Action>][LOAD]
  34. where
  35.         [KWDCOL]<Operator>[LOAD] is
  36.             [EXPCOL]ABOVE[LOAD], [EXPCOL]GT           [DETCOL]Above the privilege[LOAD]
  37.             [EXPCOL]BELOW[LOAD], [EXPCOL]LT           [DETCOL]Below the privilege[LOAD]
  38.             [EXPCOL]EQUAL[LOAD], [EXPCOL]EQ           [DETCOL]Equal to the privilege[LOAD]
  39.             [EXPCOL]UNEQUAL[LOAD], [EXPCOL]NE         [DETCOL]Not equal to the privilege[LOAD]
  40.             [EXPCOL]AE[LOAD], [EXPCOL]GE              [DETCOL]Above or Equal to the privilege[LOAD]
  41.             [EXPCOL]BE[LOAD], [EXPCOL]LE              [DETCOL]Below or Equal to the privilege[LOAD]
  42.  
  43.         [KWDCOL]<Privilege>[LOAD] is
  44.             [EXPCOL]Sysop[LOAD], [EXPCOL]S            [DETCOL]Sysop[LOAD]
  45.             [EXPCOL]AsstSysop[LOAD], [EXPCOL]A        [DETCOL]Assistant Sysop[LOAD]
  46.             [EXPCOL]Clerk[LOAD], [EXPCOL]C            [DETCOL]Clerk[LOAD]
  47.             etc.
  48.  
  49.         [KWDCOL]<Action>[LOAD] is
  50.             [EXPCOL]SEE                 [DETCOL]See rest of line if condition met[LOAD]
  51.             [EXPCOL]SKIP                [DETCOL]Skip (don't see) rest of line if condition met[LOAD]
  52.             [EXPCOL]QUIT                [DETCOL]Quit file if condition met[LOAD]
  53. [INCLUDE Continue]All combinations are legal, [OACOMP] wil combine two or more codes
  54. to get the desired result, if needed. F.ex. the token
  55.  
  56.         [TABCOL][[ABOVE AsstSysop QUIT][LOAD]
  57.  
  58. will be compiled as if you had defined
  59.  
  60.         [TABCOL][[ALINE][[AXCLUDE][[QUIT][LOAD]
  61.  
  62. ie. (in [OACOMP] tokens) :
  63.  
  64.         [TABCOL][[ABOVE AsstSysop SEE][[QUIT][LOAD]
  65.  
  66. or
  67.  
  68.         [TABCOL][[AE AsstSysop SEE][[EQ AsstSysop SKIP][[QUIT][LOAD]
  69.  
  70. which would be compiled into
  71.  
  72.         [TABCOL]^PLA^PXA^OQ[LOAD]
  73. [INCLUDE Continue]As you can see, controlling display with privileges is much easier accomplished
  74. with the [OACOMP].
  75. [GOTO LOOP][LABEL COLOURS][CLS]
  76. Colours in [OACOMP] is a totally new experience. Gone are all the
  77. usual limitations that you have to define both foreground and background
  78. colours when you define colours and the need to redefine the colours after a
  79. temporary change in colours is also gone. You can even turn off blink! This
  80. was previously only available by specifying the colour you had before the
  81. blink.
  82.  
  83. The new tokens in [OACOMP] that deals with the colours are:
  84.  
  85.         [EXPCOL][[SAVE]         [DETCOL]Save the colours in a 128-level stack[LOAD]
  86.         [EXPCOL][[LOAD]         [DETCOL]Restore the last [[SAVE]'d colour[LOAD]
  87.         [EXPCOL][[FG Colour]    [DETCOL]Change the foreground colour only[LOAD]
  88.         [EXPCOL][[BG Colour]    [DETCOL]Change the background colour only.[LOAD]
  89.         [EXPCOL][[STEADY]       [DETCOL]Turn off blink (also available as [[BLINK OFF])[LOAD]
  90.         [EXPCOL][[RESTORE]      [DETCOL]Like [[LOAD] but without emitting any code[LOAD]
  91. [INCLUDE Continue][[SAVE] and [[LOAD] can be used in the following construct:
  92.  
  93. [TABCOL][[LightGreen]
  94. .
  95. [[SAVE][[White on Red][[Blink] WARNING [[LOAD]
  96. .[LOAD]
  97.  
  98. This will ensure that any text following the WARNING statement will be the same
  99. colour as the one before it. Even if you should decide to alter the colour
  100. before the WARNING, you will not have to alter it two places, as you normally
  101. should if you had only used OECL codes:
  102.  
  103. [TABCOL][[LightGreen]
  104. .
  105. [[White on Red][[Blink] WARNING [[LightGreen]
  106. .[LOAD]
  107.  
  108. Note the second [[LightGreen] token needed to restore the colour. If you then
  109. later on wanted to change the colour of the preceeding and following text to
  110. light cyan, you would have to alter the colour code twice.
  111. [INCLUDE Continue]You can also use the [[SAVE] and [[LOAD] token in [[INCLUDE] files, as I have
  112. done with this .OEC file:
  113.  
  114.      [TABCOL][[SAVE][[White]
  115.      Continue [[FG LightCyan][[[[[[FG Yellow]Y[[FG LightCyan],n][[FG White] [[Menu]YN|
  116.      [[LOAD][[Choice]N[[Quit]
  117.      [[Cls][LOAD]
  118.  
  119. This [[INCLUDE] file generates the prompt:
  120. [SAVE][White]
  121. Continue [FG LightCyan][[[FG Yellow]Y[FG LightCyan],n][FG White]
  122. [LOAD]
  123. and ensures that the colours are unchanged after the completion of the
  124. prompt.
  125. [INCLUDE Continue]The [[FG] and [[BG] tokens can be used to only change the foreground and back-
  126. ground colours respectively. You can use it in a construct like this:
  127. [TABCOL]
  128. [[White on Red]                           [[Cyan]
  129. [[White on Red]   This text is in White   [[Cyan]
  130. [[White on Red]           on Red          [[Cyan]
  131. [[White on Red]  The word [[SAVE][[FG Yellow]Next[[LOAD] is Yellow  [[Cyan]
  132. [[White on Red]                           [[Cyan][LOAD]
  133. [SAVE][Colour]
  134. which produces an output like this:
  135.  
  136. [SAVE][White on Red]                           [LOAD]
  137. [SAVE][White on Red]   This text is in White   [LOAD]
  138. [SAVE][White on Red]           on Red          [LOAD]
  139. [SAVE][White on Red]  The word [SAVE][FG Yellow]Next[LOAD] is Yellow  [LOAD]
  140. [SAVE][White on Red]                           [LOAD]
  141. [GOTO CONT][EndColour][RESTORE]
  142. which would produce a red box with white characters in it, except the word
  143. Next, which would be Yellow.
  144. [LABEL CONT][INCLUDE Continue]One problem with the way [OACOMP] makes these features is that
  145. ALL colour tokens are processed sequentially, including the ones that are
  146. within conditional codes.
  147.  
  148. This means, than a file containing
  149. [TABCOL]
  150.         [[White on Red]
  151.         .
  152.         .
  153.         [[Choice]Y[[Cyan][[CLS][[QUIT]
  154.         [[FG Yellow]
  155. [LOAD]
  156. will have the final [[FG] token insert the colour code for Yellow on Black,
  157. as [[Cyan] (which is the same as [[Cyan on Black]) changes the background
  158. colour, and OACOMP processes this. The solution is to make the file look like
  159. [TABCOL]
  160.         [[White on Red]
  161.         .
  162.         .
  163.         [[SAVE][[Choice]Y[[Cyan][[CLS][[QUIT][[RESTORE]
  164.         [[FG Yellow]
  165. [LOAD][INCLUDE Continue]The [[BLINK] and [[STEADY] tokens can be used, as in:
  166.  
  167.       [TABCOL]You [[BLINK]HAD[[STEADY] been warned![LOAD]
  168.  
  169. which produces
  170.  
  171.       You [BLINK]HAD[STEADY] been warned!
  172. [Colour][GOTO LOOP][EndColour]
  173. With the HAD word blinking.
  174. [GOTO LOOP][LABEL SUPPORT][CLS][OACOMP] has two support programs, [OAVIEW] and the
  175. [OADECOMP].
  176.  
  177. [OAVIEW] is an [OVIEW] clone, but with powerful options that allow you
  178. to tell it excactly what privilege level, keys and setup you want to emulate
  179. in that particular invocation. You can also make [OAVIEW] load a user
  180. from your [TABCOL]USER.DAT[LOAD] file, either by name, by number or (by specifying /USER=RND)
  181. by random.
  182.  
  183. [OADECOMP] is an [OUNECC] clone and will take your .BBS file and
  184. decompile it to an .OEC file. It has switches that allows you to define if the
  185. output file should be [OECC] compatible or not.
  186. [GOTO LOOP][LABEL HOW][CLS]You can obtain a copy of the three programs in several ways:
  187.  
  188.         F.req. it from me                  ([NODECOL]2:234/10.0[LOAD], [BPSCOL]2400[LOAD] bps)
  189.         Download it from me                ([PHONECOL]+45-43710688[LOAD], Area 3)
  190.         F.req. it from StarFleet Academy   ([NODECOL]1:203/57.0[LOAD], [BPSCOL]HST 9600[LOAD])
  191.         F.req. it from The Migrant BBS     ([NODECOL]1:114/7.0[LOAD], [BPSCOL]2400[LOAD] bps ([BPSCOL]9600[LOAD] ?))
  192.  
  193. The names of the files are:
  194.  
  195.                [SAVE][White On Red]                                      [LOAD]
  196.                [SAVE][White On Red]     ╒════════════╦═════════════╕     [LOAD]
  197.                [SAVE][White On Red]     │ [FG Yellow]File name[FG White]  ║  [FG LightCyan]Magic name[FG WHITE] │     [LOAD]
  198.                [SAVE][White On Red]     ╞════════════╬═════════════╡     [LOAD]
  199.                [SAVE][White On Red]     │ [FG Yellow]OAC1??.ZIP[FG White] ║  [FG LightCyan]OACOMP[FG White]     │     [LOAD]
  200.                [SAVE][White On Red]     │ [FG Yellow]OAV1??.ZIP[FG White] ║  [FG LightCyan]OAVIEW[FG White]     │     [LOAD]
  201.                [SAVE][White On Red]     │ [FG Yellow]OAD1??.ZIP[FG White] ║  [FG LightCyan]OADECOMP[FG White]   │     [LOAD]
  202.                [SAVE][White On Red]     │ [FG Yellow]OA?1??.ZIP[FG White] ║  [FG LightCyan]OAPACKAGE[FG White]  │     [LOAD]
  203.                [SAVE][White On Red]     └────────────╨─────────────┘     [LOAD]
  204.                [SAVE][White On Red]                                      [LOAD]
  205.  
  206. [GOTO LOOP]
  207.