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