home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / PPE / PAIN / P__READM.ZIP / P!-READM.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1995-06-09  |  15.1 KB  |  661 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Date     DATE001
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     String   TSTRING001(11)
  31.     String   TSTRING002(11)
  32.     String   STRING003
  33.     String   STRING004
  34.     String   STRING005
  35.     String   STRING006
  36.     String   TSTRING007(1)
  37.     String   STRING008
  38.     Word     WORD001
  39.  
  40. ;------------------------------------------------------------------------------
  41.  
  42.     Goto LABEL012
  43.     :LABEL001
  44.     AnsiPos 11, 11
  45.     PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  46.     AnsiPos 11, 12
  47.     PrintLn "@X0F▐@X7F▓ ░▒▓▒     @X70WHiCH USER ?     @X7F░░▒▓@X0F█@X7F▓▒@X08▌"
  48.     AnsiPos 11, 13
  49.     PrintLn "@X0F▐@X7F▒@X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▓░@X08▌"
  50.     AnsiPos 11, 14
  51.     PrintLn "@X0F▐@X7F░@X78▒@X08▌                             @X0F▐@X7F▒@X78░@X08▌"
  52.     AnsiPos 11, 15
  53.     PrintLn "@X0F▐@X7F @X78▒@X08▌                             @X0F▐@X7F░@X78▒@X08▌"
  54.     AnsiPos 11, 16
  55.     PrintLn "@X0F▐@X78░░@X08▌                             @X0F▐@X7F @X78▓@X08▌"
  56.     AnsiPos 11, 17
  57.     PrintLn "@X0F▐@X78▒ @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  58.     AnsiPos 11, 18
  59.     PrintLn "@X0F▐@X7F @X78░        @X70< ENTER NAME >           @X08▌"
  60.     AnsiPos 11, 19
  61.     PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  62.     STRING005 = ""
  63.     INTEGER006 = 0
  64.     :LABEL002
  65.     AnsiPos 15 + (26 - Len(STRING005)) / 2, 15
  66.     If (INTEGER006 > 2) Print " @X0F" + Left(STRING005, 1) + "@X07" + Mid(STRING005, 2, INTEGER006 - 2) + "@X08" + Right(STRING005, 1)
  67.     If (INTEGER006 == 2) Print " @X0F" + "@X07" + Left(STRING005, 1) + "@X08" + Right(STRING005, 1)
  68.     If (INTEGER006 < 2) Print " @X0F" + "@X07" + STRING005
  69.     Print "@X89▒ "
  70.     AnsiPos 40, 1
  71.     :LABEL003
  72.     STRING006 = Inkey()
  73.     If (STRING006 == "") Goto LABEL003
  74.     If (STRING006 == Chr(13)) Goto LABEL004
  75.     If (STRING006 == Chr(8)) Then
  76.         If (INTEGER006 > 1) Then
  77.             Dec INTEGER006
  78.             STRING005 = Left(STRING005, Len(STRING005) - 1)
  79.             Goto LABEL002
  80.         Endif
  81.         If (INTEGER006 == 1) Then
  82.             INTEGER006 = 0
  83.             STRING005 = ""
  84.             Goto LABEL002
  85.         Endif
  86.         If (INTEGER006 == 0) Goto LABEL002
  87.     Endif
  88.     If (STRING006 < " ") Goto LABEL003
  89.     If (Len(STRING006) == 1) Then
  90.         If (INTEGER006 < 26) Then
  91.             Inc INTEGER006
  92.             STRING005 = STRING005 + Upper(STRING006)
  93.         Endif
  94.         Goto LABEL002
  95.     Endif
  96.     Goto LABEL002
  97.     :LABEL004
  98.     If (STRING005 == "") Then
  99.         Cls
  100.     Else
  101.         AnsiPos 15, 15
  102.         Print "@X0F                         "
  103.         AnsiPos 23, 15
  104.         Print "@X01SEARCHiNG..."
  105.         Delay 1
  106.         AnsiPos 23, 15
  107.         Print "@X09SEARCHiNG..."
  108.         Delay 1
  109.         AnsiPos 23, 15
  110.         Print "@X03SEARCHiNG..."
  111.         Delay 1
  112.         AnsiPos 23, 15
  113.         Print "@X0BSEARCHiNG..."
  114.         Delay 1
  115.         AnsiPos 23, 15
  116.         Print "@X8FSEARCHiNG..."
  117.         Delay 1
  118.         INTEGER005 = FileInf(ReadLine(PCBDat(), 29), 4) / 400
  119.         BOOLEAN001 = 0
  120.         For INTEGER004 = 1 To INTEGER005
  121.             GetAltUser INTEGER004
  122.             If (U_Name() == STRING005) BOOLEAN001 = 1
  123.         Next
  124.         AnsiPos 23, 15
  125.         Print "@X0FSEARCHiNG..."
  126.         Delay 1
  127.         AnsiPos 23, 15
  128.         Print "@X0BSEARCHiNG..."
  129.         Delay 1
  130.         AnsiPos 23, 15
  131.         Print "@X03SEARCHiNG..."
  132.         Delay 1
  133.         AnsiPos 23, 15
  134.         Print "@X09SEARCHiNG..."
  135.         Delay 1
  136.         AnsiPos 23, 15
  137.         Print "@X81SEARCHiNG..."
  138.         Delay 1
  139.         If (BOOLEAN001) Goto LABEL005
  140.         AnsiPos 15, 15
  141.         Print "@X0F                         "
  142.         AnsiPos 23, 15
  143.         Print "@X01N0T F0UND..."
  144.         Delay 1
  145.         AnsiPos 23, 15
  146.         Print "@X09N0T F0UND..."
  147.         Delay 1
  148.         AnsiPos 23, 15
  149.         Print "@X03N0T F0UND..."
  150.         Delay 1
  151.         AnsiPos 23, 15
  152.         Print "@X0BN0T F0UND..."
  153.         Delay 1
  154.         AnsiPos 23, 15
  155.         Print "@X0FN0T F0UND..."
  156.         Delay 20
  157.         AnsiPos 23, 15
  158.         Print "@X0BN0T F0UND..."
  159.         Delay 1
  160.         AnsiPos 23, 15
  161.         Print "@X03N0T F0UND..."
  162.         Delay 1
  163.         AnsiPos 23, 15
  164.         Print "@X09N0T F0UND..."
  165.         Delay 1
  166.         AnsiPos 23, 15
  167.         Print "@X01N0T F0UND..."
  168.         Delay 1
  169.         Goto LABEL001
  170.         :LABEL005
  171.         AnsiPos 15, 15
  172.         Print "@X0F                         "
  173.         Return
  174.         :LABEL006
  175.         AnsiPos 33, 6
  176.         PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  177.         AnsiPos 33, 7
  178.         PrintLn "@X0F▐@X7F░ ░▒▓▒ @X70WHiCH C0NFERENCE @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  179.         AnsiPos 33, 8
  180.         PrintLn "@X0F▐@X7F @X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌"
  181.         AnsiPos 33, 9
  182.         PrintLn "@X0F▐@X78  @X08▌                        @X0F▐@X78  @X08▌"
  183.         AnsiPos 33, 10
  184.         PrintLn "@X0F▐@X78  @X08▌                        @X0F▐@X78  @X08▌"
  185.         AnsiPos 33, 11
  186.         PrintLn "@X0F▐@X78  @X08▌                        @X0F▐@X78  @X08▌"
  187.         AnsiPos 33, 12
  188.         PrintLn "@X0F▐@X78  @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  189.         AnsiPos 33, 13
  190.         PrintLn "@X0F▐@X7F       @X70< / - ENTER >        @X08▌"
  191.         AnsiPos 33, 14
  192.         PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  193.         STRING003 = ReadLine(PCBDat(), 31) + ".@@@"
  194.         FOpen 1, STRING003, 0, 0
  195.         FRead 1, WORD001, 2
  196.         INTEGER007 = FileInf(STRING003, 4) / WORD001 - 1
  197.         Redim TSTRING007, INTEGER007
  198.         For INTEGER004 = 0 To INTEGER007
  199.             FSeek 1, INTEGER004 * WORD001 + 2, 0
  200.             FRead 1, TSTRING007(INTEGER004), 14
  201.         Next
  202.         FClose 1
  203.         INTEGER003 = 1
  204.         :LABEL007
  205.         AnsiPos 38, 10
  206.         If (INTEGER003 == 1) PrintLn "@X78▌@X7FALL!@X78▐@X07  " + TSTRING007(CurConf()) + " "
  207.         If (INTEGER003 == 2) PrintLn "@X07 ALL!  @X78▌@X7F" + TSTRING007(CurConf()) + "@X78▐@X07"
  208.         AnsiPos 40, 1
  209.         :LABEL008
  210.         STRING003 = Inkey()
  211.         If (STRING003 == "") Goto LABEL008
  212.         If ((STRING003 == "LEFT") || (STRING003 == "RIGHT")) Then
  213.             If (INTEGER003 == 1) Then
  214.                 INTEGER003 = 2
  215.                 Goto LABEL007
  216.             Endif
  217.             INTEGER003 = 1
  218.             Goto LABEL007
  219.         Endif
  220.         Select Case (STRING003)
  221.             Case Chr(27)
  222.                 Cls
  223.                 If (STRING003 <> Chr(13)) Goto LABEL007
  224.                 Return
  225.                 :LABEL009
  226.                 AnsiPos 17, 3
  227.                 PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  228.                 AnsiPos 17, 4
  229.                 PrintLn "@X0F▐@X7F░ ░▒▓▒ @X70D0WNL0AD ? @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  230.                 AnsiPos 17, 5
  231.                 PrintLn "@X0F▐@X78░░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌"
  232.                 AnsiPos 17, 6
  233.                 PrintLn "@X0F▐@X78▒▒@X08▌                  @X0F▐@X7F░@X78░@X08▌"
  234.                 AnsiPos 17, 7
  235.                 PrintLn "@X0F▐@X78▓░@X08▌                  @X0F▐@X78░ @X08▌"
  236.                 AnsiPos 17, 8
  237.                 PrintLn "@X0F▐@X78▒ @X08▌                  @X0F▐@X78  @X08▌"
  238.                 AnsiPos 17, 9
  239.                 PrintLn "@X0F▐@X78░ @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  240.                 AnsiPos 17, 10
  241.                 PrintLn "@X0F▐@X7F     @X70< / - ENTER >    @X08▌"
  242.                 AnsiPos 17, 11
  243.                 PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  244.                 INTEGER008 = 2
  245.                 :LABEL010
  246.                 AnsiPos 25, 7
  247.                 If (INTEGER008 == 1) Print "@X7F▌@X7FYES▐@X07  N0  "
  248.                 If (INTEGER008 == 2) Print "@X07 YES  @X7F▌@X7FN0@X7F▐"
  249.                 :LABEL011
  250.                 STRING003 = Inkey()
  251.                 If (STRING003 == "") Goto LABEL011
  252.                 If ((STRING003 == "LEFT") || (STRING003 == "RIGHT")) Then
  253.                     If (INTEGER008 == 1) Then
  254.                         INTEGER008 = 2
  255.                         Goto LABEL010
  256.                     Endif
  257.                     INTEGER008 = 1
  258.                     Goto LABEL010
  259.                 Endif
  260.                 Color 1
  261.                 Return
  262.                 :LABEL012
  263.                 If (TokCount() <> 0) Then
  264.                     KbdStuff "r " + TokenStr()
  265.                     End
  266.                 Endif
  267.                 TSTRING001(1) = "     ALL!     "
  268.                 TSTRING001(2) = "    UNREAD    "
  269.                 TSTRING001(3) = "    T0 Y0U    "
  270.                 TSTRING001(4) = "   FR0M Y0U   "
  271.                 TSTRING001(5) = "   SCAN NEW   "
  272.                 TSTRING001(6) = " SCAN BY DATE "
  273.                 TSTRING001(7) = " WAiTiNG MAiL "
  274.                 TSTRING001(8) = "FR0M/T0 A USER"
  275.                 TSTRING001(9) = "   T0 A USER  "
  276.                 TSTRING001(10) = "  SEARCH F0R  "
  277.                 TSTRING001(11) = "     QUiT     "
  278.                 TSTRING002(1) = " READ ALL MAiLS iN ALL C0NFERENCES Y0U HAVE ACCESS T0 "
  279.                 TSTRING002(2) = "      READ ALL MESSAGES THAT Y0U HAVEN'T READ YET     "
  280.                 TSTRING002(3) = "                 READ ALL MAiLS T0 Y0U                "
  281.                 TSTRING002(4) = "                READ ALL MAiLS FR0M Y0U               "
  282.                 TSTRING002(5) = "                  READ ALL NEW MAiLS                  "
  283.                 TSTRING002(6) = "         READ ALL MAiLS FR0M 0N A SPECiFiC DATE       "
  284.                 TSTRING002(7) = "   READ ALL MAiLS THAT ARE WAiTiNG T0 BE READ BY Y0U  "
  285.                 TSTRING002(8) = "      READ ALL MAiLS FR0M AND T0 A SPECiFiC USER      "
  286.                 TSTRING002(9) = "          READ ALL MAiLS T0 A SPECiFiC USER           "
  287.                 TSTRING002(10) = "               SEARCH F0R SPECiFiC TEXT               "
  288.                 TSTRING002(11) = "               QUiT AND RETURN T0 B0ARD              "
  289.                 INTEGER002 = 1
  290.                 Print "@POFF@@CLS@"
  291.                 PrintLn "@X0F                           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  292.                 PrintLn "@X0F                          ▐@X7F░ ░▒▓▒ @X70READ WHAT? @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  293.                 PrintLn "@X08                         @X0F▌▐@X7F @X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌@X0F▐"
  294.                 PrintLn "@X0F                         ▌▐@X78░▒@X08▌                  @X0F▐@X7F░@X78░@X08▌@X0F▐"
  295.                 PrintLn "@X0F                         ▌▐@X78▒▓@X08▌                  @X0F▐@X78░▒@X08▌@X0F▐"
  296.                 PrintLn "@X0F                        ▌▌▐@X78▓█@X08▌                  @X0F▐@X78▒▓@X08▌@X0F▐▐"
  297.                 PrintLn "@X0F                        ▌▌▐@X78█▓@X08▌                  @X0F▐@X78▓█@X08▌@X0F▐▐"
  298.                 PrintLn "@X0F                       @X07▌@X0F▌▌▐@X78▓▓@X08▌                  @X0F▐@X78▓█@X08▌@X0F▐▐@X07▐"
  299.                 PrintLn "@X07  @X08·  ∙ ■  ▀  ▄ ▀▄▀@X78█▓▒░@X07▌▌@X0F▌▌▐@X78░▒@X08▌                  @X0F▐@X78▒▓@X08▌@X0F▐▐@X07▐▐@X78 ░▒▓█@X08▀▄▀ ▄  ▀  ■ ∙  ·"
  300.                 PrintLn "@X08                       @X07▌@X0F▌▌▐@X78░░@X08▌                  @X0F▐@X78░▒@X08▌@X0F▐▐@X07▐"
  301.                 PrintLn "@X07                        @X0F▌▌▐@X78░ @X08▌                  @X0F▐@X78░░@X08▌@X0F▐▐"
  302.                 PrintLn "@X0F                        ▌▌▐@X78 ░@X08▌                  @X0F▐@X78░ @X08▌@X0F▐▐"
  303.                 PrintLn "@X0F                         ▌▐@X78  @X08▌                  @X0F▐@X78  @X08▌@X0F▐"
  304.                 PrintLn "@X0F                         ▌▐@X78  @X08▌                  @X0F▐@X78  @X08▌@X0F▐"
  305.                 PrintLn "@X0F                         ▌▐@X78  @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌@X0F▐"
  306.                 PrintLn "@X0F                          ▐@X7F     @X70< / - ENTER >    @X08▌"
  307.                 PrintLn "@X08                           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  308.                 For INTEGER004 = 1 To 11
  309.                     AnsiPos 32, INTEGER004 + 3
  310.                     Print "@X07 " + TSTRING001(INTEGER004)
  311.                 Next
  312.                 :LABEL013
  313.                 AnsiPos 31, INTEGER002 + 3
  314.                 Print "@X78▌ @X7F" + TSTRING001(INTEGER002) + "@X7F ▐"
  315.                 AnsiPos 12, 19
  316.                 Print "@X0D" + TSTRING002(INTEGER002)
  317.                 AnsiPos 40, 1
  318.                 :LABEL014
  319.                 STRING003 = Inkey()
  320.                 If (STRING003 == "") Goto LABEL014
  321.                 AnsiPos 31, INTEGER002 + 3
  322.                 Print "@X07  " + TSTRING001(INTEGER002) + "  "
  323.                 If (STRING003 == "UP") Then
  324.                     Dec INTEGER002
  325.                     If (INTEGER002 < 1) INTEGER002 = 11
  326.                     Goto LABEL013
  327.                 Endif
  328.                 If (STRING003 == "DOWN") Then
  329.                     Inc INTEGER002
  330.                     If (INTEGER002 > 11) INTEGER002 = 1
  331.                     Goto LABEL013
  332.                 Endif
  333.             Case Chr(27)
  334.                 Color 1
  335.                 Cls
  336.                 If (STRING003 <> Chr(13)) Goto LABEL013
  337.                 AnsiPos 12, 19
  338.                 Color 1
  339.                 ClrEol
  340.                 If (INTEGER002 == 1) Then
  341.                     Gosub LABEL009
  342.                     Cls
  343.                     KbdStuff "r a"
  344.                     If (INTEGER008 == 1) KbdStuff " z"
  345.                     KbdStuff Chr(13)
  346.                 Endif
  347.             Case 2
  348.                 Gosub LABEL006
  349.                 Gosub LABEL009
  350.                 Cls
  351.                 If (INTEGER003 == 1) KbdStuff "r a u"
  352.                 If (INTEGER003 == 2) KbdStuff "r u"
  353.                 If (INTEGER008 == 1) KbdStuff " z"
  354.                 KbdStuff Chr(13)
  355.             Case 3
  356.                 Gosub LABEL006
  357.                 Gosub LABEL009
  358.                 Cls
  359.                 If (INTEGER003 == 1) KbdStuff "r a y"
  360.                 If (INTEGER003 == 2) KbdStuff "r y"
  361.                 If (INTEGER008 == 1) KbdStuff " z"
  362.                 KbdStuff Chr(13)
  363.             Case 4
  364.                 Gosub LABEL006
  365.                 Gosub LABEL009
  366.                 Cls
  367.                 If (INTEGER003 == 1) KbdStuff "r a f"
  368.                 If (INTEGER003 == 2) KbdStuff "r f"
  369.                 If (INTEGER008 == 1) KbdStuff " z"
  370.                 KbdStuff Chr(13)
  371.             Case 5
  372.                 Gosub LABEL006
  373.                 Gosub LABEL009
  374.                 Cls
  375.                 If (INTEGER003 == 1) KbdStuff "r a s"
  376.                 If (INTEGER003 == 1) KbdStuff "r s"
  377.                 If (INTEGER008 == 1) KbdStuff " z"
  378.                 KbdStuff Chr(13)
  379.                 If (INTEGER002 == 7) Then
  380.                     Gosub LABEL009
  381.                     Cls
  382.                     KbdStuff "r a wait"
  383.                     If (INTEGER008 == 1) KbdStuff " z"
  384.                     KbdStuff Chr(13)
  385.                 Endif
  386.             Case 6
  387.                 INTEGER005 = Date()
  388.                 AnsiPos 20, 11
  389.                 PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  390.                 AnsiPos 20, 12
  391.                 PrintLn "@X0F▐@X7F░ ░▒▓▒ @X70WHAT DATE? @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  392.                 AnsiPos 20, 13
  393.                 PrintLn "@X0F▐@X7F @X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌"
  394.                 AnsiPos 20, 14
  395.                 PrintLn "@X0F▐@X78░▒@X08▌                  @X0F▐@X7F░@X78░@X08▌"
  396.                 AnsiPos 20, 15
  397.                 PrintLn "@X0F▐@X78▒▓@X08▌                  @X0F▐@X78▒▓@X08▌"
  398.                 AnsiPos 20, 16
  399.                 PrintLn "@X0F▐@X78▓░@X08▌                  @X0F▐@X78░ @X08▌"
  400.                 AnsiPos 20, 17
  401.                 PrintLn "@X0F▐@X78░ @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  402.                 AnsiPos 20, 18
  403.                 PrintLn "@X0F▐@X7F     @X70< / - ENTER >    @X08▌"
  404.                 AnsiPos 20, 19
  405.                 PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  406.                 :LABEL015
  407.                 AnsiPos 27, 15
  408.                 DATE001 = INTEGER005
  409.                 STRING004 = Replace(DATE001, ".", "/")
  410.                 Print "@X78▌ @X7F" + STRING004 + "@X7F ▐"
  411.                 :LABEL016
  412.                 STRING003 = Inkey()
  413.                 If (STRING003 == "") Goto LABEL016
  414.                 If (STRING003 == "UP") Then
  415.                     Inc INTEGER005
  416.                     If (INTEGER005 > 65535) INTEGER005 = 65534
  417.                     Goto LABEL015
  418.                 Endif
  419.                 If (STRING003 == "DOWN") Then
  420.                     Dec INTEGER005
  421.                     If (INTEGER005 < 1) INTEGER005 = 1
  422.                     Goto LABEL015
  423.                 Endif
  424.                 If (STRING003 <> Chr(13)) Goto LABEL015
  425.                 Gosub LABEL006
  426.                 Gosub LABEL009
  427.                 Print "@X01"
  428.                 Cls
  429.                 If (INTEGER003 == 1) KbdStuff "r n " + Strip(STRING004, "/")
  430.                 If (INTEGER003 == 2) KbdStuff "r a n " + Strip(STRING004, "/")
  431.                 If (INTEGER008 == 1) KbdStuff " z"
  432.                 KbdStuff Chr(13)
  433.             Case 8
  434.                 Gosub LABEL001
  435.                 Gosub LABEL006
  436.                 Gosub LABEL009
  437.                 Print "@X01"
  438.                 Cls
  439.                 If (INTEGER003 == 1) KbdStuff "r a user " + STRING005 + " 1-999999"
  440.                 If (INTEGER003 == 2) KbdStuff "r user " + STRING005 + " 1-999999"
  441.                 If (INTEGER008 == 1) KbdStuff " z"
  442.                 KbdStuff Chr(13)
  443.             Case 9
  444.                 Gosub LABEL001
  445.                 Gosub LABEL006
  446.                 Gosub LABEL009
  447.                 Print "@X01"
  448.                 Cls
  449.                 If (INTEGER003 == 1) KbdStuff "r a to " + STRING005 + " 1-999999"
  450.                 If (INTEGER003 == 2) KbdStuff "r to " + STRING005 + " 1-999999"
  451.                 If (INTEGER008 == 1) KbdStuff " z"
  452.                 KbdStuff Chr(13)
  453.             Case 10
  454.                 INTEGER001 = 1
  455.                 AnsiPos 7, 7
  456.                 PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  457.                 AnsiPos 7, 8
  458.                 PrintLn "@X0F▐@X7F░ ░▒▓▒ @X70SPECiFY A USER? @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  459.                 AnsiPos 7, 9
  460.                 PrintLn "@X0F▐@X7F @X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌"
  461.                 AnsiPos 7, 10
  462.                 PrintLn "@X0F▐@X78░▒@X08▌                       @X0F▐@X7F░@X78░@X08▌"
  463.                 AnsiPos 7, 11
  464.                 PrintLn "@X0F▐@X70░▒@X08▌                       @X0F▐@X70░ @X08▌"
  465.                 AnsiPos 7, 12
  466.                 PrintLn "@X0F▐@X70░ @X08▌                       @X0F▐@X70▒ @X08▌"
  467.                 AnsiPos 7, 13
  468.                 PrintLn "@X0F▐@X78  @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  469.                 AnsiPos 7, 14
  470.                 PrintLn "@X0F▐@X7F       @X70< / - ENTER >       @X08▌"
  471.                 AnsiPos 7, 15
  472.                 PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  473.                 :LABEL017
  474.                 AnsiPos 18, 11
  475.                 If (INTEGER001 == 1) Print "@X7F▌@X7FYES▐@X07  N0  "
  476.                 If (INTEGER001 == 2) Print "@X07 YES  @X7F▌@X7FN0@X7F▐"
  477.                 :LABEL018
  478.                 STRING003 = Inkey()
  479.                 If (STRING003 == "") Goto LABEL018
  480.                 If ((STRING003 == "LEFT") || (STRING003 == "RIGHT")) Then
  481.                     If (INTEGER001 == 1) Then
  482.                         INTEGER001 = 2
  483.                         Goto LABEL017
  484.                     Endif
  485.                     INTEGER001 = 1
  486.                     Goto LABEL017
  487.                 Endif
  488.                 If (INTEGER001 == 1) Gosub LABEL001
  489.                 AnsiPos 3, 14
  490.                 PrintLn "@X0F ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  491.                 AnsiPos 3, 15
  492.                 PrintLn "@X0F▐@X7F░ ░▒▓▒                     @X70ENTER SEARCH CRiTERiA                   @X7F░▒▓@X0F█@X7F▓▒@X08▌"
  493.                 AnsiPos 3, 16
  494.                 PrintLn "@X0F▐@X7F @X78░▄@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X7F▄▒░@X08▌"
  495.                 AnsiPos 3, 17
  496.                 PrintLn "@X0F▐@X78░▒@X08▌                                                                   @X0F▐@X7F░@X78░@X08▌"
  497.                 AnsiPos 3, 18
  498.                 PrintLn "@X0F▐@X78░▓@X08▌                                                                   @X0F▐@X70░▒@X08▌"
  499.                 AnsiPos 3, 19
  500.                 PrintLn "@X0F▐@X78░ @X08▌                                                                   @X0F▐@X70▒ @X08▌"
  501.                 AnsiPos 3, 20
  502.                 PrintLn "@X0F▐@X78▓ @X7F▀@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X78▀░ @X08▌"
  503.                 AnsiPos 3, 21
  504.                 PrintLn "@X0F▐@X7F     @X78(""@X70|@X78"" = 0R) (""@X70&@X78"" = AND)          E.G. : NUMBER @X70& @X78(VOICE @X70| @X78DATA)      @X08▌"
  505.                 AnsiPos 3, 22
  506.                 PrintLn "@X08 ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  507.                 STRING008 = ""
  508.                 INTEGER009 = 0
  509.                 :LABEL019
  510.                 AnsiPos 26 + (26 - Len(STRING008)) / 2, 18
  511.                 If (INTEGER009 > 2) Print " @X0F" + Left(STRING008, 1) + "@X07" + Mid(STRING008, 2, INTEGER009 - 2) + "@X08" + Right(STRING008, 1)
  512.                 If (INTEGER009 == 2) Print " @X0F" + "@X07" + Left(STRING008, 1) + "@X08" + Right(STRING008, 1)
  513.                 If (INTEGER009 < 2) Print " @X0F" + "@X07" + STRING008
  514.                 Print "@X89▒ "
  515.                 AnsiPos 40, 1
  516.                 :LABEL020
  517.                 STRING006 = Inkey()
  518.                 If (STRING006 == "") Goto LABEL020
  519.                 If (STRING006 == Chr(13)) Goto LABEL021
  520.                 If (STRING006 == Chr(8)) Then
  521.                     If (INTEGER009 > 1) Then
  522.                         Dec INTEGER009
  523.                         STRING008 = Left(STRING008, Len(STRING008) - 1)
  524.                         Goto LABEL019
  525.                     Endif
  526.                     If (INTEGER009 == 1) Then
  527.                         INTEGER009 = 0
  528.                         STRING008 = ""
  529.                         Goto LABEL019
  530.                     Endif
  531.                     If (INTEGER009 == 0) Goto LABEL019
  532.                 Endif
  533.                 If (STRING006 < " ") Goto LABEL020
  534.                 If (Len(STRING006) == 1) Then
  535.                     If (INTEGER009 < 64) Then
  536.                         Inc INTEGER009
  537.                         STRING008 = STRING008 + Upper(STRING006)
  538.                     Endif
  539.                     Goto LABEL019
  540.                 Endif
  541.                 Goto LABEL019
  542.                 :LABEL021
  543.                 If (STRING008 == "") Then
  544.                     Cls
  545.                     Goto LABEL022
  546.                 Endif
  547.                 AnsiPos 3, 18
  548.                 PrintLn "@X0F▐@X78░▓@X08▌                                                                   @X0F▐@X70░▒@X08▌"
  549.                 Gosub LABEL006
  550.                 Gosub LABEL009
  551.                 Color 1
  552.                 Cls
  553.                 If (INTEGER003 == 1) KbdStuff "r a"
  554.                 If (INTEGER003 == 2) KbdStuff "r"
  555.                 If (INTEGER001 == 1) KbdStuff " us " + STRING005
  556.                 KbdStuff " ts " + STRING008 + " 1-999999"
  557.                 If (INTEGER008 == 1) KbdStuff " z"
  558.                 KbdStuff Chr(13)
  559.                 Goto LABEL022
  560.             Endif
  561.     End Select
  562.     :LABEL022
  563.     Cls
  564.     Print "@X0F(@X0BC@X03) @X0FT@X0BYGE@X03R / @X0FP@X0BAiN@X03!"
  565.     Delay 20
  566.     End
  567.  
  568. ;------------------------------------------------------------------------------
  569. ;
  570. ; Usage report (before postprocessing)
  571. ;
  572. ; ■ Statements used :
  573. ;
  574. ;    2       End
  575. ;    15      Cls
  576. ;    1       ClrEol
  577. ;    4       Color 
  578. ;    90      Goto 
  579. ;    69      Let 
  580. ;    44      Print 
  581. ;    74      PrintLn 
  582. ;    100     If 
  583. ;    1       FOpen 
  584. ;    1       FClose 
  585. ;    21      Gosub 
  586. ;    3       Return
  587. ;    20      Delay 
  588. ;    4       Inc 
  589. ;    4       Dec 
  590. ;    41      KbdStuff 
  591. ;    92      AnsiPos 
  592. ;    1       FSeek 
  593. ;    2       FRead 
  594. ;    1       Redim 
  595. ;    1       GetAltUser 
  596. ;
  597. ;
  598. ; ■ Functions used :
  599. ;
  600. ;    1       *
  601. ;    4       /
  602. ;    60      +
  603. ;    7       -
  604. ;    81      ==
  605. ;    4       <>
  606. ;    11      <
  607. ;    3       <=
  608. ;    6       >
  609. ;    6       >=
  610. ;    39      !
  611. ;    6       &&
  612. ;    6       ||
  613. ;    6       Len(
  614. ;    2       Upper()
  615. ;    2       Mid()
  616. ;    6       Left()
  617. ;    4       Right()
  618. ;    19      Chr()
  619. ;    1       Date()
  620. ;    1       U_Name()
  621. ;    1       Replace()
  622. ;    2       Strip()
  623. ;    7       Inkey()
  624. ;    2       CurConf()
  625. ;    2       PCBDat()
  626. ;    2       ReadLine()
  627. ;    1       TokenStr()
  628. ;    2       FileInf()
  629. ;    1       TokCount()
  630. ;
  631. ;------------------------------------------------------------------------------
  632. ;
  633. ; Analysis flags : Rd
  634. ;
  635. ; R - Read user ■ 5
  636. ;     User records are read, this may signify that someone wants to get
  637. ;     various informations about a user (for example his password), but
  638. ;     this may also be normal for a program accessing user records (for
  639. ;     example a User Editor)
  640. ;     ■ Search for : GETALTUSER
  641. ;
  642. ; d - Access PCBOARD.DAT ■ 2
  643. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  644. ;     for many PPE so they can find various informations on the system
  645. ;     (system paths, max number of lines in messages, ...) but it may also
  646. ;     be a way to gather vital informations.
  647. ;     ■ Search for : PCBDAT()
  648. ;
  649. ;------------------------------------------------------------------------------
  650. ;
  651. ; Postprocessing report
  652. ;
  653. ;    3       For/Next
  654. ;    0       While/EndWhile
  655. ;    25      If/Then or If/Then/Else
  656. ;    1       Select Case
  657. ;
  658. ;------------------------------------------------------------------------------
  659. ;                 AEGiS Corp - Break the routines, code against the machines!
  660. ;------------------------------------------------------------------------------
  661.