home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / areas012.zip / AREAS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-14  |  13KB  |  605 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.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     Integer  INTEGER013
  33.     Integer  INTEGER014
  34.     Integer  INTEGER015
  35.     Integer  INTEGER016
  36.     Integer  INTEGER017
  37.     Integer  INTEGER018
  38.     Integer  INTEGER019
  39.     Integer  INTEGER020
  40.     Integer  INTEGER021
  41.     Integer  INTEGER022
  42.     Integer  INTEGER023
  43.     String   STRING001
  44.     String   TSTRING002(9)
  45.     String   STRING003
  46.     String   STRING004
  47.     String   STRING005
  48.     String   STRING006
  49.     String   STRING007
  50.     String   STRING008
  51.     String   STRING009
  52.     String   STRING010
  53.     String   STRING011
  54.     String   STRING012
  55.     String   STRING013
  56.     String   STRING014
  57.     String   STRING015
  58.     String   STRING016
  59.     String   TSTRING017(500)
  60.     String   STRING018
  61.     String   STRING019
  62.     String   STRING020
  63.     String   STRING021
  64.     String   STRING022
  65.     String   STRING023
  66.  
  67. ;------------------------------------------------------------------------------
  68.  
  69.     STRING001 = "v0.12ß"
  70.     If (Exist(PPEPath() + "AREAS.CFG")) Then
  71.         FOpen 1, PPEPath() + "AREAS.CFG", 0, 2
  72.         For INTEGER016 = 1 To 9
  73.             FGet 1, TSTRING002(INTEGER016)
  74.         Next
  75.         STRING008 = Left(TSTRING002(1), 4)
  76.         STRING009 = Left(TSTRING002(2), 4)
  77.         STRING010 = Left(TSTRING002(3), 4)
  78.         STRING011 = Left(TSTRING002(4), 4)
  79.         STRING003 = Left(TSTRING002(5), 4)
  80.         STRING004 = Left(TSTRING002(6), 4)
  81.         STRING005 = Left(TSTRING002(7), 4)
  82.         STRING012 = TSTRING002(8)
  83.         INTEGER017 = ToInt(TSTRING002(9))
  84.         FClose 1
  85.     Else
  86.         STRING008 = "@X09"
  87.         STRING009 = "@X09"
  88.         STRING010 = "@X0F"
  89.         STRING011 = "@X0B"
  90.         STRING003 = "@X0B"
  91.         STRING004 = "@X03"
  92.         STRING005 = "@X70"
  93.         STRING012 = "@X0F @CONFNAME@  @X09(@X07ESC@X09)=Quit, (@X07B@X09)ack, (@X07###,SPACE@X09)=Mark, (@X07ENTER@X09)=Next @X07"
  94.         INTEGER017 = 2
  95.     Endif
  96.     STRING006 = ""
  97.     STRING007 = "@X07"
  98.     BOOLEAN001 = 0
  99.     STRING016 = TokenStr()
  100.     If (Upper(STRING016) == "AGAIN") Then
  101.         BOOLEAN001 = 1
  102.     Else
  103.         If (STRING016 == "") Then
  104.         Endif
  105.         INTEGER001 = 96
  106.         INTEGER004 = CurConf()
  107.         STRING019 = ReadLine(PCBDat(), 31)
  108.         FOpen 1, STRING019 + ".@@@", 0, 0
  109.         FRead 1, INTEGER014, 2
  110.         INTEGER015 = ToInt(INTEGER014)
  111.         FSeek 1, CurConf() * INTEGER015 + 482, 1
  112.         FRead 1, STRING015, 33
  113.         FClose 1
  114.         INTEGER003 = FileInf(STRING015, 4)
  115.         INTEGER003 = INTEGER003 / INTEGER001
  116.         FOpen 1, STRING015, 0, 0
  117.         If (AnsiOn()) Goto LABEL001
  118.         Gosub LABEL003
  119.         Goto LABEL002
  120.         :LABEL001
  121.         Gosub LABEL005
  122.         :LABEL002
  123.         FClose 1
  124.         Return
  125.         :LABEL003
  126.         PrintLn "@CLS@"
  127.         Newline
  128.         PrintLn "@X0F@CONFNAME@ @X07File Areas...."
  129.         Newline
  130.         PrintLn "@X030 - @X0B New Uploads"
  131.         For INTEGER002 = 1 To INTEGER003
  132.             If (Abort() == 1) INTEGER002 = INTEGER003
  133.             INTEGER001 = INTEGER001 * (INTEGER002 - 1)
  134.             FSeek 1, INTEGER001, 1
  135.             FRead 1, STRING013, 96
  136.             STRING014 = Mid(STRING013, 61, 35)
  137.             PrintLn "@X03" + String(INTEGER002) + " - @X0B" + STRING014
  138.         Next
  139.         STRING020 = "   "
  140.         InputStr "@X0CSelect File Area @X0F(@X08ENTER=Quit@X0F) @X0B", STRING020, 7, 3, "1234567890Nn", 256 + 2 + 8
  141.         If (STRING020 == "0") STRING020 = "U"
  142.         If (STRING020 == "") Goto LABEL018
  143.         PrintLn "@CLS@"
  144.         If (BOOLEAN001 <> 1) Then
  145.             KbdStuff "F " + STRING020
  146.             Goto LABEL019
  147.             Goto LABEL004
  148.         Endif
  149.         KbdStuff STRING020 + Chr(13)
  150.         Goto LABEL019
  151.         :LABEL004
  152.         Return
  153.         :LABEL005
  154.         PrintLn "@CLS@"
  155.         Newline
  156.         Newline
  157.         PrintLn "@X08UltiWares(@X0Cc@X08)1994 @X0AAREAS @X07" + STRING001
  158.         Newline
  159.         Print "@X0BOne Moment... @X09Loading File Area Data...@X03["
  160.         INTEGER012 = GetY()
  161.         INTEGER013 = GetX()
  162.         TSTRING017(0) = "New Uploads                        "
  163.         If (INTEGER017 <> 1) Goto LABEL011
  164.         For INTEGER002 = 1 To INTEGER003 + 10
  165.             AnsiPos INTEGER013, INTEGER012
  166.             Print "@X0B" + String(INTEGER002) + "@X03]"
  167.             If (Abort() == 1) INTEGER002 = INTEGER003
  168.             INTEGER001 = INTEGER001 * (INTEGER002 - 1)
  169.             FSeek 1, INTEGER001, 1
  170.             FRead 1, STRING013, 96
  171.             TSTRING017(INTEGER002) = Mid(STRING013, 61, 35)
  172.             If (Left(TSTRING017(INTEGER002), 5) == "     ") TSTRING017(INTEGER002) = "" + "..Reserved For Future Use..        @X07"
  173.         Next
  174.         PrintLn "@CLS@@X07         " + STRING008 + " ┌──────────────────────────────────────────────────────────┐ @X07"
  175.         PrintLn "@X07         " + STRING008 + " │ " + STRING010 + "          The Ultimate File Area Lister " + STRING001 + "          " + STRING009 + " │ @X07"
  176.         PrintLn "@X07         " + STRING008 + " ├──────┬───────────────────────────────────────────────────" + STRING009 + "┤ @X07"
  177.         PrintLn "@X07         " + STRING008 + " │ " + STRING011 + "###  " + STRING008 + "│  " + STRING011 + "Area Description                                 " + STRING009 + "│ @X07"
  178.         PrintLn "@X07         " + STRING008 + " │ " + STRING009 + "─────┴────────────────────────────────────────────────── │ @X07"
  179.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  180.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  181.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  182.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  183.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  184.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  185.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  186.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  187.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  188.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  189.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  190.         PrintLn "@X07         " + STRING008 + " │                                                          " + STRING009 + "│ @X07"
  191.         PrintLn "@X07         " + STRING009 + " └──────────────────────────────────────────────────────────┘ @X07"
  192.         PrintLn "                                                       @X08UltiWares(@X0Cc@X08)1994"
  193.         INTEGER006 = 13
  194.         INTEGER005 = 7
  195.         INTEGER007 = 0
  196.         While (INTEGER007 < INTEGER003) Do
  197.             For INTEGER007 = 0 To INTEGER003 Step 10
  198.                 For INTEGER002 = INTEGER007 To INTEGER007 + 9
  199.                     INTEGER010 = INTEGER007
  200.                     INTEGER011 = INTEGER007 + 9
  201.                     STRING018 = String(INTEGER002)
  202.                     If (Len(STRING018) == 1) STRING018 = "  " + STRING018
  203.                     If (Len(STRING018) == 2) STRING018 = " " + STRING018
  204.                     AnsiPos INTEGER006, INTEGER005
  205.                     Print STRING003 + STRING018
  206.                     AnsiPos INTEGER006 + 8, INTEGER005
  207.                     Print STRING004 + TSTRING017(INTEGER002)
  208.                     INTEGER005 = INTEGER005 + 1
  209.                 Next
  210.                 AnsiPos 1, 21
  211.                 STRING020 = ""
  212.                 Print STRING012 + STRING007
  213.                 :LABEL006
  214.                 INTEGER008 = GetX()
  215.                 STRING020 = Upper(Inkey())
  216.                 If (STRING020 == "") Goto LABEL006
  217.                 If (((STRING020 == "UP") || (STRING020 == "DOWN")) || (STRING020 == " ")) Gosub LABEL008
  218.                 If (InStr("1234567890", STRING020) <> 0) Then
  219.                     Print STRING020
  220.                     While (STRING021 <> Chr(13)) Do
  221.                         STRING021 = Inkey()
  222.                         STRING020 = STRING020 + STRING021
  223.                         Print STRING021
  224.                         If (STRING020 == "0") STRING020 = "U"
  225.                     EndWhile
  226.                     If (BOOLEAN001 <> 1) Then
  227.                         KbdStuff "F " + STRING020
  228.                         Goto LABEL019
  229.                         Goto LABEL007
  230.                     Endif
  231.                     KbdStuff STRING020 + Chr(13)
  232.                     Goto LABEL019
  233.                 Endif
  234.                 :LABEL007
  235.                 If ((STRING020 == "Q") || (STRING020 == Chr(27))) Goto LABEL018
  236.                 If ((STRING020 == Chr(13)) || (STRING020 == "PGDN")) Then
  237.                     INTEGER005 = 7
  238.                     Continue
  239.                 Endif
  240.                 If ((STRING020 == "PGUP") || (STRING020 == "B")) Then
  241.                     INTEGER007 = INTEGER007 - 20
  242.                     If (INTEGER007 <= 0) INTEGER007 = -10
  243.                     INTEGER005 = 7
  244.                     STRING020 = ""
  245.                     Continue
  246.                 Endif
  247.                 Goto LABEL006
  248.             Next
  249.         EndWhile
  250.         Return
  251.         :LABEL008
  252.         INTEGER018 = INTEGER006
  253.         INTEGER019 = INTEGER005 - 10
  254.         INTEGER020 = INTEGER010
  255.         STRING022 = String(INTEGER020)
  256.         If (Len(STRING022) == 1) STRING022 = "  " + STRING022
  257.         If (Len(STRING022) == 2) STRING022 = " " + STRING022
  258.         AnsiPos INTEGER018, INTEGER019
  259.         Print STRING005 + STRING022
  260.         AnsiPos INTEGER018 + 8, INTEGER019
  261.         Print STRING005 + TSTRING017(INTEGER020)
  262.         :LABEL009
  263.         STRING022 = String(INTEGER020)
  264.         If (Len(STRING022) == 1) STRING022 = "  " + STRING022
  265.         If (Len(STRING022) == 2) STRING022 = " " + STRING022
  266.         STRING021 = Inkey()
  267.         If (STRING021 == Chr(13)) Then
  268.             If (INTEGER020 == 0) STRING022 = "U"
  269.             If (BOOLEAN001 <> 1) Then
  270.                 KbdStuff "F " + STRING022
  271.                 Goto LABEL019
  272.                 Goto LABEL010
  273.             Endif
  274.             KbdStuff STRING022 + Chr(13)
  275.             Goto LABEL019
  276.         Endif
  277.         :LABEL010
  278.         If (STRING021 == Chr(27)) Then
  279.             AnsiPos INTEGER018, INTEGER019
  280.             Print STRING003 + STRING022
  281.             AnsiPos INTEGER018 + 8, INTEGER019
  282.             Print STRING004 + TSTRING017(INTEGER020)
  283.             AnsiPos INTEGER008, 22
  284.             Print STRING007
  285.             Return
  286.         Endif
  287.         If ((STRING021 == "DOWN") || (STRING021 == " ")) Then
  288.             AnsiPos INTEGER018, INTEGER019
  289.             Print STRING003 + STRING022
  290.             AnsiPos INTEGER018 + 8, INTEGER019
  291.             Print STRING004 + TSTRING017(INTEGER020)
  292.             If (INTEGER020 == INTEGER011) Then
  293.                 AnsiPos INTEGER018, INTEGER019
  294.                 Print STRING003 + STRING022
  295.                 AnsiPos INTEGER018 + 8, INTEGER019
  296.                 Print STRING004 + TSTRING017(INTEGER020)
  297.                 INTEGER020 = INTEGER010
  298.                 INTEGER019 = INTEGER019 - 9
  299.                 STRING022 = String(INTEGER020)
  300.                 If (Len(STRING022) == 1) STRING022 = "  " + STRING022
  301.                 If (Len(STRING022) == 2) STRING022 = " " + STRING022
  302.                 AnsiPos INTEGER018, INTEGER019
  303.                 Print STRING005 + STRING022
  304.                 AnsiPos INTEGER018 + 8, INTEGER019
  305.                 Print STRING005 + TSTRING017(INTEGER020)
  306.                 Goto LABEL009
  307.             Endif
  308.             INTEGER019 = INTEGER019 + 1
  309.             AnsiPos INTEGER018, INTEGER019
  310.             INTEGER020 = INTEGER020 + 1
  311.             STRING022 = String(INTEGER020)
  312.             If (Len(STRING022) == 1) STRING022 = "  " + STRING022
  313.             If (Len(STRING022) == 2) STRING022 = " " + STRING022
  314.             Print STRING005 + STRING022
  315.             AnsiPos INTEGER018 + 8, INTEGER019
  316.             Print STRING005 + TSTRING017(INTEGER020)
  317.         Endif
  318.         Goto LABEL009
  319.         :LABEL011
  320.         For INTEGER002 = 1 To INTEGER003 + 20
  321.             AnsiPos INTEGER013, INTEGER012
  322.             Print "@X0B" + String(INTEGER002) + "@X03]"
  323.             If (Abort() == 1) INTEGER002 = INTEGER003
  324.             INTEGER001 = INTEGER001 * (INTEGER002 - 1)
  325.             FSeek 1, INTEGER001, 1
  326.             FRead 1, STRING013, 96
  327.             TSTRING017(INTEGER002) = Mid(STRING013, 61, 35)
  328.             If (Left(TSTRING017(INTEGER002), 5) == "     ") TSTRING017(INTEGER002) = "                                   @X07"
  329.         Next
  330.         PrintLn "@X07@CLS@" + STRING008 + "┌─────────────────────────────────────────────────────────────────────────────┐@X07"
  331.         PrintLn STRING008 + "│ " + STRING010 + "                   The Ultimate File Area Lister " + STRING001 + "                    " + STRING009 + " │@X07"
  332.         PrintLn STRING008 + "├─────────────────────────────────────────────────────────────────────────────" + STRING009 + "┤@X07"
  333.         PrintLn STRING008 + "│ " + STRING011 + "###  Area Description                 " + STRING011 + "###  Area Description                 " + STRING009 + "│@X07"
  334.         PrintLn STRING008 + "│ " + STRING009 + "─────────────────────────────────────────────────────────────────────────── │@X07"
  335.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  336.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  337.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  338.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  339.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  340.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  341.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  342.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  343.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  344.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  345.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  346.         PrintLn STRING008 + "│                                                                             " + STRING009 + "│@X07"
  347.         PrintLn STRING009 + "└─────────────────────────────────────────────────────────────────────────────┘@X07"
  348.         PrintLn "                                                               @X08UltiWares(@X0Cc@X08)1994@X07"
  349.         INTEGER006 = 3
  350.         INTEGER005 = 7
  351.         INTEGER007 = 0
  352.         While (INTEGER007 < INTEGER003) Do
  353.             For INTEGER007 = 0 To INTEGER003 Step 19
  354.                 For INTEGER002 = INTEGER007 To INTEGER007 + 19
  355.                     INTEGER010 = INTEGER007
  356.                     INTEGER011 = INTEGER007 + 19
  357.                     STRING018 = String(INTEGER002)
  358.                     If (Len(STRING018) == 1) STRING018 = "  " + STRING018
  359.                     If (Len(STRING018) == 2) STRING018 = " " + STRING018
  360.                     If (INTEGER005 == 17) Then
  361.                         INTEGER005 = 7
  362.                         INTEGER006 = 41
  363.                     Endif
  364.                     If (Left(TSTRING017(INTEGER002), 10) <> "          ") Then
  365.                         AnsiPos INTEGER006, INTEGER005
  366.                         Print STRING003 + STRING018
  367.                         AnsiPos INTEGER006 + 5, INTEGER005
  368.                         Print STRING004 + Left(TSTRING017(INTEGER002), 30)
  369.                         Goto LABEL012
  370.                     Endif
  371.                     AnsiPos INTEGER006, INTEGER005
  372.                     Print STRING004 + Space(35)
  373.                     :LABEL012
  374.                     INTEGER005 = INTEGER005 + 1
  375.                 Next
  376.                 INTEGER006 = 3
  377.                 AnsiPos 1, 21
  378.                 STRING020 = ""
  379.                 Print STRING012 + STRING007
  380.                 :LABEL013
  381.                 INTEGER009 = GetY()
  382.                 INTEGER008 = GetX()
  383.                 STRING020 = Upper(Inkey())
  384.                 If (STRING020 == "") Goto LABEL013
  385.                 If (((STRING020 == "UP") || (STRING020 == "DOWN")) || (STRING020 == " ")) Gosub LABEL015
  386.                 If (InStr("1234567890", STRING020) <> 0) Then
  387.                     Print STRING020
  388.                     While (STRING021 <> Chr(13)) Do
  389.                         STRING021 = Inkey()
  390.                         STRING020 = STRING020 + STRING021
  391.                         Print STRING021
  392.                         If (STRING020 == "0") STRING020 = "U"
  393.                     EndWhile
  394.                     If (BOOLEAN001 <> 1) Then
  395.                         KbdStuff "F " + STRING020
  396.                         Goto LABEL019
  397.                         Goto LABEL014
  398.                     Endif
  399.                     KbdStuff STRING020 + Chr(13)
  400.                     Goto LABEL019
  401.                 Endif
  402.                 :LABEL014
  403.                 If ((STRING020 == "Q") || (STRING020 == Chr(27))) Goto LABEL018
  404.                 If ((STRING020 == Chr(13)) || (STRING020 == "PGDN")) Then
  405.                     INTEGER005 = 7
  406.                     Continue
  407.                 Endif
  408.                 If ((STRING020 == "PGUP") || (STRING020 == "B")) Then
  409.                     INTEGER007 = INTEGER007 - 38
  410.                     If (INTEGER007 <= 0) INTEGER007 = -20
  411.                     INTEGER005 = 7
  412.                     STRING020 = ""
  413.                     Continue
  414.                 Endif
  415.                 Goto LABEL013
  416.             Next
  417.         EndWhile
  418.         Return
  419.         :LABEL015
  420.         INTEGER021 = INTEGER006
  421.         INTEGER022 = 7
  422.         INTEGER023 = INTEGER010
  423.         STRING023 = String(INTEGER023)
  424.         If (Len(STRING023) == 1) STRING023 = "  " + STRING023
  425.         If (Len(STRING023) == 2) STRING023 = " " + STRING023
  426.         AnsiPos INTEGER021, INTEGER022
  427.         Print STRING005 + STRING023
  428.         AnsiPos INTEGER021 + 5, INTEGER022
  429.         Print STRING005 + Left(TSTRING017(INTEGER023), 30)
  430.         :LABEL016
  431.         STRING023 = String(INTEGER023)
  432.         If (Len(STRING023) == 1) STRING023 = "  " + STRING023
  433.         If (Len(STRING023) == 2) STRING023 = " " + STRING023
  434.         STRING021 = Inkey()
  435.         If (STRING021 == Chr(13)) Then
  436.             If (INTEGER023 == 0) STRING023 = "U"
  437.             If (BOOLEAN001 <> 1) Then
  438.                 KbdStuff "F " + STRING023
  439.                 Goto LABEL019
  440.                 Goto LABEL017
  441.             Endif
  442.             KbdStuff STRING023 + Chr(13)
  443.             Goto LABEL019
  444.         Endif
  445.         :LABEL017
  446.         If (STRING021 == Chr(27)) Then
  447.             AnsiPos INTEGER021, INTEGER022
  448.             Print STRING003 + STRING023
  449.             AnsiPos INTEGER021 + 5, INTEGER022
  450.             Print STRING004 + Left(TSTRING017(INTEGER023), 30)
  451.             AnsiPos INTEGER008, INTEGER009
  452.             Print STRING007
  453.             Return
  454.         Endif
  455.         If ((STRING021 == "DOWN") || (STRING021 == " ")) Then
  456.             If (Left(TSTRING017(INTEGER023 + 1), 10) == Space(10)) Then
  457.                 AnsiPos INTEGER021, INTEGER022
  458.                 Print STRING003 + STRING023
  459.                 AnsiPos INTEGER021 + 5, INTEGER022
  460.                 Print STRING004 + Left(TSTRING017(INTEGER023), 30)
  461.                 INTEGER023 = INTEGER010
  462.                 INTEGER022 = 7
  463.                 INTEGER021 = 3
  464.                 STRING023 = String(INTEGER023)
  465.                 If (Len(STRING023) == 1) STRING023 = "  " + STRING023
  466.                 If (Len(STRING023) == 2) STRING023 = " " + STRING023
  467.                 AnsiPos INTEGER021, INTEGER022
  468.                 Print STRING005 + STRING023
  469.                 AnsiPos INTEGER021 + 5, INTEGER022
  470.                 Print STRING005 + Left(TSTRING017(INTEGER023), 30)
  471.                 Goto LABEL016
  472.             Endif
  473.             AnsiPos INTEGER021, INTEGER022
  474.             Print STRING003 + STRING023
  475.             AnsiPos INTEGER021 + 5, INTEGER022
  476.             Print STRING004 + Left(TSTRING017(INTEGER023), 30)
  477.             If ((INTEGER022 == 16) && (INTEGER021 <> 41)) Then
  478.                 INTEGER022 = 6
  479.                 INTEGER021 = 41
  480.             Endif
  481.             If (INTEGER023 == INTEGER011) Then
  482.                 AnsiPos INTEGER021, INTEGER022
  483.                 Print STRING003 + STRING023
  484.                 AnsiPos INTEGER021 + 5, INTEGER022
  485.                 Print STRING004 + Left(TSTRING017(INTEGER023), 30)
  486.                 INTEGER023 = INTEGER010
  487.                 INTEGER022 = INTEGER022 - 9
  488.                 INTEGER021 = 3
  489.                 STRING023 = String(INTEGER023)
  490.                 If (Len(STRING023) == 1) STRING023 = "  " + STRING023
  491.                 If (Len(STRING023) == 2) STRING023 = " " + STRING023
  492.                 AnsiPos INTEGER021, INTEGER022
  493.                 Print STRING005 + STRING023
  494.                 AnsiPos INTEGER021 + 5, INTEGER022
  495.                 Print STRING005 + Left(TSTRING017(INTEGER023), 30)
  496.                 Goto LABEL016
  497.             Endif
  498.             INTEGER022 = INTEGER022 + 1
  499.             AnsiPos INTEGER021, INTEGER022
  500.             INTEGER023 = INTEGER023 + 1
  501.             STRING023 = String(INTEGER023)
  502.             If (Len(STRING023) == 1) STRING023 = "  " + STRING023
  503.             If (Len(STRING023) == 2) STRING023 = " " + STRING023
  504.             Print STRING005 + STRING023
  505.             AnsiPos INTEGER021 + 5, INTEGER022
  506.             Print STRING005 + Left(TSTRING017(INTEGER023), 30)
  507.         Endif
  508.         Goto LABEL016
  509.         :LABEL018
  510.         AnsiPos 1, 23
  511.         Print "@X07" + Chr(13)
  512.         End
  513.         :LABEL019
  514.         PrintLn "@X07@CLS@@X1F The Ultimate File Area Selector " + STRING001 + "                     UltiWares(@X1Cc@X1F)1994 @X0F"
  515.         PrintLn 
  516.         End
  517.     Endif
  518.     KbdStuff "F " + STRING016 + Chr(13)
  519.  
  520. ;------------------------------------------------------------------------------
  521. ;
  522. ; Usage report (before postprocessing)
  523. ;
  524. ; ■ Statements used :
  525. ;
  526. ;    2       End
  527. ;    87      Goto 
  528. ;    157     Let 
  529. ;    45      Print 
  530. ;    47      PrintLn 
  531. ;    81      If 
  532. ;    3       FOpen 
  533. ;    3       FClose 
  534. ;    1       FGet 
  535. ;    1       InputStr 
  536. ;    4       Gosub 
  537. ;    6       Return
  538. ;    5       Newline
  539. ;    11      KbdStuff 
  540. ;    40      AnsiPos 
  541. ;    4       FSeek 
  542. ;    5       FRead 
  543. ;
  544. ;
  545. ; ■ Functions used :
  546. ;
  547. ;    2       -
  548. ;    4       *
  549. ;    1       /
  550. ;    267     +
  551. ;    8       -
  552. ;    68      ==
  553. ;    12      <>
  554. ;    10      <
  555. ;    10      <=
  556. ;    16      >=
  557. ;    39      !
  558. ;    17      &&
  559. ;    20      ||
  560. ;    22      Len(
  561. ;    3       Upper()
  562. ;    3       Mid()
  563. ;    20      Left()
  564. ;    2       Space()
  565. ;    17      Chr()
  566. ;    2       InStr()
  567. ;    3       Abort()
  568. ;    6       Inkey()
  569. ;    14      String()
  570. ;    2       CurConf()
  571. ;    1       PCBDat()
  572. ;    2       PPEPath()
  573. ;    1       ReadLine()
  574. ;    1       Exist()
  575. ;    1       TokenStr()
  576. ;    1       AnsiOn()
  577. ;    3       GetX()
  578. ;    2       GetY()
  579. ;    1       FileInf()
  580. ;    2       ToInt()
  581. ;
  582. ;------------------------------------------------------------------------------
  583. ;
  584. ; Analysis flags : d
  585. ;
  586. ; d - Access PCBOARD.DAT ■ 2
  587. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  588. ;     for many PPE so they can find various informations on the system
  589. ;     (system paths, max number of lines in messages, ...) but it may also
  590. ;     be a way to gather vital informations.
  591. ;     ■ Search for : PCBDAT()
  592. ;
  593. ;------------------------------------------------------------------------------
  594. ;
  595. ; Postprocessing report
  596. ;
  597. ;    8       For/Next
  598. ;    4       While/EndWhile
  599. ;    26      If/Then or If/Then/Else
  600. ;    0       Select Case
  601. ;
  602. ;------------------------------------------------------------------------------
  603. ;                 AEGiS Corp - Break the routines, code against the machines!
  604. ;------------------------------------------------------------------------------
  605.