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