home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAPCP01.ZIP / DEPOS106 / DEPOSIT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-09-03  |  13KB  |  827 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.     Date     DATE001
  20.     Date     DATE002
  21.     Date     DATE003
  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.     Integer  INTEGER020
  41.     Integer  INTEGER021
  42.     Integer  INTEGER022
  43.     Integer  INTEGER023
  44.     Integer  INTEGER024
  45.     Integer  INTEGER025
  46.     Integer  INTEGER026
  47.     Integer  INTEGER027
  48.     Integer  INTEGER028
  49.     Integer  INTEGER029
  50.     String   STRING001
  51.     String   STRING002
  52.     String   STRING003
  53.     String   STRING004
  54.     String   STRING005
  55.     String   STRING006
  56.     String   STRING007
  57.     String   STRING008
  58.     String   STRING009
  59.     String   STRING010
  60.     String   STRING011
  61.     String   STRING012
  62.     String   STRING013
  63.     String   STRING014
  64.     String   STRING015
  65.     String   STRING016
  66.     String   STRING017
  67.     String   STRING018
  68.     String   STRING019
  69.     String   TSTRING020(6)
  70.     String   STRING021
  71.     String   STRING022
  72.     String   STRING023
  73.     String   STRING024
  74.     String   STRING025
  75.     String   STRING026
  76.     String   STRING027
  77.     String   STRING028
  78.     String   STRING029
  79.     String   STRING030
  80.     String   STRING031
  81.     String   STRING032
  82.  
  83. ;------------------------------------------------------------------------------
  84.  
  85.     Log "Opened Depository PPE", 1
  86.     CdChkOn
  87.     Cls
  88.     STRING008 = GetEnv("PCB_PWRD")
  89.     If (STRING008 == "") Then
  90.         STRING031 = "Environment Variable was not set. Please tell Sysop."
  91.         Log "PCB_PWRD environment variable not set.. ", 0
  92.     ElseIf (Exist(STRING008) == 0) Then
  93.         STRING031 = "File associated with environmet not found. Please tell Sysop."
  94.         Log "PCB_PWRD Environment variable " + STRING008 + " was not found!", 0
  95.     Else
  96.         FOpen 1, STRING008, 0, 0
  97.         FGet 1, STRING022
  98.         FClose 1
  99.         INTEGER022 = Len(STRING022)
  100.         STRING032 = 0
  101.         While (STRING032 < INTEGER022) Do
  102.             STRING032 = STRING032 + 1
  103.             If (Mid(STRING022, STRING032, 1) == ",") Then
  104.                 INTEGER017 = INTEGER017 + 1
  105.             Endif
  106.         EndWhile
  107.         If (INTEGER017 < 7) Then
  108.             Log "PWRD file is not the correct format.", 0
  109.             Log "Please check that the FORMAT is 15.x extended format.", 0
  110.             STRING031 = "Please tell SYSOP that the PWRD file has incorrect format."
  111.         Else
  112.             GetUser
  113.             Cls
  114.             INTEGER004 = U_PageLen
  115.             If (INTEGER004 <> 25) Then
  116.                 U_PageLen = 25
  117.                 PutUser
  118.             Endif
  119.             STRING019 = PPEPath()
  120.             STRING019 = STRING019 + "intro.pcb"
  121.             INTEGER014 = 1
  122.             TSTRING020(INTEGER014) = STRING019
  123.             Gosub LABEL010
  124.             DispFile TSTRING020(INTEGER014), 0
  125.             AnsiPos 14, 22
  126.             PrintLn "@X0E(c)1993,95 PRACTICAL COMPUTER SERVICES (609) 587-2672@X07"
  127.             AnsiPos 5, 23
  128.             Print "@X0DThis software is Unregistered!@X0E Please ask@X8F YOUR SYSOP@X0E to Register it!@X07"
  129.             Delay 50
  130.             GetUser
  131.             STRING026 = PPEPath()
  132.             STRING026 = STRING026 + "DEPOSIT.CFG"
  133.             FOpen 1, STRING026, 0, 0
  134.             INTEGER014 = 1
  135.             TSTRING020(INTEGER014) = STRING026
  136.             Gosub LABEL010
  137.             FGet 1, STRING006
  138.             FGet 1, STRING007
  139.             FGet 1, INTEGER005
  140.             FGet 1, INTEGER006
  141.             FClose 1
  142.             STRING008 = GetEnv("PCB_PWRD")
  143.             If (STRING008 == "") Stop
  144.             If (Exist(STRING008) == 0) Stop
  145.             STRING001 = U_Sec
  146.             FOpen 1, STRING008, 0, 0
  147.             INTEGER013 = 0
  148.             While (INTEGER013 == 0) Do
  149.                 FGet 1, STRING018
  150.                 STRING025 = Mid(STRING018, 1, 5)
  151.                 If (InStr(STRING025, STRING001) > 0) Then
  152.                     INTEGER017 = 0
  153.                     INTEGER018 = 0
  154.                     While (INTEGER017 <= 2) Do
  155.                         STRING021 = Mid(STRING018, INTEGER018, 1)
  156.                         If (STRING021 == ",") Then
  157.                             INTEGER017 = INTEGER017 + 1
  158.                         Endif
  159.                         INTEGER018 = INTEGER018 + 1
  160.                     EndWhile
  161.                     INTEGER019 = INTEGER018
  162.                     INTEGER017 = 0
  163.                     While (INTEGER017 < 1) Do
  164.                         STRING021 = Mid(STRING018, INTEGER018, 1)
  165.                         If (STRING021 == ",") Then
  166.                             INTEGER017 = INTEGER017 + 1
  167.                         Endif
  168.                         INTEGER018 = INTEGER018 + 1
  169.                     EndWhile
  170.                     INTEGER020 = INTEGER018 - 1
  171.                     INTEGER021 = INTEGER020 - INTEGER019
  172.                     STRING002 = Mid(STRING018, INTEGER019, INTEGER021)
  173.                     If (STRING002 == "32767") Then
  174.                         STRING002 = "UNLIMITED"
  175.                         Goto LABEL001
  176.                     Endif
  177.                     STRING002 = STRING002 * 1024
  178.                     :LABEL001
  179.                     INTEGER013 = 1
  180.                 Endif
  181.             EndWhile
  182.             FClose 1
  183.             If (STRING002 == "UNLIMITED") Then
  184.                 STRING003 = 0
  185.             Else
  186.                 INTEGER022 = STRING002
  187.                 INTEGER022 = INTEGER022 - U_BdlDay()
  188.                 STRING003 = INTEGER022
  189.             Endif
  190.             INTEGER019 = 0
  191.             INTEGER020 = 0
  192.             INTEGER013 = 0
  193.             FOpen 1, STRING008, 0, 0
  194.             While (INTEGER013 == 0) Do
  195.                 FGet 1, STRING018
  196.                 STRING025 = Mid(STRING018, 1, 5)
  197.                 If (InStr(STRING025, STRING001) > 0) Then
  198.                     INTEGER017 = 0
  199.                     INTEGER018 = 0
  200.                     While (INTEGER017 <= 5) Do
  201.                         STRING021 = Mid(STRING018, INTEGER018, 1)
  202.                         If (STRING021 == ",") Then
  203.                             INTEGER017 = INTEGER017 + 1
  204.                         Endif
  205.                         INTEGER018 = INTEGER018 + 1
  206.                     EndWhile
  207.                     INTEGER019 = INTEGER018
  208.                     INTEGER017 = 0
  209.                     While (INTEGER017 < 1) Do
  210.                         STRING021 = Mid(STRING018, INTEGER018, 1)
  211.                         If (STRING021 == ",") Then
  212.                             INTEGER017 = INTEGER017 + 1
  213.                         Endif
  214.                         INTEGER018 = INTEGER018 + 1
  215.                     EndWhile
  216.                     INTEGER020 = INTEGER018 - 1
  217.                     INTEGER021 = INTEGER020 - INTEGER019
  218.                     STRING022 = Mid(STRING018, INTEGER019, INTEGER021)
  219.                     INTEGER022 = Len(STRING022)
  220.                     STRING023 = Mid(STRING022, INTEGER022, 1)
  221.                     STRING024 = Mid(STRING022, 1, INTEGER022 - 1)
  222.                     If (STRING023 == 0) Then
  223.                         STRING005 = "NA"
  224.                         Goto LABEL002
  225.                     Endif
  226.                     STRING005 = STRING023 + ":" + STRING024
  227.                     :LABEL002
  228.                     INTEGER013 = 1
  229.                 Endif
  230.             EndWhile
  231.             FClose 1
  232.             INTEGER002 = U_Ful()
  233.             INTEGER003 = U_Fdl()
  234.             If (INTEGER002 > INTEGER003) Then
  235.                 INTEGER025 = INTEGER002 / INTEGER003
  236.                 STRING022 = INTEGER025
  237.                 STRING004 = STRING022 + ":1"
  238.             Endif
  239.             If (INTEGER003 > INTEGER002) Then
  240.                 INTEGER025 = INTEGER003 / INTEGER002
  241.                 STRING022 = INTEGER025
  242.                 STRING004 = "1:" + STRING022
  243.             Endif
  244.             If (INTEGER003 == INTEGER002) Then
  245.                 STRING004 = "1:1"
  246.             Endif
  247.             INTEGER013 = 0
  248.             STRING026 = PPEPath()
  249.             STRING026 = STRING026 + "DEPOSIT.ndx"
  250.             FOpen 1, STRING026, 0, 0
  251.             While (INTEGER013 == 0) Do
  252.                 If (INTEGER013 == 0) FGet 1, STRING018
  253.                 If (STRING018 <> "") Then
  254.                     INTEGER022 = InStr(STRING018, "/")
  255.                     INTEGER024 = Len(STRING018)
  256.                     STRING022 = Mid(STRING018, INTEGER022 + 1, INTEGER024 - INTEGER022)
  257.                     INTEGER011 = STRING022
  258.                     STRING022 = Mid(STRING018, 1, INTEGER022 - 1)
  259.                     STRING014 = U_Name()
  260.                     If (InStr(STRING022, STRING014) > 0) Then
  261.                         INTEGER013 = 1
  262.                         STRING026 = PPEPath()
  263.                         STRING026 = STRING026 + "DEPOSIT.dat"
  264.                         FOpen 2, STRING026, 0, 0
  265.                         INTEGER026 = 0
  266.                         INTEGER017 = 0
  267.                         While (INTEGER026 == 0) Do
  268.                             FGet 2, STRING018
  269.                             If (STRING018 == "") INTEGER026 = 1
  270.                             INTEGER017 = INTEGER017 + 1
  271.                             If (INTEGER017 == INTEGER011) Then
  272.                                 INTEGER026 = 1
  273.                             Endif
  274.                         EndWhile
  275.                         STRING014 = STRING018
  276.                         FGet 2, STRING018
  277.                         DATE001 = STRING018
  278.                         FGet 2, STRING018
  279.                         DATE002 = STRING018
  280.                         FGet 2, STRING018
  281.                         DATE003 = STRING018
  282.                         FGet 2, STRING018
  283.                         INTEGER007 = STRING018
  284.                         FGet 2, STRING018
  285.                         INTEGER008 = STRING018
  286.                         FGet 2, STRING018
  287.                         STRING015 = STRING018
  288.                         FGet 2, STRING018
  289.                         STRING016 = STRING018
  290.                         FGet 2, STRING018
  291.                         INTEGER009 = STRING018
  292.                         FGet 2, STRING018
  293.                         INTEGER010 = STRING018
  294.                         FGet 2, STRING018
  295.                         STRING012 = STRING018
  296.                         FGet 2, STRING018
  297.                         STRING013 = STRING018
  298.                         INTEGER013 = 1
  299.                         FClose 2
  300.                     Endif
  301.                     Continue
  302.                 Endif
  303.                 FClose 1
  304.                 Gosub LABEL008
  305.                 INTEGER013 = 1
  306.             EndWhile
  307.             If (DATE001 <> Date()) Then
  308.                 STRING012 = "0"
  309.                 STRING013 = "0"
  310.             Endif
  311.             INTEGER028 = STRING012
  312.             INTEGER029 = STRING013
  313.             Gosub LABEL009
  314.             :LABEL003
  315.             AnsiPos 24, 7
  316.             STRING022 = MinLeft()
  317.             Print "@X70" + STRING022 + "@X07"
  318.             AnsiPos 28, 23
  319.             InputStr "@X0EEnter your choice@X07 ", STRING027, 4, 1, "QDWEqdwe", 32
  320.             If (Upper(STRING027) == "Q") Goto LABEL004
  321.             If (Upper(STRING027) == "D") Then
  322.                 Gosub LABEL005
  323.                 Goto LABEL003
  324.             Endif
  325.             If (Upper(STRING027) == "W") Then
  326.                 Gosub LABEL006
  327.                 Goto LABEL003
  328.             Endif
  329.             If (Upper(STRING027) == "E") Then
  330.                 Gosub LABEL007
  331.                 Goto LABEL003
  332.             Endif
  333.             Goto LABEL003
  334.             :LABEL004
  335.             FClose 1
  336.             FClose 2
  337.             FClose 3
  338.             Gosub LABEL011
  339.             INTEGER022 = MinLeft()
  340.             If (INTEGER022 < 1) Bye
  341.             Cls
  342.             U_PageLen = INTEGER004
  343.             PutUser
  344.             End
  345.         Endif
  346.     Endif
  347.     Cls
  348.     If (STRING031 > "") Then
  349.         PrintLn STRING031
  350.     Endif
  351.     Stop
  352.     :LABEL005
  353.     AnsiPos 15, 23
  354.     InputStr "Enter @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING027, 3, 1, "BTQbtq", 32
  355.     If (Upper(STRING027) == "Q") Goto LABEL003
  356.     If (Upper(STRING027) == "B") Then
  357.         AnsiPos 15, 23
  358.         InputStr "@X0EInput Byte amount you wish to Deposit@X07 ", STRING027, 4, 10, "9876543210", 32
  359.         AnsiPos 15, 23
  360.         InputStr "@X0EAre you sure you wish to deposit " + STRING027 + " Bytes@X07 ", STRING029, 4, 1, "YyNn", 32
  361.         If (Upper(STRING029) == "Y") Then
  362.             INTEGER022 = STRING002
  363.             If (STRING002 == "UNLIMITED") INTEGER022 = 0
  364.             INTEGER022 = INTEGER022 - U_BdlDay()
  365.             If (INTEGER022 < 1) Then
  366.                 AnsiPos 5, 23
  367.                 InputStr "Value entered is larger than Bytes remaining. Hit enter to continue.", STRING027, 9, 1, "", 32
  368.                 Goto LABEL005
  369.             Endif
  370.             INTEGER023 = STRING027
  371.             If (INTEGER023 > INTEGER022) Then
  372.                 AnsiPos 5, 23
  373.                 InputStr "Value entered is larger than Bytes remaining. Hit enter to continue.", STRING027, 9, 1, "", 32
  374.                 Goto LABEL005
  375.             Endif
  376.             DATE002 = Date()
  377.             INTEGER007 = STRING027
  378.             INTEGER028 = INTEGER028 - INTEGER007
  379.             STRING015 = "BYTE"
  380.             INTEGER010 = INTEGER010 + INTEGER007
  381.             STRING019 = PPEPath()
  382.             STRING019 = STRING019 + "USysUpd.Exe"
  383.             WrUSys
  384.             Shell 1, STRING028, STRING019, INTEGER007
  385.             RdUSys
  386.             Gosub LABEL009
  387.         Endif
  388.         Goto LABEL003
  389.     Endif
  390.     If (Upper(STRING027) == "T") Then
  391.         AnsiPos 5, 23
  392.         INTEGER022 = MinLeft()
  393.         STRING022 = INTEGER022
  394.         InputStr "@X0EYou have " + STRING022 + " available. Input Time amount you wish to Deposit@X07 ", STRING027, 4, 10, "9876543210", 32
  395.         AnsiPos 15, 23
  396.         InputStr "@X0EAre you sure you wish to deposit " + STRING027 + " Time@X07 ", STRING029, 4, 1, "YyNn", 32
  397.         If (Upper(STRING029) == "Y") Then
  398.             INTEGER027 = STRING027
  399.             INTEGER022 = MinLeft()
  400.             If (INTEGER027 > INTEGER022) Then
  401.                 AnsiPos 5, 23
  402.                 InputStr "Value entered is more than the time remaining. Hit enter to continue.", STRING027, 9, 1, "", 32
  403.                 Goto LABEL003
  404.             Endif
  405.             DATE002 = Date()
  406.             INTEGER007 = STRING027
  407.             STRING015 = "TIME"
  408.             INTEGER009 = INTEGER009 + INTEGER007
  409.             INTEGER027 = INTEGER027 * -1
  410.             AdjTime INTEGER027
  411.             INTEGER029 = INTEGER029 - INTEGER007
  412.             Cls
  413.             Gosub LABEL009
  414.         Endif
  415.         Goto LABEL003
  416.     Endif
  417.     Goto LABEL005
  418.     :LABEL006
  419.     AnsiPos 15, 23
  420.     InputStr "Enter @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING027, 3, 1, "BTQbtq", 32
  421.     If (Upper(STRING027) == "Q") Goto LABEL003
  422.     If (Upper(STRING027) == "B") Then
  423.         AnsiPos 15, 23
  424.         InputStr "@X0EInput Byte amount you wish to Withdraw@X07 ", STRING027, 4, 10, "9876543210", 32
  425.         AnsiPos 15, 23
  426.         InputStr "@X0EAre you sure you wish to withdraw " + STRING027 + " Bytes@X07 ", STRING029, 4, 1, "YyNn", 32
  427.         If (Upper(STRING029) == "Y") Then
  428.             INTEGER027 = STRING027
  429.             If (INTEGER027 > INTEGER010) Then
  430.                 AnsiPos 5, 23
  431.                 InputStr "Value entered is more than Bytes saved. Hit enter to continue.", STRING027, 9, 1, "", 32
  432.                 Goto LABEL006
  433.             Endif
  434.             If (INTEGER027 > STRING007) Then
  435.                 AnsiPos 1, 23
  436.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  437.                 Goto LABEL006
  438.             Endif
  439.             INTEGER022 = INTEGER028 + INTEGER027
  440.             If (INTEGER022 > STRING007) Then
  441.                 AnsiPos 1, 23
  442.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  443.                 Goto LABEL006
  444.             Endif
  445.             DATE003 = Date()
  446.             INTEGER008 = INTEGER027
  447.             STRING016 = "BYTE"
  448.             INTEGER010 = INTEGER010 - INTEGER008
  449.             INTEGER022 = INTEGER008 * -1
  450.             INTEGER028 = INTEGER028 + INTEGER008
  451.             STRING019 = PPEPath()
  452.             STRING019 = STRING019 + "USysUpd.Exe"
  453.             WrUSys
  454.             Shell 1, STRING028, STRING019, INTEGER022
  455.             RdUSys
  456.             Gosub LABEL009
  457.         Endif
  458.         Goto LABEL006
  459.     Endif
  460.     If (Upper(STRING027) == "T") Then
  461.         AnsiPos 5, 23
  462.         INTEGER022 = MinLeft()
  463.         STRING022 = INTEGER022
  464.         InputStr "@X0EInput Time amount you wish to Withdraw@X07 ", STRING027, 4, 10, "9876543210", 32
  465.         AnsiPos 15, 23
  466.         InputStr "@X0EAre you sure you wish to withdraw " + STRING027 + " Time@X07 ", STRING029, 4, 1, "YyNn", 32
  467.         If (Upper(STRING029) == "Y") Then
  468.             INTEGER027 = STRING027
  469.             If (INTEGER009 < INTEGER027) Then
  470.                 AnsiPos 5, 23
  471.                 InputStr "Value entered is more than time saved. Hit enter to continue.", STRING027, 9, 1, "", 32
  472.                 Goto LABEL006
  473.             Endif
  474.             If (INTEGER027 > STRING006) Then
  475.                 AnsiPos 1, 23
  476.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  477.                 Goto LABEL006
  478.             Endif
  479.             INTEGER022 = INTEGER029 + INTEGER027
  480.             If (INTEGER022 > STRING006) Then
  481.                 AnsiPos 1, 23
  482.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  483.                 Goto LABEL006
  484.             Endif
  485.             DATE003 = Date()
  486.             INTEGER008 = STRING027
  487.             STRING016 = "TIME"
  488.             INTEGER009 = INTEGER009 - INTEGER008
  489.             AdjTime INTEGER008
  490.             INTEGER029 = INTEGER029 + INTEGER008
  491.             Cls
  492.             Gosub LABEL009
  493.         Endif
  494.         Goto LABEL006
  495.     Endif
  496.     Goto LABEL006
  497.     :LABEL007
  498.     AnsiPos 15, 23
  499.     InputStr "Enter @X0E(B)@X03ytes, @X0E(T)@X03ime, or @X0E(Q)@X03uit back to menu ", STRING027, 3, 1, "BTQbtq", 32
  500.     If (Upper(STRING027) == "Q") Goto LABEL003
  501.     If (Upper(STRING027) == "B") Then
  502.         AnsiPos 10, 23
  503.         STRING022 = INTEGER006
  504.         InputStr "@X0EInput Byte amount to Exchange, in increments of@X07 " + STRING022, STRING027, 4, 10, "9876543210", 32
  505.         AnsiPos 15, 23
  506.         InputStr "@X0EAre you sure you wish to exchange " + STRING027 + " Bytes@X07 ", STRING029, 4, 1, "YyNn", 32
  507.         If (Upper(STRING029) == "Y") Then
  508.             INTEGER027 = STRING027
  509.             If (INTEGER027 > INTEGER010) Then
  510.                 AnsiPos 5, 23
  511.                 InputStr "Value entered is more than Bytes saved. Hit enter to continue.", STRING027, 9, 1, "", 32
  512.                 Goto LABEL007
  513.             Endif
  514.             If (INTEGER027 > STRING007) Then
  515.                 AnsiPos 1, 23
  516.                 InputStr "Value entered is more than Maximum Bytes allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  517.                 Goto LABEL006
  518.             Endif
  519.             If (INTEGER027 < INTEGER006) Then
  520.                 AnsiPos 1, 23
  521.                 InputStr "Value entered is less than then minimum value of " + STRING022 + ". Hit enter to continue.", STRING027, 9, 1, "", 32
  522.                 Goto LABEL006
  523.             Endif
  524.             DATE003 = Date()
  525.             INTEGER008 = INTEGER027
  526.             STRING016 = "BYTE"
  527.             INTEGER010 = INTEGER010 - INTEGER008
  528.             INTEGER022 = INTEGER027 / INTEGER006
  529.             INTEGER022 = INTEGER022 * INTEGER005
  530.             DATE002 = Date()
  531.             INTEGER007 = INTEGER022
  532.             STRING015 = "TIME"
  533.             INTEGER009 = INTEGER009 + INTEGER007
  534.             Gosub LABEL009
  535.         Endif
  536.         Goto LABEL007
  537.     Endif
  538.     If (Upper(STRING027) == "T") Then
  539.         AnsiPos 15, 23
  540.         STRING022 = INTEGER005
  541.         InputStr "@X0EInput Time amount you wish to Exchange, in increments of@X07 " + STRING022, STRING027, 4, 10, "9876543210", 32
  542.         AnsiPos 15, 23
  543.         InputStr "@X0EAre you sure you wish to exchange " + STRING027 + " Minutes@X07", STRING029, 4, 1, "YyNn", 32
  544.         If (Upper(STRING029) == "Y") Then
  545.             INTEGER027 = STRING027
  546.             If (INTEGER027 > INTEGER009) Then
  547.                 AnsiPos 5, 23
  548.                 InputStr "Value entered is more than Time saved. Hit enter to continue.", STRING027, 9, 1, "", 32
  549.                 Goto LABEL007
  550.             Endif
  551.             If (INTEGER027 > STRING006) Then
  552.                 AnsiPos 1, 23
  553.                 InputStr "Value entered is more than Maximum Time allowed . Hit enter to continue.", STRING027, 9, 1, "", 32
  554.                 Goto LABEL006
  555.             Endif
  556.             If (INTEGER027 < INTEGER005) Then
  557.                 AnsiPos 1, 23
  558.                 InputStr "Value entered is less than then minimum value of " + STRING022 + ". Hit enter to continue.", STRING027, 9, 1, "", 32
  559.                 Goto LABEL006
  560.             Endif
  561.             DATE003 = Date()
  562.             INTEGER008 = INTEGER027
  563.             STRING016 = "TIME"
  564.             INTEGER009 = INTEGER009 - INTEGER008
  565.             INTEGER022 = INTEGER027 / INTEGER005
  566.             INTEGER022 = INTEGER022 * INTEGER006
  567.             DATE002 = Date()
  568.             INTEGER007 = INTEGER022
  569.             STRING015 = "BYTE"
  570.             INTEGER010 = INTEGER010 + INTEGER007
  571.             Gosub LABEL009
  572.         Endif
  573.         Goto LABEL007
  574.     Endif
  575.     Goto LABEL007
  576.     :LABEL008
  577.     STRING017 = U_Name()
  578.     STRING026 = PPEPath()
  579.     STRING026 = STRING026 + "DEPOSIT.dat"
  580.     FOpen 2, STRING026, 0, 0
  581.     INTEGER026 = 0
  582.     INTEGER017 = 1
  583.     While (INTEGER026 == 0) Do
  584.         FGet 2, STRING018
  585.         If (STRING018 == "") Then
  586.             INTEGER026 = 1
  587.             Continue
  588.         Endif
  589.         INTEGER017 = INTEGER017 + 1
  590.     EndWhile
  591.     FClose 2
  592.     STRING026 = PPEPath()
  593.     STRING026 = STRING026 + "DEPOSIT.ndx"
  594.     FAppend 1, STRING026, 2, 0
  595.     INTEGER011 = INTEGER017
  596.     STRING022 = INTEGER011
  597.     FPutLn 1, STRING017, "/", STRING022
  598.     FClose 1
  599.     STRING026 = PPEPath()
  600.     STRING026 = STRING026 + "DEPOSIT.dat"
  601.     FAppend 2, STRING026, 2, 0
  602.     STRING014 = U_Name()
  603.     DATE001 = "00-00-00"
  604.     DATE002 = "00-00-00"
  605.     DATE003 = "00-00-00"
  606.     INTEGER007 = 0
  607.     INTEGER008 = 0
  608.     STRING015 = "NA"
  609.     STRING016 = "NA"
  610.     INTEGER009 = 0
  611.     INTEGER010 = 0
  612.     INTEGER028 = 0
  613.     INTEGER029 = 0
  614.     FPutLn 2, STRING014
  615.     FPutLn 2, Date()
  616.     FPutLn 2, DATE002
  617.     FPutLn 2, DATE003
  618.     FPutLn 2, INTEGER007
  619.     FPutLn 2, INTEGER008
  620.     FPutLn 2, STRING015
  621.     FPutLn 2, STRING016
  622.     FPutLn 2, INTEGER009
  623.     FPutLn 2, INTEGER010
  624.     FPutLn 2, INTEGER028
  625.     FPutLn 2, INTEGER029
  626.     FClose 2
  627.     Return
  628.     :LABEL009
  629.     INTEGER012 = 0
  630.     Cls
  631.     STRING019 = PPEPath()
  632.     STRING019 = STRING019 + "UserMnu.pcb"
  633.     INTEGER014 = 1
  634.     TSTRING020(INTEGER014) = STRING019
  635.     Gosub LABEL010
  636.     DispFile TSTRING020(INTEGER014), 0
  637.     INTEGER016 = GetX()
  638.     INTEGER015 = GetY()
  639.     AnsiPos 17, 6
  640.     Print "@X70" + U_Name() + "@X07"
  641.     AnsiPos 66, 6
  642.     Print "@X70" + STRING001 + "@X07"
  643.     AnsiPos 24, 7
  644.     STRING022 = MinLeft()
  645.     Print "@X70" + STRING022 + "@X07"
  646.     AnsiPos 70, 7
  647.     Print "@X70" + STRING002 + "@X07"
  648.     AnsiPos 26, 8
  649.     Print "@X70" + STRING005 + "@X07"
  650.     AnsiPos 70, 8
  651.     STRING022 = U_BdlDay()
  652.     Print "@X70" + STRING022 + "@X07"
  653.     AnsiPos 26, 9
  654.     Print "@X70" + STRING004 + "@X07"
  655.     AnsiPos 25, 14
  656.     STRING010 = DATE002
  657.     Print "@X70" + STRING010 + "@X07"
  658.     AnsiPos 56, 14
  659.     STRING022 = INTEGER007
  660.     Print "@X70" + STRING022 + "@X07"
  661.     AnsiPos 72, 14
  662.     Print "@X70" + STRING015 + "@X07"
  663.     AnsiPos 25, 15
  664.     STRING011 = DATE003
  665.     Print "@X70" + STRING011 + "@X07"
  666.     AnsiPos 56, 15
  667.     STRING022 = INTEGER008
  668.     Print "@X70" + STRING022 + "@X07"
  669.     AnsiPos 72, 15
  670.     Print "@X70" + STRING016 + "@X07"
  671.     AnsiPos 25, 16
  672.     STRING022 = INTEGER009
  673.     Print "@X70" + STRING022 + "@X07"
  674.     AnsiPos 59, 16
  675.     STRING022 = INTEGER010
  676.     Print "@X70" + STRING022 + "@X07"
  677.     AnsiPos 25, 17
  678.     STRING009 = DATE001
  679.     Print "@X70" + STRING009 + "@X07"
  680.     AnsiPos 28, 18
  681.     STRING022 = STRING006
  682.     Print "@X70" + STRING022 + "@X07"
  683.     AnsiPos 61, 18
  684.     STRING022 = STRING007
  685.     Print "@X70" + STRING022 + "@X07"
  686.     AnsiPos INTEGER016, INTEGER015
  687.     Return
  688.     :LABEL010
  689.     If (Exist(TSTRING020(INTEGER014))) Return
  690.     Wait
  691.     PrintLn Space(17) + "*********************************************"
  692.     PrintLn Space(17) + "*                                           *"
  693.     PrintLn Space(17) + "*               FILE ERROR                  *"
  694.     PrintLn Space(17) + "*                                           *"
  695.     PrintLn Space(17) + "* Please tell Sysop that the following file *"
  696.     PrintLn Space(17) + "* did not exist or is not in correct path : *"
  697.     PrintLn Space(17) + "*               " + TSTRING020(INTEGER014) + Space(20) + "*"
  698.     PrintLn Space(17) + "*********************************************"
  699.     PrintLn Space(1)
  700.     Wait
  701.     Goto LABEL004
  702.     :LABEL011
  703.     INTEGER013 = 1
  704.     STRING026 = PPEPath()
  705.     STRING026 = STRING026 + "DEPOSIT.tmp"
  706.     FCreate 2, STRING026, 2, 0
  707.     FPutLn 2, INTEGER011
  708.     FPutLn 2, STRING014
  709.     FPutLn 2, DATE001
  710.     FPutLn 2, DATE002
  711.     FPutLn 2, DATE003
  712.     FPutLn 2, INTEGER007
  713.     FPutLn 2, INTEGER008
  714.     FPutLn 2, STRING015
  715.     FPutLn 2, STRING016
  716.     FPutLn 2, INTEGER009
  717.     FPutLn 2, INTEGER010
  718.     FPutLn 2, INTEGER028
  719.     FPutLn 2, INTEGER029
  720.     FClose 2
  721.     STRING019 = PPEPath()
  722.     STRING030 = PPEPath()
  723.     STRING019 = STRING019 + "DataUPD.Exe"
  724.     Shell 1, STRING028, STRING019, STRING030
  725.     Return
  726.  
  727. ;------------------------------------------------------------------------------
  728. ;
  729. ; Usage report (before postprocessing)
  730. ;
  731. ; ■ Statements used :
  732. ;
  733. ;    1       End
  734. ;    7       Cls
  735. ;    2       Wait
  736. ;    114     Goto 
  737. ;    225     Let 
  738. ;    20      Print 
  739. ;    11      PrintLn 
  740. ;    74      If 
  741. ;    2       DispFile 
  742. ;    1       FCreate 
  743. ;    7       FOpen 
  744. ;    2       FAppend 
  745. ;    13      FClose 
  746. ;    21      FGet 
  747. ;    26      FPutLn 
  748. ;    2       GetUser
  749. ;    2       PutUser
  750. ;    2       AdjTime 
  751. ;    5       Log 
  752. ;    31      InputStr 
  753. ;    15      Gosub 
  754. ;    4       Return
  755. ;    1       CdChkOn
  756. ;    1       Delay 
  757. ;    3       Shell 
  758. ;    3       Stop
  759. ;    1       Bye
  760. ;    53      AnsiPos 
  761. ;    2       WrUSys
  762. ;    2       RdUSys
  763. ;
  764. ;
  765. ; ■ Functions used :
  766. ;
  767. ;    2       -
  768. ;    5       *
  769. ;    4       /
  770. ;    108     +
  771. ;    15      -
  772. ;    42      ==
  773. ;    3       <>
  774. ;    9       <
  775. ;    2       <=
  776. ;    17      >
  777. ;    63      !
  778. ;    3       Len(
  779. ;    19      Upper()
  780. ;    13      Mid()
  781. ;    10      Space()
  782. ;    4       InStr()
  783. ;    10      Date()
  784. ;    4       U_Name()
  785. ;    1       U_Ful()
  786. ;    1       U_Fdl()
  787. ;    3       U_BdlDay()
  788. ;    13      PPEPath()
  789. ;    6       MinLeft()
  790. ;    2       GetEnv()
  791. ;    3       Exist()
  792. ;    1       GetX()
  793. ;    1       GetY()
  794. ;
  795. ;------------------------------------------------------------------------------
  796. ;
  797. ; Analysis flags : WAS
  798. ;
  799. ; W - Write user ■ 5
  800. ;     Program writes a user record. Although this may be normal for a
  801. ;     User Editor, it may also be a way to modify an account level.
  802. ;     ■ Search for : PUTUSER
  803. ;
  804. ; A - Adjust online time remaining ■ 5
  805. ;     Program modify the amount of online time remaining, this may
  806. ;     be a way to bypass time limits
  807. ;     ■ Search for : ADJTIME
  808. ;
  809. ; S - Shell to DOS ■ 5
  810. ;     This may be normal if the PPE need to execute an external command,
  811. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  812. ;     or usefull (sorting, maintenance,...). Check!
  813. ;     ■ Search for : SHELL
  814. ;
  815. ;------------------------------------------------------------------------------
  816. ;
  817. ; Postprocessing report
  818. ;
  819. ;    0       For/Next
  820. ;    10      While/EndWhile
  821. ;    53      If/Then or If/Then/Else
  822. ;    0       Select Case
  823. ;
  824. ;------------------------------------------------------------------------------
  825. ;                 AEGiS Corp - Break the routines, code against the machines!
  826. ;------------------------------------------------------------------------------
  827.