home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
VRAC
/
CW_PPP10.ZIP
/
USERNEWS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-09-09
|
13KB
|
611 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Date DATE001
Date DATE002
Date DATE003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
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
;------------------------------------------------------------------------------
GetUser
STRING014 = U_Name()
DATE001 = Date()
STRING013 = "1.0"
INTEGER007 = 36
INTEGER004 = 51818
STRING027 = "@X"
If (Exist(PPEPath() + "USERNEWS.CNF")) Then
FOpen 1, PPEPath() + "USERNEWS.CNF", 0, 0
FGet 1, STRING001
FGet 1, INTEGER005
FGet 1, INTEGER003
FGet 1, STRING016
FClose 1
Else
PrintLn "@X0CError - Config file not found - Please notify SysOp"
End
Endif
Tokenize STRING001
GetToken STRING010
GetToken STRING011
If (INTEGER005 == 0) Then
STRING012 = "N"
Goto LABEL002
Else
Goto LABEL001
Endif
Cls
PrintLn
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X0D"
PrintLn " @X50│ @X5AUser News! v", STRING013, " @X5D│@X0D"
PrintLn " @X50│ @X5D│@X0D"
If (STRING012 == "N") Then
PrintLn " @X50│ @X51UNREGISTERED @X5D│@X07"
PrintLn " @X50│ @X5D│@X0D"
PrintLn " @X50│ @X5BRegistration is only $10 @X5D│@X07"
PrintLn " @X50│@X5BPlease help support shareware.@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
Delay 125
Else
PrintLn " @X50│ @X5BReg # ", STRING005, " @POS:55@@X5D│@X07"
PrintLn " @X50│@X5B", STRING002, STRING001, "@POS:55@@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
PrintLn
Wait
Endif
Bye
:LABEL001
STRING007 = Left(STRING010, 1)
STRING008 = Left(STRING011, 2)
STRING009 = STRING007 + STRING008
If (STRING007 == "A") INTEGER006 = 1934
If (STRING007 == "B") INTEGER006 = 2859
If (STRING007 == "C") INTEGER006 = 3743
If (STRING007 == "D") INTEGER006 = 4660
If (STRING007 == "E") INTEGER006 = 5534
If (STRING007 == "F") INTEGER006 = 6471
If (STRING007 == "G") INTEGER006 = 7325
If (STRING007 == "H") INTEGER006 = 8287
If (STRING007 == "I") INTEGER006 = 9119
If (STRING007 == "J") INTEGER006 = 1096
If (STRING007 == "K") INTEGER006 = 2928
If (STRING007 == "L") INTEGER006 = 3885
If (STRING007 == "M") INTEGER006 = 4737
If (STRING007 == "N") INTEGER006 = 5674
If (STRING007 == "O") INTEGER006 = 6546
If (STRING007 == "P") INTEGER006 = 7463
If (STRING007 == "Q") INTEGER006 = 8355
If (STRING007 == "R") INTEGER006 = 9242
If (STRING007 == "S") INTEGER006 = 1164
If (STRING007 == "T") INTEGER006 = 2031
If (STRING007 == "U") INTEGER006 = 3973
If (STRING007 == "V") INTEGER006 = 4820
If (STRING007 == "W") INTEGER006 = 5782
If (STRING007 == "X") INTEGER006 = 6619
If (STRING007 == "Y") INTEGER006 = 7591
If (STRING007 == "Z") INTEGER006 = 8408
INTEGER002 = S2I(STRING009, INTEGER007) + INTEGER005 + INTEGER004 + INTEGER006
If (INTEGER003 == INTEGER002) Then
If (Len(INTEGER005) == 1) STRING003 = "000"
If (Len(INTEGER005) == 2) STRING003 = "00"
If (Len(INTEGER005) == 3) STRING003 = "0"
If (Len(INTEGER005) == 4) STRING003 = ""
STRING004 = INTEGER005
STRING005 = STRING003 + STRING004
If (Len(STRING001) == 30) STRING002 = ""
If (Len(STRING001) == 29) STRING002 = ""
If (Len(STRING001) == 28) STRING002 = " "
If (Len(STRING001) == 27) STRING002 = " "
If (Len(STRING001) == 26) STRING002 = " "
If (Len(STRING001) == 25) STRING002 = " "
If (Len(STRING001) == 24) STRING002 = " "
If (Len(STRING001) == 23) STRING002 = " "
If (Len(STRING001) == 22) STRING002 = " "
If (Len(STRING001) == 21) STRING002 = " "
If (Len(STRING001) == 20) STRING002 = " "
If (Len(STRING001) == 19) STRING002 = " "
If (Len(STRING001) == 18) STRING002 = " "
If (Len(STRING001) == 17) STRING002 = " "
If (Len(STRING001) == 16) STRING002 = " "
If (Len(STRING001) == 15) STRING002 = " "
If (Len(STRING001) == 14) STRING002 = " "
If (Len(STRING001) == 13) STRING002 = " "
If (Len(STRING001) == 12) STRING002 = " "
If (Len(STRING001) == 11) STRING002 = " "
If (Len(STRING001) == 10) STRING002 = " "
If (Len(STRING001) == 9) STRING002 = " "
If (Len(STRING001) == 8) STRING002 = " "
If (Len(STRING001) == 7) STRING002 = " "
If (Len(STRING001) == 6) STRING002 = " "
If (Len(STRING001) == 5) STRING002 = " "
:LABEL002
Cls
PrintLn
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X0D"
PrintLn " @X50│ @X5AUser News! v", STRING013, " @X5D│@X0D"
PrintLn " @X50│ @X5D│@X0D"
If (STRING012 == "N") Then
PrintLn " @X50│ @X51UNREGISTERED @X5D│@X07"
PrintLn " @X50│ @X5D│@X0D"
PrintLn " @X50│ @X5BRegistration is only $10 @X5D│@X07"
PrintLn " @X50│@X5BPlease help support shareware.@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
Delay 125
Goto LABEL003
Endif
PrintLn " @X50│ @X5BReg # ", STRING005, " @POS:55@@X5D│@X07"
PrintLn " @X50│@X5B", STRING002, STRING001, "@POS:55@@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
PrintLn
Wait
:LABEL003
INTEGER008 = 0
STRING017 = "@CLS@"
STRING018 = "==============================================================================="
STRING020 = "==============================================================================="
STRING025 = "@MORE@"
StartDisp 2
Cls
PrintLn " @X5D┌────────────────────────────────────────────────────────────────────────────@X50┐@X07"
PrintLn " @X5D│ @X50│@X07"
PrintLn " @X5D│ @X51User News! - Main Menu @X50│@X07"
PrintLn " @X5D│ @X50│@X07"
PrintLn " @X5D│ @X51A @X5FAdd To News @X51S @X5FSearch News @X51G @X5FGoodbye @X50│@X07"
PrintLn " @X5D│ @X50│@X07"
PrintLn " @X5D│ @X51V @X5FView News @X51D @X5FDate Search @X51Q @X5FQuit To BBS @X50│@X07"
PrintLn " @X5D│ @X50│@X07"
PrintLn " @X5D└@X50────────────────────────────────────────────────────────────────────────────┘@X07"
STRING006 = ""
InputStr "Select: ", STRING006, 11, 1, Mask_Ascii(), 2 + 128 + 8
If (STRING006 == "A") Goto LABEL011
If (STRING006 == "V") Goto LABEL004
If (STRING006 == "S") Goto LABEL007
If (STRING006 == "D") Goto LABEL009
If (STRING006 == "Q") Goto LABEL014
If (STRING006 == "G") Goto LABEL016
If (STRING006 == "") Goto LABEL014
Goto LABEL003
:LABEL004
If (Exist(STRING016)) Then
FOpen 1, STRING016, 0, 0
Goto LABEL005
Endif
Cls
PrintLn "@X0BThere is no News listing at this time."
PrintLn
Wait
Goto LABEL003
:LABEL005
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FGet 1, STRING024
FGet 1, STRING025
If (STRING017 == "") Then
FClose 1
Goto LABEL003
Goto LABEL006
Endif
Color 10
PrintLn STRING017
PrintLn STRING018
Color 15
PrintLn STRING019
Color 10
PrintLn STRING020
Color 11
PrintLn STRING021
PrintLn STRING022
PrintLn STRING023
PrintLn STRING024
PrintLn STRING025
:LABEL006
Goto LABEL005
:LABEL007
If (Exist(STRING016)) Then
STRING015 = ""
InputStr "@X0BText to search for", STRING015, 11, 25, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 128 + 8
If (STRING015 == "") Goto LABEL003
Cls
INTEGER009 = 0
INTEGER008 = 0
FOpen 1, STRING016, 0, 0
Goto LABEL008
Endif
Cls
PrintLn "@X0BThere is no News listing at this time."
PrintLn
Wait
Goto LABEL003
:LABEL008
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FGet 1, STRING024
FGet 1, STRING025
STRING026 = "N"
If (InStr(Upper(STRING019), STRING015) >= 1) STRING026 = "Y"
If (InStr(Upper(STRING021), STRING015) >= 1) STRING026 = "Y"
If (InStr(Upper(STRING022), STRING015) >= 1) STRING026 = "Y"
If (InStr(Upper(STRING023), STRING015) >= 1) STRING026 = "Y"
If (InStr(Upper(STRING024), STRING015) >= 1) STRING026 = "Y"
If (STRING026 == "Y") Gosub LABEL018
If (STRING017 == "") Then
FClose 1
PrintLn
PrintLn "@X0BThere were @X0F", INTEGER009, " @X0B", Chr(34), STRING015, Chr(34), " matches found in @X0F", INTEGER008, "@X0B entries."
PrintLn
Wait
INTEGER001 = 0
Goto LABEL003
Goto LABEL009
Endif
INTEGER008 = INTEGER008 + 1
Goto LABEL008
:LABEL009
If (Exist(STRING016)) Then
INTEGER001 = 0
DATE002 = 0
InputStr "@X0BHow many days back to search", INTEGER001, 11, 3, Mask_Num(), 2 + 128
DATE002 = Date() - INTEGER001
If (INTEGER001 == 0) Goto LABEL003
Cls
INTEGER009 = 0
FOpen 1, STRING016, 0, 0
Goto LABEL010
Endif
Cls
PrintLn "@X0BThere is no News listing at this time."
PrintLn
Wait
Goto LABEL003
:LABEL010
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FGet 1, STRING024
FGet 1, STRING025
STRING026 = "N"
DATE003 = Mid(STRING019, 1, 10)
If (DATE003 >= DATE002) Gosub LABEL018
If (STRING017 == "") Then
FClose 1
PrintLn
PrintLn "@X0BThere were @X0F", INTEGER009, " @X0B", Chr(34), DATE002, " or newer", Chr(34), " matches found in @X0F", INTEGER008, "@X0B entries."
PrintLn
Wait
INTEGER001 = 0
Goto LABEL003
Goto LABEL011
Endif
INTEGER008 = INTEGER008 + 1
Goto LABEL010
:LABEL011
STRING029 = ""
Cls
InputStr "@X0BWhat is the @X0Ftitle@X0B of your news item (25 chars)", STRING029, 11, 25, Mask_Ascii() + Mask_Alpha() + Mask_Num(), 2
If (STRING029 == "") Goto LABEL003
:LABEL012
Cls
PrintLn
PrintLn " @X5D┌────────────────────────────────────────────────────────────────────────────@X50┐@X07"
PrintLn " @X5D│ @X51 You now have (4) (60 char) lines in which to enter your news item. @X50│@X07"
PrintLn " @X5D└@X50────────────────────────────────────────────────────────────────────────────┘@X07"
InputStr "@X0B", STRING021, 11, 60, Mask_Num() + Mask_Alpha() + Mask_Ascii(), 2 + 128
InputStr "@X0B", STRING022, 11, 60, Mask_Num() + Mask_Alpha() + Mask_Ascii(), 2 + 128
InputStr "@X0B", STRING023, 11, 60, Mask_Num() + Mask_Alpha() + Mask_Ascii(), 2 + 128
InputStr "@X0B", STRING024, 11, 60, Mask_Num() + Mask_Alpha() + Mask_Ascii(), 2 + 128
If (InStr(Upper(STRING021), STRING027) >= 1) Goto LABEL019
If (InStr(Upper(STRING022), STRING027) >= 1) Goto LABEL019
If (InStr(Upper(STRING023), STRING027) >= 1) Goto LABEL019
If (InStr(Upper(STRING024), STRING027) >= 1) Goto LABEL019
STRING021 = " " + STRING021
STRING022 = " " + STRING022
STRING023 = " " + STRING023
STRING024 = " " + STRING024
If (Len(STRING014) == 25) STRING028 = ""
If (Len(STRING014) == 24) STRING028 = " "
If (Len(STRING014) == 23) STRING028 = " "
If (Len(STRING014) == 22) STRING028 = " "
If (Len(STRING014) == 21) STRING028 = " "
If (Len(STRING014) == 20) STRING028 = " "
If (Len(STRING014) == 19) STRING028 = " "
If (Len(STRING014) == 18) STRING028 = " "
If (Len(STRING014) == 17) STRING028 = " "
If (Len(STRING014) == 16) STRING028 = " "
If (Len(STRING014) == 15) STRING028 = " "
If (Len(STRING014) == 14) STRING028 = " "
If (Len(STRING014) == 13) STRING028 = " "
If (Len(STRING014) == 12) STRING028 = " "
If (Len(STRING014) == 11) STRING028 = " "
If (Len(STRING014) == 10) STRING028 = " "
If (Len(STRING014) == 9) STRING028 = " "
If (Len(STRING014) == 8) STRING028 = " "
If (Len(STRING014) == 7) STRING028 = " "
If (Len(STRING014) == 6) STRING028 = " "
If (Len(STRING014) == 5) STRING028 = " "
If (Len(STRING014) == 4) STRING028 = " "
If (Len(STRING014) == 3) STRING028 = " "
If (Len(STRING014) == 2) STRING028 = " "
If (Len(STRING014) == 1) STRING028 = " "
STRING019 = String(DATE001) + " User News v" + String(STRING013) + " " + String(STRING014) + String(STRING028) + String(STRING029)
PrintLn STRING017
Color 10
PrintLn STRING018
Color 15
PrintLn STRING019
Color 10
PrintLn STRING020
Color 11
PrintLn STRING021
PrintLn STRING022
PrintLn STRING023
PrintLn STRING024
PrintLn
PrintLn
STRING006 = ""
InputStr "@X0FIs the above News Item info correct (Y/N)", STRING006, 11, 1, Mask_Alpha(), 8 + 2
If (STRING006 == "Y") Goto LABEL013
If (STRING006 == "y") Goto LABEL013
Goto LABEL003
:LABEL013
FAppend 1, STRING016, 2, 3
FPutLn 1, STRING017
FPutLn 1, STRING018
FPutLn 1, STRING019
FPutLn 1, STRING020
FPutLn 1, STRING021
FPutLn 1, STRING022
FPutLn 1, STRING023
FPutLn 1, STRING024
FPutLn 1, STRING025
FClose 1
STRING019 = " "
STRING021 = " "
STRING022 = " "
STRING023 = " "
STRING024 = " "
PrintLn
PrintLn "@X0BYour News Item has been added to our listing - Thank you, @FIRST@"
PrintLn
Wait
Goto LABEL003
:LABEL014
Cls
PrintLn
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X0D"
PrintLn " @X50│ @X5AUser News! v", STRING013, " @X5D│@X0D"
PrintLn " @X50│ @X5D│@X0D"
If (STRING012 == "N") Then
PrintLn " @X50│ @X51UNREGISTERED @X5D│@X07"
PrintLn " @X50│ @X5D│@X0D"
PrintLn " @X50│ @X5BRegistration is only $10 @X5D│@X07"
PrintLn " @X50│@X5BPlease help support shareware.@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
Delay 125
Goto LABEL015
Endif
PrintLn " @X50│ @X5BReg # ", STRING005, " @POS:55@@X5D│@X07"
PrintLn " @X50│@X5B", STRING002, STRING001, "@POS:55@@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
PrintLn
Wait
:LABEL015
End
:LABEL016
Cls
PrintLn
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X0D"
PrintLn " @X50│ @X5AUser News! v", STRING013, " @X5D│@X0D"
PrintLn " @X50│ @X5D│@X0D"
If (STRING012 == "N") Then
PrintLn " @X50│ @X51UNREGISTERED @X5D│@X07"
PrintLn " @X50│ @X5D│@X0D"
PrintLn " @X50│ @X5BRegistration is only $10 @X5D│@X07"
PrintLn " @X50│@X5BPlease help support shareware.@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
Delay 125
Goto LABEL017
Endif
PrintLn " @X50│ @X5BReg # ", STRING005, " @POS:55@@X5D│@X07"
PrintLn " @X50│@X5B", STRING002, STRING001, "@POS:55@@X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
PrintLn
Wait
:LABEL017
Bye
PrintLn
PrintLn "@X0FSorry... you entered an invalid number"
PrintLn
Wait
Goto LABEL003
Endif
Cls
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X07"
PrintLn " @X50│ @X5BUser News! v1.0 @X5D│@X07"
PrintLn " @X50│ @X5D│@X07"
PrintLn " @X50│ @X5BAborting Operation @X5D│@X07"
PrintLn " @X50│ @X5D│@X07"
PrintLn " @X50│ @X5BInvalid Registration Code! @X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
Delay 182
End
:LABEL018
PrintLn STRING017
Color 10
PrintLn STRING018
Color 15
PrintLn STRING019
Color 10
PrintLn STRING020
Color 11
PrintLn STRING021
PrintLn STRING022
PrintLn STRING023
PrintLn STRING024
PrintLn STRING025
INTEGER009 = INTEGER009 + 1
Return
:LABEL019
STRING021 = ""
STRING022 = ""
STRING023 = ""
STRING024 = ""
Cls
PrintLn
PrintLn " @X50┌──────────────────────────────@X5D┐@X07"
PrintLn " @X50│ @X5BEntering of PCBoard @X Codes @X5D│@X07"
PrintLn " @X50│ @X5D│@X07"
PrintLn " @X50│ @X5Bis NOT allowed in User News! @X5D│@X07"
PrintLn " @X50└@X5D──────────────────────────────┘@X07"
Beep
PrintLn
Wait
Goto LABEL012
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 14 Cls
; 12 Wait
; 12 Color
; 57 Goto
; 136 Let
; 131 PrintLn
; 117 If
; 4 FOpen
; 1 FAppend
; 5 FClose
; 31 FGet
; 9 FPutLn
; 1 StartDisp
; 1 GetUser
; 9 InputStr
; 2 Gosub
; 1 Return
; 5 Delay
; 1 Tokenize
; 2 GetToken
; 6 Beep
; 2 Bye
;
;
; ■ Functions used :
;
; 42 +
; 1 -
; 103 ==
; 10 >=
; 13 !
; 55 Len(
; 9 Upper()
; 1 Mid()
; 2 Left()
; 4 Chr()
; 9 InStr()
; 2 Date()
; 1 U_Name()
; 5 String()
; 7 Mask_Alpha()
; 7 Mask_Num()
; 7 Mask_Ascii()
; 2 PPEPath()
; 4 Exist()
; 1 S2I()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 13 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------