home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
THTP141.ZIP
/
PROTOCOL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-05-23
|
4KB
|
253 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String TSTRING002(50,7)
String TSTRING003(50)
String TSTRING004(50)
String TSTRING005(50)
String TSTRING006(50)
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
;------------------------------------------------------------------------------
FOpen 1, PPEPath() + "prot.cnf", 0, 0
FGet 1, STRING014
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FClose 1
GetToken STRING012
If (Exist(ReadLine(PCBDat(), 45))) Goto LABEL001
Newline
Print "@X0CError reading PCBPROT.DAT! Aborting ... @X07"
Delay 50
Log "Error reading PCBPROT.DAT!", 0
FreshLine
End
Goto LABEL004
:LABEL001
GetUser
STRING013 = U_Trans
FOpen 1, ReadLine(PCBDat(), 45), 0, 0
FDefIn 1
:LABEL002
If (Ferr(1)) Goto LABEL003
FDGet STRING007
If (Len(STRING007)) Then
STRING007 = Replace(STRING007, Chr(32), Chr(255))
Inc INTEGER002
STRING007 = Replace(STRING007, ",", ";")
Tokenize STRING007
While (TokCount() > 0) Do
Inc INTEGER001
GetToken TSTRING002(INTEGER002, INTEGER001)
EndWhile
TSTRING003(INTEGER002) = TSTRING002(INTEGER002, 1)
TSTRING005(INTEGER002) = TSTRING002(INTEGER002, 2)
TSTRING006(INTEGER002) = Replace(TSTRING002(INTEGER002, 4), Chr(255), Chr(32))
TSTRING004(INTEGER002) = TSTRING002(INTEGER002, 5)
Endif
INTEGER001 = 0
Goto LABEL002
:LABEL003
FClose 1
FOpen 1, PPEPath() + "PROTOCOL.CNF", 0, 0
FGet 1, STRING009
If (Right(STRING009, (1 <> "\"))) STRING009 = STRING009 + "\"
STRING010 = STRING009 + "PCBS"
STRING011 = STRING009 + "PCBR"
FClose 1
If (Strip(STRING012, Chr(32)) <> "") Then
STRING012 = Strip(STRING012, Chr(32))
For INTEGER003 = 1 To INTEGER002
STRING008 = STRING008 + TSTRING003(INTEGER003)
Next
INTEGER004 = InStr(STRING008, STRING012)
If (STRING012 == "N") Goto LABEL009
Gosub LABEL007
Endif
Gosub LABEL005
:LABEL004
End
:LABEL005
Newline
DispFile PPEPath() + "Prot.hdr", 0
For INTEGER003 = 1 To INTEGER002
If (((TSTRING005(INTEGER003) <> "I") && !Exist(STRING010 + TSTRING003(INTEGER003) + ".BAT")) && !Exist(STRING011 + TSTRING003(INTEGER003) + ".BAT")) BOOLEAN001 = 1
If (!BOOLEAN001 || (TSTRING003(INTEGER003) == "N")) Then
STRING008 = STRING008 + TSTRING003(INTEGER003)
If (TSTRING003(INTEGER003) == U_Trans) Then
PrintLn STRING014 + STRING016 + STRING023 + " " + STRING018 + "=> " + STRING019 + "(" + STRING020 + TSTRING003(INTEGER003) + STRING019 + ") " + STRING021 + TSTRING006(INTEGER003) + STRING015 + STRING017 + STRING023 + "@X07"
Goto LABEL006
Endif
PrintLn STRING014 + STRING016 + STRING023 + " " + STRING019 + "(" + STRING020 + TSTRING003(INTEGER003) + STRING019 + ") " + STRING021 + TSTRING006(INTEGER003) + STRING015 + STRING017 + STRING023 + "@X07"
Endif
:LABEL006
BOOLEAN001 = 0
Next
DispFile PPEPath() + "prot.ftr", 0
PromptStr 198, STRING013, 1, STRING008, 2 + 4 + 8 + 128 + 256 + 8192
If (Len(STRING013) && (STRING013 <> U_Trans)) Then
STRING012 = Left(STRING013, 1)
If (STRING012 == "N") Goto LABEL009
INTEGER004 = InStr(STRING008, STRING012)
Goto LABEL007
Else
Newline
Endif
Return
:LABEL007
If (((TSTRING005(INTEGER004) <> "I") && !Exist(STRING010 + TSTRING003(INTEGER004) + ".BAT")) && !Exist(STRING011 + TSTRING003(INTEGER004) + ".BAT")) BOOLEAN001 = 1
If ((STRING012 == TSTRING003(INTEGER004)) && !BOOLEAN001) Then
If (TSTRING004(INTEGER004) == YesChar()) Then
If (ErrCorrect()) Goto LABEL008
Newlines 2
PrintLn "@X0CProtocol Unavailable - Modem Type Wrong!"
End
Endif
:LABEL008
Else
Return
Endif
:LABEL009
If (Strip(STRING012, Chr(32)) <> "") Then
U_Trans = STRING012
PutUser
Log "Default Protocol set to [" + STRING012 + "]", 0
Endif
Newline
PrintLn "@X0ADefault Protocol set to @PRODESC@"
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 25 Goto
; 25 Let
; 1 Print
; 4 PrintLn
; 19 If
; 2 DispFile
; 3 FOpen
; 3 FClose
; 11 FGet
; 1 GetUser
; 1 PutUser
; 2 Log
; 2 Gosub
; 2 Return
; 1 PromptStr
; 1 Delay
; 2 Inc
; 4 Newline
; 1 Newlines
; 1 Tokenize
; 2 GetToken
; 1 FreshLine
; 1 FDefIn
; 1 FDGet
;
;
; ■ Functions used :
;
; 58 +
; 6 ==
; 6 <>
; 2 <
; 2 <=
; 1 >
; 4 >=
; 20 !
; 10 &&
; 3 ||
; 2 Len(
; 1 Left()
; 1 Right()
; 1 Ferr()
; 7 Chr()
; 2 InStr()
; 1 YesChar()
; 3 Replace()
; 3 Strip()
; 2 PCBDat()
; 4 PPEPath()
; 2 ReadLine()
; 5 Exist()
; 1 TokCount()
; 1 ErrCorrect()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Wd
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 1 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------