home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / EDSBK115.ZIP / PPE.ZIP / EUTMOD6.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-09  |  19KB  |  1,197 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 2.OO (plain) - 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.     Integer  INTEGER001
  28.     Integer  INTEGER002
  29.     Integer  INTEGER003
  30.     Integer  INTEGER004
  31.     Real     REAL001
  32.     Real     REAL002
  33.     Real     REAL003
  34.     String   STRING001
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     Byte     BYTE001
  39.     Byte     BYTE002
  40.     Byte     BYTE003
  41.     Byte     BYTE004
  42.     Byte     BYTE005
  43.     Word     WORD001
  44.  
  45. ;------------------------------------------------------------------------------
  46.  
  47.     If (TokCount() <> 1) Then
  48.         PrintLn 
  49.         PrintLn "@X0CEUTMOD6 FATAL ERROR: INVALID COMMAND SEQUENCE!"
  50.         PrintLn 
  51.         PrintLn "@X0APlease run EUTMOD6 from within EDSUtil..."
  52.         PrintLn 
  53.         Goto LABEL039
  54.     Else
  55.         GetToken STRING001
  56.         Select Case (STRING001)
  57.             Case "1"
  58.                 BOOLEAN004 = 1
  59.                 BOOLEAN007 = 0
  60.                 BOOLEAN008 = 0
  61.             Case "2"
  62.                 BOOLEAN004 = 0
  63.                 BOOLEAN007 = 0
  64.                 BOOLEAN008 = 0
  65.             Case "3"
  66.                 BOOLEAN004 = 0
  67.                 BOOLEAN007 = 1
  68.                 BOOLEAN008 = 0
  69.             Case "4"
  70.                 BOOLEAN004 = 0
  71.                 BOOLEAN007 = 0
  72.                 BOOLEAN008 = 1
  73.             Case Else
  74.                 PrintLn 
  75.                 PrintLn "@X0CEUTMOD6 FATAL ERROR: INVALID COMMAND SEQUENCE!"
  76.                 PrintLn 
  77.                 PrintLn "@X0APlease run EUTMOD6 from within EDSUtil..."
  78.                 PrintLn 
  79.             Endif
  80.     End Select
  81.     BOOLEAN005 = 0
  82.     :LABEL001
  83.     If (BOOLEAN005) Goto LABEL003
  84.     PrintLn 
  85.     PrintLn Space(20) + "@X0FName & Security Trashfile Maintenance MODULE"
  86.     PrintLn 
  87.     PrintLn "          @X0F(@X09N@X0F)@X0Bame trashfile"
  88.     PrintLn "          @X0F(@X09S@X0F)@X0Becurity trashfile"
  89.     PrintLn "          @X0F(@X09Q@X0F)@X0Buit"
  90.     PrintLn 
  91.     STRING001 = "N"
  92.     InputStr "Trashfile maintenance command", STRING001, 14, 1, "NnSsQqRr", 2 + 4
  93.     Newline
  94.     STRING001 = Upper(STRING001)
  95.     Select Case (STRING001)
  96.         Case "Q", "R"
  97.             BOOLEAN005 = 1
  98.             Goto LABEL039
  99.         Case "N"
  100.             If ((BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  101.                 Gosub LABEL019
  102.             ElseIf ((!BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  103.                 Gosub LABEL025
  104.             ElseIf ((!BOOLEAN004 && !BOOLEAN007) && BOOLEAN008) Then
  105.                 Gosub LABEL003
  106.             Else
  107.                 Gosub LABEL007
  108.             Endif
  109.             BOOLEAN005 = 0
  110.         Case "S"
  111.             If ((BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  112.                 Gosub LABEL022
  113.                 Goto LABEL002
  114.             Endif
  115.             If ((!BOOLEAN004 && !BOOLEAN007) && !BOOLEAN008) Then
  116.                 Gosub LABEL029
  117.                 Goto LABEL002
  118.             Endif
  119.             If ((!BOOLEAN004 && !BOOLEAN007) && BOOLEAN008) Then
  120.                 Gosub LABEL005
  121.                 Goto LABEL002
  122.             Endif
  123.             Gosub LABEL013
  124.             :LABEL002
  125.             BOOLEAN005 = 0
  126.     End Select
  127.     Goto LABEL001
  128.     :LABEL003
  129.     Gosub LABEL033
  130.     FSeek 2, 434, 0
  131.     FRead 2, STRING002, 75
  132.     FClose 2
  133.     STRING004 = PPEPath() + "USERNAME.XPT"
  134.     InputStr "Path & Filename to export to", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  135.     STRING004 = Strip(Upper(STRING004), " ")
  136.     If (STRING004 == "") Goto LABEL039
  137.     STRING002 = Trim(Upper(STRING002), " ")
  138.     If (Exist(STRING002)) Goto LABEL004
  139.     PrintLn 
  140.     PrintLn "@X0C" + STRING002 + " does not exist!"
  141.     PrintLn 
  142.     Delay 4
  143.     Goto LABEL039
  144.     :LABEL004
  145.     INTEGER003 = FileInf(STRING002, 4)
  146.     INTEGER002 = (INTEGER003 - 39) / 28
  147.     If (Exist(STRING004)) Then
  148.         FAppend 1, STRING004, 1, 2
  149.         If (Ferr(1)) Then
  150.             BOOLEAN003 = 1
  151.         Else
  152.             BOOLEAN003 = 0
  153.         Endif
  154.         If (BOOLEAN003) Then
  155.             PrintLn 
  156.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  157.             FClose 1
  158.             Return
  159.         Endif
  160.     Else
  161.         FCreate 1, STRING004, 1, 2
  162.         If (Ferr(1)) Then
  163.             BOOLEAN003 = 1
  164.         Else
  165.             BOOLEAN003 = 0
  166.         Endif
  167.         If (BOOLEAN003) Then
  168.             PrintLn 
  169.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  170.             FClose 1
  171.             Return
  172.         Endif
  173.     Endif
  174.     FOpen 2, STRING002, 0, 0
  175.     If (Ferr(2)) Then
  176.         BOOLEAN003 = 1
  177.     Else
  178.         BOOLEAN003 = 0
  179.     Endif
  180.     If (BOOLEAN003) Then
  181.         PrintLn 
  182.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  183.         FClose 1
  184.         FClose 2
  185.         Return
  186.     Endif
  187.     INTEGER001 = 1
  188.     Cls
  189.     PrintLn 
  190.     PrintLn Space(15) + "@X0A(@X0FUsername Trash File Exportation Procedure@X0A)"
  191.     PrintLn 
  192.     PrintLn 
  193.     PrintLn "@X0BFrom   :@X0E " + STRING002
  194.     PrintLn "@X0BTo     :@X0E " + STRING004
  195.     PrintLn 
  196.     Print "@X0CPlease wait, now exporting...@X0F    "
  197.     FSeek 2, 39, 0
  198.     While (INTEGER001 <= INTEGER002) Do
  199.         FSeek 2, 3, 1
  200.         FRead 2, STRING003, 25
  201.         STRING003 = Trim(STRING003, " ")
  202.         FPutLn 1, STRING003
  203.         Gosub LABEL037
  204.         Inc INTEGER001
  205.     EndWhile
  206.     FClose 1
  207.     FClose 2
  208.     PrintLn 
  209.     PrintLn "@X0BExporting process completed!"
  210.     Log "Username Trash file exported...", 0
  211.     Delay 4
  212.     STRING001 = "N"
  213.     Return
  214.     :LABEL005
  215.     Gosub LABEL033
  216.     FSeek 2, 959, 0
  217.     FRead 2, STRING002, 75
  218.     FClose 2
  219.     STRING004 = PPEPath() + "USERSEC.XPT"
  220.     InputStr "Path & Filename to export to", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  221.     STRING004 = Strip(Upper(STRING004), " ")
  222.     If (STRING004 == "") Goto LABEL039
  223.     STRING002 = Trim(Upper(STRING002), " ")
  224.     If (Exist(STRING002)) Goto LABEL006
  225.     PrintLn 
  226.     PrintLn "@X0C" + STRING002 + " does not exist!"
  227.     PrintLn 
  228.     Delay 4
  229.     Goto LABEL039
  230.     :LABEL006
  231.     INTEGER003 = FileInf(STRING002, 4)
  232.     INTEGER002 = (INTEGER003 - 39) / 4
  233.     If (Exist(STRING004)) Then
  234.         FAppend 1, STRING004, 1, 2
  235.         If (Ferr(1)) Then
  236.             BOOLEAN003 = 1
  237.         Else
  238.             BOOLEAN003 = 0
  239.         Endif
  240.         If (BOOLEAN003) Then
  241.             PrintLn 
  242.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  243.             FClose 1
  244.             Return
  245.         Endif
  246.     Else
  247.         FCreate 1, STRING004, 1, 2
  248.         If (Ferr(1)) Then
  249.             BOOLEAN003 = 1
  250.         Else
  251.             BOOLEAN003 = 0
  252.         Endif
  253.         If (BOOLEAN003) Then
  254.             PrintLn 
  255.             PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  256.             FClose 1
  257.             Return
  258.         Endif
  259.     Endif
  260.     FOpen 2, STRING002, 0, 0
  261.     If (Ferr(2)) Then
  262.         BOOLEAN003 = 1
  263.     Else
  264.         BOOLEAN003 = 0
  265.     Endif
  266.     If (BOOLEAN003) Then
  267.         PrintLn 
  268.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  269.         FClose 1
  270.         FClose 2
  271.         Return
  272.     Endif
  273.     INTEGER001 = 1
  274.     Cls
  275.     PrintLn 
  276.     PrintLn Space(15) + "@X0A(@X0FSecurity Trash File Exportation Procedure@X0A)"
  277.     PrintLn 
  278.     PrintLn 
  279.     PrintLn "@X0BFrom   :@X0E " + STRING002
  280.     PrintLn "@X0BTo     :@X0E " + STRING004
  281.     PrintLn 
  282.     Print "@X0CPlease wait, now exporting...@X0F    "
  283.     FSeek 2, 39, 0
  284.     While (INTEGER001 <= INTEGER002) Do
  285.         FSeek 2, 3, 1
  286.         FRead 2, BYTE001, 1
  287.         FPutLn 1, String(BYTE001)
  288.         Gosub LABEL037
  289.         Inc INTEGER001
  290.     EndWhile
  291.     FClose 1
  292.     FClose 2
  293.     PrintLn 
  294.     PrintLn "@X0BExporting process completed!"
  295.     Log "Security Trash file exported...", 0
  296.     Delay 4
  297.     STRING001 = "S"
  298.     Return
  299.     :LABEL007
  300.     Gosub LABEL033
  301.     FSeek 2, 434, 0
  302.     FRead 2, STRING002, 75
  303.     FClose 2
  304.     STRING002 = Upper(STRING002)
  305.     STRING004 = ""
  306.     PrintLn 
  307.     InputStr "Path & filename to import", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  308.     Newline
  309.     STRING004 = Trim(Upper(STRING004), " ")
  310.     If (STRING004 == "") Return
  311.     WORD001 = 0
  312.     InputInt "Default node affected to place in all imported records", WORD001, 15
  313.     Newline
  314.     If (Exist(STRING004)) Goto LABEL008
  315.     PrintLn 
  316.     PrintLn "@X0C" + STRING004 + " does not exist!"
  317.     PrintLn 
  318.     Delay 9
  319.     Goto LABEL039
  320.     :LABEL008
  321.     If (Exist(STRING002)) Goto LABEL009
  322.     FCreate 1, STRING002, 1, 2
  323.     If (Ferr(1)) Then
  324.         BOOLEAN003 = 1
  325.     Else
  326.         BOOLEAN003 = 0
  327.     Endif
  328.     If (BOOLEAN003) Then
  329.         PrintLn 
  330.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  331.         FClose 1
  332.         Return
  333.     Endif
  334.     FWrite 1, " EDSBack v1.15 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  335.     Goto LABEL010
  336.     :LABEL009
  337.     FOpen 1, STRING002, 1, 2
  338.     If (Ferr(1)) Then
  339.         BOOLEAN003 = 1
  340.     Else
  341.         BOOLEAN003 = 0
  342.     Endif
  343.     If (BOOLEAN003) Then
  344.         PrintLn 
  345.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  346.         FClose 1
  347.         Return
  348.     Endif
  349.     FSeek 1, 0, 2
  350.     :LABEL010
  351.     FOpen 2, STRING004, 0, 0
  352.     If (Ferr(2)) Then
  353.         BOOLEAN003 = 1
  354.     Else
  355.         BOOLEAN003 = 0
  356.     Endif
  357.     If (BOOLEAN003) Then
  358.         PrintLn 
  359.         PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  360.         FClose 1
  361.         FClose 2
  362.         Return
  363.     Endif
  364.     Cls
  365.     PrintLn 
  366.     PrintLn Space(13) + "@X0A(@X0FUsername Trash File Text File Importation Procedure@X0A)"
  367.     PrintLn 
  368.     PrintLn "@X0BFrom         :@X0E " + STRING004
  369.     PrintLn "@X0BTo           :@X0E " + STRING002
  370.     PrintLn "@X0BDefault Node :@X0E " + String(WORD001)
  371.     PrintLn 
  372.     PrintLn 
  373.     Print "@X0AImporting record #@X0F1"
  374.     INTEGER001 = 1
  375.     INTEGER004 = 1
  376.     :LABEL011
  377.     If (Ferr(2)) Goto LABEL012
  378.     Backup Len(String(INTEGER004))
  379.     Print String(INTEGER001)
  380.     STRING001 = ""
  381.     FGet 2, STRING001
  382.     STRING001 = Trim(Trim(Trim(STRING001, " "), Chr(13)), Chr(10))
  383.     If (STRING001 <> "") Then
  384.         FWrite 1, 0, 1
  385.         FWrite 1, WORD001, 2
  386.         FWrite 1, STRING001, 25
  387.         INTEGER004 = INTEGER001
  388.         Inc INTEGER001
  389.     Endif
  390.     Goto LABEL011
  391.     :LABEL012
  392.     STRING001 = "N"
  393.     FClose 1
  394.     FClose 2
  395.     PrintLn 
  396.     PrintLn "Username trash file importation process successful!"
  397.     Log STRING004 + "imported in Username trash file", 0
  398.     Return
  399.     :LABEL013
  400.     Gosub LABEL033
  401.     FSeek 2, 959, 0
  402.     FRead 2, STRING002, 75
  403.     FClose 2
  404.     STRING002 = Upper(STRING002)
  405.     STRING004 = ""
  406.     PrintLn 
  407.     InputStr "Path & filename to import", STRING004, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  408.     Newline
  409.     STRING004 = Trim(Upper(STRING004), " ")
  410.     If (STRING004 == "") Return
  411.     InputInt "Default node affected to place in all imported records", WORD001, 15
  412.     Newline
  413.     If (Exist(STRING004)) Goto LABEL014
  414.     PrintLn 
  415.     PrintLn "@X0C" + STRING004 + " does not exist!"
  416.     PrintLn 
  417.     Delay 9
  418.     Goto LABEL039
  419.     :LABEL014
  420.     If (Exist(STRING002)) Goto LABEL015
  421.     FCreate 1, STRING002, 1, 2
  422.     If (Ferr(1)) Then
  423.         BOOLEAN003 = 1
  424.     Else
  425.         BOOLEAN003 = 0
  426.     Endif
  427.     If (BOOLEAN003) Then
  428.         PrintLn 
  429.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  430.         FClose 1
  431.         Return
  432.     Endif
  433.     FWrite 1, " EDSBack v1.15 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  434.     Goto LABEL016
  435.     :LABEL015
  436.     FOpen 1, STRING002, 1, 2
  437.     If (Ferr(1)) Then
  438.         BOOLEAN003 = 1
  439.     Else
  440.         BOOLEAN003 = 0
  441.     Endif
  442.     If (BOOLEAN003) Then
  443.         PrintLn 
  444.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  445.         FClose 1
  446.         Return
  447.     Endif
  448.     FSeek 1, 0, 2
  449.     :LABEL016
  450.     FOpen 2, STRING004, 0, 0
  451.     If (Ferr(2)) Then
  452.         BOOLEAN003 = 1
  453.     Else
  454.         BOOLEAN003 = 0
  455.     Endif
  456.     If (BOOLEAN003) Then
  457.         PrintLn 
  458.         PrintLn "@X0CSorry, the @X0F" + STRING004 + " @X0Cfile is currently inaccessible..."
  459.         FClose 1
  460.         FClose 2
  461.         Return
  462.     Endif
  463.     Cls
  464.     PrintLn 
  465.     PrintLn Space(13) + "@X0A(@X0FSecurity Trash File Text File Importation Procedure@X0A)"
  466.     PrintLn 
  467.     PrintLn "@X0BFrom         :@X0E " + STRING004
  468.     PrintLn "@X0BTo           :@X0E " + STRING002
  469.     PrintLn "@X0BDefault Node :@X0E " + String(WORD001)
  470.     PrintLn 
  471.     PrintLn 
  472.     Print "@X0AImporting record #@X0F1"
  473.     INTEGER001 = 1
  474.     INTEGER004 = 1
  475.     :LABEL017
  476.     If (Ferr(2)) Goto LABEL018
  477.     Backup Len(String(INTEGER004))
  478.     Print String(INTEGER001)
  479.     FGet 2, STRING001
  480.     BYTE001 = S2I(STRING001, 10)
  481.     If (STRING001 <> "") Then
  482.         FWrite 1, 0, 1
  483.         FWrite 1, WORD001, 2
  484.         FWrite 1, BYTE001, 1
  485.         INTEGER004 = INTEGER001
  486.         Inc INTEGER001
  487.     Endif
  488.     Goto LABEL017
  489.     :LABEL018
  490.     STRING001 = "S"
  491.     FClose 1
  492.     FClose 2
  493.     PrintLn 
  494.     PrintLn "Security trash file importation process successful!"
  495.     Log STRING004 + "imported in Security trash file", 0
  496.     Return
  497.     :LABEL019
  498.     Gosub LABEL033
  499.     FSeek 2, 434, 0
  500.     FRead 2, STRING002, 75
  501.     FClose 2
  502.     If (Exist(STRING002)) Goto LABEL020
  503.     PrintLn 
  504.     PrintLn "@X0C" + STRING002 + " does not exist!"
  505.     Delay 9
  506.     Return
  507.     :LABEL020
  508.     INTEGER003 = FileInf(STRING002, 4)
  509.     INTEGER002 = (INTEGER003 - 39) / 28
  510.     PrintLn 
  511.     PrintLn "@X0F   FileSize = " + String(INTEGER003) + "  NumRecs = " + String(INTEGER002)
  512.     If (INTEGER002 <= 1) Then
  513.         PrintLn 
  514.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  515.         PrintLn 
  516.         Delay 18
  517.         Return
  518.     Endif
  519.     KbdChkOff
  520.     Rename STRING002, PPEPath() + String(PcbNode()) + "tn.$$$"
  521.     FCreate 1, STRING002, 1, 2
  522.     If (Ferr(1)) Then
  523.         BOOLEAN003 = 1
  524.     Else
  525.         BOOLEAN003 = 0
  526.     Endif
  527.     If (BOOLEAN003) Then
  528.         PrintLn 
  529.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  530.         FClose 1
  531.         Return
  532.     Endif
  533.     FOpen 2, PPEPath() + String(PcbNode()) + "tn.$$$", 0, 3
  534.     If (Ferr(2)) Then
  535.         BOOLEAN003 = 1
  536.     Else
  537.         BOOLEAN003 = 0
  538.     Endif
  539.     If (BOOLEAN003) Then
  540.         PrintLn 
  541.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tn.$$$ @X0Cfile is currently inaccessible..."
  542.         FClose 2
  543.         FClose 1
  544.         PrintLn 
  545.         PrintLn "@X0ADeleting & renaming temporary files..."
  546.         Delete STRING002
  547.         Rename PPEPath() + String(PcbNode()) + "tn.$$$", STRING002
  548.         Return
  549.     Endif
  550.     BOOLEAN002 = 0
  551.     FSeek 1, 0, 0
  552.     FWrite 1, " EDSBack v1.15 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  553.     PrintLn 
  554.     PrintLn "@X0BPacking Name Trash Can File..."
  555.     If (GrafMode() <> "N") Then
  556.         PrintLn 
  557.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  558.         BYTE002 = GetY()
  559.     Endif
  560.     INTEGER003 = FileInf(PPEPath() + String(PcbNode()) + "tn.$$$", 4)
  561.     INTEGER002 = (INTEGER003 - 39) / 28
  562.     INTEGER001 = 1
  563.     While (INTEGER001 <= INTEGER002) Do
  564.         BOOLEAN002 = 0
  565.         BOOLEAN006 = 0
  566.         WORD001 = 0
  567.         STRING003 = ""
  568.         FSeek 2, 39 + INTEGER001 * 28 - 28, 0
  569.         FRead 2, BOOLEAN006, 1
  570.         If (BOOLEAN006) Then
  571.             BOOLEAN002 = 1
  572.         Else
  573.             BOOLEAN002 = 0
  574.         Endif
  575.         If (BOOLEAN002) Goto LABEL021
  576.         FWrite 1, BOOLEAN006, 1
  577.         FRead 2, WORD001, 2
  578.         FWrite 1, WORD001, 2
  579.         FRead 2, STRING003, 25
  580.         FWrite 1, STRING003, 25
  581.         :LABEL021
  582.         If (GrafMode() <> "N") Gosub LABEL036
  583.         Inc INTEGER001
  584.     EndWhile
  585.     Color 7
  586.     FClose 1
  587.     FClose 2
  588.     PrintLn 
  589.     PrintLn 
  590.     PrintLn "@X0BDeleting temporary files..."
  591.     Delete PPEPath() + String(PcbNode()) + "tn.$$$"
  592.     PrintLn "@X0EChecking files..."
  593.     INTEGER003 = FileInf(STRING002, 4)
  594.     INTEGER002 = (INTEGER003 - 39) / 28
  595.     If (INTEGER002 < 1) Then
  596.         PrintLn 
  597.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  598.         FCreate 1, STRING002, 1, 2
  599.         FWrite 1, " EDSBack v1.15 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  600.         FWrite 1, 0, 1
  601.         FWrite 1, 0, 2
  602.         FWrite 1, Space(25), 25
  603.         FClose 1
  604.         PrintLn "@X0ANew name trash can file successfully created..."
  605.     Endif
  606.     PrintLn "@X0FName trash can file successfully packed!"
  607.     Log "Name trash can file successfully packed!", 0
  608.     KbdChkOn
  609.     Return
  610.     :LABEL022
  611.     Gosub LABEL033
  612.     FSeek 2, 959, 0
  613.     FRead 2, STRING002, 75
  614.     FClose 2
  615.     If (Exist(STRING002)) Goto LABEL023
  616.     PrintLn 
  617.     PrintLn "@X0C" + STRING002 + " does not exist!"
  618.     Delay 9
  619.     Return
  620.     :LABEL023
  621.     INTEGER003 = FileInf(STRING002, 4)
  622.     INTEGER002 = (INTEGER003 - 39) / 4
  623.     PrintLn 
  624.     PrintLn "@X0F   FileSize = " + String(INTEGER003) + "  NumRecs = " + String(INTEGER002)
  625.     If (INTEGER002 <= 1) Then
  626.         PrintLn 
  627.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  628.         PrintLn 
  629.         Delay 18
  630.         Return
  631.     Endif
  632.     KbdChkOff
  633.     Rename STRING002, PPEPath() + String(PcbNode()) + "tl.$$$"
  634.     FCreate 1, STRING002, 1, 2
  635.     If (Ferr(1)) Then
  636.         BOOLEAN003 = 1
  637.     Else
  638.         BOOLEAN003 = 0
  639.     Endif
  640.     If (BOOLEAN003) Then
  641.         PrintLn 
  642.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  643.         FClose 1
  644.         Return
  645.     Endif
  646.     FOpen 2, PPEPath() + String(PcbNode()) + "tl.$$$", 0, 3
  647.     If (Ferr(2)) Then
  648.         BOOLEAN003 = 1
  649.     Else
  650.         BOOLEAN003 = 0
  651.     Endif
  652.     If (BOOLEAN003) Then
  653.         PrintLn 
  654.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tl.$$$ @X0Cfile is currently inaccessible..."
  655.         FClose 2
  656.         FClose 1
  657.         PrintLn 
  658.         PrintLn "@X0ADeleting & renaming temporary files..."
  659.         Delete STRING002
  660.         Rename PPEPath() + String(PcbNode()) + "tl.$$$", STRING002
  661.         Return
  662.     Endif
  663.     BOOLEAN002 = 0
  664.     FSeek 1, 0, 0
  665.     FWrite 1, " EDSBack v1.15 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  666.     PrintLn 
  667.     PrintLn "@X0BPacking Security Trash Can File..."
  668.     If (GrafMode() <> "N") Then
  669.         PrintLn 
  670.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  671.         BYTE002 = GetY()
  672.     Endif
  673.     INTEGER003 = FileInf(PPEPath() + String(PcbNode()) + "tl.$$$", 4)
  674.     INTEGER002 = (INTEGER003 - 39) / 4
  675.     INTEGER001 = 1
  676.     While (INTEGER001 <= INTEGER002) Do
  677.         BOOLEAN002 = 0
  678.         BOOLEAN006 = 0
  679.         WORD001 = 0
  680.         BYTE001 = 0
  681.         FSeek 2, 39 + INTEGER001 * 4 - 4, 0
  682.         FRead 2, BOOLEAN006, 1
  683.         If (BOOLEAN006) Then
  684.             BOOLEAN002 = 1
  685.         Else
  686.             BOOLEAN002 = 0
  687.         Endif
  688.         If (BOOLEAN002) Goto LABEL024
  689.         FWrite 1, BOOLEAN006, 1
  690.         FRead 2, WORD001, 2
  691.         FWrite 1, WORD001, 2
  692.         FRead 2, BYTE001, 1
  693.         FWrite 1, BYTE001, 1
  694.         :LABEL024
  695.         If (GrafMode() <> "N") Gosub LABEL036
  696.         Inc INTEGER001
  697.     EndWhile
  698.     Color 7
  699.     FClose 1
  700.     FClose 2
  701.     PrintLn 
  702.     PrintLn 
  703.     PrintLn "@X0BDeleting temporary files..."
  704.     Delete PPEPath() + String(PcbNode()) + "tl.$$$"
  705.     PrintLn "@X0EChecking files..."
  706.     INTEGER003 = FileInf(STRING002, 4)
  707.     INTEGER002 = (INTEGER003 - 39) / 4
  708.     If (INTEGER002 < 1) Then
  709.         PrintLn 
  710.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  711.         FCreate 1, STRING002, 1, 2
  712.         FWrite 1, " EDSBack v1.15 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  713.         FWrite 1, 0, 1
  714.         FWrite 1, 0, 2
  715.         FWrite 1, 0, 1
  716.         FClose 1
  717.         PrintLn "@X0ANew security trash can file successfully created..."
  718.     Endif
  719.     PrintLn "@X0FName security can file successfully packed!"
  720.     Log "Security trash can file successfully packed!", 0
  721.     KbdChkOn
  722.     Return
  723.     :LABEL025
  724.     BOOLEAN002 = 0
  725.     BOOLEAN001 = 1
  726.     INTEGER001 = 1
  727.     Gosub LABEL033
  728.     FSeek 2, 434, 0
  729.     FRead 2, STRING002, 75
  730.     FClose 2
  731.     INTEGER003 = FileInf(STRING002, 4)
  732.     If (Exist(STRING002)) Goto LABEL026
  733.     PrintLn 
  734.     PrintLn "@X0CCreating " + STRING002
  735.     BOOLEAN003 = 1
  736.     FCreate 1, STRING002, 2, 2
  737.     If (Ferr(1)) Then
  738.         BOOLEAN003 = 1
  739.     Else
  740.         BOOLEAN003 = 0
  741.     Endif
  742.     If (BOOLEAN003) Then
  743.         PrintLn 
  744.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  745.         FClose 1
  746.         Return
  747.     Endif
  748.     FSeek 1, 0, 0
  749.     FWrite 1, " EDSBack v1.15 Username Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  750.     FWrite 1, 0, 1
  751.     FWrite 1, 0, 2
  752.     FWrite 1, Space(25), 25
  753.     INTEGER003 = 67
  754.     Goto LABEL027
  755.     :LABEL026
  756.     BOOLEAN003 = 1
  757.     FOpen 1, STRING002, 2, 2
  758.     If (Ferr(1)) Then
  759.         BOOLEAN003 = 1
  760.     Else
  761.         BOOLEAN003 = 0
  762.     Endif
  763.     If (BOOLEAN003) Then
  764.         PrintLn 
  765.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  766.         FClose 1
  767.         Return
  768.     Endif
  769.     :LABEL027
  770.     If (BOOLEAN002) Goto LABEL028
  771.     If (BOOLEAN001) Then
  772.         FSeek 1, 39 + INTEGER001 * 28 - 28, 0
  773.         FRead 1, BOOLEAN006, 1
  774.         FRead 1, WORD001, 2
  775.         FRead 1, STRING003, 25
  776.         BOOLEAN001 = 0
  777.     Endif
  778.     PrintLn 
  779.     INTEGER002 = (INTEGER003 - 39) / 28
  780.     PrintLn "    @X0FName Trash File"
  781.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER001) + "@X0B of @X0E" + String(INTEGER002)
  782.     Print "    @X0F(@X09D@X0F)eleted : @X0C"
  783.     If (BOOLEAN006) Then
  784.         PrintLn "Yes"
  785.     Else
  786.         PrintLn "No "
  787.     Endif
  788.     PrintLn 
  789.     PrintLn "    @X0FN(@X09O@X0F)de : @X0C" + String(WORD001)
  790.     PrintLn "    @X0F(@X09N@X0F)ame : @X0C" + STRING003
  791.     PrintLn 
  792.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  793.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  794.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit"
  795.     PrintLn 
  796.     STRING004 = "+"
  797.     InputStr "Enter command", STRING004, 10, 1, "NnAaDdJj+-OoQqRr", 2 + 4
  798.     Newline
  799.     STRING004 = Upper(STRING004)
  800.     Select Case (STRING004)
  801.         Case "Q", "R"
  802.             FClose 1
  803.             BOOLEAN001 = 0
  804.             BOOLEAN002 = 1
  805.         Case "+"
  806.             If (INTEGER001 >= INTEGER002) Then
  807.                 INTEGER001 = 1
  808.             Else
  809.                 Inc INTEGER001
  810.             Endif
  811.             BOOLEAN002 = 0
  812.             BOOLEAN001 = 1
  813.         Case "-"
  814.             If (INTEGER001 <= 1) Then
  815.                 INTEGER001 = INTEGER002
  816.             Else
  817.                 Dec INTEGER001
  818.             Endif
  819.             BOOLEAN002 = 0
  820.             BOOLEAN001 = 1
  821.         Case "J"
  822.             INTEGER004 = INTEGER002
  823.             InputInt "Enter record # to jump to", INTEGER004, 10
  824.             If (INTEGER004 > INTEGER002) Then
  825.                 INTEGER001 = INTEGER002
  826.             ElseIf (INTEGER004 < 1) Then
  827.                 INTEGER001 = 1
  828.             Else
  829.                 INTEGER001 = INTEGER004
  830.             Endif
  831.             BOOLEAN002 = 0
  832.             BOOLEAN001 = 1
  833.         Case "D"
  834.             FSeek 1, 39 + INTEGER001 * 28 - 28, 0
  835.             If (BOOLEAN006) Then
  836.                 FWrite 1, 0, 1
  837.             Else
  838.                 FWrite 1, 1, 1
  839.             Endif
  840.             BOOLEAN002 = 0
  841.             BOOLEAN001 = 1
  842.         Case "A"
  843.             FSeek 1, 0, 2
  844.             WORD001 = 0
  845.             InputInt "Enter node affected (0 = ALL)", WORD001, 12
  846.             STRING003 = ""
  847.             Newline
  848.             InputStr "Enter name", STRING003, 10, 25, Mask_Ascii(), 2 + 4
  849.             STRING003 = Upper(STRING003)
  850.             Newline
  851.             PrintLn "@X0FCreating record..."
  852.             FWrite 1, 0, 1
  853.             FWrite 1, WORD001, 2
  854.             FWrite 1, STRING003, 25
  855.             INTEGER002 = INTEGER002 + 1
  856.             INTEGER003 = INTEGER003 + 28
  857.             INTEGER001 = INTEGER002
  858.             BOOLEAN001 = 1
  859.             BOOLEAN002 = 0
  860.         Case "O"
  861.             InputInt "Enter new node affected (0 = ALL)", WORD001, 12
  862.             FSeek 1, 39 + INTEGER001 * 28 - 27, 0
  863.             FWrite 1, WORD001, 2
  864.             BOOLEAN002 = 0
  865.             BOOLEAN001 = 1
  866.         Case "N"
  867.             InputStr "Enter new name", STRING003, 10, 25, Mask_Ascii(), 2 + 4
  868.             STRING003 = Upper(STRING003)
  869.             FSeek 1, 39 + INTEGER001 * 28 - 25, 0
  870.             FWrite 1, STRING003, 25
  871.             BOOLEAN002 = 0
  872.             BOOLEAN001 = 1
  873.     End Select
  874.     Goto LABEL027
  875.     :LABEL028
  876.     FClose 1
  877.     Return
  878.     :LABEL029
  879.     BOOLEAN002 = 0
  880.     BOOLEAN001 = 1
  881.     INTEGER001 = 1
  882.     Gosub LABEL033
  883.     FSeek 2, 959, 0
  884.     FRead 2, STRING002, 75
  885.     FClose 2
  886.     INTEGER003 = FileInf(STRING002, 4)
  887.     If (Exist(STRING002)) Goto LABEL030
  888.     PrintLn 
  889.     PrintLn "@X0CCreating " + STRING002
  890.     BOOLEAN003 = 1
  891.     FCreate 1, STRING002, 2, 2
  892.     If (Ferr(1)) Then
  893.         BOOLEAN003 = 1
  894.     Else
  895.         BOOLEAN003 = 0
  896.     Endif
  897.     If (BOOLEAN003) Then
  898.         PrintLn 
  899.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  900.         FClose 1
  901.         Return
  902.     Endif
  903.     FSeek 1, 0, 0
  904.     FWrite 1, " EDSBack v1.15 Security Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 39
  905.     FWrite 1, 0, 1
  906.     FWrite 1, 0, 2
  907.     FWrite 1, 0, 1
  908.     INTEGER003 = 43
  909.     Goto LABEL031
  910.     :LABEL030
  911.     BOOLEAN003 = 1
  912.     FOpen 1, STRING002, 2, 2
  913.     If (Ferr(1)) Then
  914.         BOOLEAN003 = 1
  915.     Else
  916.         BOOLEAN003 = 0
  917.     Endif
  918.     If (BOOLEAN003) Then
  919.         PrintLn 
  920.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " X0Cfile is currently inaccessible..."
  921.         FClose 1
  922.         Return
  923.     Endif
  924.     :LABEL031
  925.     If (BOOLEAN002) Goto LABEL032
  926.     If (BOOLEAN001) Then
  927.         FSeek 1, 39 + INTEGER001 * 4 - 4, 0
  928.         FRead 1, BOOLEAN006, 1
  929.         FRead 1, WORD001, 2
  930.         FRead 1, BYTE001, 1
  931.         BOOLEAN001 = 0
  932.     Endif
  933.     PrintLn 
  934.     INTEGER002 = (INTEGER003 - 39) / 4
  935.     PrintLn "    @X0FSecurity Trash File"
  936.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER001) + "@X0B of @X0E" + String(INTEGER002)
  937.     Print "    @X0F(@X09D@X0F)eleted : @X0C"
  938.     If (BOOLEAN006) Then
  939.         PrintLn "Yes"
  940.     Else
  941.         PrintLn "No "
  942.     Endif
  943.     PrintLn 
  944.     PrintLn "    @X0FN(@X09O@X0F)de           : @X0C" + String(WORD001)
  945.     PrintLn "    @X0F(@X09S@X0F)ecurity Level : @X0C" + String(BYTE001)
  946.     PrintLn 
  947.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  948.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  949.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit"
  950.     PrintLn 
  951.     STRING004 = "+"
  952.     InputStr "Enter command", STRING004, 10, 1, "NnAaDdJj+-OoQqRr", 2 + 4
  953.     Newline
  954.     STRING004 = Upper(STRING004)
  955.     Select Case (STRING004)
  956.         Case "Q", "R"
  957.             FClose 1
  958.             BOOLEAN001 = 0
  959.             BOOLEAN002 = 1
  960.         Case "+"
  961.             If (INTEGER001 >= INTEGER002) Then
  962.                 INTEGER001 = 1
  963.             Else
  964.                 Inc INTEGER001
  965.             Endif
  966.             BOOLEAN002 = 0
  967.             BOOLEAN001 = 1
  968.         Case "-"
  969.             If (INTEGER001 <= 1) Then
  970.                 INTEGER001 = INTEGER002
  971.             Else
  972.                 Dec INTEGER001
  973.             Endif
  974.             BOOLEAN002 = 0
  975.             BOOLEAN001 = 1
  976.         Case "J"
  977.             INTEGER004 = INTEGER002
  978.             InputInt "Enter record # to jump to", INTEGER004, 10
  979.             If (INTEGER004 > INTEGER002) Then
  980.                 INTEGER001 = INTEGER002
  981.             ElseIf (INTEGER004 < 1) Then
  982.                 INTEGER001 = 1
  983.             Else
  984.                 INTEGER001 = INTEGER004
  985.             Endif
  986.             BOOLEAN002 = 0
  987.             BOOLEAN001 = 1
  988.         Case "D"
  989.             FSeek 1, 39 + INTEGER001 * 4 - 4, 0
  990.             If (BOOLEAN006) Then
  991.                 FWrite 1, 0, 1
  992.             Else
  993.                 FWrite 1, 1, 1
  994.             Endif
  995.             BOOLEAN002 = 0
  996.             BOOLEAN001 = 1
  997.         Case "A"
  998.             FSeek 1, 0, 2
  999.             WORD001 = 0
  1000.             InputInt "Enter node affected (0 = ALL)", WORD001, 12
  1001.             BYTE001 = 0
  1002.             Newline
  1003.             InputInt "Enter security level", BYTE001, 10
  1004.             Newline
  1005.             PrintLn "@X0FCreating record..."
  1006.             FWrite 1, 0, 1
  1007.             FWrite 1, WORD001, 2
  1008.             FWrite 1, BYTE001, 1
  1009.             INTEGER002 = INTEGER002 + 1
  1010.             INTEGER003 = INTEGER003 + 4
  1011.             INTEGER001 = INTEGER002
  1012.             BOOLEAN001 = 1
  1013.             BOOLEAN002 = 0
  1014.         Case "O"
  1015.             InputInt "Enter new node affected (0 = ALL)", WORD001, 12
  1016.             FSeek 1, 39 + INTEGER001 * 4 - 3, 0
  1017.             FWrite 1, WORD001, 2
  1018.             BOOLEAN002 = 0
  1019.             BOOLEAN001 = 1
  1020.         Case "N"
  1021.             InputInt "Enter new security level", BYTE001, 10
  1022.             FSeek 1, 39 + INTEGER001 * 4 - 1, 0
  1023.             FWrite 1, BYTE001, 1
  1024.             BOOLEAN002 = 0
  1025.             BOOLEAN001 = 1
  1026.     End Select
  1027.     Goto LABEL031
  1028.     :LABEL032
  1029.     FClose 1
  1030.     Return
  1031.     :LABEL033
  1032.     STRING001 = PPEPath() + "EDSBACK.XXX"
  1033.     If (Exist(STRING001)) Then
  1034.         FOpen 2, STRING001, 0, 0
  1035.     Else
  1036.         PrintLn 
  1037.         PrintLn "@X0FPath & filename to EDSBack config file @X0E(Enter Below)"
  1038.         InputStr "", STRING001, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  1039.         If (Exist(STRING001)) Goto LABEL034
  1040.         PrintLn 
  1041.         PrintLn "@X0C" + STRING001 + " DOES NOT EXIST!   @X0AReturning to EDSUtil Main..."
  1042.         Goto LABEL039
  1043.         Goto LABEL035
  1044.         :LABEL034
  1045.         FOpen 2, STRING001, 0, 0
  1046.     Endif
  1047.     :LABEL035
  1048.     If (Ferr(2)) Then
  1049.         BOOLEAN003 = 1
  1050.     Else
  1051.         BOOLEAN003 = 0
  1052.     Endif
  1053.     If (BOOLEAN003) Then
  1054.         PrintLn 
  1055.         PrintLn "@X0CSorry, the " + STRING001 + " @X0Cfile is currently inaccessible..."
  1056.         FClose 2
  1057.         Return
  1058.     Endif
  1059.     Return
  1060.     :LABEL036
  1061.     If (INTEGER001 == 1) BYTE005 = 0
  1062.     If ((INTEGER001 <> 0) && (INTEGER002 <> 0)) Then
  1063.         REAL002 = ToReal(INTEGER001) / ToReal(INTEGER002)
  1064.         REAL003 = FmtReal(ToReal(35) * REAL002, 1, 0)
  1065.         BYTE004 = ToByte(REAL003) - BYTE005
  1066.         If (BYTE004 <> BYTE005) Then
  1067.             Color 73
  1068.             AnsiPos 4 + BYTE005, BYTE002
  1069.             For BYTE005 = 1 To BYTE004
  1070.                 Print "▓"
  1071.             Next
  1072.             BYTE005 = ToByte(REAL003)
  1073.             REAL002 = FmtReal(REAL002 * 100, 1, 0)
  1074.             BYTE004 = (43 - Len(String(REAL002) + "%")) / 2
  1075.             Color 11
  1076.             REAL003 = ToReal(BYTE002) - 1
  1077.             AnsiPos BYTE004, ToByte(REAL003)
  1078.             Print String(REAL002) + "%"
  1079.             AnsiPos 45, BYTE002
  1080.         Endif
  1081.     Endif
  1082.     Return
  1083.     :LABEL037
  1084.     If ((INTEGER001 <> 0) && (INTEGER002 <> 0)) Then
  1085.         If (INTEGER001 == 1) Then
  1086.             BYTE003 = 0
  1087.             Goto LABEL038
  1088.         Endif
  1089.         BYTE003 = REAL001
  1090.         :LABEL038
  1091.         REAL001 = ToReal(INTEGER001) / ToReal(INTEGER002)
  1092.         REAL001 = FmtReal(REAL001 * 100, 1, 0)
  1093.         If (BYTE003 <> REAL001) Then
  1094.             Backup Len(String(BYTE003) + "%")
  1095.             Print String(REAL001) + "%"
  1096.         Endif
  1097.     Endif
  1098.     Return
  1099.     :LABEL039
  1100.     End
  1101.  
  1102. ;------------------------------------------------------------------------------
  1103. ;
  1104. ; Usage report (before postprocessing)
  1105. ;
  1106. ; ■ Statements used :
  1107. ;
  1108. ;    1       End
  1109. ;    4       Cls
  1110. ;    4       Color 
  1111. ;    217     Goto 
  1112. ;    216     Let 
  1113. ;    13      Print 
  1114. ;    187     PrintLn 
  1115. ;    134     If 
  1116. ;    10      FCreate 
  1117. ;    12      FOpen 
  1118. ;    2       FAppend 
  1119. ;    53      FClose 
  1120. ;    2       FGet 
  1121. ;    2       FPutLn 
  1122. ;    4       Delete 
  1123. ;    6       Log 
  1124. ;    10      InputStr 
  1125. ;    10      InputInt 
  1126. ;    20      Gosub 
  1127. ;    38      Return
  1128. ;    10      Delay 
  1129. ;    8       Inc 
  1130. ;    2       Dec 
  1131. ;    11      Newline
  1132. ;    1       GetToken 
  1133. ;    2       KbdChkOn
  1134. ;    2       KbdChkOff
  1135. ;    3       AnsiPos 
  1136. ;    3       Backup 
  1137. ;    4       Rename 
  1138. ;    30      FSeek 
  1139. ;    22      FRead 
  1140. ;    46      FWrite 
  1141. ;
  1142. ;
  1143. ; ■ Functions used :
  1144. ;
  1145. ;    13      *
  1146. ;    13      /
  1147. ;    191     +
  1148. ;    23      -
  1149. ;    32      ==
  1150. ;    13      <>
  1151. ;    5       <
  1152. ;    9       <=
  1153. ;    2       >
  1154. ;    4       >=
  1155. ;    141     !
  1156. ;    16      &&
  1157. ;    4       ||
  1158. ;    4       Len(
  1159. ;    13      Upper()
  1160. ;    7       Space()
  1161. ;    23      Ferr()
  1162. ;    42      Chr()
  1163. ;    8       Trim()
  1164. ;    2       Strip()
  1165. ;    34      String()
  1166. ;    5       Mask_File()
  1167. ;    5       Mask_Path()
  1168. ;    2       Mask_Ascii()
  1169. ;    13      PPEPath()
  1170. ;    12      PcbNode()
  1171. ;    14      Exist()
  1172. ;    1       S2I()
  1173. ;    2       GetY()
  1174. ;    4       GrafMode()
  1175. ;    10      FileInf()
  1176. ;    1       TokCount()
  1177. ;    3       ToByte()
  1178. ;    6       ToReal()
  1179. ;    3       FmtReal()
  1180. ;
  1181. ;------------------------------------------------------------------------------
  1182. ;
  1183. ; Analysis flags : No flag
  1184. ;
  1185. ;------------------------------------------------------------------------------
  1186. ;
  1187. ; Postprocessing report
  1188. ;
  1189. ;    1       For/Next
  1190. ;    4       While/EndWhile
  1191. ;    81      If/Then or If/Then/Else
  1192. ;    4       Select Case
  1193. ;
  1194. ;------------------------------------------------------------------------------
  1195. ;                 AEGiS Corp - Break the routines, code against the machines!
  1196. ;------------------------------------------------------------------------------
  1197.