home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / modem / tmhost24.zip / TMHCFG24.SCR < prev    next >
Text File  |  1993-07-05  |  27KB  |  999 lines

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;
  3. ;; HCONFIG.SCR by Tsung Hu, 21 May, 1990
  4. ;; Modified by R.Bailey Dec.90 to set colors if ANSI graphics
  5. ;; can be used. (ANSILOCAL variable)
  6. ;; Add new or delete message areas and files (10 max.).
  7. ;; 'Message to Sysop' area is automatically configured, during
  8. ;; S)etup of message areas, as No. 1 area and cannot be deleted.
  9. ;; The other 9 can be configured and named as you wish.
  10. ;; Renamed TMHCFG.SCR
  11. ;;
  12.  
  13. #include "SCREENIO.SCR"      ; screen routines
  14.  
  15. TRUE = 1
  16. FALSE = 0  
  17. NEWUSERLEVEL = 1             ; new user level
  18. NUSERLEVEL = 2               ; normal user level
  19. SYSOPLEVEL = 3               ; sysop level
  20. DETECTBAUD = 1               ; set to 0 if COM baud rate is locked
  21. INITIALBAUD = 9600           ; initial baud rate (highest baud rate)
  22. YELLTIME = 3                 ; amount of time to display the alarm
  23. YELLSOUND = 1                ; amount of time to ring the alarm
  24. TMDIR = "\TM"                ; telemate directory
  25. HOSTDIR = "\TM"              ; directory holding *.HST
  26. DOWNLOADDIR = "\TM"          ; host download directory
  27. CLOSESYSTEM = 0              ; set to 1 if closed system   
  28. FILELIST = 0                 ; Dir=0 filelist=1
  29. EchoToLocal = 1              ; local screen only
  30. EchoToRemote = 0            
  31. ANSILOCAL = 0
  32.  
  33. ; set colours for local or remote screen if
  34. ; ANSILOCAL or ANSIREMOTE = TRUE
  35.  
  36. GENBKCOL = "BKBLACK"         ; general background colour
  37. GENTEXTCOL = "FGCYAN"        ; general textcolour 
  38. HILITECOL = "FGWHITE"        ; hilite colour 
  39. HEADERBKCOL = "BKBLUE"       ; message header background colour
  40. HEADERTEXTCOL = "FGYELLOW"   ; subject header colour
  41. SPECIALTEXTCOL = "FGYELLOW"  ; e.g. questionnaire text colour
  42. LOCALBOXCOL = "FGRED"        ; local colours for
  43. LOCALCOL = "FGYELLOW"        ; local view routine
  44. COMPORT = "1"
  45.  
  46. COUNT = 1                    ; Message areas (10 max.)
  47. area0 = "Message to Sysop (PRIVATE)"
  48. MSBASE0 = "SYSOP.BSE"
  49. area1 = ""
  50. MSBASE1 = ""
  51. area2 = ""
  52. MSBASE2 = ""
  53. area3 = ""
  54. MSBASE3 = ""
  55. area4 = ""
  56. MSBASE4 = ""
  57. area5 = ""
  58. MSBASE5 = ""
  59. area6 = ""
  60. MSBASE6 = ""
  61. area7 = ""
  62. MSBASE7 = ""
  63. area8 = ""
  64. MSBASE8 = ""
  65. area9 = ""
  66. MSBASE9 = ""
  67.  
  68. BKCOLOR1 = BKBLACK
  69. BKCOLOR2 = BKBLUE
  70. COLOR1 = FGCYAN              ; Tmhcfg colours
  71. COLOR2 = FGYELLOW     
  72. COLOR3 = FGWHITE
  73.  
  74. ; global variables          
  75. ;
  76. integer filepos
  77. string a,f,s,ch  
  78.  
  79. Procedure Inputs string ch         ; don't wait after
  80.   repeat                           ; keyboard input
  81.     inputch ch
  82.     if success
  83.       print ch,
  84.     endif
  85.   until success
  86. Endproc
  87.         
  88. Procedure InputString string str   ; input a string
  89.   string ch
  90.   str = ""
  91.   repeat
  92.     Inputs ch
  93.     if ch <> "^M"                  ; if return
  94.       if ch = "^H"                 ; if backspace
  95.         if str = ""                ; if string empty
  96.           Echo " "
  97.         else
  98.           Echo " ^H"
  99.         endif
  100.       endif
  101.       concat str,ch
  102.     endif
  103.   until ch = "^M" 
  104.   if str="" 
  105.     success = FALSE
  106.   else
  107.     success = TRUE
  108.   endif
  109. Endproc
  110.  
  111. Procedure Pause
  112.         print
  113.         print "Press [Enter] to continue ",
  114.           repeat
  115.             inputch ch
  116.           until success
  117.         print
  118.         print
  119. Endproc
  120.  
  121. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  122. ;; Procedure Display
  123. ;; Added seperate procedure for display of setup configuration.
  124. ;; If ANSILOCAL display in color.
  125. ;;
  126.  
  127. Procedure  Display                 ; display current settings 
  128.   clear text  
  129.   EchoBkColor BKCOLOR2
  130.   EchoColor COLOR3
  131.   print "^M^J╔══════════════════════════════════════════════════════════════════════════════╗"
  132.   print "║   A: New USER Level     :                  K: Color Change (If ANSI TRUE)    ║"
  133.   print "║   B: Normal USER Level  :                     General Bkground   :           ║"
  134.   print "║   C: SYSOP Level        :                     General Text       :           ║"
  135.   print "║   D: Detect BAUD rate   :                     Hilite Text        :           ║"
  136.   print "║   E: Initial BAUD rate  :                     Header Bkground    :           ║"
  137.   print "║   F: Yell time          :   seconds           Header Text        :           ║"
  138.   print "║   G: Yell sound         :   seconds           Special Text       :           ║"
  139.   print "║   H: Telemate directory :                     Local View Box     :           ║"
  140.   print "║   I: Host directory     :                     Local Info         :           ║"
  141.   print "║   J: Download directory :                     ANSI               :           ║"
  142.   print "║   L: Close System       :                  N: Use File List      :           ║"
  143.   print "║   M: Setup or Add Message Areas - Existing Message Areas(10 max) :           ║"
  144.   print "║   S: Save configuration and run Host Mode                                    ║"
  145.   print "║   Q: Abort configuration                                                     ║"
  146.   print "╚══════════════════════════════════════════════════════════════════════════════╝"
  147.   EchoColor COLOR2
  148.   at 28,2
  149.   print NEWUSERLEVEL
  150.   at 28,3
  151.   print NUSERLEVEL
  152.   at 28,4
  153.   print SYSOPLEVEL
  154.   at 28,5
  155.     if DETECTBAUD
  156.       print "ON"
  157.     else
  158.       print "OFF"
  159.     endif  
  160.   at 28,6
  161.   print INITIALBAUD
  162.   at 28,7
  163.   print YELLTIME
  164.   at 28,8
  165.   print YELLSOUND
  166.   at 28,9
  167.   print TMDIR
  168.   at 28,10
  169.   print HOSTDIR
  170.   at 28,11
  171.   print DOWNLOADDIR
  172.   at 28,12
  173.      if CLOSESYSTEM
  174.       print "ON"
  175.     else
  176.       print "OFF"
  177.     endif  
  178.   at 69,3
  179.   print GENBKCOL
  180.   at 69,4
  181.   print GENTEXTCOL
  182.   at 69,5 
  183.   print HILITECOL       
  184.   at 69,6 
  185.   print HEADERBKCOL
  186.   at 69,7
  187.   print HEADERTEXTCOL
  188.   at 69,8
  189.   print SPECIALTEXTCOL
  190.   at 69,9
  191.   print LOCALBOXCOL
  192.   at 69,10
  193.   print LOCALCOL
  194.   at 69,11
  195.   if ANSILOCAL                     ; set to TRUE
  196.       print "Yes"
  197.     else
  198.       print "No"
  199.   endif
  200.   at 69,12
  201.   if FILELIST
  202.       print "ON"
  203.     else
  204.       print "OFF"
  205.   endif  
  206.   at 69,13
  207.   print COUNT
  208.   at 1,17
  209.   EchoBkColor BKCOLOR1
  210.   EchoColor COLOR1
  211.   print "^M^JWhich option: ",
  212. Endproc
  213.  
  214. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  215. ;; New Procedure WriteColor string c
  216. ;; Writes string to TMHCFG.HST for EchoColor routines in TMHOST.
  217. ;;
  218.  
  219.  Procedure WriteColor string c     ; writes string to TMHCFG.HST
  220.    string code                     ; for EchoColor routine
  221.    switch c
  222.      case "FGBLACK":   code = ""  ; passed to routine as an 
  223.      case "FGRED":     code = ""  ; ANSI string
  224.      case "FGGREEN":   code = ""
  225.      case "FGYELLOW":  code = ""
  226.      case "FGBLUE":    code = ""
  227.      case "FGMAGENTA": code = ""
  228.      case "FGCYAN":    code = ""
  229.      case "FGWHITE":   code = ""
  230.      case "BKBLACK":   code = ""
  231.      case "BKRED":     code = ""
  232.      case "BKGREEN":   code = ""
  233.      case "BKYELLOW":  code = ""
  234.      case "BKBLUE":    code = ""
  235.      case "BKMAGENTA": code = ""
  236.      case "BKCYAN":    code = ""
  237.      case "BKWHITE":   code = ""
  238.    endswitch
  239.    write code
  240. Endproc 
  241.  
  242. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  243. ;; New Procedure ReadColor string c
  244. ;; Read string from file to display configured color
  245. ;;.
  246.  
  247. Procedure ReadColor string c       ; read ANSI string
  248.   string color                     ; show color     
  249.   read c
  250.   switch c
  251.     case "":  color = "FGBLACK"
  252.     case "":  color = "FGRED"
  253.     case "":  color = "FGGREEN"
  254.     case "":  color = "FGYELLOW"
  255.     case "":  color = "FGBLUE"
  256.     case "":  color = "FGMAGENTA"
  257.     case "":  color = "FGCYAN"
  258.     case "":  color = "FGWHITE"
  259.     case "":  color = "BKBLACK"
  260.     case "":  color = "BKRED"
  261.     case "":  color = "BKGREEN"
  262.     case "":  color = "BKYELLOW"
  263.     case "":  color = "BKBLUE"
  264.     case "":  color = "BGMAGENTA" 
  265.     case "":  color = "BKCYAN"
  266.     case "":  color = "BKWHITE"
  267.   endswitch
  268.    c = color
  269. Endproc  
  270.  
  271. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  272. ;; New Procedure  ColorChange
  273. ;;
  274.  
  275. Procedure ColorChange              ; set colours
  276.   clear text 
  277.   if ANSILOCAL 
  278.     print BKCOLOR2,COLOR3,"^M^J╔═════════════════════╗"
  279.     print "║ Colour set facility ║"
  280.     print "╚═════════════════════╝^M^J"
  281.     print BKCOLOR1,COLOR1,"Foreground Colours:"
  282.     print BKWHITE,FGBLACK,"FGBLACK",
  283.     print BKBLACK,FGRED," FGRED",
  284.     print FGGREEN," FGGREEN",
  285.     print FGYELLOW," FGYELLOW",
  286.     print FGBLUE," FGBLUE",
  287.     print FGBLUE," FGMAGENTA",
  288.     print FGCYAN," FGCYAN",
  289.     print FGWHITE," FGWHITE" 
  290.     print COLOR1,"^M^JBackground Colours:"
  291.     print FGWHITE,"BKBLACK", 
  292.     print BKRED," BKRED",
  293.     print BKGREEN," BKGREEN",
  294.     print BKYELLOW," BKYELLOW", 
  295.     print BKBLUE," BKBLUE",
  296.     print BKMAGENTA," BKMAGENTA",
  297.     print BKCYAN," BKCYAN",
  298.     print BKWHITE,FGBLACK," BKWHITE"
  299.     print BKBLACK,COLOR3,
  300.     print    "^M^JType in appropriate colour or [ENTER] to accept^M^J"
  301.     print COLOR1,"General background colour is ",
  302.     print COLOR3,GENBKCOL," :", 
  303.       input s
  304.       ss = ""
  305.       concat ss,s
  306.       if ss<>""
  307.         GENBKCOL = ss
  308.       endif
  309.     print COLOR1,"^M^JGeneral text colour is ",
  310.     print COLOR3,GENTEXTCOL," :",
  311.       input s
  312.       ss = ""
  313.       concat ss,s
  314.       if ss<>""
  315.         GENTEXTCOL = ss
  316.       endif
  317.     print COLOR1,"^M^JHilite text colour ",
  318.     print COLOR3,HILITECOL," :",
  319.       input s
  320.       ss = ""
  321.       concat ss,s
  322.       if ss<>""
  323.         HILITECOL = ss
  324.       endif
  325.     print COLOR1,"^M^JHeader background color is ",
  326.     print COLOR3,HEADERBKCOL," :",
  327.       input s
  328.       ss = ""
  329.       concat ss,s
  330.       if ss<>""
  331.         HEADERBKCOL = ss
  332.       endif      
  333.     print COLOR1,"^M^JHeader text colour is ",
  334.     print COLOR3,HEADERTEXTCOL," :",
  335.       input s
  336.       ss = ""
  337.       concat ss,s
  338.       if ss<>""
  339.         HEADERTEXTCOL = ss
  340.       endif
  341.     print COLOR1,"^M^JSpecial text colour (e.g. Questionnaire text) is ",
  342.     print COLOR3,SPECIALTEXTCOL," :",
  343.       input s
  344.       ss = ""
  345.       concat ss,s
  346.     if ss<>""
  347.         SPECIALTEXTCOL = ss
  348.       endif 
  349.     print COLOR1,"^M^JLocal Box colour (e.g. 'Waiting on call' box) is ",
  350.     print COLOR3,LOCALBOXCOL," :",
  351.       input s
  352.       ss = ""
  353.       concat ss,s
  354.       if ss<>""
  355.         LOCALBOXCOL = ss
  356.       endif
  357.     print COLOR1,"^M^JLocal text colour is ",
  358.     print COLOR3,LOCALCOL," :",
  359.       input s
  360.       ss = ""
  361.       concat ss,s
  362.       if ss<>""
  363.         LOCALCOL = ss
  364.       endif 
  365.     print COLOR1,"^M^JHost script colours have been set........"
  366.     delay 20
  367.   else
  368.     print "^M^J^M^JColour selection not available without ANSI capabilities!^M^J^M^J"
  369.     Pause
  370.   endif
  371. Endproc
  372.  
  373. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  374. ;; New Procedure MessageBase
  375. ;; Adds or deletes message areas and appropriate files.
  376. ;;
  377.  
  378. Procedure MessageBase
  379.   integer num,len
  380.  
  381.  
  382.    Procedure MakeFile string BASE
  383.      chdir HOSTDIR
  384.      open BASE
  385.      if not success
  386.        create BASE
  387.      endif
  388.      if not success 
  389.        print "Cannot create ",BASE 
  390.        alarm "System Error: Cannot create ^JMESSAGE BASE file, disk full ?"
  391.        return
  392.      endif       
  393.      write " ",
  394.      close      
  395.      chdir TMDIR
  396.      print "Done"
  397.    Endproc 
  398.  
  399.    Procedure MakeArea integer m
  400.      switch m
  401.        case 2:
  402.          area1 = a
  403.          MSBASE1 = f
  404.          concat MSBASE1,".BSE"
  405.          MakeFile MSBASE1
  406.        case 3:
  407.          area2 = a
  408.          MSBASE2 = f
  409.          concat MSBASE2,".BSE"
  410.          MakeFile MSBASE2
  411.        case 4:
  412.          area3 = a
  413.          MSBASE3 = f
  414.          concat MSBASE3,".BSE"
  415.          MakeFile MSBASE3
  416.        case 5:
  417.          area4 = a
  418.          MSBASE4 = f
  419.          concat MSBASE4,".BSE"
  420.          MakeFile MSBASE4
  421.        case 6:
  422.          area5 = a
  423.          MSBASE5 = f
  424.          concat MSBASE5,".BSE"
  425.          MakeFile MSBASE5
  426.        case 7:
  427.          area6 = a
  428.          MSBASE6 = f
  429.          concat MSBASE6,".BSE"
  430.          MakeFile MSBASE6
  431.        case 8:
  432.          area7 = a
  433.          MSBASE7 = f
  434.          concat MSBASE7,".BSE"
  435.          MakeFile MSBASE7
  436.        case 9:
  437.          area8 = a
  438.          MSBASE8 = f
  439.          concat MSBASE8,".BSE"
  440.          MakeFile MSBASE8
  441.        case 10:
  442.          area9 = a
  443.          MSBASE9 = f
  444.          concat MSBASE9,".BSE"
  445.          MakeFile MSBASE9
  446.     endswitch
  447.   Endproc
  448.   
  449.   Procedure DeleteArea string num
  450.      chdir HOSTDIR
  451.      switch num
  452.        case "2":
  453.          area1 = ""
  454.          delete MSBASE1 
  455.          MSBASE1 = ""
  456.        case "3":
  457.          area2 = ""
  458.          delete MSBASE2 
  459.          MSBASE2 = ""
  460.        case "4":
  461.          area3 = ""
  462.          delete MSBASE3
  463.          MSBASE3 = ""
  464.        case "5":
  465.          area4 = ""
  466.          delete MSBASE4 
  467.          MSBASE4 = ""
  468.        case "6":
  469.          area5 = ""
  470.          delete MSBASE5
  471.          MSBASE5 = ""
  472.        case "7":
  473.          area6 = ""
  474.          delete MSBASE6 
  475.          MSBASE6 = ""
  476.        case "8":
  477.          area7 = ""
  478.          delete MSBASE7
  479.          MSBASE7 = ""
  480.        case "9":
  481.          area8 = ""
  482.          delete MSBASE8 
  483.          MSBASE8 = ""
  484.        case "10":
  485.          area9 = ""
  486.          delete MSBASE9
  487.          MSBASE9 = ""
  488.     endswitch
  489.     if success
  490.       print "Deleted successfully"
  491.     else
  492.       print "^M^J^M^JSystem Error - File not found ?"
  493.     endif
  494.     chdir TMDIR
  495.   Endproc
  496.  
  497.     clear text
  498.     EchoBkColor BKCOLOR2
  499.     EchoColor COLOR3
  500.     print "╔═════════════════════════════╗"               
  501.     print "║ Message Base Setup Facility ║"
  502.     print "╚═════════════════════════════╝^M^J"
  503.     EchoBkColor BKCOLOR1 
  504.     EchoColor COLOR1
  505.     print "With this facility you can add or delete a message base file." 
  506.     print "Currently, you can have up to 10 Message Areas (seperate files)." 
  507.     print "The S)etup routine will automatically configure Message Area No.1 as "
  508.     EchoColor COLOR3
  509.     print area0,
  510.     EchoColor COLOR1
  511.     print " and setup the appropriate file."
  512.     EchoColor COLOR3
  513.     print "If you are using this for the FIRST time make sure you have"
  514.     print "configured your directories correctly at the initial main menu."
  515.     EchoColor COLOR1
  516.     print "^M^JWhen asked for the name of the message area, type the name"
  517.     print "carefully, as this is how it will be displayed to the user."
  518.     print "Plan 'carefully' the setup you require - then just follow the prompts!"
  519.     EchoColor COLOR2
  520.     print "^M^J S",
  521.     EchoColor COLOR3
  522.     print ")etup message areas (first time) ?"
  523.     EchoColor COLOR2                                    
  524.     print " A",
  525.     EchoColor COLOR3
  526.     print ")dd new message area and area file ?"
  527.     EchoColor COLOR2
  528.     print " D",
  529.     EchoColor COLOR3
  530.     print ")elete message area and area file ?"
  531.     EchoColor COLOR2
  532.     print " Q",
  533.     EchoColor COLOR3
  534.     print ")uit Message Base Setup Facility ?" 
  535.     EchoColor COLOR2
  536.     print "^M^J Option : ",
  537.     Inputs ch
  538.     switch ch
  539.       case "Q":
  540.          return  
  541.       case "D":
  542.          clear text
  543.          EchoColor COLOR1
  544.          if COUNT = 1
  545.            print "^M^JCurrently there is ",COUNT,"MESSAGE AREA^M^J" 
  546.          else
  547.            print "^M^JCurrently there are ",COUNT," MESSAGE AREAS^M^J"
  548.          endif
  549.            EchoColor COLOR3
  550.            print " 1:  ",area0
  551.            print " 2:  ",area1
  552.            print " 3:  ",area2
  553.            print " 4:  ",area3
  554.            print " 5:  ",area4
  555.            print " 6:  ",area5
  556.            print " 7:  ",area6
  557.            print " 8:  ",area7
  558.            print " 9:  ",area8
  559.            print " 10: ",area9
  560.          repeat
  561.            EchoColor COLOR1
  562.            print "^M^JType the number of the area you wish to DELETE : ", 
  563.            InputString a 
  564.            if a = "1" 
  565.              EchoColor COLOR3
  566.              print "^M^JArea No.1 cannot be deleted!!"
  567.              success = FALSE
  568.            else 
  569.              if COUNT > 1
  570.                print "^M^JDelete area ",a," [Y/n] ", 
  571.                success = TRUE  
  572.              else
  573.                print "^M^JNo areas to delete!"
  574.                delay 25
  575.                return
  576.              endif
  577.            endif
  578.          until success
  579.          Input ch
  580.          if ch = "N"
  581.            return
  582.          else
  583.            print "^M^JPlease wait, DELETING file and area............. ",
  584.            DeleteArea a  
  585.            COUNT = COUNT - 1
  586.          endif
  587.       case "A":
  588.          clear text
  589.          EchoColor COLOR1
  590.          if COUNT = 1
  591.            print "^M^JCurrently there is ",COUNT,"MESSAGE AREA^M^J" 
  592.          else
  593.            print "^M^JCurrently there are ",COUNT," MESSAGE AREAS^M^J"
  594.          endif
  595.          EchoColor COLOR3
  596.          print " 1:  ",area0
  597.          print " 2:  ",area1
  598.          print " 3:  ",area2 
  599.          print " 4:  ",area3
  600.          print " 5:  ",area4
  601.          print " 6:  ",area5
  602.          print " 7:  ",area6
  603.          print " 8:  ",area7
  604.          print " 9:  ",area8
  605.          print " 10: ",area9
  606.          repeat 
  607.            EchoColor COLOR1
  608.            if COUNT < 10
  609.              print "^M^JAdd another ? [Y/n] ",
  610.            else
  611.              print "^M^J^M^JNo more AREAS available max. reached!!"
  612.              delay 25
  613.              return
  614.            endif
  615.            EchoColor COLOR3
  616.            inputs ch
  617.            if ch = "Y"      
  618.              print "^M^JArea number ? ",
  619.              InputString ch
  620.              atoi ch,num
  621.              COUNT = COUNT+1
  622.              EchoColor COLOR1
  623.              print "^M^JName of Message Area ",num," (e.g General Messages) :" 
  624.              EchoColor COLOR3
  625.              InputString a
  626.              EchoColor COLOR1
  627.              repeat 
  628.                print "^M^JName of message FILE for area ",num
  629.                print "(8 characters max. - NO .EXT e.g GENERAL or TECH : "
  630.                EchoColor COLOR3
  631.                InputString f
  632.                length f,len
  633.                if len < 1
  634.                  print "Must type at least 1 letter for FILE name"
  635.                  EchoColor COLOR1
  636.                endif
  637.              until len > 0
  638.              print "^M^JPlease wait, Creating file .............",
  639.              MakeArea num
  640.            endif
  641.            if COUNT >= 10
  642.              print "^M^J^M^JOnly 10 Areas available!!!"
  643.              delay 20
  644.              return
  645.            endif
  646.          until ch = "N"
  647.       case "S":
  648.         num = 2 
  649.         okay = TRUE
  650.         clear text
  651.         EchoColor COLOR1
  652.         repeat
  653.           print "^M^JArea No.1 is ",
  654.           EchoColor COLOR3
  655.           print area0
  656.           print "Please Wait, Creating File ",MSBASE0,"..............",
  657.           MakeFile MSBASE0
  658.           EchoColor COLOR1
  659.           print "^M^JHow many more MESSAGE AREAS do you require ? (up to 9) ",
  660.           EchoColor COLOR3
  661.           Inputs ch
  662.           atoi ch,COUNT 
  663.           print "^M^J",COUNT," MESSAGE AREAS [Y/n] ",
  664.           input ch
  665.         if COUNT = 0
  666.         endif
  667.         if ch = "N"
  668.         endif
  669.         until ch = "Y"
  670.         while okay and num < COUNT+2
  671.           EchoColor COLOR1
  672.           print "^M^JName of Message Area ",num," (e.g Technical Info) :" 
  673.           EchoColor COLOR3
  674.           InputString a 
  675.           EchoColor COLOR1
  676.           repeat 
  677.             print "^M^JName of message FILE for area ",num
  678.             print "(8 characters max. - NO .EXT e.g GENERAL or TECH : "
  679.             EchoColor COLOR3
  680.             InputString f
  681.             length f,len
  682.             if len < 1
  683.               print "Must type at least 1 letter for FILE name"
  684.               EchoColor COLOR1
  685.             endif
  686.           until len > 0
  687.           print "^M^JPlease wait, Creating file .............",
  688.           MakeArea num
  689.           num = num+1   
  690.           if num > 10
  691.              okay = FALSE
  692.            endif
  693.         endwhile 
  694.         COUNT = COUNT+1
  695.     endswitch
  696.   print "^M^JSave NEW Configuration! ",
  697.   pause
  698. Endproc
  699.  
  700.  
  701. clear text                         ; main program
  702. repeat
  703.   print "^M^J Can your Terminal display in colour? [y/n] ",
  704.   Inputs ch
  705.     if ch = "Y"
  706.       ANSILOCAL = 1
  707.     else
  708.       ANSILOCAL = 0
  709.     endif
  710. until ch = "Y" or ch = "N"
  711. clear text
  712. EchoColor COLOR1
  713. open "HSHELL.BAT"                  ; [S]hell batch file
  714.   if not success
  715.     print
  716.     print
  717.     print " Which COM port is your modem connected to  (1-8) ?   COM",
  718.     repeat
  719.       inputch COMPORT
  720.         if success
  721.           print COMPORT
  722.           strpos "12345678",COMPORT,pos
  723.             if pos=0
  724.               print "Which COM port is your modem connected to  (1-8) ?   COM",
  725.             endif
  726.         endif
  727.     until success and pos>0
  728.     print
  729.     if COMPORT<>"1" and COMPORT<>"2"
  730.       print "Due to DOS limit, only COM1 and COM2 is supported for"
  731.       print "the [S]hell command in host mode.  However, you may"
  732.       print "create your own HSHELL.BAT and use a third-party program,"
  733.       print "such as DOORWAY, which allows you to use COM",COMPORT
  734.     else
  735.       create "HSHELL.BAT"
  736.       if success
  737.         print "Creating HSHELL.BAT, the batch file for [S]hell command"
  738.         write "CTTY COM",COMPORT
  739.         write "COMMAND"
  740.         write "CTTY CON"
  741.         write "EXIT"
  742.         close
  743.       else
  744.         print "Cannot create HSHELL.BAT"
  745.       endif
  746.     endif
  747.     Pause
  748.   else
  749.     close                          ; already exist, skip it
  750.   endif
  751. open "TMHCFG.HST"
  752. if success
  753.   seek -1
  754.   tell filepos
  755.   filepos = filepos-3
  756.   seek filepos
  757.   write ANSILOCAL
  758.   seek 0
  759.   read s
  760.   atoi s,NEWUSERLEVEL              ; new user level
  761.   read s
  762.   atoi s,NUSERLEVEL                ; normal user level
  763.   read s
  764.   atoi s,SYSOPLEVEL                ; sysop level
  765.   read s
  766.   atoi s,DETECTBAUD                ; detect baud rate
  767.   read s
  768.   atoi s,INITIALBAUD               ; initial baud rate
  769.   read s
  770.   atoi s,YELLTIME                  ; yell time
  771.   read s
  772.   atoi s,YELLSOUND                 ; yell sound
  773.   read TMDIR                       ; telemate directory
  774.   read HOSTDIR                     ; directory containing H*.HST
  775.   read DOWNLOADDIR                 ; download directory
  776.   read s
  777.   atoi s,CLOSESYSTEM               ; (upload always go to Telemate dl dir)
  778.   read s
  779.   atoi s,FILELIST 
  780.  
  781.   ReadColor GENBKCOL               ; detect colours 
  782.   ReadColor GENTEXTCOL
  783.   ReadColor HILITECOL
  784.   ReadColor HEADERBKCOL
  785.   ReadColor HEADERTEXTCOL
  786.   ReadColor SPECIALTEXTCOL
  787.   ReadColor LOCALBOXCOL
  788.   ReadColor LOCALCOL
  789.   read s
  790.   atoi s,COUNT
  791.   read area0 
  792.   read MSBASE0 
  793.   read area1
  794.   read MSBASE1
  795.   read area2 
  796.   read MSBASE2
  797.   read area3 
  798.   read MSBASE3
  799.   read area4 
  800.   read MSBASE4
  801.   read area5
  802.   read MSBASE5 
  803.   read area6 
  804.   read MSBASE6
  805.   read area7
  806.   read MSBASE7
  807.   read area8 
  808.   read MSBASE8 
  809.   read area9 
  810.   read MSBASE9
  811.   read s
  812.   atoi s,ANSILOCAL                 ; ANSI?
  813.   close
  814. endif
  815. finish = 0
  816. while not finish
  817. Display
  818.     repeat
  819.       inputch ch
  820.     until success
  821.   print ch
  822.   print
  823.   print
  824.   switch ch                        ; enter data
  825.     case "A":
  826.       print "Enter NEW USER Level: ",
  827.       EchoColor COLOR2
  828.       input s
  829.       ss = ""
  830.       concat ss,s
  831.       if ss<>""
  832.         atoi ss,NEWUSERLEVEL
  833.       endif
  834.     case "B":
  835.       print "Enter NORMAL USER Level: ",
  836.       EchoColor COLOR2
  837.       input s
  838.       ss = ""
  839.       concat ss,s
  840.  
  841.       If ss <>""
  842.         atoi ss,NUSERLEVEL
  843.       endif
  844.     case "C":
  845.       print "Enter SYSOP Level: ",
  846.       EchoColor COLOR2
  847.       input s
  848.       ss = ""
  849.       concat ss,s
  850.       if ss<>""
  851.         atoi ss,SYSOPLEVEL
  852.       endif
  853.     case "D":
  854.       DETECTBAUD = not DETECTBAUD
  855.     case "E":
  856.       print "Enter initial BAUD rate: ",
  857.       EchoColor COLOR2
  858.       input s
  859.       ss = ""
  860.       concat ss,s
  861.       if ss<>""
  862.         atoi ss,baud
  863.       endif
  864.       switch baud
  865.         case   300: INITIALBAUD = baud
  866.         case  1200: INITIALBAUD = baud
  867.         case  2400: INITIALBAUD = baud
  868.         case  4800: INITIALBAUD = baud
  869.         case  9600: INITIALBAUD = baud
  870.         case 14400: INITIALBAUD = baud
  871.         case 19200: INITIALBAUD = baud
  872.         case 38400: INITIALBAUD = baud
  873.         otherwise : print
  874.         print "Invalid value"
  875.         print
  876.         Pause
  877.       endswitch
  878.     case "F":
  879.       print "Enter YELL time (0 to turn off): ",
  880.       EchoColor COLOR2
  881.       input s
  882.       ss = ""
  883.       concat ss,s
  884.       if ss<>""
  885.         atoi ss,YELLTIME
  886.       endif
  887.     case "G":
  888.       print "Enter YELL sound length (0 to turn off): ",
  889.       EchoColor COLOR2
  890.       input s
  891.       ss = ""
  892.       concat ss,s
  893.       if ss<>""
  894.         atoi ss,YELLSOUND
  895.       endif
  896.     case "H":
  897.       print "Enter TELEMATE directory (Executables): ",
  898.       EchoColor COLOR2
  899.       input s
  900.       ss = ""
  901.       concat ss,s
  902.       if ss<>""
  903.         TMDIR = ss
  904.       endif
  905.     case "I":
  906.       print "Enter HOST directory which contains H*.HST: ",
  907.       EchoColor COLOR2
  908.       input s
  909.       ss = ""
  910.       concat ss,s
  911.       if ss<>""
  912.         HOSTDIR = ss
  913.       endif
  914.     case "J":
  915.       print "Enter HOST download directory: ",
  916.       EchoColor COLOR2
  917.       input s
  918.       ss = ""
  919.       concat ss,s
  920.       if ss<>""
  921.         DOWNLOADDIR = ss
  922.       endif
  923.     case "K":
  924.       ColorChange
  925.     case "L":
  926.       CLOSESYSTEM = not CLOSESYSTEM
  927.     case "M":                           
  928.       MessageBase
  929.     case "N":
  930.       FILELIST = not FILELIST
  931.     case "S":
  932.       delete "TMHCFG.HST"
  933.       create "TMHCFG.HST"
  934.       if not success
  935.         print "Cannot create TMHCFG.HST"
  936.         print "Configuration aborted, Script End"
  937.         finish = 1
  938.       else
  939.         write NEWUSERLEVEL         ; write data
  940.         write NUSERLEVEL
  941.         write SYSOPLEVEL
  942.         write DETECTBAUD
  943.         write INITIALBAUD
  944.         write YELLTIME
  945.         write YELLSOUND
  946.         write TMDIR
  947.         write HOSTDIR
  948.         write DOWNLOADDIR
  949.         write CLOSESYSTEM
  950.         write FILELIST
  951.         WriteColor GENBKCOL
  952.         WriteColor GENTEXTCOL  
  953.         WriteColor HILITECOL
  954.         WriteColor HEADERBKCOL
  955.         WriteColor HEADERTEXTCOL
  956.         WriteColor SPECIALTEXTCOL
  957.         WriteColor LOCALBOXCOL
  958.         WriteColor LOCALCOL  
  959.         write COUNT
  960.         write area0 
  961.         write MSBASE0 
  962.         write area1
  963.         write MSBASE1
  964.         write area2 
  965.         write MSBASE2
  966.         write area3 
  967.         write MSBASE3
  968.         write area4 
  969.         write MSBASE4
  970.         write area5
  971.         write MSBASE5 
  972.         write area6 
  973.         write MSBASE6
  974.         write area7
  975.         write MSBASE7
  976.         write area8 
  977.         write MSBASE8 
  978.         write area9 
  979.         write MSBASE9
  980.         write ANSILOCAL
  981.         close
  982.         print "Configuration completed",
  983.         Pause         
  984.         clear text
  985.         print "Starting host mode"
  986.         script "TMHOST24"
  987.       endif
  988.     case "Q":
  989.       print "Configuration aborted, Script End"
  990.       finish = 1
  991.   endswitch
  992. endwhile
  993.  
  994.  
  995. 
  996.  
  997.  
  998.  
  999.