home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / TICKLE10.ZIP / TKL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-03  |  16KB  |  893 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.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Integer  INTEGER001
  33.     Integer  INTEGER002
  34.     Integer  INTEGER003
  35.     Real     REAL001
  36.     Real     REAL002
  37.     Real     REAL003
  38.     String   TSTRING001(49)
  39.     String   STRING002
  40.     String   STRING003
  41.     String   STRING004
  42.     String   STRING005
  43.     String   STRING006
  44.     String   STRING007
  45.     String   STRING008
  46.     String   STRING009
  47.     String   STRING010
  48.     String   TSTRING011(24)
  49.     String   STRING012
  50.     String   STRING013
  51.     String   STRING014
  52.     String   STRING015
  53.     String   STRING016
  54.     String   STRING017
  55.     String   STRING018
  56.     String   STRING019
  57.     String   STRING020
  58.     String   STRING021
  59.     String   STRING022
  60.     String   STRING023
  61.     String   STRING024
  62.     Int      INT001
  63.     Int      INT002
  64.     Int      INT003
  65.     Int      INT004
  66.     Int      INT005
  67.     Int      INT006
  68.     Int      INT007
  69.     Int      INT008
  70.     Int      INT009
  71.     Int      INT010
  72.     Int      INT011
  73.     Int      INT012
  74.     Int      INT013
  75.     Int      INT014
  76.     Int      INT015
  77.     Int      INT016
  78.     Int      INT017
  79.     Int      INT018
  80.  
  81. ;------------------------------------------------------------------------------
  82.  
  83.     If ((STRING002 == "") || (STRING002 == "MENU")) BOOLEAN009 = 1
  84.     STRING009 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
  85.     If (Exist(STRING009)) Delete STRING009
  86.     INT003 = 1
  87.     Gosub LABEL012
  88.     If (((U_BdlDay() == 0) && (FlagCnt() < 2)) && (STRING002 <> "MENU")) Then
  89.         Gosub LABEL005
  90.         End
  91.     Endif
  92.     STRING023 = PPEPath() + "TKLTEXT"
  93.     Gosub LABEL039
  94.     If (DErr(0)) Then
  95.         Newline
  96.         PrintLn ReadLine(STRING023, 2)
  97.         Newline
  98.         PrintLn ReadLine(STRING023, 3)
  99.         Newline
  100.         Log "Cannot open TICKLE.DBF (DataBase) - Aborting", 0
  101.         Wait
  102.     Else
  103.         Gosub LABEL015
  104.         If (DErr(0)) Then
  105.             Newline
  106.             PrintLn ReadLine(STRING023, 4)
  107.             Newline
  108.             PrintLn ReadLine(STRING023, 3)
  109.             Newline
  110.             Log "Cannot open TICKLE.NDX (Index) - Aborting", 0
  111.             Wait
  112.         Else
  113.             Gosub LABEL004
  114.             If (STRING003 == "") Log "'Tickle File' entered by user", 0
  115.             If ((STRING002 == "MENU") || (STRING003 <> "")) Gosub LABEL011
  116.             Goto LABEL013
  117.             :LABEL001
  118.             If ((InStr(STRING005, "-") == 0) || (InStr(STRING005, "-") == 1)) Return
  119.             STRING015 = STRING005
  120.             STRING005 = ""
  121.             Tokenize STRING015
  122.             If (TokCount() == 0) Return
  123.             For INT007 = 1 To Len(STRING015)
  124.                 STRING016 = GetToken()
  125.                 If (STRING016 == "") Break
  126.                 If (InStr(STRING016, "-") == 0) Then
  127.                     STRING005 = STRING005 + STRING016 + " "
  128.                     Continue
  129.                 Endif
  130.                 STRING009 = Mid(STRING016, 1, InStr(STRING016, "-") - 1)
  131.                 If (STRING009 <> "") STRING010 = Mid(STRING016, InStr(STRING016, "-") + 1, Len(STRING016))
  132.                 INT008 = S2I(STRING009, 10)
  133.                 INT009 = S2I(STRING010, 10)
  134.                 If (INT008 < 1) Then
  135.                     If (INT008 == 0) STRING009 = STRING016
  136.                     Newline
  137.                     PrintLn ReadLine(STRING023, 26), STRING009, ReadLine(STRING023, 27)
  138.                     Newline
  139.                     Continue
  140.                 Endif
  141.                 If (INT009 > 24) Then
  142.                     Newline
  143.                     PrintLn ReadLine(STRING023, 26), INT009, ReadLine(STRING023, 27)
  144.                     Newline
  145.                     Continue
  146.                 Endif
  147.                 If (INT009 >= INT008) Then
  148.                     For INT004 = INT008 To INT009
  149.                         STRING005 = STRING005 + LTrim(I2S(INT004, 10), " ") + " "
  150.                     Next
  151.                     Continue
  152.                 Endif
  153.                 Newline
  154.                 PrintLn ReadLine(STRING023, 5), STRING016, ReadLine(STRING023, 6)
  155.             Next
  156.             Return
  157.             :LABEL002
  158.             STRING013 = PPEPath() + LTrim(String(PcbNode()), " ") + ".FLG"
  159.             If (Exist(STRING013)) Then
  160.                 FOpen 1, STRING013, 1, 0
  161.             Else
  162.                 FCreate 1, STRING013, 1, 0
  163.             Endif
  164.             BOOLEAN005 = 1
  165.             STRING009 = Chr(13) + "FLAG "
  166.             For INT006 = 1 To INT003 - 1
  167.                 STRING009 = STRING009 + TSTRING011(INT006) + " "
  168.                 BOOLEAN005 = 0
  169.                 If (Len(STRING009) > 230) Then
  170.                     FPutLn 1, STRING009
  171.                     STRING009 = Chr(13) + "FLAG "
  172.                 Endif
  173.             Next
  174.             FPutLn 1, STRING009
  175.             FClose 1
  176.             Return
  177.             :LABEL003
  178.             INT002 = 0
  179.             For INT006 = 2 To 25
  180.                 If (DGet(0, DName(0, INT006)) == "            ") Then
  181.                     INT002 = INT006 - 1
  182.                     Break
  183.                 Endif
  184.             Next
  185.             Return
  186.             :LABEL004
  187.             STRING006 = Upper(RTrim(U_Name(), " "))
  188.             DSeek 0, STRING006
  189.             If (DChkStat(0) == 0) Then
  190.                 Gosub LABEL003
  191.             Else
  192.                 SPrintLn ReadLine(STRING023, 7)
  193.                 DNew 0
  194.                 DPut 0, "usr_name", STRING006
  195.                 For INT006 = 1 To 24
  196.                     STRING007 = "file" + Trim(String(INT006), " ")
  197.                     STRING012 = "desc" + Trim(String(INT006), " ")
  198.                     DPut 0, STRING007, "            "
  199.                     DPut 0, STRING012, "               "
  200.                 Next
  201.                 DAdd 0
  202.                 INT002 = 1
  203.             Endif
  204.             Return
  205.             :LABEL005
  206.             Newline
  207.             If (STRING003 == "138") Then
  208.                 DispFile PPEPath() + "pcbt138", 4
  209.                 Log "Insufficient time remaining to download (@OPTEXT@)", 0
  210.             Endif
  211.             If (STRING003 == "159") Then
  212.                 DispFile PPEPath() + "pcbt159", 4
  213.                 Log "(@OPTEXT@) Download bytes left available are @BYTESLEFT@", 0
  214.             Endif
  215.             If (STRING003 == "668") Then
  216.                 DispFile PPEPath() + "pcbt668", 4
  217.                 Log "Your Download:Upload ratio must remain below: @OPTEXT@", 0
  218.             Endif
  219.             If (STRING003 == "669") Then
  220.                 DispFile PPEPath() + "pcbt669", 4
  221.                 Log "Downloading @OPTEXT@ would exceed your file ratio.", 0
  222.             Endif
  223.             If (STRING003 == "670") Then
  224.                 DispFile PPEPath() + "pcbt670", 4
  225.                 Log "Downloading @OPTEXT@ would exceed your byte ratio.", 0
  226.             Endif
  227.             If (STRING003 == "674") Then
  228.                 DispFile PPEPath() + "pcbt674", 4
  229.                 Log "Downloading @OPTEXT@ would exceed your file limit.", 0
  230.             Endif
  231.             If (STRING003 == "675") Then
  232.                 DispFile PPEPath() + "pcbt675", 4
  233.                 Log "Downloading @OPTEXT@ would exceed your byte limit.", 0
  234.             Endif
  235.             Newline
  236.             Return
  237.             :LABEL006
  238.             DispFile PPEPath() + "info", 4
  239.             BOOLEAN001 = 1
  240.             Return
  241.             :LABEL007
  242.             Newline
  243.             DispFile PPEPath() + "help", 4
  244.             BOOLEAN007 = 1
  245.             Return
  246.             :LABEL008
  247.             If (BOOLEAN002) Goto LABEL009
  248.             Gosub LABEL037
  249.             BOOLEAN002 = 1
  250.             Goto LABEL010
  251.             :LABEL009
  252.             Newline
  253.             :LABEL010
  254.             STRING005 = ""
  255.             STRING004 = ReadLine(STRING023, 8)
  256.             InputStr STRING004, STRING005, 14, 2, Mask_Ascii(), 256 + 8
  257.             If (STRING005 == "") Then
  258.                 Newline
  259.                 Return
  260.             Endif
  261.             INT007 = S2I(STRING005, 10)
  262.             STRING005 = String(INT007)
  263.             If ((INT007 > 24) || (INT007 < 1)) Then
  264.                 Newline
  265.                 PrintLn ReadLine(STRING023, 9)
  266.                 Newline
  267.                 Return
  268.             Else
  269.                 STRING012 = "desc" + Trim(STRING005, " ")
  270.                 STRING009 = "file" + Trim(STRING005, " ")
  271.             Endif
  272.             If (DGet(0, STRING009) <> "            ") Then
  273.                 BOOLEAN008 = 1
  274.                 Gosub LABEL019
  275.                 BOOLEAN008 = 0
  276.             Else
  277.                 Newline
  278.                 PrintLn ReadLine(STRING023, 58)
  279.             Endif
  280.             Newline
  281.             Return
  282.             :LABEL011
  283.             STRING005 = ""
  284.             If (!BOOLEAN001 && (STRING003 <> "")) Then
  285.                 Gosub LABEL003
  286.                 If (INT002 == 0) Goto LABEL013
  287.                 Gosub LABEL005
  288.                 Gosub LABEL006
  289.                 STRING004 = ReadLine(STRING023, 10)
  290.                 InputStr STRING004, STRING005, 14, 1, Mask_Alpha(), 256 + 8
  291.                 If (STRING005 == "Y") Then
  292.                     STRING005 = "ADD VIOLATION"
  293.                     BOOLEAN009 = 1
  294.                     Gosub LABEL022
  295.                 Endif
  296.             Else
  297.                 If (!BOOLEAN007 && (STRING003 == "")) Gosub LABEL007
  298.                 STRING004 = ReadLine(STRING023, 11)
  299.                 InputStr STRING004, STRING005, 14, 1, Mask_Alpha(), 256 + 8
  300.                 If (STRING005 == "A") Then
  301.                     Gosub LABEL022
  302.                     If (STRING003 <> "") Goto LABEL013
  303.                     If (STRING005 == "") Goto LABEL011
  304.                 Endif
  305.                 If (STRING005 == "") Goto LABEL013
  306.                 If (((BOOLEAN002 && (STRING005 <> "D")) && (STRING005 <> "F")) && (STRING005 <> "E")) BOOLEAN002 = 0
  307.                 If (STRING005 == "D") Gosub LABEL030
  308.                 If (STRING005 == "E") Gosub LABEL008
  309.                 If (STRING005 == "F") Gosub LABEL033
  310.                 If (STRING005 == "H") Gosub LABEL007
  311.                 If (STRING005 == "L") Then
  312.                     Gosub LABEL037
  313.                     BOOLEAN002 = 1
  314.                 Endif
  315.                 If (STRING005 == "W") Gosub LABEL038
  316.                 Goto LABEL011
  317.                 :LABEL012
  318.                 INT001 = TokCount()
  319.                 Select Case (INT001)
  320.                     Case 1
  321.                         STRING002 = "MENU"
  322.                     Case 2
  323.                         STRING002 = GetToken()
  324.                         STRING003 = GetToken()
  325.                     Case 3
  326.                         STRING002 = GetToken()
  327.                         STRING003 = GetToken()
  328.                         STRING009 = GetToken()
  329.                         INTEGER001 = S2I(STRING009, 10)
  330.                     Case Else
  331.                         SPrintLn ReadLine(STRING023, 12)
  332.                         Log "Too few or too many parameters in TKL.PPE Command Line", 0
  333.                         INT001 = 1
  334.                 End Select
  335.                 Return
  336.             Endif
  337.         Endif
  338.     Endif
  339.     :LABEL013
  340.     If (BOOLEAN003 || BOOLEAN006) Gosub LABEL042
  341.     If (BOOLEAN006) Then
  342.         Gosub LABEL002
  343.         KbdFile STRING013
  344.         Log "User Flagged Files from TKL for D/L", 0
  345.     Endif
  346.     DnCloseAll 0
  347.     DClose 0
  348.     Gosub LABEL014
  349.     If (BOOLEAN013) Then
  350.         Newline
  351.         PrintLn "@X0ERegistered to: @X0E", STRING005, "@X07"
  352.     Else
  353.         PrintLn "  **********************************************"
  354.         Newline
  355.         PrintLn "  [Unregistered Version] - Pausing for 5 Seconds"
  356.         Newline
  357.         PrintLn "       Help support the Shareware Concept"
  358.         Newline
  359.         PrintLn "     Please ask your SysOp to Register Today"
  360.         Newline
  361.         PrintLn "  **********************************************"
  362.         Delay 90
  363.     Endif
  364.     End
  365.     :LABEL014
  366.     FOpen 3, PPEPath() + "TKL.KEY", 0, 0
  367.     FGet 3, STRING009
  368.     FGet 3, STRING024
  369.     STRING009 = RTrim(STRING009, " ")
  370.     STRING009 = Mid(STRING009, InStr(STRING009, ":") + 1, Len(STRING009) - InStr(STRING009, ":"))
  371.     STRING005 = Trim(STRING009, " ")
  372.     STRING009 = Mid(STRING024, 3, Len(STRING024) - 2)
  373.     STRING024 = Trim(STRING009, " ")
  374.     For INT005 = 1 To Len(STRING005)
  375.         INT018 = S2I(Mid(STRING005, INT005, 1), 36) - 9
  376.         INTEGER003 = INTEGER003 + INT018
  377.     Next
  378.     If (INTEGER003 < 0) INTEGER003 = INTEGER003 * -1
  379.     If (INTEGER003 == 0) INTEGER003 = INTEGER003 + 384
  380.     INTEGER003 = INTEGER003 * 7914
  381.     STRING009 = LTrim(String(INTEGER003), " ")
  382.     If (STRING009 == STRING024) BOOLEAN013 = 1
  383.     FClose 3
  384.     Return
  385.     :LABEL015
  386.     If (Exist(PPEPath() + "tickle.ndx")) Goto LABEL016
  387.     DnCreate 0, PPEPath() + "tickle", "usr_name"
  388.     Goto LABEL017
  389.     :LABEL016
  390.     DnOpen 0, PPEPath() + "tickle"
  391.     :LABEL017
  392.     Return
  393.     :LABEL018
  394.     STRING008 = LTrim(String(INT002), " ")
  395.     STRING007 = "file" + STRING008
  396.     STRING012 = "desc" + STRING008
  397.     Return
  398.     :LABEL019
  399.     If (BOOLEAN008) Goto LABEL020
  400.     STRING014 = ""
  401.     STRING004 = ReadLine(STRING023, 13)
  402.     InputStr STRING004, STRING014, 14, 1, "YN", 8192 + 16384 + 256 + 8
  403.     Goto LABEL021
  404.     :LABEL020
  405.     STRING014 = "Y"
  406.     :LABEL021
  407.     If (STRING014 == "Y") Then
  408.         STRING014 = ""
  409.         Newline
  410.         STRING004 = ReadLine(STRING023, 14)
  411.         InputStr STRING004, STRING014, 14, 15, Mask_Ascii(), 4 + 2
  412.         If (STRING014 == "") Return
  413.         DPut 0, STRING012, STRING014
  414.         Newline
  415.     Endif
  416.     Return
  417.     :LABEL022
  418.     If (STRING005 <> "ADD VIOLATION") Then
  419.         Gosub LABEL003
  420.         If (INT002 == 0) Then
  421.             Newline
  422.             PrintLn ReadLine(STRING023, 15)
  423.             Newline
  424.             Return
  425.         Endif
  426.     Endif
  427.     If (BOOLEAN009) Then
  428.         INT004 = 0
  429.         If (STRING005 <> "ADD VIOLATION") Then
  430.             Newline
  431.             STRING005 = ""
  432.             STRING004 = ReadLine(STRING023, 16)
  433.             InputStr STRING004, STRING005, 14, 100, Mask_Ascii(), 256 + 8
  434.             Newline
  435.             If (STRING005 == "") Return
  436.             Tokenize STRING005
  437.             INT004 = TokCount()
  438.             Goto LABEL023
  439.         Endif
  440.         STRING005 = STRING002
  441.         :LABEL023
  442.         If (INT004 > 0) Then
  443.             INT012 = CurConf()
  444.             STRING010 = LTrim(String(INT012), " ")
  445.             STRING010 = PPEPath() + "TKL" + STRING010 + ".CFG"
  446.             If (Exist(STRING010)) Then
  447.                 FOpen 3, STRING010, 0, 0
  448.                 FGet 3, STRING017
  449.                 FClose 3
  450.                 STRING017 = Trim(STRING017, " ")
  451.                 FOpen 3, STRING017, 0, 0
  452.                 BOOLEAN011 = 1
  453.             Endif
  454.             BOOLEAN010 = 0
  455.             For INT005 = 1 To INT004
  456.                 STRING002 = GetToken()
  457.                 STRING002 = Trim(STRING002, " ")
  458.                 If (Len(STRING002) > 12) Then
  459.                     PrintLn ReadLine(STRING023, 17), STRING002
  460.                     PrintLn ReadLine(STRING023, 18)
  461.                     Continue
  462.                 Endif
  463.                 If (BOOLEAN011) Then
  464.                     Frewind 3
  465.                     STRING018 = Left(STRING002, 1)
  466.                     BOOLEAN010 = 0
  467.                     Gosub LABEL026
  468.                     Goto LABEL024
  469.                 Endif
  470.                 BOOLEAN010 = 1
  471.                 :LABEL024
  472.                 If (BOOLEAN010) Then
  473.                     STRING007 = "file" + LTrim(String(INT002), " ")
  474.                     STRING012 = "desc" + LTrim(String(INT002), " ")
  475.                     DPut 0, STRING007, STRING002
  476.                     PrintLn ReadLine(STRING023, 19), STRING002
  477.                     Gosub LABEL019
  478.                     Newline
  479.                     INT007 = INT002
  480.                     Gosub LABEL003
  481.                     If ((INT002 == 0) && (INT007 == 24)) Then
  482.                         Newline
  483.                         PrintLn ReadLine(STRING023, 20)
  484.                         Newline
  485.                         Break
  486.                     Endif
  487.                     Continue
  488.                 Endif
  489.                 PrintLn ReadLine(STRING023, 21), STRING002, ReadLine(STRING023, 22)
  490.                 Newline
  491.             Next
  492.             If (BOOLEAN011) FClose 3
  493.             INT004 = 0
  494.             Log "User added file(s) to the TKL database", 0
  495.             Goto LABEL025
  496.         Endif
  497.         STRING007 = "file" + LTrim(String(INT002), " ")
  498.         STRING012 = "desc" + LTrim(String(INT002), " ")
  499.         DPut 0, STRING007, STRING002
  500.         Gosub LABEL019
  501.         Log "User added a file to the TKL database", 0
  502.     Endif
  503.     :LABEL025
  504.     Newline
  505.     Return
  506.     :LABEL026
  507.     FGet 3, STRING020
  508.     If (Ferr(3)) Return
  509.     If (Left(STRING020, 1) <> "%") Then
  510.         STRING009 = STRING020 + STRING002
  511.         If (Exist(STRING009)) Then
  512.             BOOLEAN010 = 1
  513.             Return
  514.         Endif
  515.     Else
  516.         STRING020 = Mid(STRING020, 2, Len(STRING020))
  517.         FOpen 4, STRING020, 0, 0
  518.         FRead 4, INT012, 2
  519.         If (STRING018 < "A") STRING018 = "A"
  520.         If (STRING018 > "Z") STRING018 = "Z"
  521.         INT010 = S2I(STRING018, 36) - 9
  522.         For INT011 = 1 To 26
  523.             FRead 4, INT013, 2
  524.             If (INT010 == INT011) Then
  525.                 FRead 4, INT014, 2
  526.                 Break
  527.             Endif
  528.         Next
  529.         If (STRING018 == "Z") INT014 = INT012 + 1
  530.         If (STRING018 == "A") INT013 = 0
  531.         BOOLEAN012 = 0
  532.         BOOLEAN010 = 0
  533.         INT017 = INT014
  534.         INT016 = INT013 - 1
  535.         :LABEL027
  536.         If (BOOLEAN012) Goto LABEL028
  537.         REAL001 = INT017
  538.         REAL002 = INT016
  539.         REAL001 = REAL001 / 2
  540.         REAL002 = REAL002 / 2
  541.         REAL003 = REAL001 + REAL002 + 0.5
  542.         INT015 = REAL003
  543.         INTEGER002 = (INT015 - 1) * 13 + 128
  544.         FSeek 4, INTEGER002, 0
  545.         FRead 4, STRING021, 8
  546.         FRead 4, STRING022, 3
  547.         STRING021 = RTrim(STRING021, " ")
  548.         STRING022 = RTrim(STRING022, " ")
  549.         STRING019 = STRING021 + "." + STRING022
  550.         If (STRING019 == STRING002) Then
  551.             BOOLEAN010 = 1
  552.             BOOLEAN012 = 1
  553.         ElseIf (INT017 - INT016 < 2) Then
  554.             BOOLEAN012 = 1
  555.         ElseIf (STRING019 < STRING002) Then
  556.             INT016 = INT015
  557.         ElseIf (STRING019 > STRING002) Then
  558.             INT017 = INT015
  559.         Endif
  560.         Goto LABEL027
  561.         :LABEL028
  562.         FClose 4
  563.     Endif
  564.     If (BOOLEAN010) Goto LABEL029
  565.     Goto LABEL026
  566.     Goto LABEL030
  567.     :LABEL029
  568.     Return
  569.     :LABEL030
  570.     If (BOOLEAN002) Goto LABEL031
  571.     Gosub LABEL037
  572.     BOOLEAN002 = 1
  573.     Goto LABEL032
  574.     :LABEL031
  575.     Newline
  576.     :LABEL032
  577.     STRING005 = ""
  578.     PrintLn ReadLine(STRING023, 23)
  579.     PrintLn ReadLine(STRING023, 24)
  580.     STRING004 = ReadLine(STRING023, 25)
  581.     InputStr STRING004, STRING005, 14, 50, Mask_Ascii(), 256
  582.     If (STRING005 == "") Then
  583.         Newline
  584.         Return
  585.     Endif
  586.     Gosub LABEL001
  587.     Tokenize STRING005
  588.     INT004 = TokCount()
  589.     Newline
  590.     For INT006 = 1 To INT004
  591.         STRING009 = GetToken()
  592.         STRING009 = Trim(STRING009, " ")
  593.         If ((S2I(STRING009, 10) < 25) && (S2I(STRING009, 10) > 0)) Then
  594.             STRING010 = STRING009
  595.             STRING009 = "file" + Trim(STRING009, " ")
  596.             STRING010 = "desc" + Trim(STRING010, " ")
  597.             DPut 0, STRING009, "            "
  598.             DPut 0, STRING010, "                    "
  599.             BOOLEAN003 = 1
  600.             Continue
  601.         Endif
  602.         STRING010 = LTrim(String(STRING009), " ")
  603.         PrintLn ReadLine(STRING023, 26), STRING010, ReadLine(STRING023, 27)
  604.     Next
  605.     If (INT004 > 0) Log "User Deleted file(s) from 'Tickle File'", 0
  606.     Newline
  607.     Return
  608.     :LABEL033
  609.     If (BOOLEAN002) Goto LABEL034
  610.     Gosub LABEL037
  611.     BOOLEAN002 = 1
  612.     Goto LABEL035
  613.     :LABEL034
  614.     Newline
  615.     :LABEL035
  616.     STRING005 = ""
  617.     PrintLn ReadLine(STRING023, 23)
  618.     PrintLn ReadLine(STRING023, 24)
  619.     STRING004 = ReadLine(STRING023, 28)
  620.     InputStr STRING004, STRING005, 14, 100, Mask_Ascii(), 256
  621.     Newline
  622.     If (STRING005 == "") Return
  623.     Gosub LABEL001
  624.     Tokenize STRING005
  625.     INT004 = TokCount()
  626.     For INT006 = 1 To INT004
  627.         StartDisp 1
  628.         STRING009 = GetToken()
  629.         If ((S2I(STRING009, 10) < 25) && (S2I(STRING009, 10) > 0)) Then
  630.             STRING010 = STRING009
  631.             STRING009 = "file" + Trim(STRING009, " ")
  632.             STRING012 = "desc" + Trim(STRING010, " ")
  633.             If (DGet(0, STRING009) <> "            ") Then
  634.                 TSTRING011(INT003) = Trim(DGet(0, STRING009), " ")
  635.                 DPut 0, STRING009, "            "
  636.                 DPut 0, STRING012, "                    "
  637.                 Inc INT003
  638.                 BOOLEAN006 = 1
  639.                 Goto LABEL036
  640.             Endif
  641.             PrintLn ReadLine(STRING023, 40), STRING010
  642.             :LABEL036
  643.             Continue
  644.         Endif
  645.         STRING010 = LTrim(String(STRING009), " ")
  646.         PrintLn ReadLine(STRING023, 26), STRING010, ReadLine(STRING023, 27)
  647.     Next
  648.     If (BOOLEAN006) PrintLn ReadLine(STRING023, 29)
  649.     StartDisp 2
  650.     Newline
  651.     Return
  652.     :LABEL037
  653.     StartDisp 1
  654.     Newlines 2
  655.     PrintLn ReadLine(STRING023, 31)
  656.     PrintLn ReadLine(STRING023, 32)
  657.     PrintLn ReadLine(STRING023, 33)
  658.     Newlines 2
  659.     PrintLn ReadLine(STRING023, 34)
  660.     PrintLn ReadLine(STRING023, 35)
  661.     For INT006 = 1 To 24
  662.         STRING009 = DGet(0, DName(0, INT006 + 1))
  663.         STRING012 = DGet(0, DName(0, INT006 + 25))
  664.         If (INT006 < 10) Print " "
  665.         Print "@X0F", INT006, ". @X03", STRING009
  666.         Print Space(2)
  667.         Print "@X02", STRING012
  668.         Print Space(2)
  669.         If (!INT006 % 2) Newline
  670.     Next
  671.     Newlines 2
  672.     StartDisp 2
  673.     BOOLEAN002 = 1
  674.     Return
  675.     :LABEL038
  676.     STRING005 = ""
  677.     Newline
  678.     STRING004 = ReadLine(STRING023, 36)
  679.     InputStr STRING004, STRING005, 14, 1, "YN", 8192 + 16384 + 256 + 8
  680.     If (STRING005 == "Y") Then
  681.         INT002 = 1
  682.         For INT006 = 1 To 24
  683.             Gosub LABEL018
  684.             DPut 0, STRING007, "            "
  685.             DPut 0, STRING012, "                    "
  686.             Inc INT002
  687.         Next
  688.         Newline
  689.         PrintLn ReadLine(STRING023, 37)
  690.         Log "User DELETED ENTIRE 'Tickle File'", 0
  691.         Delay 36
  692.     Endif
  693.     Newline
  694.     Return
  695.     :LABEL039
  696.     If (Exist(PPEPath() + "tickle.dbf")) Goto LABEL040
  697.     TSTRING001(0) = "usr_name,C,25,0"
  698.     TSTRING001(1) = "file1,C,12,0"
  699.     TSTRING001(2) = "file2,C,12,0"
  700.     TSTRING001(3) = "file3,C,12,0"
  701.     TSTRING001(4) = "file4,C,12,0"
  702.     TSTRING001(5) = "file5,C,12,0"
  703.     TSTRING001(6) = "file6,C,12,0"
  704.     TSTRING001(7) = "file7,C,12,0"
  705.     TSTRING001(8) = "file8,C,12,0"
  706.     TSTRING001(9) = "file9,C,12,0"
  707.     TSTRING001(10) = "file10,C,12,0"
  708.     TSTRING001(11) = "file11,C,12,0"
  709.     TSTRING001(12) = "file12,C,12,0"
  710.     TSTRING001(13) = "file13,C,12,0"
  711.     TSTRING001(14) = "file14,C,12,0"
  712.     TSTRING001(15) = "file15,C,12,0"
  713.     TSTRING001(16) = "file16,C,12,0"
  714.     TSTRING001(17) = "file17,C,12,0"
  715.     TSTRING001(18) = "file18,C,12,0"
  716.     TSTRING001(19) = "file19,C,12,0"
  717.     TSTRING001(20) = "file20,C,12,0"
  718.     TSTRING001(21) = "file21,C,12,0"
  719.     TSTRING001(22) = "file22,C,12,0"
  720.     TSTRING001(23) = "file23,C,12,0"
  721.     TSTRING001(24) = "file24,C,12,0"
  722.     TSTRING001(25) = "desc1,C,15,0"
  723.     TSTRING001(26) = "desc2,C,15,0"
  724.     TSTRING001(27) = "desc3,C,15,0"
  725.     TSTRING001(28) = "desc4,C,15,0"
  726.     TSTRING001(29) = "desc5,C,15,0"
  727.     TSTRING001(30) = "desc6,C,15,0"
  728.     TSTRING001(31) = "desc7,C,15,0"
  729.     TSTRING001(32) = "desc8,C,15,0"
  730.     TSTRING001(33) = "desc9,C,15,0"
  731.     TSTRING001(34) = "desc10,C,15,0"
  732.     TSTRING001(35) = "desc11,C,15,0"
  733.     TSTRING001(36) = "desc12,C,15,0"
  734.     TSTRING001(37) = "desc13,C,15,0"
  735.     TSTRING001(38) = "desc14,C,15,0"
  736.     TSTRING001(39) = "desc15,C,15,0"
  737.     TSTRING001(40) = "desc16,C,15,0"
  738.     TSTRING001(41) = "desc17,C,15,0"
  739.     TSTRING001(42) = "desc18,C,15,0"
  740.     TSTRING001(43) = "desc19,C,15,0"
  741.     TSTRING001(44) = "desc20,C,15,0"
  742.     TSTRING001(45) = "desc21,C,15,0"
  743.     TSTRING001(46) = "desc22,C,15,0"
  744.     TSTRING001(47) = "desc23,C,15,0"
  745.     TSTRING001(48) = "desc24,C,15,0"
  746.     DCreate 0, PPEPath() + "tickle", 0, TSTRING001(BOOLEAN000)
  747.     Goto LABEL041
  748.     :LABEL040
  749.     DOpen 0, PPEPath() + "tickle", 0
  750.     :LABEL041
  751.     Return
  752.     :LABEL042
  753.     Newline
  754.     If (BOOLEAN004) Goto LABEL043
  755.     Print ReadLine(STRING023, 38)
  756.     BOOLEAN004 = 0
  757.     For INT006 = 2 To 25
  758.         STRING009 = DGet(0, DName(0, INT006))
  759.         If (STRING009 == "            ") Then
  760.             For INT005 = INT006 + 1 To 25
  761.                 STRING009 = DGet(0, DName(0, INT005))
  762.                 STRING012 = DGet(0, DName(0, INT005 + 24))
  763.                 If (STRING009 <> "            ") Then
  764.                     DPut 0, DName(0, INT006), STRING009
  765.                     DPut 0, DName(0, INT006 + 24), STRING012
  766.                     DPut 0, DName(0, INT005), "            "
  767.                     DPut 0, DName(0, INT006 + 25), "                    "
  768.                     BOOLEAN004 = 1
  769.                     Break
  770.                     Continue
  771.                 Endif
  772.                 STRING016 = DName(0, INT006 + 25)
  773.                 DPut 0, DName(0, INT006 + 25), "                    "
  774.             Next
  775.         Endif
  776.         If ((STRING009 == "            ") && !BOOLEAN004) Break
  777.     Next
  778.     PrintLn ReadLine(STRING023, 39)
  779.     :LABEL043
  780.     Return
  781.  
  782. ;------------------------------------------------------------------------------
  783. ;
  784. ; Usage report (before postprocessing)
  785. ;
  786. ; ■ Statements used :
  787. ;
  788. ;    2       End
  789. ;    2       Wait
  790. ;    141     Goto 
  791. ;    233     Let 
  792. ;    6       Print 
  793. ;    36      PrintLn 
  794. ;    116     If 
  795. ;    9       DispFile 
  796. ;    1       FCreate 
  797. ;    5       FOpen 
  798. ;    5       FClose 
  799. ;    4       FGet 
  800. ;    2       FPutLn 
  801. ;    4       StartDisp 
  802. ;    1       Delete 
  803. ;    16      Log 
  804. ;    9       InputStr 
  805. ;    34      Gosub 
  806. ;    32      Return
  807. ;    2       Delay 
  808. ;    2       Inc 
  809. ;    48      Newline
  810. ;    3       Newlines 
  811. ;    4       Tokenize 
  812. ;    1       KbdFile 
  813. ;    2       SPrintLn 
  814. ;    1       Frewind 
  815. ;    1       FSeek 
  816. ;    5       FRead 
  817. ;    1       DCreate 
  818. ;    1       DOpen 
  819. ;    1       DClose 
  820. ;    1       DnCreate 
  821. ;    1       DnOpen 
  822. ;    1       DnCloseAll 
  823. ;    1       DNew 
  824. ;    1       DAdd 
  825. ;    1       DSeek 
  826. ;    17      DPut 
  827. ;
  828. ;
  829. ; ■ Functions used :
  830. ;
  831. ;    1       -
  832. ;    3       *
  833. ;    2       /
  834. ;    1       %
  835. ;    90      +
  836. ;    11      -
  837. ;    53      ==
  838. ;    14      <>
  839. ;    24      <
  840. ;    14      <=
  841. ;    10      >
  842. ;    29      >=
  843. ;    82      !
  844. ;    39      &&
  845. ;    19      ||
  846. ;    10      Len(
  847. ;    1       Upper()
  848. ;    6       Mid()
  849. ;    2       Left()
  850. ;    2       Space()
  851. ;    1       Ferr()
  852. ;    2       Chr()
  853. ;    7       InStr()
  854. ;    12      LTrim()
  855. ;    4       RTrim()
  856. ;    14      Trim()
  857. ;    1       U_Name()
  858. ;    1       U_BdlDay()
  859. ;    14      String()
  860. ;    2       Mask_Alpha()
  861. ;    5       Mask_Ascii()
  862. ;    1       CurConf()
  863. ;    20      PPEPath()
  864. ;    2       PcbNode()
  865. ;    48      ReadLine()
  866. ;    9       GetToken()
  867. ;    6       Exist()
  868. ;    1       I2S()
  869. ;    10      S2I()
  870. ;    5       TokCount()
  871. ;    1       FlagCnt()
  872. ;    2       DErr()
  873. ;    12      DName()
  874. ;    9       DGet()
  875. ;    1       DChkStat()
  876. ;
  877. ;------------------------------------------------------------------------------
  878. ;
  879. ; Analysis flags : No flag
  880. ;
  881. ;------------------------------------------------------------------------------
  882. ;
  883. ; Postprocessing report
  884. ;
  885. ;    14      For/Next
  886. ;    0       While/EndWhile
  887. ;    52      If/Then or If/Then/Else
  888. ;    1       Select Case
  889. ;
  890. ;------------------------------------------------------------------------------
  891. ;                 AEGiS Corp - Break the routines, code against the machines!
  892. ;------------------------------------------------------------------------------
  893.