home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 May / PCW596.iso / wtest / clico / sunsoft / pcnfs51 / pcnfs51.lzh / TELNET.ZOO / demo.ecf < prev    next >
Text File  |  1994-08-27  |  11KB  |  320 lines

  1. set nover
  2. !-------------------------------------------------------------------------------
  3. !                 TELNET/TELNETW Attributes DEMO
  4. !        Note:    Terminal is set to VT320 mode and
  5. !            all global d$* symbols are deleted
  6. !-------------------------------------------------------------------------------
  7.  
  8. on abort then goto exit
  9. on warning then goto exit
  10.  
  11. !    Get SYMBOL22 definition
  12. @symbol22
  13.  
  14. disp d$sc                !save cursor & attributes
  15. disp d$g1dsg                !Set DEC graphics in G1
  16. cls = "disp d$ed"
  17. disp = "disp/nocr"
  18. set term/device=vt220_7
  19. set term/nopseudo
  20.  
  21. dcoloron = "<esc>[4m"
  22. dcoloroff = "<esc>[24m"
  23.  
  24. !    If not color mode, set underline attribute (dcoloron) to bold
  25.  
  26. if 'f$getinfo("color") then goto nochg
  27. dcoloron = "<esc>[1m"
  28. dcoloroff = "<esc>[22m"
  29.  
  30. nochg:
  31. line1 = "''(d$rvon+d$ulon)'REVERSE/UNDER''(d$rvoff+d$uloff)'     ''(d$bdon+d$rvon)'BOLD/REVERSE''(d$bdoff+d$rvoff)'"
  32. line2 = "''(d$bdon+d$ulon)'BOLD/UNDER''(d$bdoff+d$uloff)'     ''(d$bdon+d$rvon+d$ulon)'BOLD/REVERSE/UNDER''(d$bdoff+d$rvoff+d$uloff)'"
  33.  
  34. cls
  35. disp d$block(5,1)
  36. {
  37. ''d$attoff'
  38.     The 320 Character Attribute set can display text in a variety of modes.
  39.  
  40.          ''d$rvon'NORMAL''d$rvoff'             ''d$bdon'BOLD''d$bdoff'         ''d$ulon'UNDERLINE''d$uloff'           ''d$rvon'REVERSE''d$rvoff'
  41.  
  42.     It can also differentiate between combinations of attributes with blinking.
  43.  
  44.       ''(d$bkon+line1+"     "+line2+d$bkoff)'
  45.  
  46.     Another option provides for an unerasable field of characters...
  47.  
  48. ''(d$escon+d$bdon+dcoloron)'
  49.                    This line is marked UNERASABLE and will
  50.                    remain after a selective clear screen.
  51. ''(d$escoff+d$bdoff+dcoloroff)'
  52. }
  53. inq/stat input dcoloron + d$rvon + "Type ''(d$bdon+d$bkon)'RETURN''(d$bdoff+d$bkoff)' to erase the screen and the unerasable field will remain..." + d$rvoff
  54. disp d$sed                !Erase all but unerasable characters
  55. delay /nomess 2
  56. disp d$ed                !Erase display
  57.  
  58. !-------------------------------------------------------------------------------
  59. !            TELNET/TELNETW Boxes DEMO
  60. !-------------------------------------------------------------------------------
  61.  
  62. disp d$ed + d$attoff
  63. disp [2,20] d$rvon + dcoloron + "     BOXES Command File using D$BOX     " + dcoloroff
  64. disp d$bdon + dcoloron  + d$box(1,19,3,60) + d$rvoff+ dcoloroff + d$bdoff
  65. disp d$bdon + d$box(20,60,24,78) + d$bdoff
  66. disp dcoloron + d$box(1,5,24,10) + dcoloroff
  67. disp d$bdon + dcoloron+ d$box(8,20,20,40) + d$bdoff + dcoloroff
  68. disp d$rvon + d$box(13,1,18,80) + d$rvoff
  69. disp d$rvon + d$bdon + d$box(5,30,22,75) + d$rvoff + d$bdoff
  70. disp dcoloron + d$rvon + d$bdon + d$box(7,50,11,65) + d$rvoff + d$bdoff + dcoloroff
  71. delay/nomess 2
  72.  
  73. !-------------------------------------------------------------------------------
  74. !            TELNET/TELNETW Display DEMO
  75. !-------------------------------------------------------------------------------
  76. !    This command file demonstrates the use of DISPLAY and INQUIRE with
  77. !    Display Lexical Functions and SYMLEXES
  78. !------------------------------------------------------------------------------
  79.  
  80. cls
  81. disp d$block(17,1)
  82. {
  83. ''(d$bron + dcoloron)'
  84.     |=====================================================|
  85.     | INQUIRE/MAX=1/TERMINTE Menu with display placement  |
  86.     | using lexicals d$block(row,col,label) & other       |
  87.     | symbols/symlexs from file SYMBOL22.ECF.             |
  88.     |=====================================================|
  89. ''d$attoff'
  90. }
  91. inquire/max=1/term input d$block(1,1,"box") + d$cup(10,21) + -
  92. dcoloron + "Choice" + d$cup(10,30)
  93. disp d$attoff
  94.  
  95. cls
  96. disp d$block(17,1)
  97. {
  98. ''(d$bron + dcoloron)'
  99.     |======================================================|
  100.     | DISPLAY & INQUIRE/MAX=24 Menu with display placement |
  101.     | using lexicals d$block() & d$box() with other        |
  102.     | symbols/symlexs from file SYMBOL22.ECF.              |
  103.     |======================================================|
  104. ''d$attoff'
  105. }
  106.  
  107. disp dcoloron + d$rvon + d$box(2,26,10,79) + d$bdon
  108. disp [3,27] "                                                    "
  109. disp [4,27] "  "
  110. disp [4,77] "  "
  111. disp [5,27] "  "
  112. disp [5,77] "  "
  113. disp [6,27] "  "
  114. disp [6,77] "  "
  115. disp [7,27] "  "
  116. disp [7,77] "  "
  117. disp [8,27] "  "
  118. disp [8,77] "  "
  119. disp [9,27] "                                                    "
  120. disp d$attoff
  121. disp [5,52] dcoloron + d$rvon + "                        " -
  122. + d$cup(6,52) + "                        " -
  123. + d$cup(7,52) + "                        "
  124. disp d$attoff + d$bdon + dcoloron + d$box(4,29,8,76)
  125. disp [4,51] d$g1gl + "w"
  126. disp [5,51] "x"
  127. disp [6,51] "x"
  128. disp [7,51] "x"
  129. disp [8,51] "v" + d$g0gl 
  130. !==============================================================================
  131. !        As a convenience, double apostrophes ('') are used to
  132. !        distinguish the last character of a line that ends with spaces.
  133. !==============================================================================
  134. disp dcoloron + d$rvon + d$block(5,30) + d$attoff
  135. {
  136.  Employee            ''
  137.  Address             ''
  138.  City/State/zip      ''
  139. }
  140. inq/stat/max=24 input d$rvon + "Enter name      : " + d$rvoff + " "
  141. disp [5,52] dcoloron + d$rvon + input + d$attoff
  142. inq/stat/max=24 input d$rvon + "Enter address   : " + d$rvoff + " "
  143. disp [6,52] dcoloron + d$rvon + input + d$attoff
  144. inq/stat/max=24 input d$rvon + "Enter city, state and zip code  : " + d$rvoff + " "
  145. disp [7,52] dcoloron + d$rvon + input + d$attoff
  146.  
  147. delay/nomess 2
  148.  
  149. cls
  150. disp d$block(5,1)
  151. {
  152. ''(d$bron + dcoloron)'
  153.     |======================================================|
  154.     | DISPLAY & INQUIRE/MAX=28/TERMINATE Menu with display |
  155.     | placement using lexicals d$block(row,col,label) &    |
  156.     | d$box(offset) with other symbols/symlexs from file   |
  157.     | SYMBOL22.ECF.                                        |
  158.     |======================================================|
  159. ''d$attoff'
  160. }
  161.  
  162. disp [15,9] dcoloron + d$bdon + d$box(6,50) + d$rvon + d$block(16,10,"text")
  163. inq/max=28/term [17,30] input
  164. inq/max=28/term [18,30] input
  165. inq/max=28/term [19,30] input
  166.  
  167. delay/nomess 2
  168. cls
  169. disp d$block(17,1)
  170. {
  171. ''(d$bron + dcoloron)'
  172.             |===================================================|
  173.             | DISPLAY & INQUIRE/KEY Menu with display placement |
  174.             | using lexicals d$block() & d$box() with other     |
  175.             | symbols/symlexs from file SYMBOL22.ECF.           |
  176.             |===================================================|
  177. ''d$attoff'
  178. }
  179.  
  180. !==============================================================================
  181. !    NOTE:    Command substitution with apostrophe(s) (') or ("''") forces
  182. !        execution and translation of DISPLAY FUNCTIONS like
  183. !        D$BOX or D$BLOCK before symbol translation occurs.
  184. !
  185. !            EX:    disp d$block(10,10)
  186. !                {
  187. !                ''(d$rvon + d$box(9,9,11,15))'"Hello"
  188. !                {
  189. !
  190. !        This example shows the symbol d$rvon which does not turn reverse
  191. !        video on before executing the function d$box() to draw the box.
  192. !        To work properly the expression should be written as:
  193. !
  194. !            ''d$rvon'''d$box(9,9,11,15)'"Hello"
  195. !
  196. !==============================================================================
  197. !        As a convenience, double apostrophes ('') can be used to
  198. !        distinquish the last character of a line that ends with spaces.
  199. !==============================================================================
  200.  
  201. disp d$bdon + dcoloron + d$box(1,1,14,80) + d$attoff + d$bdon + d$box(2,2,4,79)
  202. disp d$block(3,3) + d$attoff
  203. {
  204.    ''d$bron'Backup''d$rvoff'   Archive   Restore   Verify   Utilities   Configuration   Quit   ''d$g1gl'
  205. qk             lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  206.  x''d$g0gl' Select      ''d$g1gl'x
  207.  x''d$g0gl' Name Script ''d$g1gl'x
  208.  x''d$g0gl' Go          ''d$g1gl'x
  209.  mqqqqqqqqqqqqqj''(d$g0gl+d$attoff)' 
  210. }
  211.  
  212. bell = ""
  213. right:
  214. inq/stat/key input dcoloron + d$rvon + "''bell'Type ''d$uloff'RIGHT ARROW''dcoloron' key to continue..." + d$attoff
  215. bell = "<bell>" + d$bdon
  216. if (input .nes. "RIGHT") .and. (input .nes. "KP6") then goto right
  217. disp [5,3] d$ech(76) 
  218. disp [6,3] d$ech(76) 
  219. disp [7,3] d$ech(76) 
  220. disp [8,3] d$ech(76) 
  221. disp d$block(3,3) + d$attoff
  222. {
  223.    ''d$bdon'Backup   ''d$rvon'Archive''d$rvoff'   Restore   Verify   Utilities   Configuration   Quit   ''d$g1gl'
  224. qqqqqqqqqqk        lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
  225.           x''d$g0gl' Select ''d$g1gl'x
  226.           x''d$g0gl' Go     ''d$g1gl'x
  227.           mqqqqqqqqj''(d$g0gl+d$attoff)' 
  228. }
  229.  
  230. bell = ""
  231. down:
  232. inq/stat/key input dcoloron + d$rvon + "''bell'Type ''dcoloroff'DOWN ARROW''dcoloron' key to continue..." + d$attoff
  233. bell = "<bell>" + d$bdon
  234. if ((input .nes. "DOWN") .and. (input .nes. "KP2")) then goto down
  235.  
  236. disp [3,3] d$attoff + -
  237. "   ''d$bdon'Backup   Archive   Restore   Verify   Utilities   Configuration   Quit   "
  238. disp d$block(5,15)
  239. {
  240. ''(d$attoff+d$bron)'Select''d$attoff'
  241. }
  242.  
  243. bell = ""
  244. f1:
  245. inq/stat/key input dcoloron + d$rvon + "''bell'Type ''dcoloroff'F1''dcoloron' key to continue..." + d$attoff
  246. bell = "<bell>" + d$bdon
  247. if input .nes. "F1" then goto f1
  248. disp d$attoff + dcoloron + d$rvon
  249.  
  250. !    Demonstrate an exploding window using escape sequences
  251.  
  252. ur = 6
  253. ltc = 48
  254. lr = 12
  255. rtc = 72
  256. rc = ((lr-ur)/2)+ur
  257. cc = ((rtc-ltc)/2)+ltc
  258. rc1=0
  259. cc1=0
  260. cnt = 0
  261. loop:
  262. disp d$box(rc-rc1,cc-cc1,rc+rc1+1,cc+cc1+1)
  263. rc1=rc1+1
  264. cc1=cc1+3
  265. cnt = cnt+1
  266. if cnt .ne. 3 then goto loop
  267. disp d$box(ur,ltc,lr,rtc)
  268.  
  269. disp d$block(7,49)
  270. {
  271.  This exploding window 
  272.  demonstrates just how 
  273.  flexible and complex  
  274.  user defined display  
  275.  commands can become.  
  276. }
  277.  
  278. inq/stat input d$attoff + d$rvon + "Type ''dcoloron'RETURN''dcoloroff' to continue..." + d$rvoff
  279.  
  280. exit:
  281. set term/pseudo
  282. disp d$rc + d$cup(24,1)        ! Restore cursor & attributes
  283. delete sym /glo d$*
  284. exit
  285.  
  286. text:
  287. {
  288.                                                  ''
  289.  Enter name       : ____________________________ ''
  290.  Address          : ____________________________ ''
  291.  City/State/zip   : ____________________________ ''
  292.                                                  ''
  293. }
  294.  
  295. box:
  296. {
  297. <ESC>)0
  298. <SI>
  299. ''d$bdon'<ESC>[?25l
  300. <ESC>[3;29HFILE TYPE MENU
  301. <ESC>[5;21H1. ASCII    
  302. <ESC>[6;21H2. Binary
  303. <ESC>[7;21H3. Fixed Record Length (512byte)
  304. <ESC>[8;21H4. Exit
  305. <SO>
  306. ''d$bdon'''dcoloron'<ESC>[2;18Hlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  307. <ESC>[3;18Hx<ESC>[3;54Hx
  308. <ESC>[4;18Hx<ESC>[4;54Hx
  309. <ESC>[5;18Hx<ESC>[5;54Hx
  310. <ESC>[6;18Hx<ESC>[6;54Hx
  311. <ESC>[7;18Hx<ESC>[7;54Hx
  312. <ESC>[8;18Hx<ESC>[8;54Hx
  313. <ESC>[9;18Hx<ESC>[9;54Hx
  314. <ESC>[10;18Hx<ESC>[10;54Hx
  315. <ESC>[11;18Hmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
  316. <ESC>[?25h
  317. <SI>
  318. ''d$attoff'
  319. }
  320.