home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TRANSN10.ZIP
/
NSCAN.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-02-16
|
9KB
|
396 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Date DATE001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
String TSTRING001(3)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String TSTRING008(50)
String STRING009
String TSTRING010(8)
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
;------------------------------------------------------------------------------
:LABEL001
STRING004 = "VkNScan"
STRING005 = "1.00"
GetUser
INTEGER010 = Date()
INTEGER011 = U_LDir()
STRING007 = TokenStr()
Tokenize STRING007
INTEGER013 = TokCount()
For INTEGER009 = 1 To INTEGER013
TSTRING008(INTEGER009) = GetToken()
Next
FOpen 1, PPEPath() + "nscan.cfg", 0, 2
For INTEGER009 = 1 To 2
FGet 1, TSTRING001(INTEGER009)
Next
FGet 1, STRING006
FGet 1, STRING012
FGet 1, STRING013
FGet 1, STRING014
FGet 1, TSTRING001(3)
FClose 1
If (INTEGER013 > 0) Then
INTEGER006 = GetX()
INTEGER007 = GetY()
Print "@X80@NUMDIR@@X03"
STRING017 = ScrText(INTEGER006, INTEGER007, 5, 0)
STRING017 = RTrim(STRING017, " ")
INTEGER016 = I2S(STRING017, 10)
DefColor
AnsiPos INTEGER006, INTEGER007
If (TSTRING008(1) == "?") Then
Gosub LABEL011
Goto LABEL001
Endif
If ((TSTRING008(2) <> "A") && (TSTRING008(2) <> "U")) Then
INTEGER008 = S2I(TSTRING008(2), 10)
If (INTEGER008 > INTEGER016) Then
PrintLn TSTRING001(3)
TSTRING008(2) = ""
Endif
Endif
If (TSTRING008(2) == "") Then
STRING018 = "YEP"
Gosub LABEL009
TSTRING008(2) = STRING003
Endif
If (TSTRING008(1) == "W") Then
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL004
Endif
If (TSTRING008(1) == "T") Then
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL006
Endif
If (TSTRING008(1) == "Y") Then
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL005
Endif
If (TSTRING008(1) == "S") Then
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL003
Endif
If ((Left(TSTRING008(1), 1) == "-") || (Len(TSTRING008(1)) < 6)) Then
If (Left(TSTRING008(1), 1) == "-") TSTRING008(1) = Right(TSTRING008(1), Len(TSTRING008(1)) - 1)
If (TSTRING008(1) > 5000) TSTRING008(1) = 5000
STRING009 = TSTRING008(1)
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL008
Endif
If (Len(TSTRING008(1)) >= 6) Then
STRING009 = TSTRING008(1)
STRING003 = TSTRING008(2)
STRING019 = "YEP"
Goto LABEL007
Endif
Gosub LABEL011
End
Endif
:LABEL002
STRING009 = ""
DispFile PPEPath() + "nscan.pcb", 1
TSTRING001(1) = ReplaceStr(TSTRING001(1), "%DEFCMD", STRING013)
Print TSTRING001(1)
DefColor
Print STRING012
Backup Len(STRING012)
STRING009 = STRING012
InputStr "_", STRING009, 15, 8, "WCSTY-?" + Mask_Num(), 256 + 8
If (Len(STRING009) >= 6) Goto LABEL007
If (STRING009 > INTEGER010 - 1) Then
Print "@X02VkScan@X05 Can Only Scan Back To @X0301-01-1900@X05, @X03"
Print INTEGER010 - 1
PrintLn "@X05 Days."
Goto LABEL002
Endif
If (Left(STRING009, 1) == "?") Then
Gosub LABEL011
Goto LABEL002
Endif
If (Left(STRING009, 1) == "-") Then
STRING009 = Right(STRING009, Len(STRING009) - 1)
Else
If (Left(STRING009, 1) == "S") Goto LABEL003
If (Left(STRING009, 1) == "W") Goto LABEL004
If (Left(STRING009, 1) == "Y") Goto LABEL005
If (Left(STRING009, 1) == "T") Goto LABEL006
If (Len(STRING009) < 6) Goto LABEL008
:LABEL003
DATE001 = INTEGER011
INTEGER004 = INTEGER010 - INTEGER011
STRING002 = Left(DATE001, 2)
STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
STRING002 = STRING002 + Right(DATE001, 2)
Goto LABEL009
:LABEL004
INTEGER012 = INTEGER010 - 7
DATE001 = INTEGER012
STRING002 = Left(DATE001, 2)
STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
STRING002 = STRING002 + Right(DATE001, 2)
Goto LABEL009
:LABEL005
INTEGER012 = INTEGER010 - 1
DATE001 = INTEGER012
STRING002 = Left(DATE001, 2)
STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
STRING002 = STRING002 + Right(DATE001, 2)
Goto LABEL009
:LABEL006
INTEGER012 = INTEGER010
DATE001 = INTEGER012
STRING002 = Left(DATE001, 2)
STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
STRING002 = STRING002 + Right(DATE001, 2)
Goto LABEL009
:LABEL007
For INTEGER009 = 1 To Len(STRING009)
STRING011 = Left(Right(STRING009, Len(STRING009) - INTEGER009 + 1), 1)
If (STRING011 <> "-") Then
INTEGER014 = INTEGER014 + 1
TSTRING010(INTEGER014) = STRING011
Endif
Next
STRING011 = ""
For INTEGER009 = 1 To INTEGER014
STRING011 = STRING011 + TSTRING010(INTEGER009)
Next
STRING002 = STRING011
Goto LABEL009
Endif
:LABEL008
INTEGER015 = STRING009
INTEGER012 = INTEGER010 - INTEGER015
DATE001 = INTEGER012
STRING002 = Left(DATE001, 2)
STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
STRING002 = STRING002 + Right(DATE001, 2)
:LABEL009
If (STRING019 == "YEP") Goto LABEL010
INTEGER006 = GetX()
INTEGER007 = GetY()
Print "@X80@NUMDIR@@X03"
STRING017 = ScrText(INTEGER006, INTEGER007, 5, 0)
STRING017 = RTrim(STRING017, " ")
INTEGER016 = I2S(STRING017, 10)
DefColor
AnsiPos INTEGER006, INTEGER007
Print TSTRING001(2)
DefColor
Print STRING006
Backup Len(STRING006)
InputStr "_", STRING003, 15, 5, Mask_Num() + "UAua", 256 + 8
If ((STRING003 > INTEGER016) || (STRING003 < 0)) Then
PrintLn TSTRING001(3)
STRING003 = STRING006
Goto LABEL009
Endif
If (STRING003 == "") STRING003 = STRING006
If (STRING018 == "YEP") Return
:LABEL010
PrintLn "@X02.:. @X05" + STRING004 + " @X02.:. @X04v" + STRING005 + " @X05-/- @X03REGiSTERED VERSiON @X05-\- @X08[@X03Vk!@X08] @X02(@X03TRA@X02/@X03PPE@X02)"
For INTEGER009 = 1 To Len(STRING002)
STRING015 = STRING015 + Mid(STRING002, INTEGER009, 1)
If (INTEGER009 == 2) STRING015 = STRING015 + "-"
If (INTEGER009 == 4) STRING015 = STRING015 + "-19"
Next
Gosub LABEL013
STRING014 = ReplaceStr(STRING014, "%SCANDATE", STRING015)
STRING014 = ReplaceStr(STRING014, "%SCANDAYS", STRING016)
PrintLn STRING014
KbdStuff "n;" + STRING002 + ";" + STRING003
End
:LABEL011
If (Exist(PPEPath() + "nscan.hlp")) Goto LABEL012
PrintLn "@X07@X08 .---------------------."
PrintLn ".-| @X05NEW FiLES SCAN HELP @X08|-----------------------------------------------------."
PrintLn "| `---------------------' |"
PrintLn "| @X05[@X02MM@X03-@X02DD@X03-@X02YY@X05] @X04- @X03Scan files since Month/Date/Year. @X08|"
PrintLn "| @X03Ex : 010195 or 01-01-95 ... Both of these will work. @X08|"
PrintLn "| @X05[@X02T@X05]@X03oday @X04- @X03Scan files uploaded today @X08|"
PrintLn "| @X05[@X02Y@X05]@X03esterday @X04- @X03Scan files uploaded since yesterday @X08|"
PrintLn "| @X05[@X02W@X05]@X03eekly @X04- @X03Scan files uploaded in the past 7 days @X08|"
PrintLn "| @X05[@X02S@X05]@X03ince Last @X04- @X03Scan files uploaded since last @X05New Files Scan @X08|"
PrintLn "| @X05[@X02#@X05]@X03Days Back @X04- @X03Scan files uploaded in last @X05# @X03days, you can also enter @X08|"
PrintLn "| @X03a " + Chr(34) + "@X04-@X03" + Chr(34) + " before the # of days back. @X08|"
PrintLn "| @X05[@X02?@X05]@X03Help @X04- @X03The screen you are looking at now ... :) @X08|"
PrintLn "| .-------------------------. |"
PrintLn "|-| @X05COMMAND LiNE PARAMETERS @X08|-------------------------------------------------|"
PrintLn "| `-------------------------' |"
PrintLn "| @X03NScan will accecpt the same variables as above from the command line .. for @X08|"
PrintLn "| @X03example .... @X05N;T;A @X03would scan @X02Todays Uploads in ALL Areas@X03. @X08|"
PrintLn "@X08`-----------------------------------------------------------------------------'"
Return
:LABEL012
DispFile PPEPath() + "nscan.hlp", 1
Return
:LABEL013
INTEGER001 = Right(STRING015, 2)
INTEGER002 = Left(STRING015, 2)
INTEGER003 = Mid(STRING015, 4, 2)
INTEGER017 = INTEGER001 / 4
INTEGER018 = INTEGER001 - INTEGER017
INTEGER018 = INTEGER018 * 365
INTEGER019 = INTEGER017 * 366
INTEGER009 = 0
While (INTEGER009 <> INTEGER001) Do
INTEGER009 = INTEGER009 + 4
If (INTEGER009 > INTEGER001) Break
EndWhile
If (((((((((((INTEGER001 == 4) || (INTEGER001 == 8)) || (INTEGER001 == 12)) || (INTEGER001 == 16)) || (INTEGER001 == 20)) || (INTEGER001 == 24)) || (INTEGER001 == 26)) || (INTEGER001 == 28)) || (INTEGER001 == 32)) || (INTEGER001 == 36)) || (INTEGER001 == 40)) BOOLEAN001 = 1
If ((((((((((((((INTEGER001 == 44) || (INTEGER001 == 48)) || (INTEGER001 == 52)) || (INTEGER001 == 56)) || (INTEGER001 == 60)) || (INTEGER001 == 64)) || (INTEGER001 == 68)) || (INTEGER001 == 72)) || (INTEGER001 == 76)) || (INTEGER001 == 80)) || (INTEGER001 == 84)) || (INTEGER001 == 88)) || (INTEGER001 == 92)) || (INTEGER001 == 96)) BOOLEAN001 = 1
If (BOOLEAN001 <> 1) BOOLEAN001 = 0
If (INTEGER002 == 1) INTEGER005 = 0
If (INTEGER002 == 2) INTEGER005 = 31
If (INTEGER002 == 3) INTEGER005 = 59
If (INTEGER002 == 4) INTEGER005 = 90
If (INTEGER002 == 5) INTEGER005 = 120
If (INTEGER002 == 6) INTEGER005 = 151
If (INTEGER002 == 7) INTEGER005 = 181
If (INTEGER002 == 8) INTEGER005 = 212
If (INTEGER002 == 9) INTEGER005 = 243
If (INTEGER002 == 10) INTEGER005 = 273
If (INTEGER002 == 11) INTEGER005 = 304
If (INTEGER002 == 12) INTEGER005 = 334
INTEGER012 = INTEGER018 + INTEGER019 + INTEGER005 + INTEGER003
INTEGER012 = INTEGER010 - INTEGER012
STRING016 = INTEGER012
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 54 Goto
; 117 Let
; 8 Print
; 23 PrintLn
; 52 If
; 2 DispFile
; 1 FOpen
; 1 FClose
; 6 FGet
; 1 GetUser
; 4 DefColor
; 2 InputStr
; 5 Gosub
; 4 Return
; 1 Tokenize
; 1 KbdStuff
; 2 AnsiPos
; 2 Backup
;
;
; ■ Functions used :
;
; 2 *
; 1 /
; 44 +
; 11 -
; 56 ==
; 5 <>
; 8 <
; 5 <=
; 6 >
; 12 >=
; 23 !
; 11 &&
; 30 ||
; 13 Len(
; 2 Mid()
; 20 Left()
; 14 Right()
; 2 Chr()
; 2 RTrim()
; 1 Date()
; 1 U_LDir()
; 2 Mask_Num()
; 4 PPEPath()
; 1 GetToken()
; 1 Exist()
; 2 I2S()
; 1 S2I()
; 1 TokenStr()
; 2 GetX()
; 2 GetY()
; 1 TokCount()
; 2 ScrText()
; 3 ReplaceStr()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 5 For/Next
; 1 While/EndWhile
; 16 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------