home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / EDSBK115.ZIP / PPE.ZIP / EUTMOD5.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-09  |  10KB  |  615 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.     Date     DATE001
  26.     Date     DATE002
  27.     Integer  INTEGER001
  28.     Integer  INTEGER002
  29.     Integer  INTEGER003
  30.     Real     REAL001
  31.     Real     REAL002
  32.     String   STRING001
  33.     String   STRING002
  34.     String   STRING003
  35.     String   STRING004
  36.     String   STRING005
  37.     Time     TIME001
  38.     Time     TIME002
  39.     Byte     BYTE001
  40.     Byte     BYTE002
  41.     Byte     BYTE003
  42.     Word     WORD001
  43.  
  44. ;------------------------------------------------------------------------------
  45.  
  46.     BOOLEAN006 = 0
  47.     GetToken STRING001
  48.     If (Trim(STRING001, " ") == "") Then
  49.         PrintLn 
  50.         PrintLn "@X0CEUTMOD5 FATAL ERROR:   INVALID COMMAND SEQUENCE!"
  51.         PrintLn 
  52.         PrintLn "@X0APlease run EUTMOD5 from within EDSUtil!"
  53.         PrintLn 
  54.         Goto LABEL019
  55.     Else
  56.         Select Case (STRING001)
  57.             Case "1"
  58.                 BOOLEAN006 = 1
  59.             Case "2"
  60.                 BOOLEAN006 = 0
  61.             Endif
  62.     End Select
  63.     :LABEL001
  64.     If (BOOLEAN005) Goto LABEL005
  65.     PrintLn 
  66.     PrintLn "    @X0F(@X09L@X0F)@X0Bocking Timetable"
  67.     PrintLn "    @X0F(@X09D@X0F)@X0Bialing Template Timetable"
  68.     PrintLn "    @X0F(@X09Q@X0F)@X0Buit to EDSUtil main"
  69.     PrintLn 
  70.     STRING004 = ""
  71.     InputStr "Timetable to edit", STRING004, 14, 1, "LlDdQq", 2 + 4
  72.     STRING004 = Upper(STRING004)
  73.     Newline
  74.     Select Case (STRING004)
  75.         Case "Q", "R"
  76.             BOOLEAN005 = 1
  77.             Goto LABEL019
  78.         Case "L"
  79.             STRING001 = PPEPath() + "EDSBACK.XXX"
  80.             If (Exist(PPEPath() + "EDSBACK.XXX")) Then
  81.                 FOpen 2, STRING001, 0, 0
  82.             Else
  83.                 PrintLn 
  84.                 PrintLn "@X0FPath & filename to EDSBack config file @X0E(Enter Below)"
  85.                 InputStr "", STRING001, 12, 75, Mask_Path() + Mask_File(), 2 + 4
  86.                 If (Exist(STRING001)) Goto LABEL002
  87.                 PrintLn 
  88.                 PrintLn "@X0C" + STRING001 + " DOES NOT EXIST!   @X0AReturning to EDSUtil Main..."
  89.                 Goto LABEL019
  90.                 Goto LABEL003
  91.                 :LABEL002
  92.                 FOpen 2, STRING001, 0, 0
  93.             Endif
  94.             :LABEL003
  95.             If (Ferr(2)) Then
  96.                 BOOLEAN001 = 1
  97.             Else
  98.                 BOOLEAN001 = 0
  99.             Endif
  100.             If (BOOLEAN001) Then
  101.                 PrintLn 
  102.                 PrintLn "@X0CSorry, the @X0F" + STRING001 + " @X0Cfile is currently inaccessible..."
  103.                 FClose 2
  104.                 Return
  105.             Endif
  106.             FSeek 2, 884, 0
  107.             FRead 2, STRING002, 75
  108.             FClose 2
  109.             If (BOOLEAN006) Then
  110.                 Gosub LABEL005
  111.             Else
  112.                 Gosub LABEL008
  113.             Endif
  114.             BOOLEAN005 = 0
  115.         Case "D"
  116.             STRING005 = ""
  117.             InputText "Name of dialing template", STRING005, 10, 10
  118.             If (Strip(STRING005, " ") == "") Goto LABEL019
  119.             STRING002 = PPEPath() + Mid(STRING005, 1, 8) + ".TBL"
  120.             STRING002 = Strip(STRING002, " ")
  121.             If (BOOLEAN006) Then
  122.                 Gosub LABEL005
  123.                 Goto LABEL004
  124.             Endif
  125.             Gosub LABEL008
  126.             :LABEL004
  127.             BOOLEAN005 = 0
  128.     End Select
  129.     Goto LABEL001
  130.     :LABEL005
  131.     INTEGER001 = 0
  132.     INTEGER002 = 0
  133.     If (Exist(STRING002)) Goto LABEL006
  134.     PrintLn 
  135.     PrintLn "@X0C" + STRING002 + " does not exist!"
  136.     Delay 9
  137.     Return
  138.     :LABEL006
  139.     INTEGER001 = FileInf(STRING002, 4)
  140.     INTEGER002 = (INTEGER001 - 43) / 25
  141.     PrintLn 
  142.     PrintLn "@X0F   File Size = " + String(INTEGER001) + "  Number of Records = " + String(INTEGER002)
  143.     If (INTEGER002 <= 1) Then
  144.         PrintLn 
  145.         PrintLn "@X0CTHERE MUST BE AT LEAST ONE RECORD PRESENT IN THE TIMETABLE FILE!"
  146.         PrintLn 
  147.         Delay 18
  148.         Return
  149.     Endif
  150.     KbdChkOff
  151.     Rename STRING002, PPEPath() + String(PcbNode()) + "tt.$$$"
  152.     BOOLEAN001 = 1
  153.     FCreate 1, STRING002, 1, 2
  154.     If (Ferr(1)) Then
  155.         BOOLEAN001 = 1
  156.     Else
  157.         BOOLEAN001 = 0
  158.     Endif
  159.     If (BOOLEAN001) Then
  160.         PrintLn 
  161.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  162.         FClose 1
  163.         Return
  164.     Endif
  165.     BOOLEAN001 = 1
  166.     FOpen 2, PPEPath() + String(PcbNode()) + "tt.$$$", 0, 3
  167.     If (Ferr(2)) Then
  168.         BOOLEAN001 = 1
  169.     Else
  170.         BOOLEAN001 = 0
  171.     Endif
  172.     If (BOOLEAN001) Then
  173.         PrintLn 
  174.         PrintLn "@X0CSorry, the @X0F" + String(PcbNode()) + "tt.$$$ @X0Cfile is currently inaccessible..."
  175.         FClose 2
  176.         FClose 1
  177.         PrintLn 
  178.         PrintLn "@X0ADeleting & renaming temporary files..."
  179.         Delete STRING002
  180.         Rename PPEPath() + String(PcbNode()) + "tt.$$$", STRING002
  181.         Return
  182.     Endif
  183.     BOOLEAN002 = 0
  184.     FSeek 1, 0, 0
  185.     FWrite 1, " EDSBack v1.15 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  186.     PrintLn 
  187.     PrintLn "@X0FPacking TimeTable File: " + Upper(STRING002)
  188.     If (GrafMode() <> "N") Then
  189.         PrintLn 
  190.         Print "@X0F0% @X07░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ @X0F100%"
  191.         BYTE001 = GetY()
  192.     Endif
  193.     INTEGER001 = FileInf(PPEPath() + String(PcbNode()) + "tt.$$$", 4)
  194.     INTEGER002 = (INTEGER001 - 43) / 25
  195.     INTEGER003 = 1
  196.     While (INTEGER003 <= INTEGER002) Do
  197.         BOOLEAN002 = 0
  198.         BOOLEAN003 = 0
  199.         WORD001 = 0
  200.         DATE001 = 0
  201.         TIME001 = 0
  202.         DATE002 = 0
  203.         TIME002 = 0
  204.         FSeek 2, 43 + INTEGER003 * 25 - 25, 0
  205.         FRead 2, BOOLEAN003, 1
  206.         If (BOOLEAN003) Then
  207.             BOOLEAN002 = 1
  208.         Else
  209.             BOOLEAN002 = 0
  210.         Endif
  211.         If (BOOLEAN002) Goto LABEL007
  212.         FWrite 1, BOOLEAN003, 1
  213.         FRead 2, WORD001, 2
  214.         FWrite 1, WORD001, 2
  215.         FRead 2, DATE001, 2
  216.         FWrite 1, DATE001, 2
  217.         FRead 2, TIME001, 4
  218.         FWrite 1, TIME001, 4
  219.         FRead 2, DATE002, 2
  220.         FWrite 1, DATE002, 2
  221.         FRead 2, TIME002, 4
  222.         FWrite 1, TIME002, 4
  223.         FWrite 1, Space(10), 10
  224.         :LABEL007
  225.         If (GrafMode() <> "N") Gosub LABEL018
  226.         Inc INTEGER003
  227.     EndWhile
  228.     Color 7
  229.     FClose 1
  230.     FClose 2
  231.     PrintLn 
  232.     PrintLn 
  233.     PrintLn "@X0BDeleting temporary files..."
  234.     Delete PPEPath() + String(PcbNode()) + "tt.$$$"
  235.     PrintLn "@X0EChecking files..."
  236.     INTEGER001 = FileInf(STRING002, 4)
  237.     INTEGER002 = (INTEGER001 - 43) / 25
  238.     If (INTEGER002 < 1) Then
  239.         PrintLn 
  240.         PrintLn "@X0C0 byte file!  Recreating with a dummy record..."
  241.         FCreate 1, STRING002, 1, 2
  242.         FWrite 1, " EDSBack v1.15 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  243.         FWrite 1, 0, 1
  244.         FWrite 1, 0, 2
  245.         FWrite 1, 0, 2
  246.         FWrite 1, 0, 4
  247.         FWrite 1, 0, 2
  248.         FWrite 1, 0, 4
  249.         FWrite 1, Space(10), 10
  250.         FClose 1
  251.         PrintLn "@X0ANew timetable successfully created..."
  252.     Endif
  253.     PrintLn "@X0FTimetable successfully packed!"
  254.     Log "Timetable successfully packed!", 0
  255.     KbdChkOn
  256.     Return
  257.     :LABEL008
  258.     If (Exist(STRING002)) Goto LABEL009
  259.     PrintLn 
  260.     PrintLn "@X0CCreating " + STRING002 + "..."
  261.     BOOLEAN001 = 0
  262.     FCreate 1, STRING002, 2, 2
  263.     If (Ferr(1)) Then
  264.         BOOLEAN001 = 1
  265.     Else
  266.         BOOLEAN001 = 0
  267.     Endif
  268.     If (BOOLEAN001) Then
  269.         PrintLn 
  270.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  271.         FClose 1
  272.         Return
  273.     Endif
  274.     FWrite 1, " EDSBack v1.15 TimeTable File         " + Chr(13) + Chr(10) + Chr(32) + Chr(26) + Chr(0), 43
  275.     FWrite 1, 0, 1
  276.     FWrite 1, 0, 2
  277.     FWrite 1, 0, 2
  278.     FWrite 1, 0, 4
  279.     FWrite 1, 0, 2
  280.     FWrite 1, 0, 4
  281.     FWrite 1, Space(10), 10
  282.     INTEGER001 = 68
  283.     Goto LABEL010
  284.     :LABEL009
  285.     PrintLn 
  286.     PrintLn "@X0AReading " + STRING002 + "..."
  287.     BOOLEAN001 = 0
  288.     FOpen 1, STRING002, 2, 2
  289.     If (Ferr(1)) Then
  290.         BOOLEAN001 = 1
  291.     Else
  292.         BOOLEAN001 = 0
  293.     Endif
  294.     If (BOOLEAN001) Then
  295.         PrintLn 
  296.         PrintLn "@X0CSorry, the @X0F" + STRING002 + " @X0Cfile is currently inaccessible..."
  297.         FClose 1
  298.         Return
  299.     Endif
  300.     INTEGER001 = FileInf(STRING002, 4)
  301.     :LABEL010
  302.     BOOLEAN002 = 0
  303.     INTEGER002 = (INTEGER001 - 43) / 25
  304.     INTEGER003 = 1
  305.     BOOLEAN004 = 1
  306.     While (!BOOLEAN002 && !Ferr(1)) Do
  307.         If (BOOLEAN004) Then
  308.             FSeek 1, 43 + 25 * INTEGER003 - 25, 0
  309.             FRead 1, BOOLEAN003, 1
  310.             FRead 1, WORD001, 2
  311.             FRead 1, DATE001, 2
  312.             FRead 1, TIME001, 4
  313.             FRead 1, DATE002, 2
  314.             FRead 1, TIME002, 4
  315.         Endif
  316.         PrintLn 
  317.         PrintLn "TimeTable File: " + Upper(STRING002)
  318.         PrintLn 
  319.         PrintLn "@X0ARecord #@X0F" + String(INTEGER003) + "@X0A of@X0F " + String(INTEGER002)
  320.         PrintLn 
  321.         PrintLn "    @X0F(@X09N@X0F)@X0Bode    : @X0C" + String(WORD001)
  322.         Print "    @X0F(@X09D@X0F)@X0Beleted : @X0C"
  323.         If (BOOLEAN003) Then
  324.             PrintLn "Yes"
  325.         Else
  326.             PrintLn "No "
  327.         Endif
  328.         PrintLn 
  329.         PrintLn "    @X0F(@X091@X0F)@X0B Date to Lock   : @X0C" + String(DATE001)
  330.         PrintLn "    @X0F(@X092@X0F)@X0B Time to Lock   : @X0C" + String(TIME001)
  331.         PrintLn "    @X0F(@X093@X0F)@X0B Date to Unlock : @X0C" + String(DATE002)
  332.         PrintLn "    @X0F(@X094@X0F)@X0B Time to Unlock : @X0C" + String(TIME002)
  333.         PrintLn 
  334.         PrintLn "    @X0F(@X09+@X0F)@X0B Advance 1 record    @X0F(@X09-@X0F)@X0B Retard 1 record"
  335.         PrintLn "    @X0F(@X09J@X0F)@X0Bump to record        @X0F(@X09A@X0F)@X0Bdd a record"
  336.         PrintLn "    @X0F(@X09Q@X0F)@X0Buit to main"
  337.         PrintLn 
  338.         STRING003 = "+"
  339.         InputStr "(H)elp, Enter command", STRING003, 15, 1, "+-NnDd1234JjAaQqRrHh", 2 + 4
  340.         Newline
  341.         STRING003 = Upper(STRING003)
  342.         If ((STRING003 == "Q") || (STRING003 == "R")) Then
  343.             BOOLEAN004 = 0
  344.             BOOLEAN002 = 1
  345.             Continue
  346.         Endif
  347.         If (STRING003 == "H") Then
  348.             Print "@PON@"
  349.             DispFile PPEPath() + "EDSTE", 1 + 4
  350.             Print "@POFF@"
  351.             Cls
  352.             BOOLEAN004 = 0
  353.             BOOLEAN002 = 0
  354.             Continue
  355.         Endif
  356.         If (STRING003 == "+") Then
  357.             If (INTEGER003 >= INTEGER002) Then
  358.                 INTEGER003 = 1
  359.                 Goto LABEL011
  360.             Endif
  361.             Inc INTEGER003
  362.             :LABEL011
  363.             BOOLEAN002 = 0
  364.             BOOLEAN004 = 1
  365.             Continue
  366.         Endif
  367.         If (STRING003 == "-") Then
  368.             If (INTEGER003 <= 1) Then
  369.                 INTEGER003 = INTEGER002
  370.                 Goto LABEL012
  371.             Endif
  372.             Dec INTEGER003
  373.             :LABEL012
  374.             BOOLEAN002 = 0
  375.             BOOLEAN004 = 1
  376.             Continue
  377.         Endif
  378.         If (STRING003 == "J") Then
  379.             InputInt "Record # to jump to", INTEGER003, 12
  380.             If ((INTEGER003 < 1) || (INTEGER003 > INTEGER002)) INTEGER003 = INTEGER002
  381.             BOOLEAN002 = 0
  382.             BOOLEAN004 = 1
  383.             Continue
  384.         Endif
  385.         If (STRING003 == "N") Then
  386.             InputInt "Node # that this lock pertains to (0=ALL)", WORD001, 12
  387.             Newline
  388.             If (WORD001 > MaxNode()) Then
  389.                 STRING001 = YesChar()
  390.                 InputYN "Node entered larger than maximum allowed. Continue", STRING001, 12
  391.                 STRING001 = Upper(STRING001)
  392.                 If (STRING001 == YesChar()) Then
  393.                     FSeek 1, 43 + INTEGER003 * 25 - 24, 0
  394.                     FWrite 1, WORD001, 2
  395.                 Endif
  396.                 Goto LABEL013
  397.             Endif
  398.             FSeek 1, 43 + INTEGER003 * 25 - 24, 0
  399.             FWrite 1, WORD001, 2
  400.             :LABEL013
  401.             BOOLEAN002 = 0
  402.             BOOLEAN004 = 1
  403.             Continue
  404.         Endif
  405.         If (STRING003 == "D") Then
  406.             If (BOOLEAN003) Then
  407.                 BOOLEAN003 = 0
  408.                 Goto LABEL014
  409.             Endif
  410.             BOOLEAN003 = 1
  411.             :LABEL014
  412.             FSeek 1, 43 + INTEGER003 * 25 - 25, 0
  413.             FWrite 1, BOOLEAN003, 1
  414.             BOOLEAN002 = 0
  415.             BOOLEAN004 = 1
  416.             Continue
  417.         Endif
  418.         If (STRING003 == "1") Then
  419.             InputDate "Date to lock", DATE001, 12
  420.             FSeek 1, 43 + INTEGER003 * 25 - 22, 0
  421.             FWrite 1, DATE001, 2
  422.             BOOLEAN002 = 0
  423.             BOOLEAN004 = 1
  424.             Continue
  425.         Endif
  426.         If (STRING003 == "2") Then
  427.             InputTime "Time to lock", TIME001, 12
  428.             FSeek 1, 43 + INTEGER003 * 25 - 20, 0
  429.             FWrite 1, TIME001, 4
  430.             BOOLEAN002 = 0
  431.             BOOLEAN004 = 1
  432.             Continue
  433.         Endif
  434.         If (STRING003 == "3") Then
  435.             InputDate "Date to unlock", DATE002, 12
  436.             FSeek 1, 43 + INTEGER003 * 25 - 16, 0
  437.             FWrite 1, DATE002, 2
  438.             BOOLEAN002 = 0
  439.             BOOLEAN004 = 1
  440.             Continue
  441.         Endif
  442.         If (STRING003 == "4") Then
  443.             InputTime "Time to unlock", TIME002, 12
  444.             FSeek 1, 43 + INTEGER003 * 25 - 14, 0
  445.             FWrite 1, TIME002, 4
  446.             BOOLEAN002 = 0
  447.             BOOLEAN004 = 1
  448.             Continue
  449.         Endif
  450.         If (STRING003 == "A") Then
  451.             BOOLEAN001 = 0
  452.             :LABEL015
  453.             If (BOOLEAN001) Goto LABEL017
  454.             InputInt "Node # that this lock pertains to (0=ALL)", WORD001, 12
  455.             FreshLine
  456.             If (WORD001 > MaxNode()) Then
  457.                 PrintLn "@X0C Node out of range!  Please enter a valid node number!"
  458.                 BOOLEAN001 = 0
  459.                 Goto LABEL016
  460.             Endif
  461.             BOOLEAN001 = 1
  462.             :LABEL016
  463.             Goto LABEL015
  464.             :LABEL017
  465.             FreshLine
  466.             InputDate "Date to lock", DATE001, 12
  467.             FreshLine
  468.             InputTime "Time to lock", TIME001, 12
  469.             FreshLine
  470.             InputDate "Date to unlock", DATE002, 12
  471.             FreshLine
  472.             InputTime "Time to unlock", TIME002, 12
  473.             PrintLn 
  474.             PrintLn "@X0CCreating record..."
  475.             FSeek 1, 0, 2
  476.             FWrite 1, 0, 1
  477.             FWrite 1, WORD001, 2
  478.             FWrite 1, DATE001, 2
  479.             FWrite 1, TIME001, 4
  480.             FWrite 1, DATE002, 2
  481.             FWrite 1, TIME002, 4
  482.             FWrite 1, Space(10), 10
  483.             INTEGER001 = INTEGER001 + 25
  484.             Inc INTEGER002
  485.             INTEGER003 = INTEGER002
  486.             BOOLEAN002 = 0
  487.             BOOLEAN004 = 1
  488.         Endif
  489.     EndWhile
  490.     FClose 1
  491.     Return
  492.     :LABEL018
  493.     If (INTEGER003 == 1) BYTE003 = 0
  494.     If ((INTEGER003 <> 0) && (INTEGER002 <> 0)) Then
  495.         REAL001 = ToReal(INTEGER003) / ToReal(INTEGER002)
  496.         REAL002 = FmtReal(ToReal(35) * REAL001, 1, 0)
  497.         BYTE002 = ToByte(REAL002) - BYTE003
  498.         If (BYTE002 <> BYTE003) Then
  499.             Color 73
  500.             AnsiPos 4 + BYTE003, BYTE001
  501.             For BYTE003 = 1 To BYTE002
  502.                 Print "▓"
  503.             Next
  504.             BYTE003 = ToByte(REAL002)
  505.             REAL001 = FmtReal(REAL001 * 100, 1, 0)
  506.             BYTE002 = (43 - Len(String(REAL001) + "%")) / 2
  507.             Color 11
  508.             REAL002 = ToReal(BYTE001) - 1
  509.             AnsiPos BYTE002, ToByte(REAL002)
  510.             Print String(REAL001) + "%"
  511.             AnsiPos 45, BYTE001
  512.         Endif
  513.     Endif
  514.     Return
  515.     :LABEL019
  516.     End
  517.  
  518. ;------------------------------------------------------------------------------
  519. ;
  520. ; Usage report (before postprocessing)
  521. ;
  522. ; ■ Statements used :
  523. ;
  524. ;    1       End
  525. ;    1       Cls
  526. ;    3       Color 
  527. ;    95      Goto 
  528. ;    100     Let 
  529. ;    6       Print 
  530. ;    69      PrintLn 
  531. ;    58      If 
  532. ;    1       DispFile 
  533. ;    3       FCreate 
  534. ;    4       FOpen 
  535. ;    11      FClose 
  536. ;    2       Delete 
  537. ;    1       Log 
  538. ;    3       InputStr 
  539. ;    1       InputYN 
  540. ;    3       InputInt 
  541. ;    4       InputDate 
  542. ;    4       InputTime 
  543. ;    5       Gosub 
  544. ;    10      Return
  545. ;    2       Delay 
  546. ;    3       Inc 
  547. ;    1       Dec 
  548. ;    3       Newline
  549. ;    1       GetToken 
  550. ;    1       InputText 
  551. ;    1       KbdChkOn
  552. ;    1       KbdChkOff
  553. ;    3       AnsiPos 
  554. ;    5       FreshLine
  555. ;    2       Rename 
  556. ;    12      FSeek 
  557. ;    13      FRead 
  558. ;    38      FWrite 
  559. ;
  560. ;
  561. ; ■ Functions used :
  562. ;
  563. ;    11      *
  564. ;    6       /
  565. ;    80      +
  566. ;    16      -
  567. ;    23      ==
  568. ;    5       <>
  569. ;    3       <
  570. ;    4       <=
  571. ;    3       >
  572. ;    3       >=
  573. ;    56      !
  574. ;    4       &&
  575. ;    4       ||
  576. ;    1       Len(
  577. ;    5       Upper()
  578. ;    1       Mid()
  579. ;    4       Space()
  580. ;    6       Ferr()
  581. ;    15      Chr()
  582. ;    1       Trim()
  583. ;    2       YesChar()
  584. ;    2       Strip()
  585. ;    17      String()
  586. ;    1       Mask_File()
  587. ;    1       Mask_Path()
  588. ;    9       PPEPath()
  589. ;    6       PcbNode()
  590. ;    4       Exist()
  591. ;    1       GetY()
  592. ;    2       GrafMode()
  593. ;    4       FileInf()
  594. ;    2       MaxNode()
  595. ;    3       ToByte()
  596. ;    4       ToReal()
  597. ;    2       FmtReal()
  598. ;
  599. ;------------------------------------------------------------------------------
  600. ;
  601. ; Analysis flags : No flag
  602. ;
  603. ;------------------------------------------------------------------------------
  604. ;
  605. ; Postprocessing report
  606. ;
  607. ;    1       For/Next
  608. ;    2       While/EndWhile
  609. ;    40      If/Then or If/Then/Else
  610. ;    2       Select Case
  611. ;
  612. ;------------------------------------------------------------------------------
  613. ;                 AEGiS Corp - Break the routines, code against the machines!
  614. ;------------------------------------------------------------------------------
  615.