home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
vrac
/
dcm32.zip
/
DCM.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-01
|
9KB
|
448 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
Boolean BOOLEAN002
Boolean BOOLEAN003
DWord DWORD001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer TINTEGER004(128)
Integer INTEGER005
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
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
;------------------------------------------------------------------------------
GetToken STRING001
If (STRING001 <> "") Then
Join STRING001 + " " + GetToken() + " " + GetToken()
Else
BOOLEAN001 = 1
BOOLEAN002 = 0
BOOLEAN003 = 0
STRING006 = "@X7E"
STRING007 = "@X7F"
STRING008 = "@X70"
STRING009 = "@X7B"
STRING010 = "@X74"
STRING011 = "@X77"
STRING012 = "@X71"
STRING013 = Chr(64) + Chr(88) + Chr(70) + Chr(69)
STRING014 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CA@X0E)ll, (@X0CF@X0E)lag, (@X0CS@X0E)earch, (@X0CH@X0E)elp, (enter=quit)"
STRING015 = "@X0E(@X0C@TIMELEFT@@X0E min left) (@X0C#@X0E), (@X0CF@X0E)lag, (@X0CS@X0E)earch, (@X0CP@X0E)rogram Info, (@X0CH@X0E)elp, More"
STRING016 = "Listing ALL Conferences Together"
STRING019 = Chr(42) + Chr(42) + Chr(42) + Chr(32) + Chr(85) + Chr(78) + Chr(82) + Chr(69) + Chr(71) + Chr(73) + Chr(83) + Chr(84) + Chr(69) + Chr(82) + Chr(69) + Chr(68) + Chr(32) + Chr(42) + Chr(42) + Chr(42)
STRING020 = STRING019
STRING019 = STRING019 + " " + STRING019 + " " + STRING019
STRING019 = STRING013 + "@POS:" + String((80 - Len(STRING019)) / 2) + "@" + STRING019
FOpen 1, PPEPath() + "DCM.CFG", 0, 0
FDefIn 1
:LABEL001
If (Ferr(1)) Goto LABEL003
FDGet STRING002
If (Left(STRING002, 1) <> ";") Then
If (InStr(Upper(STRING002), "NOCLEAR") <> 0) Then
BOOLEAN001 = 0
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "NETWORKPROMPT=") <> 0) Then
STRING014 = ReplaceStr(Upper(STRING002), "NETWORKPROMPT=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "CONFERENCEPROMPT=") <> 0) Then
STRING015 = ReplaceStr(Upper(STRING002), "CONFERENCEPROMPT=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "TEXTCOLOR=") <> 0) Then
STRING006 = ReplaceStr(Upper(STRING002), "TEXTCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "BORDERLEFTCOLOR=") <> 0) Then
STRING007 = ReplaceStr(Upper(STRING002), "BORDERLEFTCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "BORDERRIGHTCOLOR=") <> 0) Then
STRING008 = ReplaceStr(Upper(STRING002), "BORDERRIGHTCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "HEADERCOLOR=") <> 0) Then
STRING009 = ReplaceStr(Upper(STRING002), "HEADERCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "NUMBERCOLOR=") <> 0) Then
STRING010 = ReplaceStr(Upper(STRING002), "NUMBERCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "BLANKCOLOR=") <> 0) Then
STRING011 = ReplaceStr(Upper(STRING002), "BLANKCOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "NAMECOLOR=") <> 0) Then
STRING012 = ReplaceStr(Upper(STRING002), "NAMECOLOR=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "ALLNETS=") <> 0) Then
STRING016 = ReplaceStr(Upper(STRING002), "ALLNETS=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "SYSOPNAME=") <> 0) Then
STRING017 = ReplaceStr(Upper(STRING002), "SYSOPNAME=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "SERIALNUM=") <> 0) Then
STRING018 = ReplaceStr(Upper(STRING002), "SERIALNUM=", "")
Goto LABEL002
Endif
If (InStr(Upper(STRING002), "REQLEVEL") <> 0) Then
If (InStr(STRING002, "=") == 0) Goto LABEL003
STRING005 = Right(STRING002, Len(STRING002) - 8)
STRING005 = Left(STRING005, InStr(STRING005, "=") - 1)
TINTEGER004(S2I(STRING005, 10)) = S2I(ReplaceStr(Upper(STRING002), "REQLEVEL" + STRING005 + "=", ""), 10)
Endif
Endif
:LABEL002
Goto LABEL001
:LABEL003
FClose 1
DWORD001 = 988
INTEGER003 = 0
While (Len(STRING017) <> INTEGER003) Do
Inc INTEGER003
DWORD001 = DWORD001 + Asc(Upper(Mid(STRING017, INTEGER003, 1))) + INTEGER003
EndWhile
DWORD001 = DWORD001 * 988
If (String(DWORD001) == STRING018) Then
BOOLEAN002 = 1
If (Exist(PPEPath() + "DCM_PPE.INF")) BOOLEAN002 = 0
If (S2I(STRING018, 10) == 1720108) BOOLEAN002 = 0
Endif
:LABEL004
INTEGER001 = 0
FOpen 1, PPEPath() + "NETS.DCM", 0, 0
FDefIn 1
:LABEL005
If (Ferr(1)) Goto LABEL006
FDGet STRING002
Inc INTEGER001
Goto LABEL005
:LABEL006
FClose 1
Dec INTEGER001
If (INTEGER001 < 2) Then
STRING003 = "CONFS1.DCM"
INTEGER005 = 1
BOOLEAN003 = 1
Else
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Endif
PrintLn "@PON@"
PrintLn STRING007 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "┌──" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌────────────────────────────────────────────────────────────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌─────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "│@X01"
PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + "##" + STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + " NETWORK DESCRIPTION " + STRING007 + "│" + STRING011 + " " + STRING008 + "│" + STRING006 + "CONFS" + STRING007 + "│" + STRING011 + " " + STRING008 + "│@X01"
PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "└" + STRING007 + "──┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "────────────────────────────────────────────────────────────┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "─────┘" + STRING011 + " " + STRING008 + "│@X01"
PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "┌──" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌────────────────────────────────────────────────────────────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "┌─────" + STRING007 + "┐" + STRING011 + " " + STRING008 + "│@X01"
INTEGER002 = 1
STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
While (STRING002 <> "") Do
PrintLn STRING002
Inc INTEGER002
STRING002 = ReadLine(PPEPath() + "NETS.DCM", INTEGER002)
EndWhile
PrintLn STRING007 + "│" + STRING011 + " " + STRING008 + "└" + STRING007 + "──┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "────────────────────────────────────────────────────────────┘" + STRING011 + " " + STRING008 + "└" + STRING007 + "─────┘" + STRING011 + " " + STRING008 + "│@X01"
PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
STRING004 = ""
InputStr STRING014, STRING004, CurColor(), 5, Mask_AlNum(), 8 + 32
Select Case (Left(STRING004, 1))
Case "S"
Goto LABEL010
Case "H"
Gosub LABEL014
Goto LABEL004
Case "F"
Gosub LABEL011
Goto LABEL004
Case "A"
STRING003 = "CONFSALL.DCM"
INTEGER005 = 999
Case 0, INTEGER001
If (TINTEGER004(S2I(STRING004, 10)) > CurSec()) Then
If (Exist(PPEPath() + "DCMSB")) Then
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Goto LABEL007
Endif
PrintLn
:LABEL007
DispFile PPEPath() + "DCMSB", 4 + 2 + 1
Wait
Goto LABEL008
Endif
PrintLn
PrintLn "@X00@X0CInsufficient security to view selected network...@XFF"
PrintLn
Wait
:LABEL008
Goto LABEL004
Endif
STRING003 = "CONFS" + String(S2I(STRING004, 10)) + ".DCM"
INTEGER005 = S2I(STRING004, 10)
Case Else
Goto LABEL016
Endif
End Select
INTEGER002 = 1
:LABEL009
Gosub LABEL015
PrintLn STRING007 + "┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
For INTEGER003 = INTEGER002 To INTEGER002 + 14
STRING002 = ReadLine(PPEPath() + STRING003, INTEGER003)
If (STRING002 <> "") Then
PrintLn STRING002
Continue
Endif
INTEGER003 = INTEGER002 + 14
Next
PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01@PON@"
PrintLn
STRING004 = ""
InputStr STRING015, STRING004, CurColor(), 6, Mask_AlNum(), 8 + 32
Select Case (Left(STRING004, 1))
Case "N", "Q"
Goto LABEL016
Case "F"
Gosub LABEL011
Goto LABEL009
Case "H"
Gosub LABEL014
Goto LABEL009
Case "S"
Goto LABEL010
Case "P"
Gosub LABEL012
Goto LABEL009
Case 100772
Gosub LABEL013
Goto LABEL009
Case 0, ""
Join S2I(STRING004, 10)
Goto LABEL016
End Select
INTEGER002 = INTEGER002 + 15
STRING002 = ReadLine(PPEPath() + STRING003, INTEGER003)
If (STRING002 <> "") Goto LABEL009
If (BOOLEAN003) Goto LABEL016
Goto LABEL004
:LABEL010
Join "S"
Goto LABEL016
:LABEL011
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Else
PrintLn
Endif
DispFile PPEPath() + "DCMFLG", 4 + 2 + 1
Flag PPEPath() + "CONFSTXT.DCM"
Wait
Return
:LABEL012
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Else
PrintLn
Endif
PrintLn
PrintLn
PrintLn "@X0CIF THIS COPY OF DCM IS REGISTERED TO A SYSOP *OTHER THAN* THE OPERATOR OF"
PrintLn "THIS BBS, PLEASE CONTACT 4D SOFTWARE AT 312-284-2261 VOICE (COLLECT) SO THE"
PrintLn "PROPER ACTIONS MAY BE TAKEN TO PREVENT SHAREWARE PIRACY. THANK YOU!"
PrintLn
PrintLn "@X0FDCM REGISTERED TO: " + STRING017
PrintLn
PrintLn "@X0EDCM can be found on The Fourth Dimension BBS at 312-284-7133."
PrintLn
Wait
Return
:LABEL013
STRING004 = ""
InputStr "", STRING004, CurColor(), 8, Mask_AlNum(), 1
If (S2I(STRING004, 10) <> 29736618) Return
FCreate 1, PPEPath() + "DCM_PPE.INF", 1, 0
FPutLn 1, "PCBOARD.SYS"
FClose 1
BOOLEAN002 = 0
Return
:LABEL014
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Else
PrintLn
Endif
DispFile PPEPath() + "DCMHLP", 4 + 2 + 1
Wait
Return
:LABEL015
If (BOOLEAN001) Then
Color 1
If (GrafMode() == "R") Print "!|*"
Cls
Else
PrintLn
Endif
PrintLn STRING007 + "@POFF@┌─────────────────────────────────────────────────────────────────────────────" + STRING008 + "┐@X01"
Print STRING007 + "│"
If (BOOLEAN002) Then
If (INTEGER005 <> 999) Then
STRING019 = RTrim(Mid(ReadLine(PPEPath() + "NETS.DCM", INTEGER005), 41, 60), "·")
Else
STRING019 = STRING016
Endif
STRING019 = STRING006 + "@POS:" + String((80 - Len(STRING019)) / 2) + "@" + STRING019
Print STRING019
Else
Print STRING019
Endif
PrintLn "@POS:79@" + STRING008 + "│@X01"
PrintLn STRING007 + "└" + STRING008 + "─────────────────────────────────────────────────────────────────────────────┘@X01"
PrintLn
Return
Endif
:LABEL016
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 Cls
; 5 Wait
; 6 Color
; 103 Goto
; 66 Let
; 9 Print
; 35 PrintLn
; 58 If
; 3 DispFile
; 1 FCreate
; 2 FOpen
; 3 FClose
; 1 FPutLn
; 3 InputStr
; 7 Gosub
; 6 Return
; 3 Inc
; 1 Dec
; 1 GetToken
; 3 Join
; 2 FDefIn
; 2 FDGet
; 1 Flag
;
;
; ■ Functions used :
;
; 1 *
; 2 /
; 214 +
; 4 -
; 20 ==
; 23 <>
; 2 <
; 2 <=
; 2 >
; 3 >=
; 46 !
; 4 &&
; 2 ||
; 4 Len(
; 28 Upper()
; 2 Mid()
; 12 Left()
; 1 Right()
; 2 Ferr()
; 24 Chr()
; 1 Asc()
; 16 InStr()
; 1 RTrim()
; 4 String()
; 3 Mask_AlNum()
; 14 PPEPath()
; 5 ReadLine()
; 1 CurSec()
; 2 GetToken()
; 2 Exist()
; 12 S2I()
; 6 GrafMode()
; 3 CurColor()
; 13 ReplaceStr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : f
;
; f - Flag files for download ■ 3
; This may be normal if a PPE needs to send some files, but since
; this statement allows flagging of any file on the hard disk, you
; have to be carefull. Check!
; ■ Search for : FLAG
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 2 While/EndWhile
; 29 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------