home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
PEPSTER.ZIP
/
LISTER.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-01
|
8KB
|
390 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
Boolean BOOLEAN004
Boolean BOOLEAN005
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(250)
String TSTRING008(250)
String TSTRING009(250)
String TSTRING010(250)
String TSTRING011(250)
String STRING012
String STRING013
String STRING014
String STRING015
String TSTRING016(250)
String STRING017
String STRING018
String STRING019
String STRING020
;------------------------------------------------------------------------------
BOOLEAN001 = 0
BOOLEAN002 = 0
BOOLEAN003 = 0
BOOLEAN005 = 0
BOOLEAN004 = 0
INTEGER003 = 0
INTEGER004 = 6
STRING015 = " "
:LABEL001
If (BOOLEAN004) Goto LABEL002
Gosub LABEL003
Goto LABEL001
:LABEL002
End
:LABEL003
Cls
STRING015 = " "
DispFile PPEPath() + "MENU2G", 2 + 1 + 4
InputStr "Enter A, V, Q, or L ", STRING015, 11, 1, "AVQL", 8 + 4 + 2 + 64
Select Case (STRING015)
Case "A"
Gosub LABEL014
If (CurSec() >= SysopSec()) Then
Gosub LABEL009
BOOLEAN001 = 1
Else
If (BOOLEAN001) Goto LABEL004
Gosub LABEL009
Goto LABEL005
:LABEL004
If (BOOLEAN001) Then
Gosub LABEL019
Endif
Endif
:LABEL005
Case "V"
Gosub LABEL006
Case "Q"
BOOLEAN004 = 1
Case "L"
DispFile PPEPath() + "GOODBYEG", 2 + 1 + 4
Bye
End Select
Return
:LABEL006
Cls
InputStr "Enter Area Code to search ", STRING018, 11, 3, "1234567890", 2 + 4 + 64
FOpen 1, PPEPath() + "BBS", 0, 2
Frewind 1
Cls
PrintLn "@X0AHere are the BBSes in the ", "@X0B" + STRING018, "@X0A area code.@X07"
Newline
:LABEL007
If (Ferr(1)) Goto LABEL008
FGet 1, STRING001
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING005
FGet 1, STRING004
FGet 1, STRING006
STRING019 = Left(STRING002, 4)
STRING019 = LTrim(STRING019, "(")
If (STRING018 == STRING019) Then
Print "@X0F" + STRING001
Print " "
Print "@X0B" + STRING002
Print " "
PrintLn "@X0A" + STRING003
Endif
Goto LABEL007
:LABEL008
FClose 1
Newline
PrintLn "Press @X0BSPACE @X0Ato return to @X8CMAIN MENU@X07 "
While (STRING020 <> Chr(32)) Do
STRING020 = Inkey()
EndWhile
STRING020 = Chr(13)
Return
:LABEL009
Cls
INTEGER003 = 0
INTEGER001 = 0
STRING015 = ""
Gosub LABEL014
INTEGER003 = INTEGER003 + 1
INTEGER002 = INTEGER003
Gosub LABEL016
Gosub LABEL017
Gosub LABEL018
Gosub LABEL021
Gosub LABEL019
If (STRING015 == "A") Then
INTEGER003 = INTEGER003 - 1
INTEGER002 = 0
Endif
Return
:LABEL010
FCreate 4, PPEPath() + "GOODBYEG", 1, 0
FPutLn 4, "@CLS@@X70╒@X7F════════════════════════════════════════════════════════════════════════════╗@X07"
FPutLn 4, "@X70│ @X74BBS LISTER 1.00 @X7F║@X07"
FPutLn 4, "@X70│ @X7F║@X07"
FPutLn 4, "@X70│ @X71Bulletin Board @X7FTelephone @X74Sysop's @X70Date @X7F║@X07"
FPutLn 4, "@X70│ @X71Name @X7F Number @X74Name @X70Posted @X7F║@X07"
FPutLn 4, "@X70│ @X7F║@X07"
FCreate 6, PPEPath() + "SYSOPG", 1, 0
For INTEGER001 = 1 To INTEGER003
If (TSTRING008(INTEGER001) == "Y") Then
FPut 6, "@X70│@X71 "
FPutPad 6, TSTRING009(INTEGER001), -20
FPutPad 6, TSTRING010(INTEGER001), -17
FPutPad 6, TSTRING011(INTEGER001), -23
FPutPad 6, TSTRING016(INTEGER001), -15
FPutLn 6, "@X7F║@X07"
Endif
Next
FClose 6
FOpen 2, PPEPath() + "SYSOPG", 0, 2
Frewind 2
FGet 2, STRING017
:LABEL011
If (Ferr(2)) Goto LABEL012
FPutLn 4, STRING017
FGet 2, STRING017
Goto LABEL011
:LABEL012
FClose 2
FPutLn 4, "@X70│ @X7F║@X07"
FPutLn 4, "@X70│ @X71PEPSTER'S PLACE (313) 421-9145 SYSOP : JOHN PEPP (AUTHOR OF BBS LISTER) @X7F║@X07"
FPutLn 4, "@X70└────────────────────────────────────────────────────────────────────────────╜@X07"
FClose 4
Return
:LABEL013
FCreate 1, PPEPath() + "BBS", 1, 0
For INTEGER001 = 1 To INTEGER003
FPutLn 1, TSTRING009(INTEGER001)
FPutLn 1, TSTRING010(INTEGER001)
FPutLn 1, TSTRING011(INTEGER001)
FPutLn 1, TSTRING016(INTEGER001)
FPutLn 1, TSTRING007(INTEGER001)
FPutLn 1, TSTRING008(INTEGER001)
Next
FClose 1
FCreate 2, PPEPath() + "TOTAL", 1, 0
FPutLn 2, INTEGER003
FClose 2
Return
:LABEL014
FOpen 3, PPEPath() + "TOTAL", 0, 2
Frewind 3
If (Ferr(3)) Then
SPrintLn "Error, File Doesn't Exist"
INTEGER003 = 0
Else
If (Ferr(3)) Goto LABEL015
FGet 3, INTEGER003
:LABEL015
If (INTEGER003 >= INTEGER004) Then
BOOLEAN003 = 1
Endif
FOpen 1, PPEPath() + "BBS", 0, 2
Frewind 1
For INTEGER001 = 1 To INTEGER003
FGet 1, TSTRING009(INTEGER001)
FGet 1, TSTRING010(INTEGER001)
FGet 1, TSTRING011(INTEGER001)
FGet 1, TSTRING016(INTEGER001)
FGet 1, TSTRING007(INTEGER001)
FGet 1, TSTRING008(INTEGER001)
If (U_Name() == TSTRING007(INTEGER001)) Then
BOOLEAN001 = 1
INTEGER002 = INTEGER001
Endif
Next
FClose 1
Endif
FClose 3
Return
:LABEL016
InputStr "Enter BBS Name : ", STRING001, 11, 20, Mask_Ascii(), 2 + 4 + 64
TSTRING009(INTEGER002) = STRING001
Return
:LABEL017
InputStr "Enter BBS Sysop's Name : ", STRING003, 11, 20, Mask_Ascii(), 2 + 4 + 64
TSTRING011(INTEGER002) = STRING003
TSTRING007(INTEGER002) = U_Name()
Return
:LABEL018
Cls
PrintLn "@X0FPlease Enter BBS Telephone Number."
Newlines 5
InputStr "Area Code", STRING012, 11, 3, "1234567890", 2 + 4 + 64
InputStr "Prefix", STRING013, 11, 3, "1234567890", 2 + 4 + 64
InputStr "Suffix", STRING014, 11, 4, "1234567890", 2 + 4 + 64
TSTRING010(INTEGER002) = "(" + STRING012 + ") " + STRING013 + "-" + STRING014
TSTRING016(INTEGER002) = Date()
Return
:LABEL019
If (BOOLEAN005) Goto LABEL020
Cls
PrintLn "@X0AThe Edit Menu "
Newlines 2
PrintLn "@X0BBBS (@X0DN@X0B)ame @X0F| @X07", "@X0A" + TSTRING009(INTEGER002)
PrintLn "@X0BBBS (@X0DT@X0B)elephone Number of BBS @X0F| @X07", "@X0A" + TSTRING010(INTEGER002)
PrintLn "@X0BBBS S(@X0DY@X0B)sop @X0F| @X07", "@X0A" + TSTRING011(INTEGER002)
PrintLn "@X0BLog(@X0DO@X0B)ff Screen (Y/N) @X0F| @X07", "@X0A" + TSTRING008(INTEGER002)
PrintLn
PrintLn "@X0A(@X0CS@X0A)ave Changes@X07"
PrintLn "@X0A(@X0CA@X0A)bort Changes@X07 "
Newline
STRING015 = " "
InputStr "Enter N, T, Y, O, S, or A ", STRING015, 11, 1, "NTYOSA", 8 + 2 + 4 + 64
Select Case (STRING015)
Case "A"
Cls
PrintLn "@X8CAborting and Returning to Menu@X07"
STRING001 = ""
STRING003 = ""
STRING012 = ""
STRING013 = ""
STRING014 = ""
Return
Case "N"
Gosub LABEL016
Case "T"
Gosub LABEL018
Case "Y"
Gosub LABEL017
Case "O"
Gosub LABEL021
Case "S"
Cls
Gosub LABEL013
Gosub LABEL010
BOOLEAN005 = 1
End Select
Goto LABEL019
:LABEL020
BOOLEAN005 = 0
Return
:LABEL021
Cls
If (CurSec() > 20) Then
InputStr "Do you want you bbs to show up on Goodbye Screen (Y/N)", TSTRING008(INTEGER002), 14, 1, "", 8192 + 16384
Else
PrintLn "@X0CIf you wish to have a Logoff Listing on @BOARDNAME@@X07"
PrintLn "@X0CPlease Leave a Private Message to the Sysop "
PrintLn "@X0A-OR-@X07"
PrintLn "@X0FRent A Line for $5.00@X07"
PrintLn "@X0BMake check/money order (Do Not Send Cash!) to : "
PrintLn "John Pepp "
PrintLn "P.O. Box 51171 "
PrintLn "Livonia, Mi 48151@X07"
Delay 18 * 7
TSTRING008(INTEGER002) = "N"
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 9 Cls
; 49 Goto
; 46 Let
; 4 Print
; 21 PrintLn
; 29 If
; 2 DispFile
; 4 FCreate
; 4 FOpen
; 8 FClose
; 15 FGet
; 1 FPut
; 18 FPutLn
; 4 FPutPad
; 9 InputStr
; 18 Gosub
; 12 Return
; 1 Delay
; 3 Newline
; 2 Newlines
; 1 Bye
; 1 SPrintLn
; 4 Frewind
;
;
; ■ Functions used :
;
; 4 -
; 1 *
; 50 +
; 1 -
; 14 ==
; 1 <>
; 3 <
; 3 <=
; 1 >
; 8 >=
; 29 !
; 6 &&
; 3 ||
; 1 Left()
; 4 Ferr()
; 2 Chr()
; 1 LTrim()
; 1 Date()
; 2 U_Name()
; 1 Inkey()
; 2 Mask_Ascii()
; 10 PPEPath()
; 1 SysopSec()
; 2 CurSec()
;
;------------------------------------------------------------------------------
;
; Analysis flags : s
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 1 While/EndWhile
; 9 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------