home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TRANSN10.ZIP / NSCAN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-16  |  9KB  |  396 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Date     DATE001
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     Integer  INTEGER011
  32.     Integer  INTEGER012
  33.     Integer  INTEGER013
  34.     Integer  INTEGER014
  35.     Integer  INTEGER015
  36.     Integer  INTEGER016
  37.     Integer  INTEGER017
  38.     Integer  INTEGER018
  39.     Integer  INTEGER019
  40.     String   TSTRING001(3)
  41.     String   STRING002
  42.     String   STRING003
  43.     String   STRING004
  44.     String   STRING005
  45.     String   STRING006
  46.     String   STRING007
  47.     String   TSTRING008(50)
  48.     String   STRING009
  49.     String   TSTRING010(8)
  50.     String   STRING011
  51.     String   STRING012
  52.     String   STRING013
  53.     String   STRING014
  54.     String   STRING015
  55.     String   STRING016
  56.     String   STRING017
  57.     String   STRING018
  58.     String   STRING019
  59.  
  60. ;------------------------------------------------------------------------------
  61.  
  62.     :LABEL001
  63.     STRING004 = "VkNScan"
  64.     STRING005 = "1.00"
  65.     GetUser
  66.     INTEGER010 = Date()
  67.     INTEGER011 = U_LDir()
  68.     STRING007 = TokenStr()
  69.     Tokenize STRING007
  70.     INTEGER013 = TokCount()
  71.     For INTEGER009 = 1 To INTEGER013
  72.         TSTRING008(INTEGER009) = GetToken()
  73.     Next
  74.     FOpen 1, PPEPath() + "nscan.cfg", 0, 2
  75.     For INTEGER009 = 1 To 2
  76.         FGet 1, TSTRING001(INTEGER009)
  77.     Next
  78.     FGet 1, STRING006
  79.     FGet 1, STRING012
  80.     FGet 1, STRING013
  81.     FGet 1, STRING014
  82.     FGet 1, TSTRING001(3)
  83.     FClose 1
  84.     If (INTEGER013 > 0) Then
  85.         INTEGER006 = GetX()
  86.         INTEGER007 = GetY()
  87.         Print "@X80@NUMDIR@@X03"
  88.         STRING017 = ScrText(INTEGER006, INTEGER007, 5, 0)
  89.         STRING017 = RTrim(STRING017, " ")
  90.         INTEGER016 = I2S(STRING017, 10)
  91.         DefColor
  92.         AnsiPos INTEGER006, INTEGER007
  93.         If (TSTRING008(1) == "?") Then
  94.             Gosub LABEL011
  95.             Goto LABEL001
  96.         Endif
  97.         If ((TSTRING008(2) <> "A") && (TSTRING008(2) <> "U")) Then
  98.             INTEGER008 = S2I(TSTRING008(2), 10)
  99.             If (INTEGER008 > INTEGER016) Then
  100.                 PrintLn TSTRING001(3)
  101.                 TSTRING008(2) = ""
  102.             Endif
  103.         Endif
  104.         If (TSTRING008(2) == "") Then
  105.             STRING018 = "YEP"
  106.             Gosub LABEL009
  107.             TSTRING008(2) = STRING003
  108.         Endif
  109.         If (TSTRING008(1) == "W") Then
  110.             STRING003 = TSTRING008(2)
  111.             STRING019 = "YEP"
  112.             Goto LABEL004
  113.         Endif
  114.         If (TSTRING008(1) == "T") Then
  115.             STRING003 = TSTRING008(2)
  116.             STRING019 = "YEP"
  117.             Goto LABEL006
  118.         Endif
  119.         If (TSTRING008(1) == "Y") Then
  120.             STRING003 = TSTRING008(2)
  121.             STRING019 = "YEP"
  122.             Goto LABEL005
  123.         Endif
  124.         If (TSTRING008(1) == "S") Then
  125.             STRING003 = TSTRING008(2)
  126.             STRING019 = "YEP"
  127.             Goto LABEL003
  128.         Endif
  129.         If ((Left(TSTRING008(1), 1) == "-") || (Len(TSTRING008(1)) < 6)) Then
  130.             If (Left(TSTRING008(1), 1) == "-") TSTRING008(1) = Right(TSTRING008(1), Len(TSTRING008(1)) - 1)
  131.             If (TSTRING008(1) > 5000) TSTRING008(1) = 5000
  132.             STRING009 = TSTRING008(1)
  133.             STRING003 = TSTRING008(2)
  134.             STRING019 = "YEP"
  135.             Goto LABEL008
  136.         Endif
  137.         If (Len(TSTRING008(1)) >= 6) Then
  138.             STRING009 = TSTRING008(1)
  139.             STRING003 = TSTRING008(2)
  140.             STRING019 = "YEP"
  141.             Goto LABEL007
  142.         Endif
  143.         Gosub LABEL011
  144.         End
  145.     Endif
  146.     :LABEL002
  147.     STRING009 = ""
  148.     DispFile PPEPath() + "nscan.pcb", 1
  149.     TSTRING001(1) = ReplaceStr(TSTRING001(1), "%DEFCMD", STRING013)
  150.     Print TSTRING001(1)
  151.     DefColor
  152.     Print STRING012
  153.     Backup Len(STRING012)
  154.     STRING009 = STRING012
  155.     InputStr "_", STRING009, 15, 8, "WCSTY-?" + Mask_Num(), 256 + 8
  156.     If (Len(STRING009) >= 6) Goto LABEL007
  157.     If (STRING009 > INTEGER010 - 1) Then
  158.         Print "@X02VkScan@X05 Can Only Scan Back To @X0301-01-1900@X05, @X03"
  159.         Print INTEGER010 - 1
  160.         PrintLn "@X05 Days."
  161.         Goto LABEL002
  162.     Endif
  163.     If (Left(STRING009, 1) == "?") Then
  164.         Gosub LABEL011
  165.         Goto LABEL002
  166.     Endif
  167.     If (Left(STRING009, 1) == "-") Then
  168.         STRING009 = Right(STRING009, Len(STRING009) - 1)
  169.     Else
  170.         If (Left(STRING009, 1) == "S") Goto LABEL003
  171.         If (Left(STRING009, 1) == "W") Goto LABEL004
  172.         If (Left(STRING009, 1) == "Y") Goto LABEL005
  173.         If (Left(STRING009, 1) == "T") Goto LABEL006
  174.         If (Len(STRING009) < 6) Goto LABEL008
  175.         :LABEL003
  176.         DATE001 = INTEGER011
  177.         INTEGER004 = INTEGER010 - INTEGER011
  178.         STRING002 = Left(DATE001, 2)
  179.         STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
  180.         STRING002 = STRING002 + Right(DATE001, 2)
  181.         Goto LABEL009
  182.         :LABEL004
  183.         INTEGER012 = INTEGER010 - 7
  184.         DATE001 = INTEGER012
  185.         STRING002 = Left(DATE001, 2)
  186.         STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
  187.         STRING002 = STRING002 + Right(DATE001, 2)
  188.         Goto LABEL009
  189.         :LABEL005
  190.         INTEGER012 = INTEGER010 - 1
  191.         DATE001 = INTEGER012
  192.         STRING002 = Left(DATE001, 2)
  193.         STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
  194.         STRING002 = STRING002 + Right(DATE001, 2)
  195.         Goto LABEL009
  196.         :LABEL006
  197.         INTEGER012 = INTEGER010
  198.         DATE001 = INTEGER012
  199.         STRING002 = Left(DATE001, 2)
  200.         STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
  201.         STRING002 = STRING002 + Right(DATE001, 2)
  202.         Goto LABEL009
  203.         :LABEL007
  204.         For INTEGER009 = 1 To Len(STRING009)
  205.             STRING011 = Left(Right(STRING009, Len(STRING009) - INTEGER009 + 1), 1)
  206.             If (STRING011 <> "-") Then
  207.                 INTEGER014 = INTEGER014 + 1
  208.                 TSTRING010(INTEGER014) = STRING011
  209.             Endif
  210.         Next
  211.         STRING011 = ""
  212.         For INTEGER009 = 1 To INTEGER014
  213.             STRING011 = STRING011 + TSTRING010(INTEGER009)
  214.         Next
  215.         STRING002 = STRING011
  216.         Goto LABEL009
  217.     Endif
  218.     :LABEL008
  219.     INTEGER015 = STRING009
  220.     INTEGER012 = INTEGER010 - INTEGER015
  221.     DATE001 = INTEGER012
  222.     STRING002 = Left(DATE001, 2)
  223.     STRING002 = STRING002 + Left(Right(DATE001, 5), 2)
  224.     STRING002 = STRING002 + Right(DATE001, 2)
  225.     :LABEL009
  226.     If (STRING019 == "YEP") Goto LABEL010
  227.     INTEGER006 = GetX()
  228.     INTEGER007 = GetY()
  229.     Print "@X80@NUMDIR@@X03"
  230.     STRING017 = ScrText(INTEGER006, INTEGER007, 5, 0)
  231.     STRING017 = RTrim(STRING017, " ")
  232.     INTEGER016 = I2S(STRING017, 10)
  233.     DefColor
  234.     AnsiPos INTEGER006, INTEGER007
  235.     Print TSTRING001(2)
  236.     DefColor
  237.     Print STRING006
  238.     Backup Len(STRING006)
  239.     InputStr "_", STRING003, 15, 5, Mask_Num() + "UAua", 256 + 8
  240.     If ((STRING003 > INTEGER016) || (STRING003 < 0)) Then
  241.         PrintLn TSTRING001(3)
  242.         STRING003 = STRING006
  243.         Goto LABEL009
  244.     Endif
  245.     If (STRING003 == "") STRING003 = STRING006
  246.     If (STRING018 == "YEP") Return
  247.     :LABEL010
  248.     PrintLn "@X02.:. @X05" + STRING004 + " @X02.:. @X04v" + STRING005 + " @X05-/- @X03REGiSTERED VERSiON @X05-\- @X08[@X03Vk!@X08] @X02(@X03TRA@X02/@X03PPE@X02)"
  249.     For INTEGER009 = 1 To Len(STRING002)
  250.         STRING015 = STRING015 + Mid(STRING002, INTEGER009, 1)
  251.         If (INTEGER009 == 2) STRING015 = STRING015 + "-"
  252.         If (INTEGER009 == 4) STRING015 = STRING015 + "-19"
  253.     Next
  254.     Gosub LABEL013
  255.     STRING014 = ReplaceStr(STRING014, "%SCANDATE", STRING015)
  256.     STRING014 = ReplaceStr(STRING014, "%SCANDAYS", STRING016)
  257.     PrintLn STRING014
  258.     KbdStuff "n;" + STRING002 + ";" + STRING003
  259.     End
  260.     :LABEL011
  261.     If (Exist(PPEPath() + "nscan.hlp")) Goto LABEL012
  262.     PrintLn "@X07@X08  .---------------------."
  263.     PrintLn ".-| @X05NEW FiLES SCAN HELP @X08|-----------------------------------------------------."
  264.     PrintLn "| `---------------------'                                                     |"
  265.     PrintLn "| @X05[@X02MM@X03-@X02DD@X03-@X02YY@X05]    @X04- @X03Scan files since Month/Date/Year.                           @X08|"
  266.     PrintLn "|                   @X03Ex : 010195   or   01-01-95 ... Both of these will work.  @X08|"
  267.     PrintLn "| @X05[@X02T@X05]@X03oday       @X04- @X03Scan files uploaded today                                   @X08|"
  268.     PrintLn "| @X05[@X02Y@X05]@X03esterday   @X04- @X03Scan files uploaded since yesterday                         @X08|"
  269.     PrintLn "| @X05[@X02W@X05]@X03eekly      @X04- @X03Scan files uploaded in the past 7 days                      @X08|"
  270.     PrintLn "| @X05[@X02S@X05]@X03ince Last  @X04- @X03Scan files uploaded since last @X05New Files Scan               @X08|"
  271.     PrintLn "| @X05[@X02#@X05]@X03Days Back  @X04- @X03Scan files uploaded in last @X05# @X03days, you can also enter      @X08|"
  272.     PrintLn "|                  @X03a " + Chr(34) + "@X04-@X03" + Chr(34) + " before the # of days back.                           @X08|"
  273.     PrintLn "| @X05[@X02?@X05]@X03Help       @X04- @X03The screen you are looking at now ... :)                    @X08|"
  274.     PrintLn "| .-------------------------.                                                 |"
  275.     PrintLn "|-| @X05COMMAND LiNE PARAMETERS @X08|-------------------------------------------------|"
  276.     PrintLn "| `-------------------------'                                                 |"
  277.     PrintLn "| @X03NScan will accecpt the same variables as above from the command line .. for @X08|"
  278.     PrintLn "| @X03example ....  @X05N;T;A @X03would scan @X02Todays Uploads in ALL Areas@X03.                 @X08|"
  279.     PrintLn "@X08`-----------------------------------------------------------------------------'"
  280.     Return
  281.     :LABEL012
  282.     DispFile PPEPath() + "nscan.hlp", 1
  283.     Return
  284.     :LABEL013
  285.     INTEGER001 = Right(STRING015, 2)
  286.     INTEGER002 = Left(STRING015, 2)
  287.     INTEGER003 = Mid(STRING015, 4, 2)
  288.     INTEGER017 = INTEGER001 / 4
  289.     INTEGER018 = INTEGER001 - INTEGER017
  290.     INTEGER018 = INTEGER018 * 365
  291.     INTEGER019 = INTEGER017 * 366
  292.     INTEGER009 = 0
  293.     While (INTEGER009 <> INTEGER001) Do
  294.         INTEGER009 = INTEGER009 + 4
  295.         If (INTEGER009 > INTEGER001) Break
  296.     EndWhile
  297.     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
  298.     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
  299.     If (BOOLEAN001 <> 1) BOOLEAN001 = 0
  300.     If (INTEGER002 == 1) INTEGER005 = 0
  301.     If (INTEGER002 == 2) INTEGER005 = 31
  302.     If (INTEGER002 == 3) INTEGER005 = 59
  303.     If (INTEGER002 == 4) INTEGER005 = 90
  304.     If (INTEGER002 == 5) INTEGER005 = 120
  305.     If (INTEGER002 == 6) INTEGER005 = 151
  306.     If (INTEGER002 == 7) INTEGER005 = 181
  307.     If (INTEGER002 == 8) INTEGER005 = 212
  308.     If (INTEGER002 == 9) INTEGER005 = 243
  309.     If (INTEGER002 == 10) INTEGER005 = 273
  310.     If (INTEGER002 == 11) INTEGER005 = 304
  311.     If (INTEGER002 == 12) INTEGER005 = 334
  312.     INTEGER012 = INTEGER018 + INTEGER019 + INTEGER005 + INTEGER003
  313.     INTEGER012 = INTEGER010 - INTEGER012
  314.     STRING016 = INTEGER012
  315.     Return
  316.  
  317. ;------------------------------------------------------------------------------
  318. ;
  319. ; Usage report (before postprocessing)
  320. ;
  321. ; ■ Statements used :
  322. ;
  323. ;    2       End
  324. ;    54      Goto 
  325. ;    117     Let 
  326. ;    8       Print 
  327. ;    23      PrintLn 
  328. ;    52      If 
  329. ;    2       DispFile 
  330. ;    1       FOpen 
  331. ;    1       FClose 
  332. ;    6       FGet 
  333. ;    1       GetUser
  334. ;    4       DefColor
  335. ;    2       InputStr 
  336. ;    5       Gosub 
  337. ;    4       Return
  338. ;    1       Tokenize 
  339. ;    1       KbdStuff 
  340. ;    2       AnsiPos 
  341. ;    2       Backup 
  342. ;
  343. ;
  344. ; ■ Functions used :
  345. ;
  346. ;    2       *
  347. ;    1       /
  348. ;    44      +
  349. ;    11      -
  350. ;    56      ==
  351. ;    5       <>
  352. ;    8       <
  353. ;    5       <=
  354. ;    6       >
  355. ;    12      >=
  356. ;    23      !
  357. ;    11      &&
  358. ;    30      ||
  359. ;    13      Len(
  360. ;    2       Mid()
  361. ;    20      Left()
  362. ;    14      Right()
  363. ;    2       Chr()
  364. ;    2       RTrim()
  365. ;    1       Date()
  366. ;    1       U_LDir()
  367. ;    2       Mask_Num()
  368. ;    4       PPEPath()
  369. ;    1       GetToken()
  370. ;    1       Exist()
  371. ;    2       I2S()
  372. ;    1       S2I()
  373. ;    1       TokenStr()
  374. ;    2       GetX()
  375. ;    2       GetY()
  376. ;    1       TokCount()
  377. ;    2       ScrText()
  378. ;    3       ReplaceStr()
  379. ;
  380. ;------------------------------------------------------------------------------
  381. ;
  382. ; Analysis flags : No flag
  383. ;
  384. ;------------------------------------------------------------------------------
  385. ;
  386. ; Postprocessing report
  387. ;
  388. ;    5       For/Next
  389. ;    1       While/EndWhile
  390. ;    16      If/Then or If/Then/Else
  391. ;    0       Select Case
  392. ;
  393. ;------------------------------------------------------------------------------
  394. ;                 AEGiS Corp - Break the routines, code against the machines!
  395. ;------------------------------------------------------------------------------
  396.