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

  1. set nover
  2. !-------------------------------------------------------------------------------
  3. !                         TELNET/TELNETW Function Menu
  4. !-------------------------------------------------------------------------------
  5. !
  6. !###############################################################################
  7. !
  8. !    Customized versions of this cmd file can be made by modifing existing
  9. !    menu entries and adjusting the cmd lines marked with a !* comment with
  10. !    applicable changes.
  11. !
  12. !###############################################################################
  13.  
  14. !-------------------------------------------------------------------------------
  15. !            Automatic KERMIT File Transfer Definitions
  16. !-------------------------------------------------------------------------------
  17. !    Following symbols are used by KERTRANS.ECF for auto file transfers.
  18. !    If not defined, the HOST must be at the command prompt ready for KERMIT
  19. !    commands.  KERTRANS.ECF may need minor modification for different
  20. !    versions of KERMIT.  (EX: Set file type binary)
  21. !-------------------------------------------------------------------------------
  22. !    Note:    A USERNAME and/or PASSWORD of "ANSWERBACK" forces the command
  23. !        SEND/ANSWERBACK to be used to send a consealed username/password
  24. !        or password. Make sure that the ANSWERBACK string ends with a
  25. !        RETURN or the login will fail.
  26. !-------------------------------------------------------------------------------
  27.  
  28. username = ""                !* User account *
  29. password = ""                !* Password *
  30. nodename = ""                !* Hose Node Name *
  31.  
  32. !-------------------------------------------------------------------------------
  33.  
  34. d$bdon        = "<esc>[1m"        !Turn bold on
  35. d$uron        = "<esc>[4;7m"        !Turn underline & reverse on
  36.  
  37. disp/nocr "<esc>7"            !save cursor, attributes & underline mode
  38. disp/nocr "<esc>[?25l<esc>)0"        !Set cursor invisible & DEC graphics in G1
  39. cls = "disp ""<esc>[2J"""
  40. set term/width=80
  41. set term/nopseudo        !Disable pseudo underlining
  42.  
  43. !    If no color mode, set menu for non reverse video attribute
  44.  
  45. dcolor = "d$bdon"
  46. if 'f$getinfo("color") then dcolor = "d$uron"
  47.  
  48. search_flag = 0
  49. up_proc := up
  50. down_proc := down
  51.  
  52. !    Following two symbols used to set general window information
  53.  
  54. first_row = 5                !* First function row position *
  55. row_width = 56                !* Length of menu (even number) *
  56. cnt = 1                    !* Current function number *
  57.  
  58. row = first_row                !Current function row position
  59. cur_pos = "[''row',''(41-row_width/2)']" !Current cursor position
  60.  
  61. START:
  62.  
  63. on warning then goto error
  64. on abort then goto error
  65.  
  66. !    Following symbols and text blocks used to display general window
  67.  
  68. ftop = 1                !* First Function *
  69. fbottom = 14                !* Last Function *
  70. ftotal = 14                !* Function count *
  71. exec_proc := exec_cmd
  72.  
  73. !*    * Create MAIN Fast Search Table *
  74.  
  75. fst1 := AS
  76. fst2 := AR
  77. fst3 := DI
  78. fst4 := DO
  79. fst5 := E
  80. fst6 := H
  81. fst7 := K
  82. fst8 := L
  83. fst9 := P
  84. fst10:= SE
  85. fst11:= SC
  86. fst12:= M
  87. fst13:= XS
  88. fst14:= XR
  89.  
  90. !*    * Assign MAIN Fast Search Table cnt *
  91.  
  92. AS = 1
  93. AR = 2
  94. DI = 3
  95. DO = 4
  96. E  = 5
  97. H  = 6
  98. K  = 7
  99. L  = 8
  100. P  = 9
  101. SE = 10
  102. SC = 11
  103. M  = 12
  104. XS = 13
  105. XR = 14
  106.  
  107. cls
  108.  
  109. !        Window Function Menu
  110. !*        * Display BOX and Menu Functions *
  111.  
  112. disp/nocr "<esc>[0;4;7m" + -
  113.     d$box(first_row-1,40-row_width/2,first_row+ftotal,41+row_width/2)
  114. disp/nocr "<esc>[0m" + 'dcolor + d$block(first_row,41-row_width/2)
  115. {
  116.  Ascii Send   -  ASCII File Transfer TO Host            ''
  117.  Ascii Rcv    -  ASCII File Transfer FROM Host          ''
  118.  DIal         -  Dial Directory Menu                    ''
  119.  DOS          -  DOS Command Mode                       ''
  120.  Emulation    -  Emulation Mode ( ALT/X to return )     ''
  121.  Help         -  Help Menu Mode                         ''
  122.  Kermit       -  Kermit Menu                            ''
  123.  Log File     -  Open/Close a Log File                  ''
  124.  Playback     -  Playback a Log File                    ''
  125.  SEtup        -  Setup Menus                            ''
  126.  SCroll Back  -  Scroll Back Mode                       ''
  127.  Margin       -  Set Left Vertical Margin               ''
  128.  Xmodem Send  -  Xmodem Binary File Transfer TO Host    ''
  129.  Xmodem Rcv   -  Xmodem Binary File Transfer FROM Host  ''
  130. }
  131.  
  132. !*        * Display Key at bottom *
  133.  
  134. disp/nocr "<esc>[0m<esc>[4;7m" + -
  135.     d$box(first_row+ftotal,40-row_width/2,first_row+ftotal+4,41+row_width/2)
  136. disp/nocr ['(first_row+ftotal),'(40-row_width/2)] "<so>t"
  137. disp/nocr ['(first_row+ftotal),'(41+row_width/2)] "u<si>"
  138. disp/nocr "<esc>[0;7m" + d$block(first_row+ftotal+1,41-row_width/2)
  139. {
  140.     Use Capitalized Letter(s) or use <UP> and <DOWN>    ''
  141.     Arrow Keys to move through Menu. Use <F1> to QUIT   ''
  142.     Enter <RETURN> or <SPACEBAR> to execute selection   ''
  143. }
  144.  
  145. !*        * Display Title BOX *
  146.  
  147. title_width = 22            !* Length of title (even number) *
  148. disp/nocr "<esc>[0m<esc>[4;7m<so>" + d$block(first_row-3,40-title_width/2)
  149. {
  150. lqqqqqqqqqqqqqqqqqqqqqqk
  151. x <si><esc>[1;4;7m TELNET/TELNETW Function Menu   <esc>[22m<so> x
  152. vqqqqqqqqqqqqqqqqqqqqqqv<si>
  153. }
  154.  
  155. disp/nocr "<esc>[0m"
  156. goto f'cnt
  157.  
  158. !-------------------------------------------------------------------------------
  159. !            Ascii Send Function
  160. !-------------------------------------------------------------------------------
  161.  
  162. F1:
  163. command := ASCSEND
  164. bell = ""
  165. title_blk = " Ascii Send  "
  166. goto input_proc
  167.  
  168. !-------------------------------------------------------------------------------
  169. !            Ascii Receive Function
  170. !-------------------------------------------------------------------------------
  171.  
  172. F2:
  173. command := ASCRECEIVE
  174. bell = ""
  175. title_blk = " Ascii Rcv   "
  176. goto input_proc
  177.  
  178. !-------------------------------------------------------------------------------
  179. !            Dial Menu Function
  180. !-------------------------------------------------------------------------------
  181.  
  182. F3:
  183. command := DIAL/MENU
  184. bell = ""
  185. title_blk = " DIal        "
  186. goto input_proc
  187.  
  188. !-------------------------------------------------------------------------------
  189. !            DOS Command Function
  190. !-------------------------------------------------------------------------------
  191.  
  192. F4:
  193. command := DOS
  194. bell = ""
  195. title_blk = " DOS         "
  196. goto input_proc
  197.  
  198. !-------------------------------------------------------------------------------
  199. !            Emulation Function
  200. !-------------------------------------------------------------------------------
  201.  
  202. F5:
  203. command := GOTO F5_SUB
  204. bell = ""
  205. title_blk = " Emulation   "
  206. goto input_proc
  207.  
  208. F5_SUB:
  209. disp/nocr "<esc>[?25h"            !set cursor visible
  210. disp/nocr "<esc>7"            !save cursor, attributes & underline mode
  211. set disconnect            !Turn on exit of EMULATE if disconnect
  212. set device_error        !Turn on exit of EMULATE if LOG or PRINT errors
  213. on disconnect then goto f5_sub2
  214. on device_error then goto f5_sub2
  215. emulate                !Enter vt emulation mode
  216. F5_SUB1:
  217. set nodisconnect        !reset default
  218. set nodevice_error        !reset default
  219. disp/nocr [24,1] "<esc>8"        !Restore cursor, attributes & underline mode
  220. disp/nocr "<esc>[?25l<esc>)0"        !Set cursor invisible & DEC graphics in G1
  221. goto start
  222.  
  223. F5_SUB2:
  224. delay /nomess 5            !delay for disconnect and device error
  225. goto f5_sub1
  226.  
  227. !-------------------------------------------------------------------------------
  228. !            Help Command Function
  229. !-------------------------------------------------------------------------------
  230.  
  231. F6:
  232. command := HELP
  233. bell = ""
  234. title_blk = " Help        "
  235. goto input_proc
  236.  
  237. !-------------------------------------------------------------------------------
  238. !            Kermit Command Function
  239. !-------------------------------------------------------------------------------
  240.  
  241. F7:
  242. command := GOSUB KER_MENU
  243. bell = ""
  244. title_blk = " Kermit      "
  245. goto input_proc
  246.  
  247. !-------------------------------------------------------------------------------
  248. !            Log Function
  249. !-------------------------------------------------------------------------------
  250.  
  251. F8:
  252. command := LOG/PROMPT
  253. bell = ""
  254. title_blk = " Log File    "
  255. goto input_proc
  256.  
  257. !-------------------------------------------------------------------------------
  258. !            Playback Function
  259. !-------------------------------------------------------------------------------
  260.  
  261. F9:
  262. command := GOTO F9_SUB
  263. bell = ""
  264. title_blk = " Playback    "
  265. goto input_proc
  266.  
  267. F9_SUB:
  268. disp/nocr "<esc>7"            !save cursor, attributes & underline mode
  269. on error then goto F9_SUB1
  270. on abort then goto F9_SUB1
  271. play/prompt
  272. F9_SUB1:
  273. disp/nocr [24,1] "<esc>8"        !Restore cursor, attributes & underline mode
  274. disp/nocr "<esc>[?25l<esc>)0"        !Set cursor invisible & DEC graphics in G1
  275. goto start
  276.  
  277. !-------------------------------------------------------------------------------
  278. !            Setup Function
  279. !-------------------------------------------------------------------------------
  280.  
  281. F10:
  282. command := GOSUB SETUP_MENU
  283. bell = ""
  284. title_blk = " SEtup       "
  285. goto input_proc
  286.  
  287. !-------------------------------------------------------------------------------
  288. !            Scroll Back Function
  289. !-------------------------------------------------------------------------------
  290.  
  291. F11:
  292. command := SCROLLBACK
  293. bell = ""
  294. title_blk = " SCroll Back "
  295. goto input_proc
  296.  
  297. !-------------------------------------------------------------------------------
  298. !            Margin Function
  299. !-------------------------------------------------------------------------------
  300.  
  301. F12:
  302. command := MARGIN
  303. bell = ""
  304. title_blk = " Margin      "
  305. goto input_proc
  306.  
  307. !-------------------------------------------------------------------------------
  308. !            Xmodem Send Function
  309. !-------------------------------------------------------------------------------
  310.  
  311. F13:
  312. on abort then goto START
  313. command := XSEND
  314. bell = ""
  315. title_blk = " Xmodem Send "
  316. goto input_proc
  317.  
  318. !-------------------------------------------------------------------------------
  319. !            Xmodem Receive Function
  320. !-------------------------------------------------------------------------------
  321.  
  322. F14:
  323. on abort then goto START
  324. command := XRECEIVE
  325. bell = ""
  326. title_blk = " Xmodem Rcv  "
  327. goto input_proc
  328.  
  329. !===============================================================================
  330.  
  331. !-------------------------------------------------------------------------------
  332. !            KERMIT Menu Processor
  333. !-------------------------------------------------------------------------------
  334.  
  335. KER_MENU:
  336.  
  337. sfirst_row = first_row            !Save symbols
  338. srow = row
  339. scnt = cnt
  340.  
  341. !    Following two symbols used to set general window information
  342.  
  343. first_row = 10                !* First function row position *
  344. cnt = 30                !* Current function number *
  345. row = first_row                !Current function row position
  346. cur_pos = "[''row',''(41-row_width/2)']" !Current cursor position
  347.  
  348. !*    * Create SUB Fast Search Table *
  349.  
  350. fst1 := AS
  351. fst2 := AR
  352. fst3 := BS
  353. fst4 := BR
  354. fst5 := S
  355.  
  356. !    Execute KERMIT Menu
  357.  
  358. gosub ker_start
  359.  
  360. !*    * Delete SUB Fast Search Table *
  361.  
  362. delete symbol 'fst1
  363. delete symbol 'fst2
  364. delete symbol 'fst3
  365. delete symbol 'fst4
  366. delete symbol 'fst5
  367.  
  368. first_row = sfirst_row            !First function position
  369. row = srow                !Current function position
  370. cnt = scnt                !Current function number
  371. cur_pos = "[''row',''(41-row_width/2)']" !Reset current cursor position
  372. up_proc := up
  373. down_proc := down
  374. return
  375.  
  376. !-------------------------------------------------------------------------------
  377. !            KERMIT Menu
  378. !-------------------------------------------------------------------------------
  379.  
  380. KER_START:
  381.  
  382. ftop = 30                !* First Function *
  383. fbottom = 34                !* Last Function *
  384. ftotal = 5                !* Function count *
  385. exec_proc := exec_cmd_sub        !* Sub Process call *
  386.  
  387. !*    * Assign SUB Fast Search Table cnt *
  388.  
  389. 'fst1 = 30
  390. 'fst2 = 31
  391. 'fst3 = 32
  392. 'fst4 = 33
  393. 'fst5 = 34
  394.  
  395. cls
  396.  
  397. !        KERMIT Window Function Menu
  398. !        Display BOX and Menu Functions
  399.  
  400. disp/nocr "<esc>[0m<esc>[4;7m" + -
  401.     d$box(first_row-1,40-row_width/2,first_row+ftotal,41+row_width/2)
  402. disp/nocr "<esc>[0m" + 'dcolor + d$block(first_row,41-row_width/2)
  403. {
  404.  Ascii Send   -  ASCII File Transfer TO Host            ''
  405.  Ascii Rcv    -  ASCII File Transfer FROM Host          ''
  406.  Binary Send  -  Binary File Transfer TO Host           ''
  407.  Binary Rcv   -  Binary File Transfer FROM Host         ''
  408.  Setup        -  KERMIT Setup Menu                      ''
  409. }
  410.  
  411. !*        * Display Key at bottom *
  412.  
  413. disp/nocr "<esc>[0m<esc>[4;7m" + -
  414.     d$box(first_row+ftotal,40-row_width/2,first_row+ftotal+4,41+row_width/2)
  415. disp/nocr ['(first_row+ftotal),'(40-row_width/2)] "<so>t"
  416. disp/nocr ['(first_row+ftotal),'(41+row_width/2)] "u<si>"
  417. disp/nocr "<esc>[0;7m" + d$block(first_row+ftotal+1,41-row_width/2)
  418. {
  419.     Use Capitalized Letter(s) or use <UP> and <DOWN>    ''
  420.     Arrow Keys to move through Menu. Use <F1> to QUIT   ''
  421.     Enter <RETURN> or <SPACEBAR> to execute selection   ''
  422. }
  423.  
  424. !*        * Display Title BOX *
  425.  
  426. title_width = 30            !* Length of title (even number) *
  427. disp/nocr "<esc>[0m<esc>[4;7m<so>" + d$block(first_row-3,40-title_width/2)
  428. {
  429. lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  430. x <si><esc>[1;4;7m KERMIT  File Transfer Menu <esc>[22m<so> x
  431. vqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv<si>
  432. }
  433.  
  434. disp/nocr "<esc>[0m"
  435. goto f'cnt
  436.  
  437. !-------------------------------------------------------------------------------
  438. !            KERMIT Ascii Send Function
  439. !-------------------------------------------------------------------------------
  440.  
  441. F30:
  442. command := GOTO F30_SUB
  443. bell = ""
  444. title_blk = " Ascii Send  "
  445. goto input_proc
  446.  
  447. F30_SUB:
  448. inq/stat inp1 "<esc>[?25h<esc>[7m" + "Enter PC File name(s)      : <esc>[27m "
  449. if inp1 .eqs. "" then goto ker_start
  450. if .not. ((f$loc(",",inp1) .eq. f$length(inp1)) .and. -
  451.     (f$loc(" ",inp1) .eq. f$length(inp1))) then goto F30_SUB1
  452. inq/stat inp2 "<esc>[7mEnter Vax File name        : <esc>[27m "
  453. if inp2 .eqs. "" then inp2 = inp1
  454. F30_SUB1:
  455. disp/nocr [24,1] "<esc>[?25l<esc>[2J"
  456. on abort then goto F30_SUB2
  457. set noon
  458. @KERTRANS 'username 'password 1 SEND A "''inp1'" "''inp2'" 'nodename
  459. F30_SUB2:
  460. set on
  461. cls
  462. goto ker_start
  463.  
  464. !-------------------------------------------------------------------------------
  465. !            KERMIT Ascii Receive Function
  466. !-------------------------------------------------------------------------------
  467.  
  468. F31:
  469. command := GOTO F31_SUB
  470. bell = ""
  471. title_blk = " Ascii Rcv   "
  472. goto input_proc
  473.  
  474. F31_SUB:
  475. inq/stat inp1 "<esc>[?25h<esc>[7mEnter Vax File name       : <esc>[27m "
  476. if inp1 .eqs. "" then goto ker_start
  477. if .not. ((f$loc(",",inp1) .eq. f$length(inp1)) .and. -
  478.     (f$loc(" ",inp1) .eq. f$length(inp1))) then goto F31_SUB1 
  479. inq/stat inp2 "<esc>[7mEnter PC File name        : <esc>[27m "
  480. if inp2 .eqs. "" then inp2 = inp1
  481. F31_SUB1:
  482. disp/nocr [24,1] "<esc>[?25l<esc>[2J"
  483. on abort then goto F31_SUB2
  484. set noon
  485. @KERTRANS 'username 'password 1 GET A "''inp1'" "''inp2'" 'nodename
  486. F31_SUB2:
  487. set on
  488. cls
  489. goto ker_start
  490.  
  491. !-------------------------------------------------------------------------------
  492. !            KERMIT Binary Send Function
  493. !-------------------------------------------------------------------------------
  494.  
  495. F32:
  496. command := GOTO F32_SUB
  497. bell = ""
  498. title_blk = " Binary Send "
  499. goto input_proc
  500.  
  501. F32_SUB:
  502. inq/stat inp1 "<esc>[?25h<esc>[7mEnter PC File name(s)      : <esc>[27m "
  503. if inp1 .eqs. "" then goto ker_start
  504. if .not. ((f$loc(",",inp1) .eq. f$length(inp1)) .and. -
  505.     (f$loc(" ",inp1) .eq. f$length(inp1))) then goto F32_SUB1
  506. inq/stat inp2 "<esc>[7mEnter Vax File name        : <esc>[27m "
  507. if inp2 .eqs. "" then inp2 = inp1
  508. F32_SUB1:
  509. disp/nocr [24,1] "<esc>[?25l<esc>[2J"
  510. on abort then goto F32_SUB2
  511. set noon
  512. @KERTRANS 'username 'password 1 SEND B "''inp1'" "''inp2'" 'nodename
  513. F32_SUB2:
  514. set on
  515. cls
  516. goto ker_start
  517.  
  518. !-------------------------------------------------------------------------------
  519. !            KERMIT Binary Receive Function
  520. !-------------------------------------------------------------------------------
  521.  
  522. F33:
  523. command := GOTO F33_SUB
  524. bell = ""
  525. title_blk = " Binary Rcv  "
  526. goto input_proc
  527.  
  528. F33_SUB:
  529. inq/stat inp1 "<esc>[?25h<esc>[7mEnter Vax File name       : <esc>[27m "
  530. if inp1 .eqs. "" then goto ker_start
  531. if .not. ((f$loc(",",inp1) .eq. f$length(inp1)) .and. -
  532.     (f$loc(" ",inp1) .eq. f$length(inp1))) then goto F33_SUB1
  533. inq/stat inp2 "<esc>[7mEnter PC File name        : <esc>[27m "
  534. if inp2 .eqs. "" then inp2 = inp1
  535. F33_SUB1:
  536. disp/nocr [24,1] "<esc>[?25l<esc>[2J"
  537. on abort then goto F33_SUB2
  538. set noon
  539. @KERTRANS 'username 'password 1 GET B "''inp1'" "''inp2'" 'nodename
  540. F33_SUB2:
  541. set on
  542. cls
  543. goto ker_start
  544.  
  545. !-------------------------------------------------------------------------------
  546. !            KERMIT Setup Function
  547. !-------------------------------------------------------------------------------
  548.  
  549. F34:
  550. command := GOTO F34_SUB
  551. bell = ""
  552. title_blk = " Setup       "
  553. goto input_proc
  554.  
  555. F34_SUB:
  556. SETUP KERMIT
  557. goto f34
  558.  
  559. !-------------------------------------------------------------------------------
  560. !            KERMIT Quit Function
  561. !-------------------------------------------------------------------------------
  562.  
  563. !F35:
  564. !command := RETURN
  565. !bell = ""
  566. !title_blk = " Quit        "
  567. !goto input_proc
  568.  
  569. !===============================================================================
  570.  
  571. !-------------------------------------------------------------------------------
  572. !            SETUP Menu Processor
  573. !-------------------------------------------------------------------------------
  574.  
  575. SETUP_MENU:
  576.  
  577. sfirst_row = first_row            !Save symbols
  578. srow = row
  579. scnt = cnt
  580.  
  581. !    Following two symbols used to set general window information
  582.  
  583. first_row = 7                !* First function row position *
  584. cnt = 40                !* Current function number *
  585. row = first_row                !Current function row position
  586. cur_pos = "[''row',''(41-row_width/2)']" !Current cursor position
  587.  
  588. !*    * Create SUB Fast Search Table *
  589.  
  590. fst1 := A
  591. fst2 := KER
  592. fst3 := KEY
  593. fst4 := M
  594. fst5 := P
  595. fst6 := SC
  596. fst7 := SP
  597. fst8 := T
  598. fst9 := X
  599. fst10:= B
  600.  
  601. !    Execute SETUP Menu
  602.  
  603. gosub setup_start
  604.  
  605. !*    * Delete SUB Fast Search Table *
  606.  
  607. delete symbol 'fst1
  608. delete symbol 'fst2
  609. delete symbol 'fst3
  610. delete symbol 'fst4
  611. delete symbol 'fst5
  612. delete symbol 'fst6
  613. delete symbol 'fst7
  614. delete symbol 'fst8
  615. delete symbol 'fst9
  616. delete symbol 'fst10
  617.  
  618. first_row = sfirst_row            !First function position
  619. row = srow                !Current function position
  620. cnt = scnt                !Current function number
  621. cur_pos = "[''row',''(41-row_width/2)']" !Reset current cursor position
  622. up_proc := up
  623. down_proc := down
  624. return
  625.  
  626. !-------------------------------------------------------------------------------
  627. !            SETUP Menu
  628. !-------------------------------------------------------------------------------
  629.  
  630. SETUP_START:
  631.  
  632. ftop = 40                !* First Function *
  633. fbottom = 49                !* Last Function *
  634. ftotal = 10                !* Function count *
  635. exec_proc := exec_cmd_sub        !* Sub Process call *
  636.  
  637. !*    * Assign SUB Fast Search Table cnt *
  638.  
  639. 'fst1 = 40
  640. 'fst2 = 41
  641. 'fst3 = 42
  642. 'fst4 = 43
  643. 'fst5 = 44
  644. 'fst6 = 45
  645. 'fst7 = 46
  646. 'fst8 = 47
  647. 'fst9 = 48
  648. 'fst10 = 49
  649.  
  650. cls
  651.  
  652. !        SETUP Window Function Menu
  653. !        display BOX and Menu Functions
  654.  
  655. disp/nocr "<esc>[0m<esc>[4;7m" + -
  656.     d$box(first_row-1,40-row_width/2,first_row+ftotal,41+row_width/2)
  657. disp/nocr "<esc>[0m" + 'dcolor + d$block(first_row,41-row_width/2)
  658. {
  659.  Ascii        -  ASCII File Transfer Setup Menu         ''
  660.  KERmit       -  Kermit File Transfer Setup Menu        ''
  661.  KEYboard     -  Keyboard Setup Menu                    ''
  662.  Main         -  Main Setup Menu                        ''
  663.  Printer      -  Printer Setup Menu                     ''
  664.  SCreen       -  Screen Setup Menu                      ''
  665.  SPecial      -  Special Setup Menu                     ''
  666.  Tab          -  Tab Setup Menu                         ''
  667.  Xmodem       -  Xmodem File Transfer Setup Menu        ''
  668.  132Boards    -  132 Board Setup Menu                   ''
  669. }
  670.  
  671. !*        * Display Key at bottom *
  672.  
  673. disp/nocr "<esc>[0m<esc>[4;7m" + -
  674.     d$box(first_row+ftotal,40-row_width/2,first_row+ftotal+4,41+row_width/2)
  675. disp/nocr ['(first_row+ftotal),'(40-row_width/2)] "<so>t"
  676. disp/nocr ['(first_row+ftotal),'(41+row_width/2)] "u<si>"
  677. disp/nocr "<esc>[0m<esc>[7m" + d$block(first_row+ftotal+1,41-row_width/2)
  678. {
  679.     Use Capitalized Letter(s) or use <UP> and <DOWN>    ''
  680.     Arrow Keys to move through Menu. Use <F1> to QUIT   ''
  681.     Enter <RETURN> or <SPACEBAR> to execute selection   ''
  682. }
  683.  
  684. !*        * Display Title BOX *
  685.  
  686. title_width = 28            !* Length of title (even number) *
  687. disp/nocr "<esc>[0m<esc>[4;7m<so>" + d$block(first_row-3,40-title_width/2)
  688. {
  689. lqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
  690. x <si><esc>[1m SETUP File Transfer Menu <esc>[22m<so> x
  691. vqqqqqqqqqqqqqqqqqqqqqqqqqqqqv<si>
  692. }
  693.  
  694. disp/nocr "<esc>[0m"
  695. goto f'cnt
  696.  
  697. !-------------------------------------------------------------------------------
  698. !            SETUP Ascii Function
  699. !-------------------------------------------------------------------------------
  700.  
  701. F40:
  702. command := GOTO F40_SUB
  703. bell = ""
  704. title_blk = " Ascii       "
  705. goto input_proc
  706.  
  707. F40_SUB:
  708. SETUP ASCII
  709. goto f40
  710.  
  711. !-------------------------------------------------------------------------------
  712. !            SETUP Kermit Function
  713. !-------------------------------------------------------------------------------
  714.  
  715. F41:
  716. command := GOTO F41_SUB
  717. bell = ""
  718. title_blk = " KERmit      "
  719. goto input_proc
  720.  
  721. F41_SUB:
  722. SETUP KERMIT
  723. goto f41
  724.  
  725. !-------------------------------------------------------------------------------
  726. !            SETUP Keyboard Function
  727. !-------------------------------------------------------------------------------
  728.  
  729. F42:
  730. command := GOTO F42_SUB
  731. bell = ""
  732. title_blk = " KEYboard    "
  733. goto input_proc
  734.  
  735. F42_SUB:
  736. SETUP KEYBOARD
  737. goto f42
  738.  
  739. !-------------------------------------------------------------------------------
  740. !            SETUP Main Function
  741. !-------------------------------------------------------------------------------
  742.  
  743. F43:
  744. command := GOTO F43_SUB
  745. bell = ""
  746. title_blk = " Main        "
  747. goto input_proc
  748.  
  749. F43_SUB:
  750. SETUP MAIN
  751. goto f43
  752.  
  753. !-------------------------------------------------------------------------------
  754. !            SETUP Printer Function
  755. !-------------------------------------------------------------------------------
  756.  
  757. F44:
  758. command := GOTO F44_SUB
  759. bell = ""
  760. title_blk = " Printer     "
  761. goto input_proc
  762.  
  763. F44_SUB:
  764. SETUP PRINTER
  765. goto f44
  766.  
  767. !-------------------------------------------------------------------------------
  768. !            SETUP Screen Function
  769. !-------------------------------------------------------------------------------
  770.  
  771. F45:
  772. command := GOTO F45_SUB
  773. bell = ""
  774. title_blk = " SCreen      "
  775. goto input_proc
  776.  
  777. F45_SUB:
  778. SETUP SCREEN
  779. goto f45
  780.  
  781. !-------------------------------------------------------------------------------
  782. !            SETUP Special Function
  783. !-------------------------------------------------------------------------------
  784.  
  785. F46:
  786. command := GOTO F46_SUB
  787. bell = ""
  788. title_blk = " SPecial     "
  789. goto input_proc
  790.  
  791. F46_SUB:
  792. SETUP SPECIAL
  793. goto f46
  794.  
  795. !-------------------------------------------------------------------------------
  796. !            SETUP TAB Function
  797. !-------------------------------------------------------------------------------
  798.  
  799. F47:
  800. command := GOTO F47_SUB
  801. bell = ""
  802. title_blk = " Tab         "
  803. goto input_proc
  804.  
  805. F47_SUB:
  806. SETUP TAB
  807. goto f47
  808.  
  809. !-------------------------------------------------------------------------------
  810. !            SETUP Xmodem Function
  811. !-------------------------------------------------------------------------------
  812.  
  813. F48:
  814. command := GOTO F48_SUB
  815. bell = ""
  816. title_blk = " Xmodem      "
  817. goto input_proc
  818.  
  819. F48_SUB:
  820. SETUP Xmodem
  821. goto f48
  822.  
  823. !-------------------------------------------------------------------------------
  824. !            SETUP 132Boards Function
  825. !-------------------------------------------------------------------------------
  826.  
  827. F49:
  828. command := GOTO F49_SUB
  829. bell = ""
  830. title_blk = " 132Boards   "
  831. goto input_proc
  832.  
  833. F49_SUB:
  834. SETUP 132BOARDS
  835. goto f49
  836.  
  837. !-------------------------------------------------------------------------------
  838. !            SETUP Quit Function
  839. !-------------------------------------------------------------------------------
  840.  
  841. !F50:
  842. !command := RETURN
  843. !bell = ""
  844. !title_blk = " Quit        "
  845. !goto input_proc
  846.  
  847. !===============================================================================
  848.  
  849. !-------------------------------------------------------------------------------
  850. !            Input Processor
  851. !-------------------------------------------------------------------------------
  852.  
  853. INPUT_PROC:
  854. disp/nocr 'cur_pos "<esc>[1;7m" + title_blk + "<esc>[0m"
  855. if cnt .eq. ftop then up_proc := input_proc
  856. if cnt .eq. fbottom then down_proc := input_proc
  857. if search_flag then goto search_inp
  858. inq/key input bell
  859. bell = "<bell>"
  860. if (input .eqs. "DOWN") .or. (input .eqs. "KP2") then goto 'down_proc
  861. if (input .eqs. "UP") .or. (input .eqs. "KP8") then goto 'up_proc
  862. if (input .eqs. "RETURN") .or. (input .eqs. "SPACE")  then goto 'exec_proc
  863. if (input .eqs. "F1") .and. (cnt .lt. 30) then goto exit
  864. if input .eqs. "F1" then return
  865. search_funct = ""
  866. search_flag = 1
  867. pri_cur_pos = cur_pos 
  868. pri_title = title_blk 
  869. bell = ""
  870. set mess
  871. inp_funct = input
  872. goto fast_search            !Do Fast Search
  873.  
  874. down:
  875. disp/nocr 'cur_pos 'dcolor + title_blk + "<esc>[0m"
  876. cnt = cnt + 1
  877. row = row + 1
  878. cur_pos = "[''row',''(41-row_width/2)']"
  879. up_proc := up
  880. down_proc := down
  881. goto f'cnt
  882.  
  883. up:
  884. disp/nocr 'cur_pos 'dcolor + title_blk + "<esc>[0m"
  885. cnt = cnt - 1
  886. row = row - 1
  887. cur_pos = "[''row',''(41-row_width/2)']"
  888. up_proc := up
  889. down_proc := down
  890. goto f'cnt
  891.  
  892. !-------------------------------------------------------------------------------
  893. !            Fast Search processor
  894. !-------------------------------------------------------------------------------
  895.  
  896. SEARCH_INP:
  897. disp/nocr 'pri_cur_pos 'dcolor + pri_title + "<esc>[0m"
  898. pri_cur_pos = cur_pos 
  899. pri_title = title_blk 
  900.  
  901. SEARCH_INPUT:
  902. bell = ""
  903. SEARCH_INPUT1:
  904. set mess
  905. inq/stat/key inp_funct bell + "<esc>[?25h<esc>[7m" + -
  906.     "Enter Menu Selection :<esc>[27m " + search_funct
  907.  
  908. FAST_SEARCH:
  909. search_ret = exec_proc
  910. if (inp_funct .eqs. "RETURN") .or. (inp_funct .eqs. "SPACE") -
  911.     then goto search_done
  912. search_ret = "f''cnt'"
  913. if inp_funct .eqs. "F1" then goto search_done
  914. if inp_funct .eqs. "BS" then goto search_del
  915. bell = "<bell>"
  916. if (inp_funct .eqs. "UP") .or. (inp_funct .eqs. "KP8") then goto search_up
  917. if (inp_funct .eqs. "DOWN") .or. (inp_funct .eqs. "KP2") then goto search_down
  918. if f$length(inp_funct) .gt. 1 then goto search_input1
  919. if (inp_funct .gts. "0") .and. (inp_funct .lts. "9") then goto search_input1
  920. search_funct = search_funct + inp_funct
  921. pri_cnt = cnt
  922. set nomess
  923. on warning then goto search_input
  924. cnt = 'search_funct
  925. set mess
  926. on warning then goto error
  927. search_funct = ""
  928. search_flag = 0
  929. if pri_cnt .eq. cnt then goto search_same
  930. disp/nocr 'cur_pos 'dcolor + title_blk + "<esc>[0m"
  931. row = row + cnt - pri_cnt
  932. cur_pos = "[''row',''(41-row_width/2)']"
  933. search_ret := f'cnt
  934. goto search_done
  935.  
  936. SEARCH_DEL:
  937. search_funct = f$ext(0,f$length(search_funct)-1,search_funct)
  938. goto search_input
  939.  
  940. SEARCH_SAME:
  941. search_ret := input_proc
  942. goto search_done
  943.  
  944. SEARCH_UP:
  945. search_ret := 'up_proc
  946. goto search_done
  947.  
  948. SEARCH_DOWN:
  949. search_ret := 'down_proc
  950.  
  951. SEARCH_DONE:
  952. search_flag = 0
  953. disp/nocr "<esc>[?25l"                !Set cursor invisible
  954. up_proc := up
  955. down_proc := down
  956. goto 'search_ret
  957.  
  958. !-------------------------------------------------------------------------------
  959. !            Command Processor
  960. !-------------------------------------------------------------------------------
  961.  
  962. EXEC_CMD:
  963.  
  964. !*    * Delete MAIN Fast Search Table *
  965.  
  966. delete symbol 'fst1
  967. delete symbol 'fst2
  968. delete symbol 'fst3
  969. delete symbol 'fst4
  970. delete symbol 'fst5
  971. delete symbol 'fst6
  972. delete symbol 'fst7
  973. delete symbol 'fst8
  974. delete symbol 'fst9
  975. delete symbol 'fst10
  976. delete symbol 'fst11
  977. delete symbol 'fst12
  978. delete symbol 'fst13
  979. delete symbol 'fst14
  980.  
  981. cls
  982.  
  983. EXEC_CMD_SUB:
  984. 'command'            !execute command
  985. set nover
  986. goto start
  987.  
  988. exit:
  989. cls
  990. error:
  991. disp/nocr "<esc>[?25h"
  992. disp [24,1] "<esc>8"        ! Restore cursor, attributes & underline mode
  993. exit
  994.