home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / EDSBK115.ZIP / PPE.ZIP / EUTMOD7.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-09  |  15KB  |  866 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.     Integer  INTEGER001
  25.     Integer  INTEGER002
  26.     Integer  INTEGER003
  27.     Integer  INTEGER004
  28.     Real     REAL001
  29.     Real     REAL002
  30.     Real     REAL003
  31.     String   STRING001
  32.     String   STRING002
  33.     String   STRING003
  34.     String   STRING004
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     Byte     BYTE001
  39.     Byte     BYTE002
  40.     Byte     BYTE003
  41.     Byte     BYTE004
  42.     Word     WORD001
  43.  
  44. ;------------------------------------------------------------------------------
  45.  
  46.     If (TokCount() <> 1) Then
  47.         PrintLn 
  48.         PrintLn "@X0CEUTMOD7 FATAL ERROR:  INVALID COMMAND SEQUENCE!"
  49.         PrintLn 
  50.         PrintLn "@X0AEUTMOD7 must be ran from within EDSUtil!"
  51.         PrintLn 
  52.         Goto LABEL022
  53.     Else
  54.         GetToken STRING001
  55.         Select Case (STRING001)
  56.             Case "1"
  57.                 Gosub LABEL007
  58.                 Goto LABEL022
  59.             Case "2"
  60.                 Gosub LABEL010
  61.                 Goto LABEL022
  62.             Case "3"
  63.                 Gosub LABEL003
  64.                 Goto LABEL022
  65.             Case "4"
  66.                 Gosub LABEL001
  67.                 Goto LABEL022
  68.             Case Else
  69.                 PrintLn 
  70.                 PrintLn "@X0CEUTMOD7 FATAL ERROR:  INVALID COMMAND SEQUENCE!"
  71.                 PrintLn 
  72.                 PrintLn "@X0AEUTMOD7 must be ran from within EDSUtil!"
  73.                 PrintLn 
  74.                 Goto LABEL022
  75.             Endif
  76.     End Select
  77.     :LABEL001
  78.     Gosub LABEL016
  79.     FSeek 2, 509, 0
  80.     FRead 2, STRING005, 75
  81.     FClose 2
  82.     STRING006 = PPEPath() + "EDSBADNM.XPT"
  83.     STRING007 = PPEPath() + "EXPORT.RPT"
  84.     InputStr "Path & Filename to export to", STRING006, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  85.     STRING006 = Strip(Upper(STRING006), " ")
  86.     If (STRING006 == "") Goto LABEL022
  87.     InputStr "Path & Filename for report file", STRING007, 15, 45, Mask_Path() + Mask_File(), 2 + 4 + 256
  88.     STRING007 = Strip(Upper(STRING007), " ")
  89.     If (STRING007 == "") Goto LABEL022
  90.     STRING005 = Trim(Upper(STRING005), " ")
  91.     If (Exist(STRING005)) Goto LABEL002
  92.     PrintLn 
  93.     PrintLn "@X0C" + STRING005 + " does not exist!"
  94.     PrintLn 
  95.     Delay 4
  96.     Goto LABEL022
  97.     :LABEL002
  98.     INTEGER004 = FileInf(STRING005, 4)
  99.     INTEGER003 = (INTEGER004 - 41) / 19
  100.     If (Exist(STRING006)) Then
  101.         FAppend 1, STRING006, 1, 2
  102.         If (Ferr(1)) Then
  103.             BOOLEAN003 = 1
  104.         Else
  105.             BOOLEAN003 = 0
  106.         Endif
  107.         If (BOOLEAN003) Then
  108.             PrintLn 
  109.             PrintLn "@X0CSorry, the @X0F" + STRING006 + " @X0Cfile is currently inaccessible..."
  110.             FClose 1
  111.             Return
  112.         Endif
  113.     Else
  114.         FCreate 1, STRING006, 1, 2
  115.         If (Ferr(1)) Then
  116.             BOOLEAN003 = 1
  117.         Else
  118.             BOOLEAN003 = 0
  119.         Endif
  120.         If (BOOLEAN003) Then
  121.             PrintLn 
  122.             PrintLn "@X0CSorry, the @X0F" + STRING006 + " @X0Cfile is currently inaccessible..."
  123.             FClose 1
  124.             Return
  125.         Endif
  126.     Endif
  127.     FOpen 2, STRING005, 0, 0
  128.     If (Ferr(2)) Then
  129.         BOOLEAN003 = 1
  130.     Else
  131.         BOOLEAN003 = 0
  132.     Endif
  133.     If (BOOLEAN003) Then
  134.         PrintLn 
  135.         PrintLn "@X0CSorry, the @X0F" + STRING005 + " @X0Cfile is currently inaccessible..."
  136.         FClose 1
  137.         FClose 2
  138.         Return
  139.     Endif
  140.     If (Exist(STRING007)) Then
  141.         FAppend 3, STRING007, 1, 2
  142.         If (Ferr(3)) Then
  143.             BOOLEAN003 = 1
  144.         Else
  145.             BOOLEAN003 = 0
  146.         Endif
  147.         If (BOOLEAN003) Then
  148.             PrintLn 
  149.             PrintLn "@X0CSorry, the @X0F" + STRING007 + " @X0Cfile is currently inaccessible..."
  150.             FClose 1
  151.             FClose 2
  152.             FClose 3
  153.             Return
  154.         Endif
  155.     Else
  156.         FCreate 3, STRING007, 1, 2
  157.         If (Ferr(3)) Then
  158.             BOOLEAN003 = 1
  159.         Else
  160.             BOOLEAN003 = 0
  161.         Endif
  162.         If (BOOLEAN003) Then
  163.             PrintLn 
  164.             PrintLn "@X0CSorry, the @X0F" + STRING007 + " @X0Cfile is currently inaccessible..."
  165.             FClose 1
  166.             FClose 2
  167.             FClose 3
  168.             Return
  169.         Endif
  170.         FPutLn 3, "EDSBack v1.15 Bad Numbers File Exportation Report"
  171.         FPutLn 3, "Report generated at " + String(Time()) + " on " + String(Date())
  172.         FPutLn 3, "----------------------------------------------------------------------"
  173.         FPutLn 3
  174.     Endif
  175.     INTEGER002 = 1
  176.     Cls
  177.     PrintLn 
  178.     PrintLn Space(19) + "@X0A(@X0FBad Numbers File Exportation Procedure@X0A)"
  179.     PrintLn 
  180.     PrintLn 
  181.     PrintLn "@X0BFrom   :@X0E " + STRING005
  182.     PrintLn "@X0BTo     :@X0E " + STRING006
  183.     PrintLn "@X0BReport :@X0E " + STRING007
  184.     PrintLn 
  185.     Print "@X0CPlease wait, now exporting...@X0F    "
  186.     FSeek 2, 41, 0
  187.     While (INTEGER002 <= INTEGER003) Do
  188.         FSeek 2, 1, 1
  189.         FRead 2, BOOLEAN004, 1
  190.         FSeek 2, 2, 1
  191.         FRead 2, STRING002, 3
  192.         STRING002 = Strip(STRING002, " ")
  193.         FRead 2, STRING003, 4
  194.         STRING003 = Strip(STRING003, " ")
  195.         FRead 2, STRING004, 8
  196.         STRING004 = Strip(STRING004, " ")
  197.         If (BOOLEAN004) Then
  198.             FPutLn 3, "--------------------------------------------------------------------------"
  199.             FPutLn 3, "Record #" + String(INTEGER002) + " not exported because it is an international number..."
  200.             FPutLn 3, "CountryCode = " + STRING002
  201.             FPutLn 3, "CityCode    = " + STRING003
  202.             FPutLn 3, "Number      = " + STRING004
  203.         Else
  204.             FPutLn 1, STRING002 + "-" + Left(STRING003 + Space(3), 3) + "-" + Left(STRING004 + Space(4), 4)
  205.         Endif
  206.         Gosub LABEL020
  207.         Inc INTEGER002
  208.     EndWhile
  209.     FClose 1
  210.     FClose 2
  211.     FClose 3
  212.     PrintLn 
  213.     PrintLn "@X0BExporting process completed!"
  214.     Log "Bad Numbers file exported...", 0
  215.     Delay 4
  216.     Return
  217.     :LABEL003
  218.     Gosub LABEL016
  219.     FSeek 2, 509, 0
  220.     FRead 2, STRING005, 75
  221.     FClose 2
  222.     PrintLn 
  223.     STRING006 = ""
  224.     InputStr "Path & Filename of file to import", STRING006, 15, 45, Mask_Path() + Mask_File(), 2 + 4
  225.     STRING006 = Strip(Upper(STRING006), " ")
  226.     If (STRING006 == "") Goto LABEL022
  227.     STRING005 = Upper(STRING005)
  228.     Newline
  229.     InputInt "Node # that the imported numbers affect", WORD001, 15
  230.     PrintLn 
  231.     If (Exist(STRING006)) Goto LABEL004
  232.     PrintLn "@X0C" + STRING006 + " does not exist!"
  233.     PrintLn 
  234.     Delay 9
  235.     Return
  236.     :LABEL004
  237.     If (Exist(STRING005)) Then
  238.         FOpen 1, STRING005, 1, 2
  239.         If (Ferr(1)) Then
  240.             BOOLEAN003 = 1
  241.         Else
  242.             BOOLEAN003 = 0
  243.         Endif
  244.         If (BOOLEAN003) Then
  245.             PrintLn 
  246.             PrintLn "@X0CSorry, the @X0F" + STRING005 + " @X0Cfile is currently inaccessible..."
  247.             FClose 1
  248.             Return
  249.         Endif
  250.         FSeek 1, 0, 2
  251.     Else
  252.         FCreate 1, STRING005, 1, 2
  253.         If (Ferr(1)) Then
  254.             BOOLEAN003 = 1
  255.         Else
  256.             BOOLEAN003 = 0
  257.         Endif
  258.         If (BOOLEAN003) Then
  259.             PrintLn 
  260.             PrintLn "@X0CSorry, the @X0F" + STRING005 + " @X0Cfile is currently inaccessible..."
  261.             FClose 1
  262.             Return
  263.         Endif
  264.         FWrite 1, " EDSBack v1.15 Bad Number Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 41
  265.     Endif
  266.     FOpen 2, STRING006, 0, 0
  267.     If (Ferr(2)) Then
  268.         BOOLEAN003 = 1
  269.     Else
  270.         BOOLEAN003 = 0
  271.     Endif
  272.     If (BOOLEAN003) Then
  273.         PrintLn 
  274.         PrintLn "@X0CSorry, the @X0F" + STRING006 + " @X0Cfile is currently inaccessible..."
  275.         FClose 1
  276.         FClose 2
  277.         Return
  278.     Endif
  279.     Cls
  280.     PrintLn 
  281.     PrintLn Space(20) + "@X0A(@X0FBad # Trash File Importation Procedure@X0A)"
  282.     PrintLn 
  283.     PrintLn "@X0EFrom         : @X0F" + STRING006
  284.     PrintLn "@X0ETo           : @X0F" + STRING005
  285.     PrintLn "@X0EDefault Node : @X0F" + String(WORD001)
  286.     PrintLn 
  287.     PrintLn 
  288.     Print "@X0CImporting record #@X0F1"
  289.     INTEGER002 = 1
  290.     INTEGER001 = 1
  291.     :LABEL005
  292.     If (Ferr(2)) Goto LABEL006
  293.     FGet 2, STRING001
  294.     Backup Len(String(INTEGER001))
  295.     Print String(INTEGER002)
  296.     STRING001 = Strip(Strip(Strip(Strip(Strip(STRING001, " "), ")"), "("), "-"), ".")
  297.     If (STRING001 <> "") Then
  298.         FWrite 1, 0, 1
  299.         FWrite 1, 0, 1
  300.         FWrite 1, WORD001, 2
  301.         FWrite 1, Mid(STRING001, 1, 3), 3
  302.         FWrite 1, Mid(STRING001, 4, 3), 4
  303.         FWrite 1, Mid(STRING001, 7, 4), 8
  304.         INTEGER001 = INTEGER002
  305.         Inc INTEGER002
  306.     Endif
  307.     Goto LABEL005
  308.     :LABEL006
  309.     FClose 1
  310.     FClose 2
  311.     PrintLn 
  312.     PrintLn "@X0B" + STRING006 + " successfully imported..."
  313.     Log STRING006 + " imported into Bad # file...", 0
  314.     Return
  315.     :LABEL007
  316.     Gosub LABEL016
  317.     FSeek 2, 509, 0
  318.     FRead 2, STRING005, 75
  319.     FClose 2
  320.     If (Exist(STRING005)) Goto LABEL008
  321.     PrintLn 
  322.     PrintLn "@X0C" + STRING005 + " does not exist!"
  323.     Delay 9
  324.     Return
  325.     :LABEL008
  326.     INTEGER004 = FileInf(STRING005, 4)
  327.     INTEGER003 = (INTEGER004 - 41) / 19
  328.     PrintLn 
  329.     PrintLn "@X0F   FileSize = " + String(INTEGER004) + "  NumRecs = " + String(INTEGER003)
  330.     If (INTEGER003 <= 1) Then
  331.         PrintLn 
  332.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TRASH CAN FILE!"
  333.         PrintLn 
  334.         Delay 18
  335.         Return
  336.     Endif
  337.     KbdChkOff
  338.     Rename STRING005, PPEPath() + String(PcbNode()) + "tb.$$$"
  339.     FCreate 1, STRING005, 1, 2
  340.     If (Ferr(1)) Then
  341.         BOOLEAN003 = 1
  342.     Else
  343.         BOOLEAN003 = 0
  344.     Endif
  345.     If (BOOLEAN003) Then
  346.         PrintLn 
  347.         PrintLn "@X0CSorry, the @X0F" + STRING005 + " @X0Cfile is currently inaccessible..."
  348.         FClose 1
  349.         Return
  350.     Endif
  351.     FOpen 2, PPEPath() + String(PcbNode()) + "tb.$$$", 0, 3
  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" + String(PcbNode()) + "tb.$$$ @X0Cfile is currently inaccessible..."
  360.         FClose 2
  361.         FClose 1
  362.         PrintLn 
  363.         PrintLn "@X0ADeleting & renaming temporary files..."
  364.         Delete STRING005
  365.         Rename PPEPath() + String(PcbNode()) + "tb.$$$", STRING005
  366.         Return
  367.     Endif
  368.     BOOLEAN001 = 0
  369.     FSeek 1, 0, 0
  370.     FWrite 1, " EDSBack v1.15 Bad Number Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 41
  371.     PrintLn 
  372.     PrintLn "@X0BPacking Bad Number Trash Can File..."
  373.     If (GrafMode() <> "N") Then
  374.         PrintLn 
  375.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  376.         BYTE001 = GetY()
  377.     Endif
  378.     INTEGER002 = 1
  379.     While (INTEGER002 <= INTEGER003) Do
  380.         BOOLEAN001 = 0
  381.         BOOLEAN005 = 0
  382.         BOOLEAN004 = 0
  383.         WORD001 = 0
  384.         STRING002 = Space(3)
  385.         STRING003 = Space(4)
  386.         STRING004 = Space(8)
  387.         FSeek 2, 41 + INTEGER002 * 19 - 19, 0
  388.         FRead 2, BOOLEAN005, 1
  389.         If (BOOLEAN005) Then
  390.             BOOLEAN001 = 1
  391.         Else
  392.             BOOLEAN001 = 0
  393.         Endif
  394.         If (BOOLEAN001) Goto LABEL009
  395.         FWrite 1, BOOLEAN005, 1
  396.         FRead 2, BOOLEAN004, 1
  397.         FWrite 1, BOOLEAN004, 1
  398.         FRead 2, WORD001, 2
  399.         FWrite 1, WORD001, 2
  400.         FRead 2, STRING002, 3
  401.         FWrite 1, STRING002, 3
  402.         FRead 2, STRING003, 4
  403.         FWrite 1, STRING003, 4
  404.         FRead 2, STRING004, 8
  405.         FWrite 1, STRING004, 8
  406.         :LABEL009
  407.         If (GrafMode() <> "N") Gosub LABEL019
  408.         Inc INTEGER002
  409.     EndWhile
  410.     Color 7
  411.     FClose 1
  412.     FClose 2
  413.     PrintLn 
  414.     PrintLn 
  415.     PrintLn "@X0BDeleting temporary files..."
  416.     Delete PPEPath() + String(PcbNode()) + "tb.$$$"
  417.     PrintLn "@X0EChecking files..."
  418.     INTEGER004 = FileInf(STRING005, 4)
  419.     INTEGER003 = (INTEGER004 - 41) / 19
  420.     If (INTEGER003 < 1) Then
  421.         PrintLn 
  422.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  423.         FCreate 1, STRING005, 1, 2
  424.         FWrite 1, " EDSBack v1.15 Bad Number Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 41
  425.         FWrite 1, 0, 1
  426.         FWrite 1, 0, 1
  427.         FWrite 1, 0, 2
  428.         FWrite 1, Space(3), 3
  429.         FWrite 1, Space(4), 4
  430.         FWrite 1, Space(8), 8
  431.         FClose 1
  432.         PrintLn "@X0ANew bad number trash can file successfully created..."
  433.     Endif
  434.     PrintLn "@X0FBad number trash can file successfully packed!"
  435.     Log "Bad number trash can file successfully packed!", 0
  436.     KbdChkOff
  437.     Return
  438.     :LABEL010
  439.     BOOLEAN001 = 0
  440.     BOOLEAN002 = 1
  441.     INTEGER002 = 1
  442.     Gosub LABEL016
  443.     FSeek 2, 509, 0
  444.     FRead 2, STRING005, 75
  445.     FClose 2
  446.     INTEGER004 = FileInf(STRING005, 4)
  447.     If (Exist(STRING005)) Goto LABEL011
  448.     PrintLn 
  449.     PrintLn "@X0CCreating " + STRING005
  450.     BOOLEAN003 = 1
  451.     FCreate 1, STRING005, 2, 2
  452.     If (Ferr(1)) Then
  453.         BOOLEAN003 = 1
  454.     Else
  455.         BOOLEAN003 = 0
  456.     Endif
  457.     If (BOOLEAN003) Then
  458.         PrintLn 
  459.         PrintLn "@X0CSorry, the @X0F" + STRING005 + " X0Cfile is currently inaccessible..."
  460.         FClose 1
  461.         Return
  462.     Endif
  463.     FSeek 1, 0, 0
  464.     FWrite 1, " EDSBack v1.15 Bad Number Trash File" + Chr(13) + Chr(32) + Chr(10) + Chr(26) + Chr(0), 41
  465.     FWrite 1, 0, 1
  466.     FWrite 1, 0, 1
  467.     FWrite 1, 0, 2
  468.     FWrite 1, "000", 3
  469.     FWrite 1, "000", 4
  470.     FWrite 1, "0000", 8
  471.     INTEGER004 = 60
  472.     Goto LABEL012
  473.     :LABEL011
  474.     BOOLEAN003 = 1
  475.     FOpen 1, STRING005, 2, 2
  476.     If (Ferr(1)) Then
  477.         BOOLEAN003 = 1
  478.     Else
  479.         BOOLEAN003 = 0
  480.     Endif
  481.     If (BOOLEAN003) Then
  482.         PrintLn 
  483.         PrintLn "@X0CSorry, the @X0F" + STRING005 + " X0Cfile is currently inaccessible..."
  484.         FClose 1
  485.         Return
  486.     Endif
  487.     :LABEL012
  488.     If (BOOLEAN001) Goto LABEL015
  489.     If (BOOLEAN002) Then
  490.         FSeek 1, 41 + INTEGER002 * 19 - 19, 0
  491.         FRead 1, BOOLEAN005, 1
  492.         FRead 1, BOOLEAN004, 1
  493.         FRead 1, WORD001, 2
  494.         FRead 1, STRING002, 3
  495.         FRead 1, STRING003, 4
  496.         FRead 1, STRING004, 8
  497.         STRING002 = Strip(STRING002, " ")
  498.         STRING003 = Strip(STRING003, " ")
  499.         STRING004 = Strip(STRING004, " ")
  500.         BOOLEAN002 = 0
  501.     Endif
  502.     PrintLn 
  503.     INTEGER003 = (INTEGER004 - 41) / 19
  504.     PrintLn "    @X0FBad Number Trash File"
  505.     PrintLn "    @X0BRecord #@X0E" + String(INTEGER002) + "@X0B of @X0E" + String(INTEGER003)
  506.     Print "    @X0F(@X09D@X0F)eleted : @X0C"
  507.     If (BOOLEAN005) Then
  508.         PrintLn "Yes"
  509.     Else
  510.         PrintLn "No "
  511.     Endif
  512.     PrintLn 
  513.     Print "    @X0F(@X09I@X0F)nternational #  : @X0C"
  514.     If (BOOLEAN004) Then
  515.         PrintLn "Yes"
  516.     Else
  517.         PrintLn "No "
  518.     Endif
  519.     PrintLn "    @X0FN(@X09O@X0F)de             : @X0C" + String(WORD001)
  520.     PrintLn "    @X0F(@X09N@X0F)umber           : @X0C" + STRING002 + "-" + STRING003 + "-" + STRING004
  521.     PrintLn 
  522.     PrintLn "    @X0F(@X09+@X0F) @X0BAdvance 1 record  @X0F(@X09-@X0F) @X0BRetard 1 record"
  523.     PrintLn "    @X0F(@X09J@X0F)@X0Bump to record      @X0F(@X09A@X0F)@X0Bdd a record"
  524.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit"
  525.     PrintLn 
  526.     InputStr "(H)elp, Enter command", STRING006, 10, 1, "NnAaDdJj+-OoQqRrHh", 2 + 4
  527.     Newline
  528.     STRING006 = Upper(STRING006)
  529.     Select Case (STRING006)
  530.         Case "Q", "R"
  531.             FClose 1
  532.             BOOLEAN002 = 0
  533.             BOOLEAN001 = 1
  534.         Case "H"
  535.             Print "@PON@"
  536.             DispFile PPEPath() + "EDSBE", 1 + 4
  537.             Print "@POFF@"
  538.             Cls
  539.             BOOLEAN002 = 0
  540.             BOOLEAN001 = 0
  541.         Case "+"
  542.             If (INTEGER002 >= INTEGER003) Then
  543.                 INTEGER002 = 1
  544.             Else
  545.                 Inc INTEGER002
  546.             Endif
  547.             BOOLEAN001 = 0
  548.             BOOLEAN002 = 1
  549.         Case "-"
  550.             If (INTEGER002 <= 1) Then
  551.                 INTEGER002 = INTEGER003
  552.             Else
  553.                 Dec INTEGER002
  554.             Endif
  555.             BOOLEAN001 = 0
  556.             BOOLEAN002 = 1
  557.         Case "J"
  558.             INTEGER001 = INTEGER003
  559.             InputInt "Enter record # to jump to", INTEGER001, 10
  560.             If (INTEGER001 > INTEGER003) Then
  561.                 INTEGER002 = INTEGER003
  562.             ElseIf (INTEGER001 < 1) Then
  563.                 INTEGER002 = 1
  564.             Else
  565.                 INTEGER002 = INTEGER001
  566.             Endif
  567.             BOOLEAN001 = 0
  568.             BOOLEAN002 = 1
  569.         Case "D"
  570.             FSeek 1, 41 + INTEGER002 * 19 - 19, 0
  571.             If (BOOLEAN005) Then
  572.                 FWrite 1, 0, 1
  573.             Else
  574.                 FWrite 1, 1, 1
  575.             Endif
  576.             BOOLEAN001 = 0
  577.             BOOLEAN002 = 1
  578.         Case "A"
  579.             FSeek 1, 0, 2
  580.             WORD001 = 0
  581.             InputInt "Enter node affected (0 = ALL)", WORD001, 12
  582.             Newline
  583.             STRING007 = NoChar()
  584.             InputYN "International number", STRING007, 12
  585.             STRING007 = Upper(STRING007)
  586.             Newline
  587.             If (STRING007 == YesChar()) Then
  588.                 BOOLEAN004 = 1
  589.                 InputStr "Country code (XXX = wildcard)", STRING002, 10, 3, Mask_Num() + "Xx", 2 + 4
  590.                 Newline
  591.                 STRING002 = Strip(STRING002, " ")
  592.                 InputStr "City code (XXXX = wildcard)", STRING003, 10, 4, Mask_Num() + "Xx", 2 + 4
  593.                 Newline
  594.                 STRING003 = Strip(STRING003, " ")
  595.                 InputStr "Number (XXXXXXXX = wildcard)", STRING004, 10, 8, Mask_Num() + "Xx", 2 + 4
  596.                 Newline
  597.                 STRING004 = Upper(Strip(STRING004, " "))
  598.             Else
  599.                 BOOLEAN004 = 0
  600.                 If (Len(STRING003) == 4) STRING003 = ""
  601.                 If (Len(STRING004) > 4) STRING004 = ""
  602.                 InputStr "Area code (XXX = wildcard)", STRING002, 10, 3, Mask_Num() + "Xx", 2 + 4
  603.                 STRING002 = Upper(Strip(STRING002, " "))
  604.                 Newline
  605.                 InputStr "Prefix (XXX = wildcard)", STRING003, 10, 3, Mask_Num() + "Xx", 2 + 4
  606.                 STRING003 = Upper(Strip(STRING003, " "))
  607.                 Newline
  608.                 InputStr "Number (XXXX = wildcard)", STRING004, 10, 4, Mask_Num() + "Xx", 2 + 4
  609.                 STRING004 = Upper(Strip(STRING004, " "))
  610.             Endif
  611.             PrintLn 
  612.             PrintLn "@X0FCreating record..."
  613.             FWrite 1, 0, 1
  614.             FWrite 1, BOOLEAN004, 1
  615.             FWrite 1, WORD001, 2
  616.             FWrite 1, STRING002, 3
  617.             If (BOOLEAN004) Then
  618.                 FWrite 1, STRING003, 4
  619.                 FWrite 1, STRING004, 8
  620.             Else
  621.                 FWrite 1, Mid(STRING003, 1, 3) + Space(1), 4
  622.                 FWrite 1, Mid(STRING004, 1, 4) + Space(4), 8
  623.             Endif
  624.             INTEGER003 = INTEGER003 + 1
  625.             INTEGER004 = INTEGER004 + 19
  626.             INTEGER002 = INTEGER003
  627.             BOOLEAN002 = 1
  628.             BOOLEAN001 = 0
  629.         Case "O"
  630.             InputInt "Enter new node affected (0 = ALL)", WORD001, 12
  631.             FSeek 1, 41 + INTEGER002 * 19 - 17, 0
  632.             FWrite 1, WORD001, 2
  633.             BOOLEAN001 = 0
  634.             BOOLEAN002 = 1
  635.         Case "I"
  636.             If (BOOLEAN004) Then
  637.                 STRING007 = YesChar()
  638.             Else
  639.                 STRING007 = NoChar()
  640.             Endif
  641.             InputYN "International number", STRING007, 12
  642.             Newline
  643.             STRING007 = Upper(STRING007)
  644.             If (STRING007 == YesChar()) Then
  645.                 BOOLEAN004 = 1
  646.             Else
  647.                 BOOLEAN004 = 0
  648.             Endif
  649.             FSeek 1, 41 + INTEGER002 * 19 - 18, 0
  650.             FWrite 1, BOOLEAN004, 1
  651.             BOOLEAN001 = 0
  652.             BOOLEAN002 = 1
  653.         Case "N"
  654.             If (BOOLEAN004) Then
  655.                 InputStr "Country code (XXX = wildcard)", STRING002, 10, 3, Mask_Num() + "Xx", 2 + 4
  656.                 Newline
  657.                 STRING002 = Upper(Strip(STRING002, " "))
  658.                 InputStr "City code (XXXX = wildcard)", STRING003, 10, 4, Mask_Num() + "Xx", 2 + 4
  659.                 Newline
  660.                 STRING003 = Upper(Strip(STRING003, " "))
  661.                 InputStr "Number (XXXXXXXX = wildcard)", STRING004, 10, 8, Mask_Num() + "Xx", 2 + 4
  662.                 Newline
  663.                 STRING004 = Upper(Strip(STRING004, " "))
  664.                 Goto LABEL013
  665.             Endif
  666.             If (Len(STRING003) == 4) STRING003 = ""
  667.             If (Len(STRING004) > 4) STRING004 = ""
  668.             InputStr "Area code (XXX = wildcard)", STRING002, 10, 3, Mask_Num() + "Xx", 2 + 4
  669.             STRING002 = Upper(Strip(STRING002, " "))
  670.             Newline
  671.             InputStr "Prefix (XXX = wildcard)", STRING003, 10, 3, Mask_Num() + "Xx", 2 + 4
  672.             STRING003 = Upper(Strip(STRING003, " "))
  673.             Newline
  674.             InputStr "Number (XXXX = wildcard)", STRING004, 10, 4, Mask_Num() + "Xx", 2 + 4
  675.             STRING004 = Upper(Strip(STRING004, " "))
  676.             :LABEL013
  677.             FSeek 1, 41 + INTEGER002 * 19 - 15, 0
  678.             FWrite 1, STRING002, 3
  679.             If (BOOLEAN004) Then
  680.                 FWrite 1, STRING003, 4
  681.                 FWrite 1, STRING004, 4
  682.                 Goto LABEL014
  683.             Endif
  684.             FWrite 1, Mid(STRING003, 1, 3) + Space(1), 4
  685.             FWrite 1, Mid(STRING004, 1, 4) + Space(4), 8
  686.             :LABEL014
  687.             BOOLEAN001 = 0
  688.             BOOLEAN002 = 1
  689.     End Select
  690.     Goto LABEL012
  691.     :LABEL015
  692.     FClose 1
  693.     Return
  694.     :LABEL016
  695.     STRING001 = PPEPath() + "EDSBACK.XXX"
  696.     If (Exist(PPEPath() + "EDSBACK.XXX")) Then
  697.         FOpen 2, STRING001, 0, 0
  698.     Else
  699.         PrintLn 
  700.         PrintLn "@X0FPath & filename to EDSBack config file @X0E(Enter Below)"
  701.         InputStr "", STRING001, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  702.         If (Exist(STRING001)) Goto LABEL017
  703.         PrintLn 
  704.         PrintLn "@X0C" + STRING001 + " DOES NOT EXIST!   @X0AReturning to EDSUtil Main..."
  705.         Goto LABEL022
  706.         Goto LABEL018
  707.         :LABEL017
  708.         FOpen 2, STRING001, 0, 0
  709.     Endif
  710.     :LABEL018
  711.     If (Ferr(2)) Then
  712.         BOOLEAN003 = 1
  713.     Else
  714.         BOOLEAN003 = 0
  715.     Endif
  716.     If (BOOLEAN003) Then
  717.         PrintLn 
  718.         PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  719.         FClose 2
  720.         Return
  721.     Endif
  722.     Return
  723.     :LABEL019
  724.     If (INTEGER002 == 1) BYTE004 = 0
  725.     If ((INTEGER002 <> 0) && (INTEGER003 <> 0)) Then
  726.         REAL002 = ToReal(INTEGER002) / ToReal(INTEGER003)
  727.         REAL003 = FmtReal(ToReal(35) * REAL002, 1, 0)
  728.         BYTE003 = ToByte(REAL003) - BYTE004
  729.         If (BYTE003 <> BYTE004) Then
  730.             Color 73
  731.             AnsiPos 4 + BYTE004, BYTE001
  732.             For BYTE004 = 1 To BYTE003
  733.                 Print "▓"
  734.             Next
  735.             BYTE004 = ToByte(REAL003)
  736.             REAL002 = FmtReal(REAL002 * 100, 1, 0)
  737.             BYTE003 = (43 - Len(String(REAL002) + "%")) / 2
  738.             Color 11
  739.             REAL003 = ToReal(BYTE001) - 1
  740.             AnsiPos BYTE003, ToByte(REAL003)
  741.             Print String(REAL002) + "%"
  742.             AnsiPos 45, BYTE001
  743.         Endif
  744.     Endif
  745.     Return
  746.     :LABEL020
  747.     If ((INTEGER002 <> 0) && (INTEGER003 <> 0)) Then
  748.         If (INTEGER002 == 1) Then
  749.             BYTE002 = 0
  750.             Goto LABEL021
  751.         Endif
  752.         BYTE002 = REAL001
  753.         :LABEL021
  754.         REAL001 = ToReal(INTEGER002) / ToReal(INTEGER003)
  755.         REAL001 = FmtReal(REAL001 * 100, 1, 0)
  756.         If (BYTE002 <> REAL001) Then
  757.             Backup Len(String(BYTE002) + "%")
  758.             Print String(REAL001) + "%"
  759.         Endif
  760.     Endif
  761.     Return
  762.     :LABEL022
  763.     End
  764.  
  765. ;------------------------------------------------------------------------------
  766. ;
  767. ; Usage report (before postprocessing)
  768. ;
  769. ; ■ Statements used :
  770. ;
  771. ;    1       End
  772. ;    3       Cls
  773. ;    3       Color 
  774. ;    146     Goto 
  775. ;    143     Let 
  776. ;    11      Print 
  777. ;    106     PrintLn 
  778. ;    90      If 
  779. ;    1       DispFile 
  780. ;    6       FCreate 
  781. ;    7       FOpen 
  782. ;    2       FAppend 
  783. ;    34      FClose 
  784. ;    1       FGet 
  785. ;    10      FPutLn 
  786. ;    2       Delete 
  787. ;    3       Log 
  788. ;    17      InputStr 
  789. ;    2       InputYN 
  790. ;    4       InputInt 
  791. ;    10      Gosub 
  792. ;    23      Return
  793. ;    5       Delay 
  794. ;    4       Inc 
  795. ;    1       Dec 
  796. ;    15      Newline
  797. ;    1       GetToken 
  798. ;    2       KbdChkOff
  799. ;    3       AnsiPos 
  800. ;    2       Backup 
  801. ;    2       Rename 
  802. ;    17      FSeek 
  803. ;    20      FRead 
  804. ;    45      FWrite 
  805. ;
  806. ;
  807. ; ■ Functions used :
  808. ;
  809. ;    9       *
  810. ;    7       /
  811. ;    159     +
  812. ;    13      -
  813. ;    24      ==
  814. ;    10      <>
  815. ;    3       <
  816. ;    5       <=
  817. ;    3       >
  818. ;    3       >=
  819. ;    81      !
  820. ;    4       &&
  821. ;    2       ||
  822. ;    7       Len(
  823. ;    18      Upper()
  824. ;    7       Mid()
  825. ;    2       Left()
  826. ;    14      Space()
  827. ;    14      Ferr()
  828. ;    20      Chr()
  829. ;    1       Trim()
  830. ;    1       Date()
  831. ;    1       Time()
  832. ;    2       NoChar()
  833. ;    3       YesChar()
  834. ;    26      Strip()
  835. ;    20      String()
  836. ;    12      Mask_Num()
  837. ;    4       Mask_File()
  838. ;    4       Mask_Path()
  839. ;    9       PPEPath()
  840. ;    5       PcbNode()
  841. ;    9       Exist()
  842. ;    1       GetY()
  843. ;    2       GrafMode()
  844. ;    4       FileInf()
  845. ;    1       TokCount()
  846. ;    3       ToByte()
  847. ;    6       ToReal()
  848. ;    3       FmtReal()
  849. ;
  850. ;------------------------------------------------------------------------------
  851. ;
  852. ; Analysis flags : No flag
  853. ;
  854. ;------------------------------------------------------------------------------
  855. ;
  856. ; Postprocessing report
  857. ;
  858. ;    1       For/Next
  859. ;    2       While/EndWhile
  860. ;    56      If/Then or If/Then/Else
  861. ;    2       Select Case
  862. ;
  863. ;------------------------------------------------------------------------------
  864. ;                 AEGiS Corp - Break the routines, code against the machines!
  865. ;------------------------------------------------------------------------------
  866.