home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HomeWare 14
/
HOMEWARE14.bin
/
bbsutils
/
prot_13a.arj
/
PROTOCOL.PPS
< prev
Wrap
Text File
|
1993-06-17
|
6KB
|
169 lines
;*****************************************************************************
;* *
;* PROTOCOL.PPE v1.30a *
;* PCBOARD 15.0 TRANSFER PROTOCOL MENU PROGRAM *
;* *
;* Written by Larry Steele and Jerry Claxton *
;* Written in PCBoard Programming Language *
;* Compiled on 06-17-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 - PRIVATE LINE - [16.8 DS] - 80486/66 *
;* *
;* Voice Support - [708-426-9411] - [10:00 am - 11:00 pm] *
;* Ask for Jerry Claxton, Assistant System Operator *
;*****************************************************************************
;*****************************************************************************
;* Define variable types *
;*****************************************************************************
BOOLEAN NO_BATCH_FILE
INTEGER PROT_ARRAY_COUNT, PROT_ARRAY, I, N
STRING PROT_STRARRAY(50,7), PROT_LETTER(50), PROT_MNP(50)
STRING PROT_TYPE(50), PROT_DESC(50), TEMP_LINE, INPUT_STRING
STRING BAT_PATH, BAT_S, BAT_R
STRING CMDLINE, USER_TRANS, CONNECT_STRING
;*****************************************************************************
;* 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!", 0
FRESHLINE
END
ELSE
GETUSER
USER_TRANS = U_TRANS
FOPEN 1, READLINE(PCBDAT(), 45), O_RD, S_DN
WHILE (!FERR(1)) DO
FGET 1, TEMP_LINE
IF (LEN(TEMP_LINE)) THEN
LET TEMP_LINE = REPLACE(TEMP_LINE, CHR(32), CHR(255))
PROT_ARRAY = PROT_ARRAY + 1
LET TEMP_LINE = REPLACE(TEMP_LINE, ",", ";")
TOKENIZE TEMP_LINE
WHILE (TOKCOUNT() > 0) DO
PROT_ARRAY_COUNT = PROT_ARRAY_COUNT + 1
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
IF (!ONLOCAL()) THEN
FOPEN 1, PPEPATH() + "CONNECT." + STRING(PCBNODE()), O_RD, S_DN
FGET 1, CONNECT_STRING
FCLOSE 1
END IF
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))
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
GOTO CHECK_COMMAND
ELSE
NEWLINE
WAIT
END IF
RETURN
:CHECK_COMMAND
FOR N = 1 TO PROT_ARRAY
IF ((PROT_TYPE(N) <> "I") & (!EXIST(BAT_S + PROT_LETTER(N) + ".BAT")) & (!EXIST(BAT_R + PROT_LETTER(N) + ".BAT"))) NO_BATCH_FILE = TRUE
IF ((CMDLINE = PROT_LETTER(N)) & (!NO_BATCH_FILE)) THEN
IF (PROT_MNP(N) = YESCHAR()) THEN
IF (!INSTR(CONNECT_STRING, ("MNP" | "V42" | "LAPM" | "HST")) & (!ONLOCAL())) THEN
NEWLINE
PRINTLN "@X0CProtocol Unavailable - Modem Type Wrong!"
END
END IF
END IF
GOTO SET_TRANS
END IF
NO_BATCH_FILE = 0
NEXT
RETURN
:SET_TRANS
IF (STRIP(CMDLINE, CHR(32)) <> "") THEN
U_TRANS = CMDLINE
PUTUSER
LOG "Default Protocol set to [" + CMDLINE + "]", 0
END IF
NEWLINE
PRINTLN "@X0ADefault Protocol set to @PRODESC@"
END