home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / S / SACULBY1.ZIP / ULBYPRO.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-12-03  |  20KB  |  732 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.     Integer  TINTEGER001(3)
  20.     Integer  INTEGER002
  21.     Integer  TINTEGER003(2)
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     String   TSTRING001(3)
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   TSTRING006(6)
  31.     String   STRING007
  32.     String   STRING008
  33.     String   TSTRING009(2)
  34.     String   TSTRING010(3)
  35.     String   STRING011
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     GetUser
  40.     If (Exist(PPEPath() + "ULBYPRO.HID")) Then
  41.         FOpen 1, PPEPath() + "ULBYPRO.HID", 0, 0
  42.     Else
  43.         Goto LABEL002
  44.     Endif
  45.     :LABEL001
  46.     FGet 1, STRING008
  47.     STRING008 = Upper(STRING008)
  48.     STRING008 = Strip(STRING008, Chr(32))
  49.     If (STRING008 == U_Name()) Goto LABEL019
  50.     If (STRING008 == "") Goto LABEL002
  51.     Goto LABEL001
  52.     :LABEL002
  53.     FClose 1
  54.     If (Exist(PPEPath() + "ULBYPRO.CFG")) Goto LABEL003
  55.     PrintLn "@X8CCONFiG FiLE NOT FOUND ! CHECK PATH !"
  56.     Goto LABEL046
  57.     :LABEL003
  58.     FOpen 1, PPEPath() + "ULBYPRO.CFG", 0, 0
  59.     FGet 1, STRING002
  60.     FGet 1, STRING003
  61.     FGet 1, STRING004
  62.     FGet 1, INTEGER004
  63.     FClose 1
  64.     STRING002 = Upper(STRING002)
  65.     STRING002 = Strip(STRING002, Chr(32))
  66.     STRING004 = Upper(STRING004)
  67.     STRING004 = Strip(STRING004, Chr(32))
  68.     TINTEGER001(1) = 28
  69.     TINTEGER001(2) = 6
  70.     TINTEGER001(3) = 53
  71.     INTEGER002 = 1
  72.     STRING008 = U_Name()
  73.     TSTRING010(1) = "@X10" + Chr(219) + "@X0FYES/no"
  74.     TSTRING010(2) = "@X0Fyes/NO@X10" + Chr(219) + "@X0F"
  75.     TSTRING006(6) = " @X0FSTRINGS FOUND"
  76.     STRING011 = "@X10" + Chr(219)
  77.     If (Exist(PPEPath() + STRING004)) Goto LABEL004
  78.     PrintLn "@X8C" + STRING004 + " NOT FOUND ! CHECK PATH/NAME !"
  79.     Goto LABEL046
  80.     :LABEL004
  81.     Select Case (STRING002)
  82.         Case "BLUE"
  83.             TSTRING001(1) = "@X09"
  84.             TSTRING001(2) = "@X01"
  85.             TSTRING001(3) = "@X1F"
  86.         Case "GREEN"
  87.             TSTRING001(1) = "@X0A"
  88.             TSTRING001(2) = "@X02"
  89.             TSTRING001(3) = "@X2F"
  90.         Case "RED"
  91.             TSTRING001(1) = "@X0C"
  92.             TSTRING001(2) = "@X04"
  93.             TSTRING001(3) = "@X4F"
  94.         Case "PURPLE"
  95.             TSTRING001(1) = "@X0D"
  96.             TSTRING001(2) = "@X05"
  97.             TSTRING001(3) = "@X5F"
  98.         Case "YELLOW"
  99.             TSTRING001(1) = "@X0E"
  100.             TSTRING001(2) = "@X07"
  101.             TSTRING001(3) = "@XE0"
  102.         Case "CYAN"
  103.             TSTRING001(1) = "@X0B"
  104.             TSTRING001(2) = "@X03"
  105.             TSTRING001(3) = "@X3F"
  106.         Case "GREY"
  107.             TSTRING001(1) = "@X07"
  108.             TSTRING001(2) = "@X08"
  109.             TSTRING001(3) = "@X70"
  110.         Case Else
  111.             PrintLn "@X8CPLEASE USE ONLY BLUE/GREEN/RED/PURPLE/YELLOW/CYAN OR GREY FOR COLORS !"
  112.             Goto LABEL046
  113.     End Select
  114.     If (INTEGER004 > 51) Then
  115.         PrintLn "@X8CPLEASE ALLOW MAXIMUM 51 CHARS FOR INPUT LENGTH !"
  116.     Else
  117.         FOpen 1, PPEPath() + STRING004, 0, 0
  118.         :LABEL005
  119.         FGet 1, TSTRING006(1)
  120.         FGet 1, TSTRING006(2)
  121.         Select Case (TSTRING006(1))
  122.             Case STRING008
  123.                 FClose 1
  124.                 Goto LABEL006
  125.             Case ""
  126.                 FClose 1
  127.                 INTEGER006 = 1
  128.                 TSTRING006(2) = STRING008
  129.                 Goto LABEL006
  130.         End Select
  131.         Goto LABEL005
  132.         :LABEL006
  133.         TSTRING006(3) = TSTRING006(2)
  134.         TSTRING006(3) = StripAtx(TSTRING006(3))
  135.         TSTRING009(1) = ""
  136.         TSTRING009(2) = ""
  137.         DefColor
  138.         Cls
  139.         Newlines 4
  140.         PrintLn Space(25) + TSTRING001(1) + "■" + TSTRING001(2) + "───[@X0FULBY PRO BY FoX/SAC" + TSTRING001(2) + "]───" + TSTRING001(1) + "■"
  141.         PrintLn Space(25) + TSTRING001(2) + "│ [A] CHANGE ULBY STRING    " + TSTRING001(2) + "│"
  142.         If (STRING003 > U_Sec) Then
  143.             STRING005 = Chr(66)
  144.             TINTEGER003(1) = 2
  145.             TINTEGER003(2) = 8
  146.             Goto LABEL007
  147.         Else
  148.             STRING005 = Chr(71)
  149.             TINTEGER003(1) = 7
  150.             TINTEGER003(2) = 13
  151.         Endif
  152.         PrintLn Space(25) + TSTRING001(2) + "│ [B] VIEW ALL STRINGS      " + TSTRING001(2) + "│"
  153.         PrintLn Space(25) + TSTRING001(2) + "│ [C] GET SPECIFIC STRING   " + TSTRING001(2) + "│"
  154.         PrintLn Space(25) + TSTRING001(2) + "│ [D] CLEAN STRING LIST     " + TSTRING001(2) + "│"
  155.         PrintLn Space(25) + TSTRING001(2) + "│ [E] VIEW ULBYPRO.HID      " + TSTRING001(2) + "│"
  156.         PrintLn Space(25) + TSTRING001(2) + "│ [F] HIDE/UNHIDE USER      " + TSTRING001(2) + "│"
  157.         :LABEL007
  158.         PrintLn Space(25) + TSTRING001(2) + "│ [" + STRING005 + "] QUIT ULBY PRO         " + TSTRING001(2) + "│"
  159.         PrintLn Space(25) + TSTRING001(1) + "■" + TSTRING001(2) + "──[@X0FA-" + STRING005 + "/=SELECTS,H=HELP" + TSTRING001(2) + "]──" + TSTRING001(1) + "■"
  160.         Newline
  161.         PrintLn Space(10) + TSTRING001(1) + "■" + TSTRING001(2) + "──────────────────[@X0FCURRENT ULBY STRING" + TSTRING001(2) + "]──────────────────" + TSTRING001(1) + "■"
  162.         PrintLn Space(10) + TSTRING001(2) + "│   @X0F" + TSTRING006(2) + Space(54 - Len(TSTRING006(3))) + TSTRING001(2) + "│"
  163.         PrintLn Space(10) + TSTRING001(1) + "■" + TSTRING001(2) + "─────────────────────────────────────────────────────────" + TSTRING001(1) + "■"
  164.         TSTRING006(4) = ScrText(TINTEGER001(1), TINTEGER001(2), 25, 0)
  165.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  166.         Print TSTRING001(3) + TSTRING006(4) + STRING011
  167.         AnsiPos TINTEGER001(3), TINTEGER001(2)
  168.         :LABEL008
  169.         STRING007 = Inkey()
  170.         STRING007 = Upper(STRING007)
  171.         Select Case (STRING007)
  172.             Case "DOWN"
  173.                 INTEGER002 = INTEGER002 + 1
  174.                 Gosub LABEL010
  175.             Case "2"
  176.                 INTEGER002 = INTEGER002 + 1
  177.                 Gosub LABEL010
  178.             Case "UP"
  179.                 INTEGER002 = INTEGER002 - 1
  180.                 Gosub LABEL011
  181.             Case "8"
  182.                 INTEGER002 = INTEGER002 - 1
  183.                 Gosub LABEL011
  184.             Case "A"
  185.                 INTEGER002 = 1
  186.                 Goto LABEL012
  187.             Case "B"
  188.                 INTEGER002 = 2
  189.                 Goto LABEL012
  190.             Case U_Sec
  191.                 Goto LABEL009
  192.             Case "C"
  193.                 INTEGER002 = 3
  194.                 Goto LABEL012
  195.             Case "D"
  196.                 INTEGER002 = 4
  197.                 Goto LABEL012
  198.             Case "E"
  199.                 INTEGER002 = 5
  200.                 Goto LABEL012
  201.             Case "F"
  202.                 INTEGER002 = 6
  203.                 Goto LABEL012
  204.             Case "G"
  205.                 INTEGER002 = 7
  206.                 Goto LABEL012
  207.         End Select
  208.         :LABEL009
  209.         If (STRING007 == "H") Goto LABEL014
  210.         If (STRING007 == "Q") Goto LABEL046
  211.         If (STRING007 == Chr(27)) Goto LABEL046
  212.         If (STRING007 == Chr(13)) Goto LABEL013
  213.         Goto LABEL008
  214.         :LABEL010
  215.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  216.         Print TSTRING001(2) + TSTRING006(4)
  217.         If (INTEGER002 > TINTEGER003(1)) Then
  218.             TINTEGER001(2) = 5
  219.             INTEGER002 = 1
  220.         Endif
  221.         TINTEGER001(2) = TINTEGER001(2) + 1
  222.         TSTRING006(4) = ScrText(TINTEGER001(1), TINTEGER001(2), 25, 0)
  223.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  224.         Print TSTRING001(3) + TSTRING006(4) + STRING011
  225.         AnsiPos 53, TINTEGER001(2)
  226.         Return
  227.         :LABEL011
  228.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  229.         Print TSTRING001(2) + TSTRING006(4)
  230.         If (INTEGER002 < 1) Then
  231.             TINTEGER001(2) = TINTEGER003(2)
  232.             INTEGER002 = TINTEGER003(1)
  233.         Endif
  234.         TINTEGER001(2) = TINTEGER001(2) - 1
  235.         TSTRING006(4) = ScrText(TINTEGER001(1), TINTEGER001(2), 25, 0)
  236.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  237.         Print TSTRING001(3) + TSTRING006(4) + STRING011
  238.         AnsiPos 53, TINTEGER001(2)
  239.         Return
  240.         :LABEL012
  241.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  242.         Print TSTRING001(2) + TSTRING006(4)
  243.         If (INTEGER002 == 1) TINTEGER001(2) = 6
  244.         If (INTEGER002 == 2) TINTEGER001(2) = 7
  245.         If (INTEGER002 == 3) TINTEGER001(2) = 8
  246.         If (INTEGER002 == 4) TINTEGER001(2) = 9
  247.         If (INTEGER002 == 5) TINTEGER001(2) = 10
  248.         If (INTEGER002 == 6) TINTEGER001(2) = 11
  249.         If (INTEGER002 == 7) TINTEGER001(2) = 12
  250.         TSTRING006(4) = ScrText(TINTEGER001(1), TINTEGER001(2), 25, 0)
  251.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  252.         Print TSTRING001(3) + TSTRING006(4) + STRING011
  253.         AnsiPos 53, TINTEGER001(2)
  254.         :LABEL013
  255.         If (INTEGER002 == 1) Goto LABEL016
  256.         If (INTEGER002 == 2) Goto LABEL020
  257.         If (INTEGER002 == 3) Goto LABEL022
  258.         If (INTEGER002 == 4) Goto LABEL030
  259.         If (INTEGER002 == 5) Goto LABEL034
  260.         If (INTEGER002 == 6) Goto LABEL039
  261.         If (INTEGER002 == 7) Goto LABEL046
  262.         Goto LABEL008
  263.         :LABEL014
  264.         DefColor
  265.         Cls
  266.         Newline
  267.         PrintLn TSTRING001(1) + "■" + TSTRING001(2) + "───────────────────────────[@X0FULBYPRO ONLINE HELP" + TSTRING001(2) + "]─────────────────────────────" + TSTRING001(1) + "■"
  268.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "A" + TSTRING001(2) + "] @X0FCHANGE CURRENT ULBY STRING" + Space(46) + "" + TSTRING001(2) + "│"
  269.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "Change the current ULBY string (for default YOUR string). Its possible  " + TSTRING001(2) + "│"
  270.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "to use any PCB color and/or ASCII code." + Space(33) + "" + TSTRING001(2) + "│"
  271.         If (STRING003 > U_Sec) Goto LABEL015
  272.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "B" + TSTRING001(2) + "] @X0FVIEW ALL STRINGS" + Space(56) + "" + TSTRING001(2) + "│"
  273.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "Shows a complete list of all ULBY strings." + Space(30) + "" + TSTRING001(2) + "│"
  274.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "C" + TSTRING001(2) + "] @X0FGET SPECIFIC STRING" + Space(53) + "" + TSTRING001(2) + "│"
  275.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "Load a specific ULBY string from ANY user by entering his user name or  " + TSTRING001(2) + "│"
  276.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "a SEARCHSTRING to scan for (all possible matches will be shown)." + Space(8) + "" + TSTRING001(2) + "│"
  277.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "D" + TSTRING001(2) + "] @X0FCLEAN STRING LIST" + Space(55) + "" + TSTRING001(2) + "│"
  278.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "This will clean up the ULBY list from DELETED users." + Space(20) + "" + TSTRING001(2) + "│"
  279.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "E" + TSTRING001(2) + "] @X0FVIEW ULBYPRO.HID" + Space(56) + "" + TSTRING001(2) + "│"
  280.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "View ULBYPRO.HID file, that contains all handles of users that are not  " + TSTRING001(2) + "│"
  281.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "able to access to this ppe." + Space(45) + "" + TSTRING001(2) + "│"
  282.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + "F" + TSTRING001(2) + "] @X0FHIDE/UNHIDE USER" + Space(56) + "" + TSTRING001(2) + "│"
  283.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "Add or remove user from ULBYPRO.HID. Removed users can access again and " + TSTRING001(2) + "│"
  284.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "added users will be denied for this ppe." + Space(32) + "" + TSTRING001(2) + "│"
  285.         :LABEL015
  286.         PrintLn "" + TSTRING001(2) + "│ [" + TSTRING001(1) + STRING005 + TSTRING001(2) + "] @X0FQUIT ULBY PRO" + Space(59) + "" + TSTRING001(2) + "│"
  287.         PrintLn "" + TSTRING001(2) + "│     " + TSTRING001(1) + "Guess what, leaving to PCB." + Space(45) + "" + TSTRING001(2) + "│"
  288.         PrintLn TSTRING001(1) + "■" + TSTRING001(2) + "─────────────────────────────────────────────────────────────────────────────" + TSTRING001(1) + "■"
  289.         Wait
  290.         Goto LABEL006
  291.         :LABEL016
  292.         If (STRING003 > U_Sec) Then
  293.             TINTEGER001(1) = 13
  294.             TINTEGER001(2) = 11
  295.             TINTEGER001(3) = TINTEGER001(2) + 3
  296.         Else
  297.             TINTEGER001(1) = 13
  298.             TINTEGER001(2) = 16
  299.             TINTEGER001(3) = TINTEGER001(2) + 3
  300.         Endif
  301.         AnsiPos 1, TINTEGER001(3)
  302.         PrintLn TSTRING001(1) + " ■" + TSTRING001(2) + "──────────────────────────[@X0FPOSSIBLE COLOR CODES" + TSTRING001(2) + "]────────────────────────────" + TSTRING001(1) + "■"
  303.         PrintLn TSTRING001(2) + " │ @X0F@sX0F @X0E@sX0E @X0D@sX0E @X0C@sX0C @X0B@sX0B @X0A@sX0A @X09@sX09 @X08@sX08 @X07@sX07 @X06@sX06 @X05@sX05 @X04@sX04 @X03@sX03 @X02@sX02 @X01@sX01" + TSTRING001(2) + " │"
  304.         PrintLn TSTRING001(2) + " │ @X1F@sX1F@X01 @X1B@sX1B@X01 @X2F@sX2F@X01 @X20@sX20@X01 @X3F@sX3F@X01 @X31@sX31@X01 @X4F@sX4F@X01 @X4A@sX4A@X01 @X5F@sX5F@X01 @X5D@sX5D@X01 @X6F@sX6F@X01 @X6A@sX6A@X01 @X7F@sX7F@X01 @X78@sX78@X01 @X9F@sX9F" + TSTRING001(2) + " │"
  305.         PrintLn TSTRING001(1) + " ■" + TSTRING001(2) + "────────────────────────────────────────────────────────────────────────────" + TSTRING001(2) + "■"
  306.         AnsiPos TINTEGER001(1) - 1, TINTEGER001(2)
  307.         TSTRING006(5) = TSTRING006(2)
  308.         InputText "", TSTRING006(2), 0, INTEGER004
  309.         If (TSTRING006(2) == TSTRING006(5)) Then
  310.             AnsiPos TINTEGER001(1) + 19, TINTEGER001(2) + 1
  311.             Print TSTRING001(2) + "[@X0FNOTHING CHANGED" + TSTRING001(2) + "]"
  312.             AnsiPos TINTEGER001(1) + 27, TINTEGER001(2) + 1
  313.             Print STRING011
  314.             AnsiPos TINTEGER001(1) + 27, TINTEGER001(2) + 1
  315.             Delay 25
  316.             TINTEGER001(1) = 28
  317.             TINTEGER001(2) = 6
  318.             TINTEGER001(3) = 53
  319.             Goto LABEL006
  320.         Endif
  321.         FCreate 1, PPEPath() + "ULBYPRO.##1", 2, 2
  322.         FOpen 2, PPEPath() + STRING004, 0, 0
  323.         :LABEL017
  324.         FGet 2, TSTRING006(3)
  325.         FGet 2, TSTRING006(4)
  326.         If (TSTRING006(3) == STRING008) TSTRING006(4) = TSTRING006(2)
  327.         If (TSTRING006(3) == "") Goto LABEL018
  328.         FPutLn 1, TSTRING006(3)
  329.         FPutLn 1, TSTRING006(4)
  330.         Goto LABEL017
  331.         :LABEL018
  332.         If (INTEGER006 == 1) Then
  333.             FPutLn 1, STRING008
  334.             FPutLn 1, TSTRING006(2)
  335.             INTEGER006 = 0
  336.         Endif
  337.         FClose 1
  338.         FClose 2
  339.         Delete PPEPath() + STRING004
  340.         Rename PPEPath() + "ULBYPRO.##1", PPEPath() + STRING004
  341.         TINTEGER001(1) = 28
  342.         TINTEGER001(2) = 6
  343.         TINTEGER001(3) = 53
  344.         Goto LABEL006
  345.         :LABEL019
  346.         FClose 1
  347.         DefColor
  348.         Cls
  349.         Newlines 2
  350.         PrintLn Space(12) + "@X0C■@X04──────────────────[@X0FULBY PRO BY FoX/SAC@X04]─────────────────@X0C■"
  351.         PrintLn Space(12) + "@X04│ @X0FYOU ARE NOT REGISTERD FOR THIS PPE. CONTACT THE SYSOP. @X04│"
  352.         PrintLn Space(12) + "@X0C■@X04────────────────────────────────────────────────────────@X0C■"
  353.         Newline
  354.         Wait
  355.         Cls
  356.         End
  357.         :LABEL020
  358.         INTEGER005 = 1
  359.         If (STRING003 > U_Sec) Goto LABEL046
  360.         FOpen 1, PPEPath() + STRING004, 0, 0
  361.         FCreate 2, PPEPath() + "ULBYPRO.##2", 2, 2
  362.         FPutLn 2, TSTRING001(1) + "■" + TSTRING001(2) + "────────────────────────[@X0FCOMPLETE ULBY STRING LIST" + TSTRING001(2) + "]──────────────────────────" + TSTRING001(1) + "■"
  363.         FPutLn 2, TSTRING001(2) + "[" + TSTRING001(1) + "No." + TSTRING001(2) + "]" + Space(1) + TSTRING001(2) + "[" + TSTRING001(1) + "REALNAME" + TSTRING001(2) + "]" + Space(16) + TSTRING001(2) + "[" + TSTRING001(1) + "ULBY STRING" + TSTRING001(2) + "]"
  364.         :LABEL021
  365.         FGet 1, TSTRING006(3)
  366.         FGet 1, TSTRING006(4)
  367.         If (TSTRING006(3) == "") Then
  368.             FClose 1
  369.         Else
  370.             FPutLn 2, TSTRING001(2) + "[" + TSTRING001(1), INTEGER005, TSTRING001(2) + "]" + Space(4 - Len(INTEGER005)) + "@X0F" + TSTRING006(3) + TSTRING001(2) + Space(26 - Len(TSTRING006(3))) + TSTRING006(4)
  371.             Inc INTEGER005
  372.             Goto LABEL021
  373.         Endif
  374.         FPutLn 2, TSTRING001(1) + "■" + TSTRING001(2) + "───────────────────────────────[@X0FEND OF LISTING" + TSTRING001(2) + "]──────────────────────────────" + TSTRING001(1) + "■"
  375.         FClose 1
  376.         FClose 2
  377.         DefColor
  378.         Cls
  379.         DispFile PPEPath() + "ULBYPRO.##2", 1
  380.         Wait
  381.         Delete PPEPath() + "ULBYPRO.##2"
  382.         TINTEGER001(1) = 28
  383.         TINTEGER001(2) = 7
  384.         TINTEGER001(3) = 53
  385.         Goto LABEL006
  386.         :LABEL022
  387.         AnsiPos 26, 15
  388.         PrintLn TSTRING001(2) + "[@X0FENTER NAME/TEXT TO SCAN FOR" + TSTRING001(2) + "]"
  389.         AnsiPos 15, 16
  390.         Print Space(Len(TSTRING006(3)))
  391.         AnsiPos 15, 16
  392.         InputText "_", TSTRING009(1), 0, INTEGER004
  393.         TSTRING009(1) = Upper(TSTRING009(1))
  394.         If (TSTRING009(1) == "") Goto LABEL029
  395.         FOpen 1, PPEPath() + STRING004, 0, 0
  396.         :LABEL023
  397.         FGet 1, TSTRING006(4)
  398.         FGet 1, TSTRING006(5)
  399.         TSTRING006(3) = Mid(TSTRING006(4), 1, Len(TSTRING009(1)))
  400.         TSTRING006(3) = RTrim(TSTRING006(3), Chr(32))
  401.         If (TSTRING006(4) == "") Goto LABEL024
  402.         If (TSTRING009(1) == TSTRING006(3)) Goto LABEL025
  403.         If (TSTRING009(1) <> TSTRING006(3)) Goto LABEL023
  404.         :LABEL024
  405.         FClose 1
  406.         If (TSTRING009(2) == 1) Then
  407.             AnsiPos 29, 17
  408.             Print TSTRING001(2) + "[@X0FNO MORE MATCHES FOUND" + TSTRING001(2) + "]"
  409.             AnsiPos 37, 17
  410.             Print STRING011
  411.             AnsiPos 37, 17
  412.         Else
  413.             AnsiPos 31, 17
  414.             Print TSTRING001(2) + "[@X0FNO MATCHES FOUND" + TSTRING001(2) + "]"
  415.             AnsiPos 42, 17
  416.             Print STRING011
  417.             AnsiPos 42, 17
  418.         Endif
  419.         Delay 25
  420.         TINTEGER001(1) = 28
  421.         TINTEGER001(2) = 8
  422.         TINTEGER001(3) = 53
  423.         Goto LABEL006
  424.         :LABEL025
  425.         AnsiPos 15, 16
  426.         Print TSTRING001(1) + "FOUND " + TSTRING001(2) + ": @X0F" + TSTRING006(4) + " " + TSTRING001(1) + "USE?"
  427.         AnsiPos 28 + Len(TSTRING006(4)), 16
  428.         Print TSTRING010(1) + Space(31 - Len(TSTRING006(4)))
  429.         AnsiPos 28 + Len(TSTRING006(4)), 16
  430.         TSTRING010(3) = Chr(89)
  431.         :LABEL026
  432.         STRING007 = Inkey()
  433.         If (STRING007 == "LEFT") Gosub LABEL027
  434.         If (STRING007 == "RIGHT") Gosub LABEL027
  435.         If (STRING007 == Chr(13)) Goto LABEL028
  436.         If (STRING007 == Chr(27)) Goto LABEL029
  437.         Goto LABEL026
  438.         :LABEL027
  439.         Select Case (TSTRING010(3))
  440.             Case Chr(89)
  441.                 AnsiPos 29 + Len(TSTRING006(4)), 16
  442.                 Print TSTRING010(2) + Space(31 - Len(TSTRING006(4)))
  443.                 AnsiPos 35 + Len(TSTRING006(4)), 16
  444.                 TSTRING010(3) = Chr(78)
  445.                 Return
  446.             Case Chr(78)
  447.                 AnsiPos 28 + Len(TSTRING006(4)), 16
  448.                 Print TSTRING010(1) + Space(31 - Len(TSTRING006(4)))
  449.                 AnsiPos 28 + Len(TSTRING006(4)), 16
  450.                 TSTRING010(3) = Chr(89)
  451.                 Return
  452.         End Select
  453.         :LABEL028
  454.         If (TSTRING010(3) == Chr(78)) Then
  455.             TSTRING009(2) = 1
  456.             Goto LABEL023
  457.         Endif
  458.         FClose 1
  459.         STRING008 = TSTRING006(4)
  460.         TSTRING006(2) = TSTRING006(5)
  461.         TINTEGER001(1) = 28
  462.         TINTEGER001(2) = 8
  463.         TINTEGER001(3) = 53
  464.         Goto LABEL006
  465.         :LABEL029
  466.         FClose 1
  467.         AnsiPos 33, 17
  468.         Print TSTRING001(2) + "[@X0FSEARCH ABORTED" + TSTRING001(2) + "]"
  469.         AnsiPos 40, 17
  470.         Print STRING011
  471.         AnsiPos 40, 17
  472.         Delay 25
  473.         TINTEGER001(1) = 28
  474.         TINTEGER001(2) = 8
  475.         TINTEGER001(3) = 53
  476.         Goto LABEL006
  477.         :LABEL030
  478.         INTEGER005 = 0
  479.         AnsiPos 33, 17
  480.         Print TSTRING001(2) + "[@X0FCLEANING LIST" + TSTRING001(2) + "]"
  481.         AnsiPos 42, 17
  482.         Print STRING011
  483.         AnsiPos 42, 17
  484.         FOpen 1, PPEPath() + STRING004, 0, 0
  485.         FCreate 2, PPEPath() + "ULBYPRO.##3", 1, 2
  486.         :LABEL031
  487.         FGet 1, TSTRING006(4)
  488.         FGet 1, TSTRING006(5)
  489.         If (TSTRING006(4) == "") Goto LABEL032
  490.         If (U_RecNum(TSTRING006(4)) == -1) Then
  491.             Inc INTEGER005
  492.             Goto LABEL031
  493.         Endif
  494.         FPutLn 2, TSTRING006(4)
  495.         FPutLn 2, TSTRING006(5)
  496.         Goto LABEL031
  497.         :LABEL032
  498.         FClose 1
  499.         FClose 2
  500.         Select Case (INTEGER005)
  501.             Case 0
  502.                 AnsiPos 27, 17
  503.                 Print TSTRING001(2) + "[@X0FNO UNWANTED" + TSTRING006(6) + TSTRING001(2) + "]"
  504.                 AnsiPos 39, 17
  505.                 Print STRING011
  506.                 AnsiPos 39, 17
  507.                 Goto LABEL033
  508.             Case 1
  509.                 AnsiPos 33, 17
  510.                 Print TSTRING001(2) + "[" + TSTRING001(1), INTEGER005, "@X0F STRING FOUND" + TSTRING001(2) + "]"
  511.                 AnsiPos 42, 17
  512.                 Print STRING011
  513.                 AnsiPos 42, 17
  514.                 Goto LABEL033
  515.             Case 9
  516.                 TINTEGER001(1) = 32
  517.                 TINTEGER001(2) = 17
  518.                 TINTEGER001(3) = 42
  519.             Case 99
  520.                 TINTEGER001(1) = 32
  521.                 TINTEGER001(2) = 17
  522.                 TINTEGER001(3) = 43
  523.             Case 99
  524.                 TINTEGER001(1) = 31
  525.                 TINTEGER001(2) = 17
  526.                 TINTEGER001(3) = 43
  527.         End Select
  528.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  529.         Print TSTRING001(2) + "[" + TSTRING001(1), INTEGER005, TSTRING006(6) + TSTRING001(2) + "]"
  530.         AnsiPos TINTEGER001(3), TINTEGER001(2)
  531.         Print STRING011
  532.         AnsiPos TINTEGER001(3), TINTEGER001(2)
  533.         :LABEL033
  534.         Delay 25
  535.         Delete PPEPath() + STRING004
  536.         Rename PPEPath() + "ULBYPRO.##3", PPEPath() + STRING004
  537.         TINTEGER001(1) = 28
  538.         TINTEGER001(2) = 9
  539.         TINTEGER001(3) = 53
  540.         Goto LABEL006
  541.         :LABEL034
  542.         If (Exist(PPEPath() + "ULBYPRO.HID")) Goto LABEL035
  543.         AnsiPos 31, 17
  544.         Print TSTRING001(2) + "[@X0FTHE LIST IS EMPTY" + TSTRING001(2) + "]"
  545.         AnsiPos 40, 17
  546.         Print STRING011
  547.         AnsiPos 40, 17
  548.         Delay 25
  549.         Goto LABEL038
  550.         :LABEL035
  551.         INTEGER005 = 1
  552.         FOpen 1, PPEPath() + "ULBYPRO.HID", 0, 0
  553.         FCreate 2, PPEPath() + "ULBYPRO.##4", 1, 2
  554.         FPutLn 2, TSTRING001(1) + "■" + TSTRING001(2) + "────────────────────────────────[@X0FULBYPRO.HID" + TSTRING001(2) + "]────────────────────────────────" + TSTRING001(1) + "■"
  555.         FPutLn 2, TSTRING001(2) + "[" + TSTRING001(1) + "No." + TSTRING001(2) + "]" + Space(1) + TSTRING001(2) + "[" + TSTRING001(1) + "REALNAME" + TSTRING001(2) + "]"
  556.         :LABEL036
  557.         FGet 1, TSTRING006(3)
  558.         If (TSTRING006(3) == "") Goto LABEL037
  559.         FPutLn 2, TSTRING001(2) + "[" + TSTRING001(1), INTEGER005, TSTRING001(2) + "]" + Space(4 - Len(INTEGER005)) + "@X0F" + TSTRING006(3)
  560.         Inc INTEGER005
  561.         Goto LABEL036
  562.         :LABEL037
  563.         FPutLn 2, TSTRING001(1) + "■" + TSTRING001(2) + "───────────────────────────────[@X0FEND OF LISTING" + TSTRING001(2) + "]──────────────────────────────" + TSTRING001(1) + "■"
  564.         FClose 1
  565.         FClose 2
  566.         DefColor
  567.         Cls
  568.         DispFile PPEPath() + "ULBYPRO.##4", 1
  569.         Wait
  570.         Delete PPEPath() + "ULBYPRO.##4"
  571.         :LABEL038
  572.         TINTEGER001(1) = 28
  573.         TINTEGER001(2) = 10
  574.         TINTEGER001(3) = 53
  575.         Goto LABEL006
  576.         :LABEL039
  577.         AnsiPos 21, 15
  578.         PrintLn TSTRING001(2) + "[@X0FENTER THE NAME YOU WANT TO ADD/REMOVE" + TSTRING001(2) + "]"
  579.         AnsiPos 15, 16
  580.         Print Space(Len(TSTRING006(3)))
  581.         AnsiPos 15, 16
  582.         InputText "_", TSTRING009(1), 0, INTEGER004
  583.         TSTRING009(1) = Upper(TSTRING009(1))
  584.         If (TSTRING009(1) == "") Then
  585.             TINTEGER001(1) = 33
  586.             TINTEGER001(2) = 17
  587.             TINTEGER001(3) = 40
  588.             TSTRING006(5) = TSTRING001(2) + "[@X0FSEARCH ABORTED" + TSTRING001(2) + "]"
  589.             Goto LABEL045
  590.         ElseIf (Exist(PPEPath() + "ULBYPRO.HID")) Then
  591.             FOpen 1, PPEPath() + "ULBYPRO.HID", 0, 0
  592.         Else
  593.             Goto LABEL041
  594.         Endif
  595.         :LABEL040
  596.         FGet 1, TSTRING006(4)
  597.         If (TSTRING006(4) == "") Goto LABEL041
  598.         If (TSTRING006(4) == TSTRING009(1)) Goto LABEL042
  599.         Goto LABEL040
  600.         :LABEL041
  601.         If (U_RecNum(TSTRING009(1)) == -1) Then
  602.             FClose 1
  603.             TINTEGER001(1) = 33
  604.             TINTEGER001(2) = 17
  605.             TINTEGER001(3) = 42
  606.             TSTRING006(5) = TSTRING001(2) + "[@X0FUSER NOT FOUND" + TSTRING001(2) + "]"
  607.             Goto LABEL045
  608.         Else
  609.             FClose 1
  610.             FAppend 1, PPEPath() + "ULBYPRO.HID", 2, 2
  611.             FPutLn 1, TSTRING009(1)
  612.             FClose 1
  613.             TINTEGER001(1) = 31
  614.             TINTEGER001(2) = 17
  615.             TINTEGER001(3) = 42
  616.             TSTRING006(5) = TSTRING001(2) + "[@X0FUSER ADDED TO LIST" + TSTRING001(2) + "]"
  617.         Endif
  618.         Goto LABEL045
  619.         :LABEL042
  620.         FClose 1
  621.         FOpen 1, PPEPath() + "ULBYPRO.HID", 0, 0
  622.         FCreate 2, PPEPath() + "ULBYPRO.##5", 2, 1
  623.         :LABEL043
  624.         FGet 1, TSTRING006(5)
  625.         If (TSTRING006(5) == "") Goto LABEL044
  626.         If (TSTRING006(5) == TSTRING006(4)) Goto LABEL043
  627.         FPutLn 2, TSTRING006(5)
  628.         Goto LABEL043
  629.         :LABEL044
  630.         FClose 1
  631.         FClose 2
  632.         Delete PPEPath() + "ULBYPRO.HID"
  633.         Rename PPEPath() + "ULBYPRO.##5", PPEPath() + "ULBYPRO.HID"
  634.         TINTEGER001(1) = 34
  635.         TINTEGER001(2) = 17
  636.         TINTEGER001(3) = 39
  637.         TSTRING006(5) = TSTRING001(2) + "[@X0FUSER REMOVED" + TSTRING001(2) + "]"
  638.         :LABEL045
  639.         AnsiPos TINTEGER001(1), TINTEGER001(2)
  640.         Print TSTRING006(5)
  641.         AnsiPos TINTEGER001(3), TINTEGER001(2)
  642.         Print STRING011
  643.         AnsiPos TINTEGER001(3), TINTEGER001(2)
  644.         Delay 25
  645.         TINTEGER001(1) = 28
  646.         TINTEGER001(2) = 11
  647.         TINTEGER001(3) = 53
  648.         Goto LABEL006
  649.     Endif
  650.     :LABEL046
  651.     DefColor
  652.     Cls
  653.     End
  654.  
  655. ;------------------------------------------------------------------------------
  656. ;
  657. ; Usage report (before postprocessing)
  658. ;
  659. ; ■ Statements used :
  660. ;
  661. ;    2       End
  662. ;    7       Cls
  663. ;    4       Wait
  664. ;    153     Goto 
  665. ;    153     Let 
  666. ;    33      Print 
  667. ;    45      PrintLn 
  668. ;    84      If 
  669. ;    2       DispFile 
  670. ;    5       FCreate 
  671. ;    10      FOpen 
  672. ;    1       FAppend 
  673. ;    23      FClose 
  674. ;    18      FGet 
  675. ;    16      FPutLn 
  676. ;    1       GetUser
  677. ;    6       DefColor
  678. ;    5       Delete 
  679. ;    6       Gosub 
  680. ;    4       Return
  681. ;    6       Delay 
  682. ;    3       Inc 
  683. ;    3       Newline
  684. ;    2       Newlines 
  685. ;    3       InputText 
  686. ;    56      AnsiPos 
  687. ;    3       Rename 
  688. ;
  689. ;
  690. ; ■ Functions used :
  691. ;
  692. ;    2       -
  693. ;    452     +
  694. ;    11      -
  695. ;    67      ==
  696. ;    1       <>
  697. ;    1       <
  698. ;    2       <=
  699. ;    8       >
  700. ;    46      !
  701. ;    16      Len(
  702. ;    6       Upper()
  703. ;    1       Mid()
  704. ;    41      Space()
  705. ;    19      Chr()
  706. ;    1       RTrim()
  707. ;    2       U_Name()
  708. ;    1       StripAtx()
  709. ;    3       Strip()
  710. ;    2       Inkey()
  711. ;    34      PPEPath()
  712. ;    5       Exist()
  713. ;    2       U_RecNum()
  714. ;    4       ScrText()
  715. ;
  716. ;------------------------------------------------------------------------------
  717. ;
  718. ; Analysis flags : No flag
  719. ;
  720. ;------------------------------------------------------------------------------
  721. ;
  722. ; Postprocessing report
  723. ;
  724. ;    0       For/Next
  725. ;    0       While/EndWhile
  726. ;    15      If/Then or If/Then/Else
  727. ;    5       Select Case
  728. ;
  729. ;------------------------------------------------------------------------------
  730. ;                 AEGiS Corp - Break the routines, code against the machines!
  731. ;------------------------------------------------------------------------------
  732.