home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
THTMT212.ZIP
/
NUV.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-12-28
|
11KB
|
591 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 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
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
;------------------------------------------------------------------------------
FDefIn 1
FDefOut 1
STRING035 = ReadLine(PCBDat(), 2)
STRING035 = Strip(STRING035, ">")
STRING035 = Strip(STRING035, "<")
STRING035 = Strip(STRING035, "~")
STRING035 = Strip(STRING035, "!")
STRING035 = Strip(STRING035, "@")
STRING035 = Strip(STRING035, "#")
STRING035 = Strip(STRING035, "$")
STRING035 = Strip(STRING035, "%")
STRING035 = Strip(STRING035, "^")
STRING035 = Strip(STRING035, "&")
STRING035 = Strip(STRING035, "*")
STRING035 = Strip(STRING035, "(")
STRING035 = Strip(STRING035, ")")
STRING035 = Strip(STRING035, "+")
STRING035 = Strip(STRING035, "=")
STRING035 = Strip(STRING035, "\")
STRING035 = Strip(STRING035, "|")
STRING035 = Strip(STRING035, "]")
STRING035 = Strip(STRING035, "[")
STRING035 = Strip(STRING035, "}")
STRING035 = Strip(STRING035, "{")
STRING035 = Strip(STRING035, "'")
STRING035 = Strip(STRING035, ":")
STRING035 = Strip(STRING035, ";")
STRING035 = Strip(STRING035, "?")
STRING035 = Strip(STRING035, "/")
STRING035 = Strip(STRING035, ".")
STRING035 = Strip(STRING035, " ")
STRING035 = Right(STRING035, 2)
STRING038 = ReadLine(PCBDat(), 94)
STRING038 = Strip(STRING038, ">")
STRING038 = Strip(STRING038, "<")
STRING038 = Strip(STRING038, "~")
STRING038 = Strip(STRING038, "!")
STRING038 = Strip(STRING038, "@")
STRING038 = Strip(STRING038, "#")
STRING038 = Strip(STRING038, "$")
STRING038 = Strip(STRING038, "%")
STRING038 = Strip(STRING038, "^")
STRING038 = Strip(STRING038, "&")
STRING038 = Strip(STRING038, "*")
STRING038 = Strip(STRING038, "(")
STRING038 = Strip(STRING038, ")")
STRING038 = Strip(STRING038, "+")
STRING038 = Strip(STRING038, "=")
STRING038 = Strip(STRING038, "\")
STRING038 = Strip(STRING038, "|")
STRING038 = Strip(STRING038, "]")
STRING038 = Strip(STRING038, "[")
STRING038 = Strip(STRING038, "}")
STRING038 = Strip(STRING038, "{")
STRING038 = Strip(STRING038, "'")
STRING038 = Strip(STRING038, ":")
STRING038 = Strip(STRING038, ";")
STRING038 = Strip(STRING038, "?")
STRING038 = Strip(STRING038, "/")
STRING038 = Strip(STRING038, ".")
STRING038 = Strip(STRING038, " ")
STRING036 = STRING036 + Right(STRING038, 2)
STRING037 = STRING035 + STRING036 + "VU"
GetUser
FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
FDGet STRING030
FDGet STRING028
FDGet STRING022
FDGet STRING023
FDGet STRING024
FDGet STRING040
FDGet STRING041
FClose 1
If (STRING028 > CurSec()) Goto LABEL031
If (Exist(PPEPath() + "apps\waiting.app")) Then
STRING008 = "@X1E" + Chr(78) + Chr(101) + Chr(119) + " " + Chr(85) + Chr(115) + Chr(101) + Chr(114) + " " + Chr(86) + Chr(111) + Chr(116) + Chr(105) + Chr(110) + Chr(103) + " @X1Cv@X1F2@X1B.@X1F11@X9B" + " @X1C" + Chr(70) + Chr(114) + Chr(111) + Chr(109) + " @X1E" + Chr(77) + Chr(97) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + " " + Chr(66) + Chr(101) + Chr(116) + Chr(97) + " @X1B@ @X1C" + Chr(60) + Chr(60) + "@X1E" + Chr(84) + Chr(72) + Chr(84) + "@X1C" + Chr(62) + Chr(62) + "@X07"
If (STRING008 <> "@X1ENew User Voting @X1Cv@X1F2@X1B.@X1F11@X9B @X1CFrom @X1EMaster Beta @X1B@ @X1C<<@X1ETHT@X1C>>@X07") Goto LABEL031
:LABEL001
DefColor
STRING001 = 7
FClose 2
FClose 1
FOpen 1, PPEPath() + "apps\waiting.app", 0, 0
INTEGER003 = 0
:LABEL002
If (Ferr(1)) Goto LABEL006
STRING009 = ""
FDGet STRING006
If (STRING006 == "") Goto LABEL013
Tokenize STRING006
If (TokCount() == 3) Then
GetToken STRING019
GetToken STRING020
GetToken STRING026
STRING019 = Left(STRING019, 3)
STRING020 = Right(STRING026, 4)
STRING019 = Trim(STRING019, " ")
STRING020 = Trim(STRING020, " ")
Goto LABEL003
Endif
If (TokCount() == 2) Then
GetToken STRING019
GetToken STRING020
STRING019 = Left(STRING019, 3)
STRING020 = Right(STRING020, 4)
STRING019 = Trim(STRING019, " ")
STRING020 = Trim(STRING020, " ")
Goto LABEL003
Endif
If (TokCount() == 1) Then
GetToken STRING019
GetToken STRING020
STRING019 = Trim(STRING019, " ")
STRING020 = Trim(STRING020, " ")
STRING019 = Left(STRING019, 3)
Endif
:LABEL003
STRING029 = ReadLine(PPEPath() + "apps\" + STRING019 + "_" + STRING020 + ".GRP", 1)
If (Exist(PPEPath() + "apps\" + STRING019 + "_" + STRING020 + ".vot")) Goto LABEL004
FCreate 3, PPEPath() + "apps\" + STRING019 + "_" + STRING020 + ".vot", 1, 0
FClose 3
:LABEL004
Gosub LABEL009
If (!Exist(PPEPath() + "apps\" + STRING019 + "_" + STRING020 + ".1")) STRING009 = YesChar()
If (STRING006 == U_Name()) STRING009 = YesChar()
If (STRING009 == "") Then
Inc STRING001
Inc INTEGER003
If (INTEGER003 == 1) Gosub LABEL007
Gosub LABEL008
FClose 2
Goto LABEL005
Endif
FClose 2
:LABEL005
Goto LABEL002
:LABEL006
Goto LABEL013
:LABEL007
Cls
AnsiPos 6, 1
PrintLn "@POS:18@" + STRING008
AnsiPos 9, 2
PrintLn "@X0EUse Cursor Keys to move the @X74HighLighted Bar@X0E or @X0C""@X09A@X0C""@X0F,@X0C ""@X09Z@X0C""@X0E or @X0FSpaceBar@X0
AnsiPos 35, 3
PrintLn "@X8FENTER@X07 key @X0Fto @X07Select"
AnsiPos 6, 4
PrintLn "@POS:13@@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07▄"
AnsiPos 6, 5
PrintLn "@POS:13@@X0F█@X71 UserName/Handle Location/Group @X08█"
AnsiPos 6, 6
PrintLn "@POS:13@@X0F█@X71─────────────────────────────┬─────────────────────────────@X08█"
AnsiPos 6, 7
PrintLn "@POS:13@@X0F█@X71 │ @X08█"
Return
:LABEL008
AnsiPos 6, STRING001
PrintLn "@POS:13@@X0F█@X71 " + STRING006 + "@POS:43@│ " + STRING029 + "@POS:73@@X08█"
Return
:LABEL009
FOpen 2, PPEPath() + "apps\" + STRING019 + "_" + STRING020 + ".vot", 0, 0
:LABEL010
If (Ferr(2)) Goto LABEL011
FGet 2, STRING014
If (STRING014 == " ") Goto LABEL012
Tokenize STRING014
If (TokCount() == 4) Then
GetToken STRING015
GetToken STRING016
GetToken STRING017
If (U_Name() == STRING015 + " " + STRING016 + " " + STRING017) Then
STRING009 = YesChar()
FClose 2
Return
Endif
Endif
If (TokCount() == 3) Then
GetToken STRING015
GetToken STRING016
If (U_Name() == STRING015 + " " + STRING016) Then
STRING009 = YesChar()
FClose 2
Endif
Endif
If (TokCount() == 2) Then
GetToken STRING015
If (U_Name() == STRING015) Then
STRING009 = YesChar()
FClose 2
Endif
Endif
Goto LABEL010
:LABEL011
Return
:LABEL012
Return
:LABEL013
If ((INTEGER003 == 0) && (STRING030 == S2I(STRING037, 33))) Then
Goto LABEL031
Endif
If ((INTEGER003 == 0) && (STRING030 <> S2I(STRING037, 33))) Then
Gosub LABEL007
Endif
Inc STRING001
AnsiPos 6, STRING001
PrintLn "@POS:13@@X0F█@X71 Quit New User Voting. │ @X08█"
Inc STRING001
AnsiPos 6, STRING001
PrintLn "@POS:13@@X07▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
FClose 1
If (STRING030 == S2I(STRING037, 33)) Goto LABEL014
STRING039 = "@X0C" + Chr(60) + Chr(60) + Chr(60) + "@X0C" + Chr(85) + Chr(110) + Chr(82) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + "@X0C" + Chr(62) + Chr(62) + Chr(62)
If (STRING039 <> "@X0C<<<@X0CUnRegistered@X0C>>>") Goto LABEL031
AnsiPos 48, 7
Print STRING039
:LABEL014
Inc STRING001
AnsiPos 6, STRING001
STRING027 = ""
STRING021 = GetY()
STRING001 = STRING021 - 2
KbdStuff Chr(32)
:LABEL015
If (BOOLEAN001) Goto LABEL017
STRING010 = Inkey()
If (STRING010 == Chr(13)) Then
STRING002 = RTrim(ScrText(18, STRING001 + 1, 25, 0), " ")
If (STRING002 == "Quit New User Voting.") Goto LABEL031
STRING013 = STRING002
Goto LABEL018
Endif
If (((((((((STRING010 == Chr(32)) || (STRING010 == "UP")) || (STRING010 == "DOWN")) || (STRING010 == "LEFT")) || (STRING010 == "RIGHT")) || (STRING010 == "A")) || (STRING010 == "a")) || (STRING010 == "Z")) || (STRING010 == "z")) Then
AnsiPos 18, STRING001
If (STRING003 == STRING021 - 2) Then
Print STRING027
AnsiPos 18, STRING001
Goto LABEL016
Endif
AnsiPos 18, STRING001 + 1
Print STRING027
:LABEL016
If (STRING001 == 7) STRING001 = STRING001 + INTEGER003 + 1
AnsiPos 18, STRING001
STRING027 = ScrText(18, STRING001, 25, 1)
Color 78
Print RTrim(ScrText(18, STRING001, 25, 0), " ")
Dec STRING001
Endif
Goto LABEL015
:LABEL017
:LABEL018
STRING012 = 1
STRING011 = 6
Inc STRING001
Tokenize STRING013
If (TokCount() == 3) Then
GetToken STRING003
GetToken STRING004
GetToken STRING005
STRING003 = Left(STRING003, 3)
STRING004 = Right(STRING005, 4)
STRING003 = Trim(STRING003, " ")
STRING004 = Trim(STRING004, " ")
Goto LABEL019
Endif
GetToken STRING003
GetToken STRING004
STRING003 = Left(STRING003, 3)
STRING004 = Right(STRING004, 4)
STRING003 = Trim(STRING003, " ")
STRING004 = Trim(STRING004, " ")
:LABEL019
FOpen 1, PPEPath() + "tht-info.cfg", 0, 0
FGet 1, STRING031
INTEGER004 = STRING031
FClose 1
STRING033 = 0
DefColor
Cls
AnsiPos 2, 3
PrintLn "@X0EUse Cursor Keys to move the @X74HighLighted Bar@X0E or @X0C""@X09A@X0C""@X0F,@X0C ""@X09Z@X0C""@X0E or @X0FSpaceBar@X0
AnsiPos 24, 4
PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07▄@X07"
AnsiPos 24, 5
PrintLn "@X0F█@X71 @X08█@X07"
For STRING034 = 1 To STRING031
If ((STRING040 == STRING034) && (U_Sec < STRING041)) Then
Goto LABEL020
Goto LABEL020
Endif
If (Exist(PPEPath() + "apps\" + STRING003 + "_" + STRING004 + "." + STRING034)) Then
AnsiPos 24, STRING011
PrintLn "@X0F█@X71" + " View Users InfoForm " + STRING012 + " @X08█@X07"
Inc STRING011
Inc STRING033
Endif
:LABEL020
Inc STRING012
Next
STRING031 = STRING033
AnsiPos 24, STRING011
PrintLn "@X0F█@X71 Quit Infoform Viewing @X08█@X07"
Inc STRING011
AnsiPos 24, STRING011
PrintLn "@X07▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
STRING021 = GetY()
INTEGER002 = 6
STRING027 = ""
KbdStuff Chr(32)
If (STRING033 == 1) KbdStuff Chr(13)
:LABEL021
If (BOOLEAN001) Goto LABEL023
STRING010 = Inkey()
If (STRING010 == Chr(13)) Then
STRING032 = Left(ScrText(27, INTEGER002 + 1, 21, 0), 1)
STRING032 = STRING032 + Right(ScrText(27, INTEGER002 + 1, 21, 0), 1)
STRING032 = Right(STRING032, 1)
Goto LABEL023
Endif
If (((((((((STRING010 == Chr(32)) || (STRING010 == "UP")) || (STRING010 == "DOWN")) || (STRING010 == "LEFT")) || (STRING010 == "RIGHT")) || (STRING010 == "z")) || (STRING010 == "Z")) || (STRING010 == "a")) || (STRING010 == "A")) Then
AnsiPos 27, STRING003
If (INTEGER002 == STRING021 - STRING033 + 1) Then
Print STRING027
Goto LABEL022
Endif
AnsiPos 27, INTEGER002 + 1
Print STRING027
:LABEL022
AnsiPos 27, INTEGER002
If (INTEGER002 == 5) INTEGER002 = INTEGER002 + STRING033 + 1
AnsiPos 27, INTEGER002
STRING027 = ScrText(27, INTEGER002, 21, 1) + "@X08"
Color 78
AnsiPos 27, INTEGER002
Print ScrText(27, INTEGER002, 21, 0) + "@X08"
Dec INTEGER002
Endif
Goto LABEL021
:LABEL023
If (STRING032 == "g") Goto LABEL001
Cls
StartDisp 1
DispFile PPEPath() + "tht-info." + STRING032, 0
FOpen 1, PPEPath() + "apps\" + STRING003 + "_" + STRING004 + "." + STRING032, 0, 0
FDGet STRING014
FDGet STRING014
FDGet STRING014
FDGet STRING014
FDGet STRING014
FDGet STRING014
FClose 2
FOpen 2, PPEPath() + "infocfg." + STRING032, 0, 0
FGet 2, STRING007
FGet 2, STRING007
:LABEL024
If (Ferr(1)) Goto LABEL025
FGet 2, STRING007
Tokenize STRING007
GetToken INTEGER001
GetToken INTEGER002
FDGet STRING018
AnsiPos INTEGER001, INTEGER002
PrintLn STRING018
Goto LABEL024
:LABEL025
FClose 1
FClose 2
:LABEL026
AnsiPos 6, 23
InputStr "@X0EVoting is either ""Y""es or ""N""o or ""U""ndecided _", STRING002, "", 1, "YNU", 4 + 2 + 8
If (STRING002 == "") Then
Goto LABEL026
Endif
If (STRING002 <> "U") Goto LABEL027
If (STRING002 == "U") Then
Goto LABEL028
Endif
:LABEL027
FClose 1
FAppend 1, PPEPath() + "apps\" + STRING003 + "_" + STRING004 + ".vot", 2, 0
FPutLn 1, U_Name() + " " + STRING002
FClose 1
:LABEL028
Cls
AnsiPos 6, 3
If (Exist(PPEPath() + "apps\" + STRING003 + "_" + STRING004 + ".cmt")) Goto LABEL029
PrintLn STRING023
FreshLine
Wait
Goto LABEL030
:LABEL029
AnsiPos 6, 4
InputYN STRING022, STRING025, ""
If (STRING025 == YesChar()) Then
FreshLine
DispFile PPEPath() + "apps\" + STRING003 + "_" + STRING004 + ".cmt", 0
Endif
FreshLine
Wait
:LABEL030
If ((STRING002 == "U") && (STRING033 > 1)) Goto LABEL018
If ((STRING002 == "U") && (STRING033 == 1)) Goto LABEL001
Cls
AnsiPos 6, 5
STRING025 = ""
InputYN STRING024, STRING025, ""
If (STRING025 == YesChar()) Then
AnsiPos 6, 6
STRING002 = ""
InputStr "@X0C>_", STRING002, "", 58, Mask_Ascii(), 4 + 2
If (STRING002 == "") Goto LABEL001
FAppend 1, PPEPath() + "apps\" + STRING003 + "_" + STRING004 + ".cmt", 1, 0
FDPutLn "@X0C" + U_Name() + "@X09 >@X0F " + STRING002 + Chr(13) + Chr(10)
Endif
FClose 1
Goto LABEL001
Endif
:LABEL031
BOOLEAN001 = 1
DefColor
Cls
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 6 Cls
; 2 Wait
; 2 Color
; 69 Goto
; 118 Let
; 7 Print
; 18 PrintLn
; 52 If
; 2 DispFile
; 1 FCreate
; 6 FOpen
; 2 FAppend
; 17 FClose
; 5 FGet
; 1 FPutLn
; 1 StartDisp
; 1 GetUser
; 3 DefColor
; 2 InputStr
; 2 InputYN
; 4 Gosub
; 5 Return
; 10 Inc
; 2 Dec
; 4 Tokenize
; 20 GetToken
; 3 KbdStuff
; 33 AnsiPos
; 3 FreshLine
; 1 FDefIn
; 1 FDefOut
; 15 FDGet
; 1 FDPutLn
;
;
; ■ Functions used :
;
; 171 +
; 3 -
; 55 ==
; 4 <>
; 2 <
; 1 <=
; 2 >
; 2 >=
; 36 !
; 7 &&
; 17 ||
; 6 Left()
; 8 Right()
; 3 Ferr()
; 61 Chr()
; 2 RTrim()
; 10 Trim()
; 6 U_Name()
; 7 YesChar()
; 56 Strip()
; 2 Inkey()
; 1 Mask_Ascii()
; 2 PCBDat()
; 17 PPEPath()
; 3 ReadLine()
; 1 CurSec()
; 5 Exist()
; 3 S2I()
; 2 GetY()
; 1 PPEName()
; 7 TokCount()
; 7 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; 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
;
; 1 For/Next
; 0 While/EndWhile
; 26 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------