home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / NDFILE20.ZIP / NDFILES.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-01-08  |  17KB  |  639 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.     Integer  TINTEGER001(10)
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     String   STRING001
  33.     String   STRING002
  34.     String   STRING003
  35.     String   STRING004
  36.     String   STRING005
  37.     String   STRING006
  38.     String   STRING007
  39.     String   STRING008
  40.     String   STRING009
  41.     String   STRING010
  42.     String   STRING011
  43.     String   STRING012
  44.     String   STRING013
  45.     String   STRING014
  46.     String   STRING015
  47.     String   STRING016
  48.     String   TSTRING017(500)
  49.     String   STRING018
  50.     String   STRING019
  51.     String   STRING020
  52.     String   TSTRING021(500)
  53.     String   TSTRING022(500)
  54.     String   TSTRING023(500)
  55.     String   STRING024
  56.     String   STRING025
  57.     String   STRING026
  58.     String   STRING027
  59.     Byte     BYTE001
  60.     Int      INT001
  61.  
  62. ;------------------------------------------------------------------------------
  63.  
  64.     STRING001 = "@X8CUsing PPLD for registering is a crime. If you are interested in"
  65.     STRING002 = "changes to NDFILES call the author!"
  66.     INTEGER002 = 1
  67.     TINTEGER001(1) = GetToken()
  68.     While (TINTEGER001(INTEGER002) <> 0) Do
  69.         TINTEGER001(INTEGER002 + 1) = GetToken()
  70.         Inc INTEGER002
  71.     EndWhile
  72.     If (INTEGER002 > 1) Then
  73.         INTEGER003 = INTEGER002 - 1
  74.         INTEGER002 = 0
  75.         STRING003 = "F;"
  76.         For INTEGER002 = 1 To INTEGER003
  77.             STRING003 = STRING003 + String(TINTEGER001(INTEGER002)) + ";"
  78.         Next
  79.         KbdStuff STRING003
  80.         End
  81.     Endif
  82.     FOpen 1, PPEPath() + PPEName() + ".CFG", 2, 0
  83.     FGet 1, STRING005
  84.     FGet 1, STRING006
  85.     FGet 1, STRING008
  86.     FGet 1, STRING009
  87.     FGet 1, STRING016
  88.     FGet 1, STRING010
  89.     FGet 1, STRING011
  90.     FGet 1, STRING012
  91.     FGet 1, STRING013
  92.     FGet 1, STRING014
  93.     FGet 1, STRING015
  94.     FGet 1, INTEGER008
  95.     FClose 1
  96.     STRING009 = Left(STRING009, 4)
  97.     STRING010 = Left(STRING009, 4)
  98.     STRING011 = Left(STRING011, 4)
  99.     STRING012 = Left(STRING012, 4)
  100.     STRING013 = Left(STRING013, 4)
  101.     STRING014 = Left(STRING014, 4)
  102.     STRING016 = Left(STRING016, 4)
  103.     STRING015 = Left(STRING015, 4)
  104.     INTEGER008 = Left(INTEGER008, 2)
  105.     STRING004 = String(STRING005) + "#@&" + String(STRING006)
  106.     INTEGER005 = ""
  107.     For INTEGER007 = 1 To 103
  108.         STRING007 = Mid(String(STRING004), INTEGER007, 1)
  109.         INTEGER004 = Asc(STRING007)
  110.         INTEGER005 = INTEGER005 + INTEGER004
  111.     Next
  112.     If (STRING008 == (INTEGER005 * Len(Strip(String(STRING004), " "))) * 9) Then
  113.         INTEGER006 = 0
  114.     Else
  115.         INTEGER006 = 1
  116.     Endif
  117.     INTEGER011 = CurConf()
  118.     FOpen 1, PPEPath() + "DIR" + String(INTEGER011) + ".TXT", 0, 0
  119.     If (Ferr(1) == 1) Then
  120.         Cls
  121.         FCloseAll
  122.         DispFile PPEPath() + "nofile", 4 + 2 + 1
  123.         Wait
  124.         End
  125.     Endif
  126.     INTEGER009 = 1
  127.     :LABEL001
  128.     FGet 1, STRING019
  129.     If (STRING019 <> "") Then
  130.         STRING019 = ReplaceStr(STRING019, ",", "^")
  131.         Tokenize STRING019
  132.         STRING018 = GetToken()
  133.         TSTRING023(INTEGER009) = GetToken()
  134.         TSTRING023(INTEGER009) = ReplaceStr(TSTRING023(INTEGER009), "^", ",")
  135.         TSTRING022(INTEGER009) = GetToken()
  136.         TSTRING022(INTEGER009) = ReplaceStr(TSTRING022(INTEGER009), "^", ",")
  137.         STRING018 = GetToken()
  138.         TSTRING021(INTEGER009) = Replace(STRING018, "~", " ")
  139.         STRING018 = GetToken()
  140.         TSTRING017(INTEGER009) = Replace(STRING018, "~", " ")
  141.         TSTRING017(INTEGER009) = Replace(TSTRING017(INTEGER009), "^", ",")
  142.         Inc INTEGER009
  143.         Goto LABEL001
  144.     Endif
  145.     FCloseAll
  146.     INTEGER010 = INTEGER009
  147.     INTEGER009 = 0
  148.     If (GrafMode() <> "G") Goto LABEL016
  149.     :LABEL002
  150.     INTEGER012 = 7
  151.     INTEGER013 = 5
  152.     INTEGER009 = 0
  153.     DispFile PPEPath() + "PICA", 4 + 2 + 1
  154.     AnsiPos 51, 4
  155.     Print STRING011 + Space(7 - Len(TSTRING023(INTEGER010 - 1))) + TSTRING023(INTEGER010 - 1) + " " + Space(12 - Len(TSTRING022(INTEGER010 - 1))) + TSTRING022(INTEGER010 - 1) + "@X0F"
  156.     AnsiPos INTEGER012, INTEGER013
  157.     If (INTEGER006 == 1) Then
  158.         Print "@X8C"
  159.         INTEGER012 = 77
  160.         INTEGER013 = 6
  161.         AnsiPos INTEGER012, INTEGER013
  162.         Print Chr(85)
  163.         Inc INTEGER013
  164.         AnsiPos INTEGER012, INTEGER013
  165.         Print Chr(78)
  166.         Inc INTEGER013
  167.         AnsiPos INTEGER012, INTEGER013
  168.         Print Chr(82)
  169.         Inc INTEGER013
  170.         AnsiPos INTEGER012, INTEGER013
  171.         Print Chr(69)
  172.         Inc INTEGER013
  173.         AnsiPos INTEGER012, INTEGER013
  174.         Print Chr(71)
  175.         Inc INTEGER013
  176.         AnsiPos INTEGER012, INTEGER013
  177.         Print Chr(73)
  178.         Inc INTEGER013
  179.         AnsiPos INTEGER012, INTEGER013
  180.         Print Chr(83)
  181.         Inc INTEGER013
  182.         AnsiPos INTEGER012, INTEGER013
  183.         Print Chr(84)
  184.         Inc INTEGER013
  185.         AnsiPos INTEGER012, INTEGER013
  186.         Print Chr(69)
  187.         Inc INTEGER013
  188.         AnsiPos INTEGER012, INTEGER013
  189.         Print Chr(82)
  190.         Inc INTEGER013
  191.         AnsiPos INTEGER012, INTEGER013
  192.         Print Chr(69)
  193.         Inc INTEGER013
  194.         AnsiPos INTEGER012, INTEGER013
  195.         Print Chr(68)
  196.         Inc INTEGER013
  197.         INTEGER012 = 7
  198.         INTEGER013 = 5
  199.     Endif
  200.     If (CurSec() < SysopSec()) Then
  201.         For INTEGER007 = 1 To 15
  202.             AnsiPos INTEGER012, INTEGER013
  203.             If (INTEGER009 < INTEGER010 - 3) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  204.             AnsiPos INTEGER012 + 6, INTEGER013
  205.             If (INTEGER009 < INTEGER010 - 3) Print STRING011 + TSTRING017(INTEGER009 + 1)
  206.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  207.             If (INTEGER009 < INTEGER010 - 3) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  208.             Inc INTEGER009
  209.             Inc INTEGER013
  210.         Next
  211.     Else
  212.         For INTEGER007 = 1 To 15
  213.             AnsiPos INTEGER012, INTEGER013
  214.             If (INTEGER009 < INTEGER010 - 2) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  215.             AnsiPos INTEGER012 + 6, INTEGER013
  216.             If (INTEGER009 < INTEGER010 - 1) Print STRING011 + TSTRING017(INTEGER009 + 1)
  217.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  218.             If (INTEGER009 < INTEGER010 - 2) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  219.             Inc INTEGER009
  220.             Inc INTEGER013
  221.         Next
  222.     Endif
  223.     STRING024 = Chr(13)
  224.     AnsiPos 7 + 6, 5
  225.     INTEGER012 = GetX()
  226.     INTEGER013 = GetY()
  227.     :LABEL003
  228.     STRING027 = ScrText(INTEGER012, INTEGER013, 35, 0)
  229.     STRING026 = ScrText(INTEGER012, INTEGER013, 35, 1)
  230.     If (ScrText(INTEGER012, INTEGER013, 3, 0) == "   ") Then
  231.         Dec INTEGER013
  232.         AnsiPos INTEGER012, INTEGER013
  233.         Goto LABEL003
  234.     Endif
  235.     Print STRING014 + STRING027 + STRING011
  236.     :LABEL004
  237.     If (0) Goto LABEL005
  238.     STRING025 = Upper(Inkey())
  239.     If (STRING025 <> "") Then
  240.         If ((STRING025 == "DOWN") || (STRING025 == "2")) Goto LABEL006
  241.         If ((STRING025 == "UP") || (STRING025 == "8")) Goto LABEL007
  242.         If (STRING025 == STRING024) Goto LABEL014
  243.         If ((STRING025 == "Q") || (STRING025 == Chr(27))) Goto LABEL015
  244.         If ((STRING025 == "+") || (STRING025 == "PGDN")) Goto LABEL008
  245.         If ((STRING025 == "-") || (STRING025 == "PGUP")) Goto LABEL009
  246.         If (STRING025 == " ") Goto LABEL011
  247.         If (STRING025 == "H") Goto LABEL010
  248.         If (STRING025 == "D") Goto LABEL013
  249.         If (STRING025 == "HOME") Goto LABEL002
  250.     Endif
  251.     Goto LABEL004
  252.     :LABEL005
  253.     Goto LABEL015
  254.     :LABEL006
  255.     INTEGER013 = GetY() + 1
  256.     If (INTEGER013 >= 20) Then
  257.         If (INTEGER009 >= INTEGER010 - 1) Then
  258.             INTEGER009 = 0
  259.             Goto LABEL002
  260.         Endif
  261.         AnsiPos INTEGER012, INTEGER013 - 1
  262.         Print STRING026
  263.         INTEGER013 = 5
  264.         AnsiPos INTEGER012, INTEGER013
  265.     ElseIf (INTEGER013 == 20) Then
  266.         Goto LABEL008
  267.     Else
  268.         AnsiPos INTEGER012, INTEGER013 - 1
  269.         Print STRING026
  270.         AnsiPos INTEGER012, INTEGER013
  271.     Endif
  272.     Goto LABEL003
  273.     :LABEL007
  274.     INTEGER013 = GetY() - 1
  275.     If (INTEGER013 == 4) Then
  276.         AnsiPos INTEGER012, INTEGER013 + 1
  277.         Print STRING026
  278.         INTEGER013 = 19
  279.         AnsiPos INTEGER012, INTEGER013
  280.     Else
  281.         AnsiPos INTEGER012, INTEGER013 + 1
  282.         Print STRING026
  283.         AnsiPos INTEGER012, INTEGER013
  284.     Endif
  285.     Goto LABEL003
  286.     :LABEL008
  287.     If (INTEGER009 >= INTEGER010) Then
  288.         INTEGER009 = INTEGER009 - 15
  289.     Endif
  290.     DispFile PPEPath() + "PICA", 4 + 2 + 1
  291.     AnsiPos 51, 4
  292.     Print STRING011 + Space(7 - Len(TSTRING023(INTEGER010 - 1))) + TSTRING023(INTEGER010 - 1) + " " + Space(12 - Len(TSTRING022(INTEGER010 - 1))) + TSTRING022(INTEGER010 - 1) + "@X0F"
  293.     INTEGER012 = 7
  294.     INTEGER013 = 5
  295.     AnsiPos INTEGER012, INTEGER013
  296.     If (INTEGER006 == 1) Then
  297.         Print "@X8C"
  298.         INTEGER012 = 77
  299.         INTEGER013 = 6
  300.         AnsiPos INTEGER012, INTEGER013
  301.         Print Chr(85)
  302.         Inc INTEGER013
  303.         AnsiPos INTEGER012, INTEGER013
  304.         Print Chr(78)
  305.         Inc INTEGER013
  306.         AnsiPos INTEGER012, INTEGER013
  307.         Print Chr(82)
  308.         Inc INTEGER013
  309.         AnsiPos INTEGER012, INTEGER013
  310.         Print Chr(69)
  311.         Inc INTEGER013
  312.         AnsiPos INTEGER012, INTEGER013
  313.         Print Chr(71)
  314.         Inc INTEGER013
  315.         AnsiPos INTEGER012, INTEGER013
  316.         Print Chr(73)
  317.         Inc INTEGER013
  318.         AnsiPos INTEGER012, INTEGER013
  319.         Print Chr(83)
  320.         Inc INTEGER013
  321.         AnsiPos INTEGER012, INTEGER013
  322.         Print Chr(84)
  323.         Inc INTEGER013
  324.         AnsiPos INTEGER012, INTEGER013
  325.         Print Chr(69)
  326.         Inc INTEGER013
  327.         AnsiPos INTEGER012, INTEGER013
  328.         Print Chr(82)
  329.         Inc INTEGER013
  330.         AnsiPos INTEGER012, INTEGER013
  331.         Print Chr(69)
  332.         Inc INTEGER013
  333.         AnsiPos INTEGER012, INTEGER013
  334.         Print Chr(68)
  335.         Inc INTEGER013
  336.         INTEGER012 = 7
  337.         INTEGER013 = 5
  338.     Endif
  339.     If (CurSec() < SysopSec()) Then
  340.         For INTEGER007 = 1 To 15
  341.             AnsiPos INTEGER012, INTEGER013
  342.             If (INTEGER009 < INTEGER010 - 3) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  343.             AnsiPos INTEGER012 + 6, INTEGER013
  344.             If (INTEGER009 < INTEGER010 - 3) Print STRING011 + TSTRING017(INTEGER009 + 1)
  345.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  346.             If (INTEGER009 < INTEGER010 - 3) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  347.             Inc INTEGER009
  348.             Inc INTEGER013
  349.         Next
  350.     Else
  351.         For INTEGER007 = 1 To 15
  352.             AnsiPos INTEGER012, INTEGER013
  353.             If (INTEGER009 < INTEGER010 - 2) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  354.             AnsiPos INTEGER012 + 6, INTEGER013
  355.             If (INTEGER009 < INTEGER010 - 1) Print STRING011 + TSTRING017(INTEGER009 + 1)
  356.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  357.             If (INTEGER009 < INTEGER010 - 2) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  358.             Inc INTEGER009
  359.             Inc INTEGER013
  360.         Next
  361.     Endif
  362.     AnsiPos 7 + 6, 5
  363.     INTEGER012 = GetX()
  364.     INTEGER013 = GetY()
  365.     Goto LABEL003
  366.     :LABEL009
  367.     INTEGER009 = INTEGER009 - 30
  368.     If (INTEGER009 < 0) Then
  369.         INTEGER009 = 0
  370.     Endif
  371.     DispFile PPEPath() + "PICA", 4 + 2 + 1
  372.     AnsiPos 51, 4
  373.     Print STRING011 + Space(7 - Len(TSTRING023(INTEGER010 - 1))) + TSTRING023(INTEGER010 - 1) + " " + Space(12 - Len(TSTRING022(INTEGER010 - 1))) + TSTRING022(INTEGER010 - 1) + "@X0F"
  374.     INTEGER012 = 7
  375.     INTEGER013 = 5
  376.     AnsiPos INTEGER012, INTEGER013
  377.     If (INTEGER006 == 1) Then
  378.         Print "@X8C"
  379.         INTEGER012 = 77
  380.         INTEGER013 = 6
  381.         AnsiPos INTEGER012, INTEGER013
  382.         Print Chr(85)
  383.         Inc INTEGER013
  384.         AnsiPos INTEGER012, INTEGER013
  385.         Print Chr(78)
  386.         Inc INTEGER013
  387.         AnsiPos INTEGER012, INTEGER013
  388.         Print Chr(82)
  389.         Inc INTEGER013
  390.         AnsiPos INTEGER012, INTEGER013
  391.         Print Chr(69)
  392.         Inc INTEGER013
  393.         AnsiPos INTEGER012, INTEGER013
  394.         Print Chr(71)
  395.         Inc INTEGER013
  396.         AnsiPos INTEGER012, INTEGER013
  397.         Print Chr(73)
  398.         Inc INTEGER013
  399.         AnsiPos INTEGER012, INTEGER013
  400.         Print Chr(83)
  401.         Inc INTEGER013
  402.         AnsiPos INTEGER012, INTEGER013
  403.         Print Chr(84)
  404.         Inc INTEGER013
  405.         AnsiPos INTEGER012, INTEGER013
  406.         Print Chr(69)
  407.         Inc INTEGER013
  408.         AnsiPos INTEGER012, INTEGER013
  409.         Print Chr(82)
  410.         Inc INTEGER013
  411.         AnsiPos INTEGER012, INTEGER013
  412.         Print Chr(69)
  413.         Inc INTEGER013
  414.         AnsiPos INTEGER012, INTEGER013
  415.         Print Chr(68)
  416.         Inc INTEGER013
  417.         INTEGER012 = 7
  418.         INTEGER013 = 5
  419.     Endif
  420.     If (CurSec() < SysopSec()) Then
  421.         For INTEGER007 = 1 To 15
  422.             AnsiPos INTEGER012, INTEGER013
  423.             If (INTEGER009 < INTEGER010 - 2) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  424.             AnsiPos INTEGER012 + 6, INTEGER013
  425.             If (INTEGER009 < INTEGER010 - 2) Print STRING011 + TSTRING017(INTEGER009 + 1)
  426.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  427.             If (INTEGER009 < INTEGER010 - 2) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  428.             Inc INTEGER009
  429.             Inc INTEGER013
  430.         Next
  431.     Else
  432.         For INTEGER007 = 1 To 15
  433.             AnsiPos INTEGER012, INTEGER013
  434.             If (INTEGER009 < INTEGER010 - 1) Print STRING009 + "[" + STRING016 + FmtReal(INTEGER009 + 1, 3, 0) + STRING009 + "]" + STRING011
  435.             AnsiPos INTEGER012 + 6, INTEGER013
  436.             If (INTEGER009 < INTEGER010) Print STRING011 + TSTRING017(INTEGER009 + 1)
  437.             AnsiPos INTEGER012 + 6 + 35, INTEGER013
  438.             If (INTEGER009 < INTEGER010 - 1) Print STRING012 + Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1) + " " + STRING013 + Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1)
  439.             Inc INTEGER009
  440.             Inc INTEGER013
  441.         Next
  442.     Endif
  443.     AnsiPos 7 + 6, 5
  444.     INTEGER012 = GetX()
  445.     INTEGER013 = GetY()
  446.     Goto LABEL003
  447.     :LABEL010
  448.     DispFile PPEPath() + "HELP", 4 + 2 + 1
  449.     Wait
  450.     Goto LABEL002
  451.     :LABEL011
  452.     If (INTEGER006 == 0) Then
  453.         If (INTEGER008 <> "NO") Then
  454.             Goto LABEL012
  455.         Else
  456.             Goto LABEL002
  457.         Endif
  458.     Else
  459.         :LABEL012
  460.         PrintLn "@X0F@CLS@"
  461.         PrintLn STRING015 + "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒@X03"
  462.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "╔══════════════════════════════════════════════════════════════════╗" + STRING015 + "▒▒▒▒▒▒▒"
  463.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║" + STRING012 + "  Nice Day File Directory [PPE] for PCBoard 15.2+                 " + STRING011 + "║" + STRING015 + "▓▓▒▒▒▒▒"
  464.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║" + STRING012 + "                   " + STRING011 + "║" + STRING015 + "▓▓▒▒▒▒▒"
  465.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║                                                                  ║" + STRING015 + "▓▓▒▒▒▒▒"
  466.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║  Programming:                                                    ║" + STRING015 + "▓▓▒▒▒▒▒"
  467.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║" + STRING012 + "  PPE           Oliver Jenni, Nice Day BBS, CH-Muttenz            " + STRING011 + "║" + STRING015 + "▓▓▒▒▒▒▒"
  468.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "║" + STRING012 + "  NDFILES.EXE   Michael Boettger, I.D.D.C. BBS, A-Vienna          " + STRING011 + "║" + STRING015 + "▓▓▒▒▒▒▒"
  469.         PrintLn STRING015 + "▒▒▒▒" + STRING011 + "╚══════════════════════════════════════════════════════════════════╝" + STRING015 + "▓▓▒▒▒▒▒"
  470.         PrintLn STRING015 + "▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒"
  471.         PrintLn STRING015 + "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
  472.         Wait
  473.     Endif
  474.     Goto LABEL002
  475.     :LABEL013
  476.     STRING020 = ScrText(INTEGER012 - 5, INTEGER013, 3, 0)
  477.     Dec STRING020
  478.     Print "@X07"
  479.     Cls
  480.     Download TSTRING021(STRING020 + 1)
  481.     Goto LABEL002
  482.     :LABEL014
  483.     STRING020 = ScrText(INTEGER012 - 5, INTEGER013, 3, 0)
  484.     Dec STRING020
  485.     Inc STRING020
  486.     Print "@X0F"
  487.     Cls
  488.     If (STRING020 >= INTEGER010 - 2) Then
  489.         KbdStuff "F;0"
  490.     Else
  491.         KbdStuff "F;" + String(STRING020)
  492.     Endif
  493.     End
  494.     :LABEL015
  495.     AnsiPos 1, 1
  496.     Print "@X07"
  497.     Cls
  498.     End
  499.     :LABEL016
  500.     INT001 = 0
  501.     STRING024 = Chr(13)
  502.     :LABEL017
  503.     Cls
  504.     DispFile PPEPath() + "NOANSI", 4 + 2 + 1
  505.     If (CurSec() < SysopSec()) Then
  506.         For INTEGER007 = 1 To 13
  507.             If (INTEGER009 < INTEGER010 - 3) Print "▒▒▒▒║ [" + FmtReal(INTEGER009 + 1, 3, 0) + "] "
  508.             If (INTEGER009 < INTEGER010 - 3) Print Mid(TSTRING017(INTEGER009 + 1), 0, 36)
  509.             If (INTEGER009 < INTEGER010 - 3) Print Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1)
  510.             If (INTEGER009 < INTEGER010 - 3) PrintLn Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1) + " ║▓▓▒▒▒▒▒"
  511.             Inc INTEGER009
  512.             Inc INTEGER013
  513.         Next
  514.         PrintLn "▒▒▒▒╚══════════════════════════════════════════════════════════════════╝▓▓▒▒▒▒▒"
  515.         PrintLn "▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒"
  516.         PrintLn "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
  517.     Else
  518.         For INTEGER007 = 1 To 13
  519.             If (INTEGER009 < INTEGER010 - 2) Print "▒▒▒▒║ [" + FmtReal(INTEGER009 + 1, 3, 0) + "] "
  520.             If (INTEGER009 < INTEGER010 - 2) Print Mid(TSTRING017(INTEGER009 + 1), 0, 36)
  521.             If (INTEGER009 < INTEGER010 - 2) Print Space(10 - Len(TSTRING023(INTEGER009 + 1))) + TSTRING023(INTEGER009 + 1)
  522.             If (INTEGER009 < INTEGER010 - 2) PrintLn Space(12 - Len(TSTRING022(INTEGER009 + 1))) + TSTRING022(INTEGER009 + 1) + " ║▓▓▒▒▒▒▒"
  523.             Inc INTEGER009
  524.             Inc INTEGER013
  525.         Next
  526.         PrintLn "▒▒▒▒╚══════════════════════════════════════════════════════════════════╝▓▓▒▒▒▒▒"
  527.         PrintLn "▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒"
  528.         PrintLn "▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒"
  529.     Endif
  530.     If (INT001 == 0) PromptStr 223, STRING020, 3, Mask_Num() + "QNS" + STRING024, 64 + 8
  531.     If (Left(STRING020, 2) == "NS") Then
  532.         INT001 = 1
  533.         STRING020 = ""
  534.         Goto LABEL017
  535.     Endif
  536.     If ((STRING020 == "Q") || (STRING020 == "N")) Goto LABEL015
  537.     If (STRING020 == Chr(13)) Goto LABEL017
  538.     If ((STRING020 == "") && (INTEGER009 >= INTEGER010)) Goto LABEL015
  539.     If ((STRING020 == Chr(13)) && (INTEGER009 >= INTEGER010)) Goto LABEL015
  540.     If ((INT001 == 1) && (INTEGER009 >= INTEGER010)) Goto LABEL015
  541.     If (STRING020 == "") Goto LABEL017
  542.     If (STRING020 >= INTEGER010 - 2) Then
  543.         KbdStuff "F;0"
  544.     Else
  545.         KbdStuff "F;" + String(STRING020)
  546.     Endif
  547.     End
  548.  
  549. ;------------------------------------------------------------------------------
  550. ;
  551. ; Usage report (before postprocessing)
  552. ;
  553. ; ■ Statements used :
  554. ;
  555. ;    5       End
  556. ;    5       Cls
  557. ;    3       Wait
  558. ;    92      Goto 
  559. ;    104     Let 
  560. ;    74      Print 
  561. ;    20      PrintLn 
  562. ;    80      If 
  563. ;    6       DispFile 
  564. ;    2       FOpen 
  565. ;    1       FClose 
  566. ;    13      FGet 
  567. ;    1       PromptStr 
  568. ;    55      Inc 
  569. ;    3       Dec 
  570. ;    1       Tokenize 
  571. ;    5       KbdStuff 
  572. ;    73      AnsiPos 
  573. ;    1       Download 
  574. ;    2       FCloseAll
  575. ;
  576. ;
  577. ; ■ Functions used :
  578. ;
  579. ;    2       *
  580. ;    1304    +
  581. ;    70      -
  582. ;    33      ==
  583. ;    5       <>
  584. ;    41      <
  585. ;    10      <=
  586. ;    1       >
  587. ;    28      >=
  588. ;    36      !
  589. ;    23      &&
  590. ;    16      ||
  591. ;    23      Len(
  592. ;    1       Upper()
  593. ;    3       Mid()
  594. ;    10      Left()
  595. ;    22      Space()
  596. ;    1       Ferr()
  597. ;    41      Chr()
  598. ;    1       Asc()
  599. ;    3       Replace()
  600. ;    1       Strip()
  601. ;    1       Inkey()
  602. ;    8       String()
  603. ;    1       Mask_Num()
  604. ;    1       CurConf()
  605. ;    8       PPEPath()
  606. ;    4       SysopSec()
  607. ;    4       CurSec()
  608. ;    7       GetToken()
  609. ;    3       GetX()
  610. ;    5       GetY()
  611. ;    1       GrafMode()
  612. ;    1       PPEName()
  613. ;    5       ScrText()
  614. ;    3       ReplaceStr()
  615. ;    8       FmtReal()
  616. ;
  617. ;------------------------------------------------------------------------------
  618. ;
  619. ; Analysis flags : s
  620. ;
  621. ; s - Sysop level access ■ 5
  622. ;     Program is reading the sysop access level, this may be normal
  623. ;     but still it is very suspect. It is the best way to give a user
  624. ;     all priviledges. Check!
  625. ;     ■ Search for : SYSOPSEC()
  626. ;
  627. ;------------------------------------------------------------------------------
  628. ;
  629. ; Postprocessing report
  630. ;
  631. ;    10      For/Next
  632. ;    1       While/EndWhile
  633. ;    24      If/Then or If/Then/Else
  634. ;    0       Select Case
  635. ;
  636. ;------------------------------------------------------------------------------
  637. ;                 AEGiS Corp - Break the routines, code against the machines!
  638. ;------------------------------------------------------------------------------
  639.