home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
TVIEW30.ZIP
/
TV.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-26
|
8KB
|
469 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
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
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
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
;------------------------------------------------------------------------------
STRING022 = "@X0BTextView v3.0 (c) Joseph Sheppard, The Ledge PCBoard (818) 896-4015"
Newline
GetToken STRING001
If (Exist(STRING001)) Then
Gosub LABEL001
Log "Executed TextView to Display " + STRING009, 0
If (Upper(Left(STRING010, 1)) == "Y") Gosub LABEL002
If (Exist(PPEPath() + "TV.KEY")) Gosub LABEL003
Gosub LABEL004
INTEGER003 = MinLeft()
If (Exist(STRING003 + "\TVHELLO")) DispFile STRING003 + "\TVHELLO", 2 + 1 + 4
GetUser
If (U_Sec == INTEGER001) Gosub LABEL005
Gosub LABEL007
Goto LABEL029
:LABEL001
FOpen 1, STRING001, 0, 0
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FGet 1, INTEGER001
FGet 1, INTEGER002
FGet 1, STRING005
FGet 1, STRING006
FGet 1, STRING007
FGet 1, STRING008
FGet 1, STRING009
FGet 1, STRING010
FGet 1, STRING011
FGet 1, STRING012
FClose 1
Return
Endif
Beep
Beep
Newline
PrintLn "@X0CThe Configuration File is Missing! Please Notify the Sysop!"
Newline
End
:LABEL002
PrintLn Chr(7) + "@X0E" + Mid(STRING010, 3, Len(STRING010) - 2)
InputStr "@X0A[@X0FY@X0A]es, [@X0FN@X0A]o, [@X0FG@X0A]oodbye", STRING013, 7, 1, Mask_Ascii(), 0
If (Upper(STRING013) == "Y") Return
If (Upper(STRING013) == "G") Goto LABEL028
End
:LABEL003
FOpen 1, PPEPath() + "TV.KEY", 0, 0
FGet 1, STRING014
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING017
FClose 1
STRING018 = Mid(STRING014, 4, 1)
STRING018 = String(Asc(STRING018) + 9)
STRING019 = Mid(STRING015, 2, 1)
STRING019 = String(Asc(STRING019) * 4)
STRING020 = Mid(STRING016, 3, 1)
STRING020 = String(Asc(STRING020) + 2)
STRING021 = STRING018 + STRING019 + STRING020
If (STRING021 == STRING017) BOOLEAN001 = 1
If (STRING021 <> STRING017) BOOLEAN001 = 0
Return
:LABEL004
PrintLn STRING022
If (BOOLEAN001) Newline
If (BOOLEAN001) PrintLn "@X0ERegistered to:@X0F " + STRING014 + " on " + STRING016
If (BOOLEAN001) PrintLn "@X0E Sysop: @X0F" + STRING015
If (!BOOLEAN001) PrintLn "@X0F[UNREGISTERED EVALUATION COPY]"
If (!BOOLEAN001) Newline
If (!BOOLEAN001) Delay 30
If (!BOOLEAN001) Wait
Return
:LABEL005
If (EvtTimeAdj()) Return
AdjTime INTEGER002
Newline
INTEGER007 = MinLeft()
PrintLn "@X0F" + String(INTEGER002) + " minutes have been added to your time while visiting " + STRING009
Newline
Return
:LABEL006
If (!EvtTimeAdj()) AdjTime -INTEGER002
Return
:LABEL007
While (STRING023 <> "Q") Do
GetToken STRING023
DefColor
Newline
Wait
DispFile STRING003 + "\TVMENU", 2 + 1 + 4
Newline
Print "@X0E(@X0C" + String(MinLeft()) + "@X0E min. left) "
Print "(1-" + STRING004 + ") "
If (Upper(STRING005) <> "N") Print "(D)ownload "
PrintLn "(S)earch (Q)uit (G)oodbye "
InputStr "@X0FCommand", STRING023, 7, 100, Mask_Ascii(), 256
Tokenize STRING023
Gosub LABEL008
EndWhile
Return
:LABEL008
While (Len(STRING023) > 0) Do
GetToken STRING023
If (STRING023 == "Q") Goto LABEL029
If (STRING023 == "QUIT") Goto LABEL029
If (STRING023 == "QU") Goto LABEL029
If (STRING023 == "G") Goto LABEL028
If (STRING023 == "GOODBYE") Goto LABEL028
If (STRING023 == "BYE") Goto LABEL028
If (STRING023 == "D") Gosub LABEL009
If (STRING023 == "S") Gosub LABEL015
If (STRING023 == STRING012) Gosub LABEL024
If (STRING023 == "NS") STRING023 = " "
If (STRING023 <> " ") Gosub LABEL027
EndWhile
Return
:LABEL009
STRING023 = ""
If (Upper(STRING005) == "N") Return
STRING023 = " "
If (STRING005 == "S") Goto LABEL013
Gosub LABEL010
InputStr "@X0FFile to Download ", STRING028, 7, 100, Mask_Ascii(), 256
If (STRING028 == "") Return
Gosub LABEL014
If (STRING028 == " ") Return
Download ""
Return
:LABEL010
FOpen 2, STRING003 + "\TVDIR", 0, 0
FGet 2, STRING029
PrintLn "@X06" + STRING029
FGet 2, STRING029
PrintLn "@X06" + STRING029
FGet 2, STRING029
PrintLn "@X06" + STRING029
:LABEL011
If (Ferr(2)) Goto LABEL012
FGet 2, STRING029
If (InStr(STRING029, "|") > 0) PrintLn "@X03" + Space(33) + Mid(STRING029, 34, 45)
If (Abort()) FClose 2
If (Abort()) Return
STRING030 = Mid(STRING029, 1, 12)
STRING031 = Mid(STRING029, 16, 7)
STRING032 = Mid(STRING029, 24, 8)
STRING033 = Mid(STRING029, 34, 45)
If (InStr(STRING029, "|") == 0) PrintLn "@X0E" + STRING030 + " @X0A" + STRING031 + " @X0C" + STRING032 + " @X0B" + STRING033
Goto LABEL011
:LABEL012
FClose 2
Return
:LABEL013
Flag STRING006
Download STRING006
Return
:LABEL014
If (Exist(STRING006 + "\" + STRING028)) Flag STRING006 + "\" + STRING028
If (!Exist(STRING006 + "\" + STRING028)) PrintLn "@X0C" + STRING028 + " Not Found!"
If (!Exist(STRING006 + "\" + STRING028)) STRING028 = " "
Return
:LABEL015
STRING023 = ""
STRING024 = ""
Newline
If (BOOLEAN001) Then
InputStr "@X0BEnter the Text to Scan for, (Enter) to Exit ", STRING026, 7, 100, Mask_Ascii(), 256
If (Len(STRING026) < 1) Return
Newline
InputStr "@X0BMenu item to search? (1-" + STRING004 + "), (A)ll, (Enter) to Exit ", STRING023, 7, Len(STRING004), Mask_Ascii(), 256
Tokenize STRING023
GetToken STRING023
If (STRING023 == "A") Gosub LABEL016
If (STRING023 == "") Return
If (STRING023 < 0) Goto LABEL025
If (STRING023 > STRING004) Goto LABEL025
Gosub LABEL026
Gosub LABEL017
STRING023 = ""
STRING023 = ""
Return
Endif
PrintLn "@X0CSorry, the SEARCH feature available in registered copies only."
Return
:LABEL016
INTEGER008 = 1
STRING023 = INTEGER008
While (INTEGER008 < STRING004 + 1) Do
STRING023 = INTEGER008
Gosub LABEL026
Gosub LABEL017
Inc INTEGER008
STRING023 = INTEGER008
If (INTEGER008 == STRING004) Return
EndWhile
Return
:LABEL017
BOOLEAN002 = 0
FOpen 1, STRING024, 0, 0
Newline
PrintLn "@X0ESearching menu item #", INTEGER005, "....."
Newline
FGet 1, STRING027
:LABEL018
If (Ferr(1)) Goto LABEL019
If (Abort()) FClose 1
If (Abort()) Return
If (InStr(Upper(STRING027), Upper(STRING026)) > 0) Gosub LABEL020
FGet 1, STRING027
Goto LABEL018
:LABEL019
FClose 1
If (!BOOLEAN002) PrintLn "@X0CThe requested text was not found in Menu Item #", INTEGER005, "@X07"
STRING023 = ""
STRING024 = ""
Return
:LABEL020
DefColor
FClose 1
Newline
BOOLEAN002 = 1
Print "@X0BThe Requested text has been found in Menu Item #", INTEGER005, ":"
DefColor
Newline
FOpen 1, STRING024, 0, 0
FGet 1, STRING027
:LABEL021
If (Ferr(1)) Goto LABEL022
INTEGER006 = 0
INTEGER006 = InStr(Upper(STRING027), Upper(STRING026))
If (InStr(Upper(STRING027), Upper(STRING026)) > 0) Gosub LABEL023
If (InStr(Upper(STRING027), Upper(STRING026)) < 1) PrintLn StripAtx(STRING027)
FGet 1, STRING027
Goto LABEL021
:LABEL022
FClose 1
STRING024 = ""
STRING023 = ""
Return
:LABEL023
Print StripAtx(Left(STRING027, INTEGER006 - 1))
Print "@X70" + Upper(STRING026)
DefColor
INTEGER009 = INTEGER006 + Len(STRING026)
INTEGER010 = Len(STRING027) - STRING026
PrintLn StripAtx(Mid(STRING027, INTEGER009, INTEGER010))
Return
:LABEL024
If (STRING012 == "NONE") Return
STRING012 = PPEPath() + STRING012
Shell 1, INTEGER004, STRING012, ""
If (!OnLocal()) Log "Shelled to " + STRING012, 1
STRING023 = " "
Return
:LABEL025
If (STRING023 == " ") Goto LABEL007
If (Len(STRING023) < 1) Goto LABEL007
Newline
Log STRING023 + " is an invalid command", 0
Beep
PrintLn Chr(7) + "@X0C[" + STRING023 + "] is an invalid command @FIRST@"
STRING023 = ""
Goto LABEL007
:LABEL026
If (Len(STRING023) < 1) Return
If (STRING023 == " ") Return
If (STRING008 == "DEFAULT") STRING024 = STRING003 + "\TV" + STRING023
If (STRING008 == "DEFAULT") Return
If (!BOOLEAN001) STRING024 = STRING003 + "\TV" + STRING023
If (!BOOLEAN001) Return
FOpen 1, STRING008, 0, 0
INTEGER005 = 0
While (STRING023 <> INTEGER005) Do
Inc INTEGER005
FGet 1, STRING024
EndWhile
FClose 1
Return
:LABEL027
If (STRING023 < 1) Goto LABEL025
If (STRING023 > STRING004) Goto LABEL025
STRING025 = TokenStr()
Tokenize STRING025
Gosub LABEL026
If (Len(STRING023) < 1) Return
If (STRING023 == " ") Return
PrintLn "@PON@"
If (InStr(STRING025, "NS")) PrintLn "@POFF@"
DispFile STRING024, 2 + 1 + 4
Log "Read File: " + STRING024, 0
STRING024 = " "
Return
:LABEL028
If (U_Sec == INTEGER001) Gosub LABEL006
If (Exist(STRING003 + "\TVBYE")) DispFile STRING003 + "\TVBYE", 2 + 1 + 4
KbdStuff "G"
End
:LABEL029
If (U_Sec == INTEGER001) Gosub LABEL006
Newline
If (Exist(STRING003 + "\TVBYE")) DispFile STRING003 + "\TVBYE", 2 + 1 + 4
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 2 Wait
; 32 Goto
; 46 Let
; 6 Print
; 22 PrintLn
; 80 If
; 5 DispFile
; 6 FOpen
; 9 FClose
; 26 FGet
; 1 GetUser
; 4 DefColor
; 2 AdjTime
; 4 Log
; 5 InputStr
; 23 Gosub
; 37 Return
; 1 Delay
; 2 Inc
; 17 Newline
; 3 Tokenize
; 4 GetToken
; 1 Shell
; 3 Beep
; 1 KbdStuff
; 2 Flag
; 2 Download
;
;
; ■ Functions used :
;
; 1 -
; 1 *
; 76 +
; 3 -
; 31 ==
; 5 <>
; 8 <
; 6 >
; 20 !
; 9 Len(
; 14 Upper()
; 10 Mid()
; 2 Left()
; 1 Space()
; 3 Ferr()
; 2 Chr()
; 3 Asc()
; 7 InStr()
; 4 Abort()
; 3 StripAtx()
; 5 String()
; 5 Mask_Ascii()
; 3 PPEPath()
; 1 OnLocal()
; 3 MinLeft()
; 8 Exist()
; 1 TokenStr()
; 2 EvtTimeAdj()
;
;------------------------------------------------------------------------------
;
; Analysis flags : ASf
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; 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
;
; 0 For/Next
; 4 While/EndWhile
; 2 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------