home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTP141.ZIP / PROTOCOL.ORG < prev    next >
Text File  |  1994-05-23  |  6KB  |  163 lines

  1. ;*****************************************************************************
  2. ;*                                                                           *
  3. ;*                           PROTOCOL.PPE v1.40a                             *
  4. ;*               PCBOARD 15.1 TRANSFER PROTOCOL MENU PROGRAM                 *
  5. ;*                                                                           *
  6. ;*                Written by Larry Steele and Jerry Claxton                  *
  7. ;*                 Written in PCBoard Programming Language                   *
  8. ;*                         Compiled on 11-12-1993                            *
  9. ;*                                                                           *
  10. ;*                   "The Shoppe Bulletin Board Systems"                     *
  11. ;*               Node 1 - 708-888-0725 - [16.8 DS] - 80486/50                *
  12. ;*               Node 2 - 708-888-1162 - [16.8 DS] - 80486/40                *
  13. ;*               Node 3 - 708-888-0078 - [16.8 DS] - 80486/40                *
  14. ;*               Node 4 - 708-888-4175 - [16.8 DS] - 80486/40                *
  15. ;*               Node 5 - 708-888-4275 - [16.8 DS] - 80486/40                *
  16. ;*               Node 6 - PRIVATE LINE - [16.8 DS] - 80486/66                *
  17. ;*                                                                           *
  18. ;*          Voice Support - [708-426-9412] - [10:00 am - 10:00 pm]           *
  19. ;*             Ask for Jerry Claxton, Assistant System Operator              *
  20. ;*****************************************************************************
  21.  
  22.  
  23. ;*****************************************************************************
  24. ;* Define variable types                                                     *
  25. ;*****************************************************************************
  26.  
  27. BOOLEAN NO_BATCH_FILE
  28.  
  29. INTEGER PROT_ARRAY_COUNT, PROT_ARRAY, I, POS
  30.  
  31. STRING  PROT_STRARRAY(50,7), PROT_LETTER(50), PROT_MNP(50)
  32. STRING  PROT_TYPE(50), PROT_DESC(50)
  33.  
  34. STRING  TEMP_LINE, INPUT_STRING
  35. STRING  BAT_PATH, BAT_S, BAT_R
  36. STRING  CMDLINE, USER_TRANS
  37.  
  38.  
  39. ;*****************************************************************************
  40. ;* Beginning of main program                                                 *
  41. ;*****************************************************************************
  42.  
  43. GETTOKEN CMDLINE
  44. IF (!EXIST(READLINE(PCBDAT(), 45))) THEN
  45.     NEWLINE
  46.     PRINT "@X0CError reading PCBPROT.DAT!  Aborting ... @X07":  DELAY (50)
  47.  
  48.     LOG "Error reading PCBPROT.DAT!", FALSE
  49.     FRESHLINE:  END
  50. ELSE
  51.     GETUSER:  USER_TRANS = U_TRANS
  52.  
  53.     FOPEN 1, READLINE(PCBDAT(), 45), O_RD, S_DN
  54.     FDEFIN 1
  55.  
  56.     WHILE (!FERR(1)) DO
  57.        FDGET TEMP_LINE
  58.  
  59.        IF (LEN(TEMP_LINE)) THEN
  60.            LET TEMP_LINE = REPLACE(TEMP_LINE, CHR(32), CHR(255))
  61.  
  62.            INC PROT_ARRAY
  63.            LET TEMP_LINE = REPLACE(TEMP_LINE, ",", ";")
  64.  
  65.            TOKENIZE TEMP_LINE
  66.            WHILE (TOKCOUNT() > 0) DO
  67.               INC PROT_ARRAY_COUNT
  68.               GETTOKEN PROT_STRARRAY(PROT_ARRAY, PROT_ARRAY_COUNT)
  69.            END WHILE
  70.  
  71.            LET PROT_LETTER(PROT_ARRAY) = PROT_STRARRAY(PROT_ARRAY, 1)
  72.            LET PROT_TYPE(PROT_ARRAY)   = PROT_STRARRAY(PROT_ARRAY, 2)
  73.            LET PROT_DESC(PROT_ARRAY)   = REPLACE(PROT_STRARRAY(PROT_ARRAY, 4), CHR(255), CHR(32))
  74.            LET PROT_MNP(PROT_ARRAY)    = PROT_STRARRAY(PROT_ARRAY, 5)
  75.        END IF
  76.        PROT_ARRAY_COUNT = 0
  77.     END WHILE
  78.     FCLOSE 1
  79.  
  80.     FOPEN 1, PPEPATH() + "PROTOCOL.CNF", O_RD, S_DN
  81.     FGET 1, BAT_PATH
  82.     IF (RIGHT(BAT_PATH, 1 <> "\")) BAT_PATH = BAT_PATH + "\"
  83.  
  84.     BAT_S = BAT_PATH + "PCBS":  BAT_R = BAT_PATH + "PCBR"
  85.     FCLOSE 1
  86.  
  87.     IF (STRIP(CMDLINE, CHR(32)) <> "") THEN
  88.         LET CMDLINE = STRIP(CMDLINE, CHR(32))
  89.         FOR I = 1 TO PROT_ARRAY
  90.             INPUT_STRING = INPUT_STRING + PROT_LETTER(I)
  91.         NEXT
  92.         POS = INSTR(INPUT_STRING, CMDLINE)
  93.  
  94.         IF (CMDLINE = "N") GOTO SET_TRANS
  95.         GOSUB CHECK_COMMAND
  96.     END IF
  97.     GOSUB PROT_MENU
  98. END IF
  99. END
  100.  
  101.  
  102. :PROT_MENU
  103.     NEWLINE
  104.     PRINTLN "@X70┌────────────────────────────────────────────────────────@X7F┐@X07"
  105.     PRINTLN "@X70│         @X7BP R O T O C O L S   A V A I L A B L E@POS:58@@X7F│@X07"
  106.     PRINTLN "@X70└@X7F────────────────────────────────────────────────────────┘@X07"
  107.  
  108.     NEWLINE
  109.     PRINTLN "@X70┌@X7F────────────────────────────────────────────────────────┐@X07"
  110.  
  111.     FOR I = 1 TO PROT_ARRAY
  112.         IF ((PROT_TYPE(I) <> "I") & (!EXIST(BAT_S + PROT_LETTER(I) + ".BAT")) & (!EXIST(BAT_R + PROT_LETTER(I) + ".BAT"))) NO_BATCH_FILE = TRUE
  113.  
  114.         IF ((!NO_BATCH_FILE) | (PROT_LETTER(I) = "N")) THEN
  115.             INPUT_STRING = INPUT_STRING + PROT_LETTER(I)
  116.             IF (PROT_LETTER(I) = U_TRANS) THEN
  117.                 PRINTLN "@X70│ @XF4=> @X71(@X7E" + PROT_LETTER(I) + "@X71) " + PROT_DESC(I) + "@POS:58@@X7F│@X07"
  118.             ELSE
  119.                 PRINTLN "@X70│    @X71(@X7E" + PROT_LETTER(I) + "@X71) " + PROT_DESC(I) + "@POS:58@@X7F│@X07"
  120.             END IF
  121.         END IF
  122.         NO_BATCH_FILE = 0
  123.     NEXT
  124.     PRINTLN "@X70└────────────────────────────────────────────────────────@X7F┘@X07"
  125.  
  126.     PROMPTSTR 198, USER_TRANS, 1, INPUT_STRING, FIELDLEN + GUIDE + UPCASE + LFBEFORE + LFAFTER + AUTO
  127.     IF (LEN(USER_TRANS) & (USER_TRANS <> U_TRANS)) THEN
  128.         CMDLINE = LEFT(USER_TRANS, 1)
  129.         IF (CMDLINE = "N") GOTO SET_TRANS
  130.  
  131.         POS = INSTR(INPUT_STRING, CMDLINE)
  132.         GOTO CHECK_COMMAND
  133.     ELSE
  134.         NEWLINE:  WAIT
  135.     END IF
  136.     RETURN
  137.  
  138.  
  139. :CHECK_COMMAND
  140.     IF ((PROT_TYPE(POS) <> "I") & (!EXIST(BAT_S + PROT_LETTER(POS) + ".BAT")) & (!EXIST(BAT_R + PROT_LETTER(POS) + ".BAT"))) NO_BATCH_FILE = TRUE
  141.  
  142.     IF ((CMDLINE = PROT_LETTER(POS)) & (!NO_BATCH_FILE)) THEN
  143.         IF (PROT_MNP(POS) = YESCHAR()) THEN
  144.             IF (!ERRCORRECT()) THEN
  145.                 NEWLINES 2
  146.                 PRINTLN "@X0CProtocol Unavailable - Modem Type Wrong!":  END
  147.             END IF
  148.         END IF
  149.         GOTO SET_TRANS
  150.     END IF
  151.     RETURN
  152.  
  153.  
  154. :SET_TRANS
  155.     IF (STRIP(CMDLINE, CHR(32)) <> "") THEN
  156.         U_TRANS = CMDLINE:  PUTUSER
  157.        
  158.         LOG "Default Protocol set to [" + CMDLINE + "]", FALSE
  159.     END IF
  160.  
  161.     NEWLINE
  162.     PRINTLN "@X0ADefault Protocol set to @PRODESC@":  END
  163.