home *** CD-ROM | disk | FTP | other *** search
- ;*****************************************************************************
- ;* *
- ;* PROTOCOL.PPE v1.40a *
- ;* PCBOARD 15.1 TRANSFER PROTOCOL MENU PROGRAM *
- ;* *
- ;* Written by Larry Steele and Jerry Claxton *
- ;* Written in PCBoard Programming Language *
- ;* Compiled on 11-12-1993 *
- ;* *
- ;* "The Shoppe Bulletin Board Systems" *
- ;* Node 1 - 708-888-0725 - [16.8 DS] - 80486/50 *
- ;* Node 2 - 708-888-1162 - [16.8 DS] - 80486/40 *
- ;* Node 3 - 708-888-0078 - [16.8 DS] - 80486/40 *
- ;* Node 4 - 708-888-4175 - [16.8 DS] - 80486/40 *
- ;* Node 5 - 708-888-4275 - [16.8 DS] - 80486/40 *
- ;* Node 6 - PRIVATE LINE - [16.8 DS] - 80486/66 *
- ;* *
- ;* Voice Support - [708-426-9412] - [10:00 am - 10:00 pm] *
- ;* Ask for Jerry Claxton, Assistant System Operator *
- ;*****************************************************************************
-
-
- ;*****************************************************************************
- ;* Define variable types *
- ;*****************************************************************************
-
- BOOLEAN NO_BATCH_FILE
-
- INTEGER PROT_ARRAY_COUNT, PROT_ARRAY, I, POS
-
- STRING PROT_STRARRAY(50,7), PROT_LETTER(50), PROT_MNP(50)
- STRING PROT_TYPE(50), PROT_DESC(50)
-
- STRING TEMP_LINE, INPUT_STRING
- STRING BAT_PATH, BAT_S, BAT_R
- STRING CMDLINE, USER_TRANS
-
-
- ;*****************************************************************************
- ;* Beginning of main program *
- ;*****************************************************************************
-
- GETTOKEN CMDLINE
- IF (!EXIST(READLINE(PCBDAT(), 45))) THEN
- NEWLINE
- PRINT "@X0CError reading PCBPROT.DAT! Aborting ... @X07": DELAY (50)
-
- LOG "Error reading PCBPROT.DAT!", FALSE
- FRESHLINE: END
- ELSE
- GETUSER: USER_TRANS = U_TRANS
-
- FOPEN 1, READLINE(PCBDAT(), 45), O_RD, S_DN
- FDEFIN 1
-
- WHILE (!FERR(1)) DO
- FDGET TEMP_LINE
-
- IF (LEN(TEMP_LINE)) THEN
- LET TEMP_LINE = REPLACE(TEMP_LINE, CHR(32), CHR(255))
-
- INC PROT_ARRAY
- LET TEMP_LINE = REPLACE(TEMP_LINE, ",", ";")
-
- TOKENIZE TEMP_LINE
- WHILE (TOKCOUNT() > 0) DO
- INC PROT_ARRAY_COUNT
- GETTOKEN PROT_STRARRAY(PROT_ARRAY, PROT_ARRAY_COUNT)
- END WHILE
-
- LET PROT_LETTER(PROT_ARRAY) = PROT_STRARRAY(PROT_ARRAY, 1)
- LET PROT_TYPE(PROT_ARRAY) = PROT_STRARRAY(PROT_ARRAY, 2)
- LET PROT_DESC(PROT_ARRAY) = REPLACE(PROT_STRARRAY(PROT_ARRAY, 4), CHR(255), CHR(32))
- LET PROT_MNP(PROT_ARRAY) = PROT_STRARRAY(PROT_ARRAY, 5)
- END IF
- PROT_ARRAY_COUNT = 0
- END WHILE
- FCLOSE 1
-
- FOPEN 1, PPEPATH() + "PROTOCOL.CNF", O_RD, S_DN
- FGET 1, BAT_PATH
- IF (RIGHT(BAT_PATH, 1 <> "\")) BAT_PATH = BAT_PATH + "\"
-
- BAT_S = BAT_PATH + "PCBS": BAT_R = BAT_PATH + "PCBR"
- FCLOSE 1
-
- IF (STRIP(CMDLINE, CHR(32)) <> "") THEN
- LET CMDLINE = STRIP(CMDLINE, CHR(32))
- FOR I = 1 TO PROT_ARRAY
- INPUT_STRING = INPUT_STRING + PROT_LETTER(I)
- NEXT
- POS = INSTR(INPUT_STRING, CMDLINE)
-
- IF (CMDLINE = "N") GOTO SET_TRANS
- GOSUB CHECK_COMMAND
- END IF
- GOSUB PROT_MENU
- END IF
- END
-
-
- :PROT_MENU
- NEWLINE
- PRINTLN "@X70┌────────────────────────────────────────────────────────@X7F┐@X07"
- PRINTLN "@X70│ @X7BP R O T O C O L S A V A I L A B L E@POS:58@@X7F│@X07"
- PRINTLN "@X70└@X7F────────────────────────────────────────────────────────┘@X07"
-
- NEWLINE
- PRINTLN "@X70┌@X7F────────────────────────────────────────────────────────┐@X07"
-
- FOR I = 1 TO PROT_ARRAY
- IF ((PROT_TYPE(I) <> "I") & (!EXIST(BAT_S + PROT_LETTER(I) + ".BAT")) & (!EXIST(BAT_R + PROT_LETTER(I) + ".BAT"))) NO_BATCH_FILE = TRUE
-
- IF ((!NO_BATCH_FILE) | (PROT_LETTER(I) = "N")) THEN
- INPUT_STRING = INPUT_STRING + PROT_LETTER(I)
- IF (PROT_LETTER(I) = U_TRANS) THEN
- PRINTLN "@X70│ @XF4=> @X71(@X7E" + PROT_LETTER(I) + "@X71) " + PROT_DESC(I) + "@POS:58@@X7F│@X07"
- ELSE
- PRINTLN "@X70│ @X71(@X7E" + PROT_LETTER(I) + "@X71) " + PROT_DESC(I) + "@POS:58@@X7F│@X07"
- END IF
- END IF
- NO_BATCH_FILE = 0
- NEXT
- PRINTLN "@X70└────────────────────────────────────────────────────────@X7F┘@X07"
-
- PROMPTSTR 198, USER_TRANS, 1, INPUT_STRING, FIELDLEN + GUIDE + UPCASE + LFBEFORE + LFAFTER + AUTO
- IF (LEN(USER_TRANS) & (USER_TRANS <> U_TRANS)) THEN
- CMDLINE = LEFT(USER_TRANS, 1)
- IF (CMDLINE = "N") GOTO SET_TRANS
-
- POS = INSTR(INPUT_STRING, CMDLINE)
- GOTO CHECK_COMMAND
- ELSE
- NEWLINE: WAIT
- END IF
- RETURN
-
-
- :CHECK_COMMAND
- IF ((PROT_TYPE(POS) <> "I") & (!EXIST(BAT_S + PROT_LETTER(POS) + ".BAT")) & (!EXIST(BAT_R + PROT_LETTER(POS) + ".BAT"))) NO_BATCH_FILE = TRUE
-
- IF ((CMDLINE = PROT_LETTER(POS)) & (!NO_BATCH_FILE)) THEN
- IF (PROT_MNP(POS) = YESCHAR()) THEN
- IF (!ERRCORRECT()) THEN
- NEWLINES 2
- PRINTLN "@X0CProtocol Unavailable - Modem Type Wrong!": END
- END IF
- END IF
- GOTO SET_TRANS
- END IF
- RETURN
-
-
- :SET_TRANS
- IF (STRIP(CMDLINE, CHR(32)) <> "") THEN
- U_TRANS = CMDLINE: PUTUSER
-
- LOG "Default Protocol set to [" + CMDLINE + "]", FALSE
- END IF
-
- NEWLINE
- PRINTLN "@X0ADefault Protocol set to @PRODESC@": END
-