home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTUP111.ZIP / UPLOAD.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1993-12-28  |  10KB  |  676 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 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     String   STRING006
  30.     String   STRING007
  31.     String   STRING008
  32.     String   STRING009
  33.     String   STRING010
  34.     String   STRING011
  35.     String   STRING012
  36.     String   STRING013
  37.     String   STRING014
  38.     String   STRING015
  39.     String   STRING016
  40.     String   STRING017
  41.     String   STRING018
  42.     String   STRING019
  43.     String   STRING020
  44.     String   STRING021
  45.     String   STRING022
  46.     String   STRING023
  47.     String   STRING024
  48.     String   STRING025
  49.     String   STRING026
  50.     String   STRING027
  51.     String   STRING028
  52.     String   STRING029
  53.     String   STRING030
  54.     String   STRING031
  55.     String   STRING032
  56.     String   STRING033
  57.     String   STRING034
  58.     String   STRING035
  59.     String   STRING036
  60.     String   STRING037
  61.     String   STRING038
  62.     String   STRING039
  63.     String   STRING040
  64.     String   STRING041
  65.     String   STRING042
  66.     String   STRING043
  67.     String   STRING044
  68.     String   STRING045
  69.     String   STRING046
  70.     String   STRING047
  71.     String   STRING048
  72.     String   STRING049
  73.     String   STRING050
  74.     String   STRING051
  75.     String   STRING052
  76.     String   STRING053
  77.     String   STRING054
  78.     String   STRING055
  79.     String   STRING056
  80.     String   STRING057
  81.     String   STRING058
  82.     String   STRING059
  83.     String   STRING060
  84.     String   STRING061
  85.     String   STRING062
  86.     String   STRING063
  87.     String   STRING064
  88.     String   STRING065
  89.     String   STRING066
  90.     String   STRING067
  91.     String   STRING068
  92.     String   STRING069
  93.     String   STRING070
  94.     String   STRING071
  95.     String   STRING072
  96.  
  97. ;------------------------------------------------------------------------------
  98.  
  99.     STRING050 = Chr(13) + Chr(10)
  100.     INTEGER001 = 0
  101.     STRING051 = 0
  102.     STRING052 = 0
  103.     STRING057 = 1
  104.     INTEGER003 = 0
  105.     STRING048 = STRING057 + "." + String(PcbNode())
  106.     Delete STRING057 + "." + String(PcbNode())
  107.     STRING055 = CurConf()
  108.     STRING055 = Strip(STRING055, "(")
  109.     STRING055 = Strip(STRING055, ")")
  110.     AnsiPos 1, 10
  111.     STRING019 = "@X71" + Chr(84) + Chr(72) + Chr(84) + "-" + Chr(85) + Chr(80) + Chr(76) + " @X74v" + Chr(49) + "." + Chr(49) + Chr(49) + "            " + "@X76Compiled on @X7012-28-93"
  112.     STRING031 = "@X71" + Chr(67) + Chr(111) + Chr(100) + Chr(101) + Chr(100) + "@X74 " + Chr(66) + Chr(121) + "@X70 " + Chr(84) + Chr(104) + Chr(101) + "@X71 " + Chr(77) + Chr(97) + Chr(115) + Chr(116) + Chr(101) + Chr(114)
  113.     If (Exist(PPEPath() + PPEName() + "." + STRING055)) Then
  114.         DispFile PPEPath() + PPEName() + "." + STRING055, 2 + 4 + 1
  115.         Goto LABEL001
  116.     Endif
  117.     :LABEL001
  118.     FOpen 1, PPEPath() + PPEName() + ".cnf", 2, 0
  119.     If (Ferr(1)) Goto LABEL002
  120.     FGet 1, STRING024
  121.     FGet 1, STRING062
  122.     FGet 1, STRING065
  123.     FGet 1, STRING066
  124.     FGet 1, STRING067
  125.     FGet 1, STRING068
  126.     FGet 1, STRING069
  127.     FGet 1, STRING063
  128.     FGet 1, STRING064
  129.     FGet 1, STRING033
  130.     FGet 1, STRING020
  131.     FGet 1, STRING021
  132.     FGet 1, STRING022
  133.     FGet 1, STRING023
  134.     FGet 1, STRING029
  135.     FGet 1, STRING034
  136.     :LABEL002
  137.     FClose 1
  138.     Tokenize STRING021
  139.     GetToken STRING052
  140.     GetToken STRING053
  141.     STRING049 = "FLIST" + "." + String(PcbNode())
  142.     If (Exist(STRING049)) Then
  143.         Gosub LABEL019
  144.         Goto LABEL003
  145.     Endif
  146.     :LABEL003
  147.     Cls
  148.     STRING046 = ScrText(1, 1, 48, 0)
  149.     StartDisp 1
  150.     If (STRING019 <> "@X71THT-UPL @X74v1.11" + "            " + "@X76Compiled on @X7012-28-93") Goto LABEL028
  151.     AnsiPos 2, 1
  152.     PrintLn STRING019 + "@POS:60@" + STRING031
  153.     DispFile PPEPath() + "BOX2", 2 + 4 + 1
  154.     STRING032 = ReadLine(PCBDat(), 96)
  155.     AnsiPos 20, 5
  156.     PrintLn STRING032 + STRING033
  157.     :LABEL004
  158.     DefColor
  159.     Tokenize STRING022
  160.     GetToken STRING056
  161.     GetToken STRING030
  162.     STRING072 = ""
  163.     STRING059 = ""
  164.     Tokenize STRING029
  165.     GetToken STRING027
  166.     GetToken STRING028
  167.     AnsiPos STRING027, STRING028
  168.     PrintLn "            "
  169.     AnsiPos STRING052, STRING053
  170.     ClrEol
  171.     If (STRING051 <> 0) Then
  172.         AnsiPos STRING056, STRING030
  173.         Print STRING046
  174.         AnsiPos STRING056, STRING030 + 1
  175.         Print STRING046
  176.         AnsiPos STRING056, STRING030 + 2
  177.         Print STRING046
  178.         AnsiPos STRING056, STRING030 + 3
  179.         Print STRING046
  180.         AnsiPos STRING056, STRING030 + 4
  181.         Print STRING046
  182.         AnsiPos STRING056, STRING030 + 5
  183.         Print STRING046
  184.         AnsiPos STRING056, STRING030 + 6
  185.         Print STRING046
  186.         AnsiPos STRING056, STRING030 + 7
  187.         Print STRING046
  188.         AnsiPos STRING056, STRING030 + 8
  189.         Print STRING046
  190.         AnsiPos STRING056, STRING030 + 9
  191.         Print STRING046
  192.         AnsiPos STRING056, STRING030 + 10
  193.         Print STRING046
  194.         AnsiPos STRING056, STRING030 + 11
  195.         Print STRING046
  196.     Endif
  197.     AnsiPos STRING027, STRING028
  198.     InputStr "_", STRING059, "", 12, Mask_File(), 8 + 0
  199.     If (STRING059 == "") Goto LABEL025
  200.     Gosub LABEL017
  201.     Gosub LABEL014
  202.     If (Exist(STRING057 + "." + String(PcbNode()))) Then
  203.         FOpen 1, STRING057 + "." + String(PcbNode()), 0, 0
  204.     Endif
  205.     :LABEL005
  206.     If (Ferr(1)) Goto LABEL006
  207.     FGet 1, STRING070
  208.     If (STRING070 == STRING058) Goto LABEL020
  209.     Goto LABEL005
  210.     :LABEL006
  211.     STRING060 = "Y"
  212.     ClrEol
  213.     AnsiPos STRING052, STRING053
  214.     PrintLn STRING064
  215.     AnsiPos STRING052, STRING053 + 1
  216.     InputYN STRING063, STRING060, " "
  217.     If (STRING060 == YesChar()) Goto LABEL007
  218.     If (STRING060 == NoChar()) Goto LABEL008
  219.     :LABEL007
  220.     AnsiPos 0, 23
  221.     ClrEol
  222.     Goto LABEL011
  223.     :LABEL008
  224.     AnsiPos 0, 22
  225.     ClrEol
  226.     AnsiPos 0, 23
  227.     ClrEol
  228.     :LABEL009
  229.     FClose 1
  230.     STRING051 = 1
  231.     INTEGER002 = ReadLine(PCBDat(), 198)
  232.     For STRING061 = 1 To INTEGER002
  233.         STRING018 = ""
  234.         If (STRING051 == INTEGER002) Gosub LABEL010
  235.         AnsiPos STRING056, STRING030
  236.         PrintLn "@X0D" + STRING051 + "@X0E>"
  237.         AnsiPos STRING056 + 3, STRING030
  238.         InputStr "_", STRING018, " ", 45, Mask_Ascii(), 512
  239.         If (STRING018 == "") Goto LABEL023
  240.         If (Len(STRING018) >= 1) Then
  241.             If ((Len(STRING018) < STRING020) && (STRING051 == 1)) Then
  242.                 AnsiPos STRING052, STRING053
  243.                 ClrEol
  244.                 PrintLn STRING065
  245.                 Delay 25
  246.                 AnsiPos STRING052, STRING053
  247.                 ClrEol
  248.                 Goto LABEL009
  249.                 Continue
  250.             Endif
  251.             FAppend 1, STRING057 + "." + String(PcbNode()), 1, 0
  252.             If (STRING051 == 1) FPutLn 1, STRING058
  253.             If ((INTEGER003 + STRING028 > 20) && (STRING051 == 1)) Then
  254.                 Gosub LABEL013
  255.             Endif
  256.             If (INTEGER003 + STRING028 < 20) Then
  257.                 AnsiPos STRING056 + 54, INTEGER003 + STRING028
  258.                 PrintLn STRING034 + RTrim(STRING058, " ")
  259.             Endif
  260.             If (STRING051 <> INTEGER002) FPutLn 1, STRING018
  261.             If (STRING051 == INTEGER002) FPut 1, STRING018
  262.             Inc STRING030
  263.             Inc STRING051
  264.             If (STRING030 > 20) Then
  265.                 STRING030 = 9
  266.                 Inc STRING030
  267.                 STRING035 = ScrText(11, STRING030, 48, 1)
  268.                 Inc STRING030
  269.                 STRING036 = ScrText(11, STRING030, 48, 1)
  270.                 Inc STRING030
  271.                 STRING037 = ScrText(11, STRING030, 48, 1)
  272.                 Inc STRING030
  273.                 STRING038 = ScrText(11, STRING030, 48, 1)
  274.                 Inc STRING030
  275.                 STRING039 = ScrText(11, STRING030, 48, 1)
  276.                 Inc STRING030
  277.                 STRING040 = ScrText(11, STRING030, 48, 1)
  278.                 Inc STRING030
  279.                 STRING041 = ScrText(11, STRING030, 48, 1)
  280.                 Inc STRING030
  281.                 STRING042 = ScrText(11, STRING030, 48, 1)
  282.                 Inc STRING030
  283.                 STRING043 = ScrText(11, STRING030, 48, 1)
  284.                 Inc STRING030
  285.                 STRING044 = ScrText(11, STRING030, 48, 1)
  286.                 Inc STRING030
  287.                 STRING045 = ScrText(11, STRING030, 48, 1)
  288.                 Tokenize STRING022
  289.                 GetToken STRING056
  290.                 GetToken STRING030
  291.                 AnsiPos STRING056, STRING030
  292.                 Print STRING035
  293.                 Inc STRING030
  294.                 AnsiPos STRING056, STRING030
  295.                 Print STRING036
  296.                 Inc STRING030
  297.                 AnsiPos STRING056, STRING030
  298.                 Print STRING037
  299.                 Inc STRING030
  300.                 AnsiPos STRING056, STRING030
  301.                 Print STRING038
  302.                 Inc STRING030
  303.                 AnsiPos STRING056, STRING030
  304.                 Print STRING039
  305.                 Inc STRING030
  306.                 AnsiPos STRING056, STRING030
  307.                 Print STRING040
  308.                 Inc STRING030
  309.                 AnsiPos STRING056, STRING030
  310.                 Print STRING041
  311.                 Inc STRING030
  312.                 AnsiPos STRING056, STRING030
  313.                 Print STRING042
  314.                 Inc STRING030
  315.                 AnsiPos STRING056, STRING030
  316.                 Print STRING043
  317.                 Inc STRING030
  318.                 AnsiPos STRING056, STRING030
  319.                 Print STRING044
  320.                 Inc STRING030
  321.                 AnsiPos STRING056, STRING030
  322.                 Print STRING045
  323.                 Inc STRING030
  324.                 AnsiPos STRING056, STRING030
  325.                 Print STRING046
  326.             Endif
  327.         Endif
  328.     Next
  329.     Goto LABEL023
  330.     :LABEL010
  331.     Tokenize STRING023
  332.     GetToken STRING025
  333.     GetToken STRING026
  334.     AnsiPos 1, STRING026
  335.     ClrEol
  336.     AnsiPos STRING025, STRING026
  337.     PrintLn "@X8CLast Description Line@X07"
  338.     Return
  339.     :LABEL011
  340.     FClose 1
  341.     FAppend 1, STRING057 + "." + String(PcbNode()), 1, 0
  342.     FPut 1, STRING058 + STRING050
  343.     If (STRING072 == YesChar()) FPutLn 1, STRING072
  344.     FPut 1, STRING062 + STRING050 + STRING050
  345.     If (INTEGER003 + STRING028 > 20) Then
  346.         Gosub LABEL013
  347.         INTEGER003 = 21
  348.         FClose 1
  349.     Else
  350.         AnsiPos STRING056 + 54, INTEGER003 + STRING028
  351.         PrintLn STRING034 + RTrim(STRING058, " ")
  352.         FClose 1
  353.         If (Exist(STRING048)) Then
  354.             Inc INTEGER003
  355.             Goto LABEL004
  356.             Goto LABEL012
  357.         Endif
  358.         :LABEL012
  359.         End
  360.         :LABEL013
  361.         INTEGER003 = 3
  362.         Inc INTEGER003
  363.         STRING001 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  364.         Inc INTEGER003
  365.         STRING002 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  366.         Inc INTEGER003
  367.         STRING003 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  368.         Inc INTEGER003
  369.         STRING004 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  370.         Inc INTEGER003
  371.         STRING005 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  372.         Inc INTEGER003
  373.         STRING006 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  374.         Inc INTEGER003
  375.         STRING007 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  376.         Inc INTEGER003
  377.         STRING008 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  378.         Inc INTEGER003
  379.         STRING009 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  380.         Inc INTEGER003
  381.         STRING010 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  382.         Inc INTEGER003
  383.         STRING011 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  384.         Inc INTEGER003
  385.         STRING012 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  386.         Inc INTEGER003
  387.         STRING013 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  388.         Inc INTEGER003
  389.         STRING014 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  390.         Inc INTEGER003
  391.         STRING015 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  392.         Inc INTEGER003
  393.         STRING016 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  394.         Inc INTEGER003
  395.         STRING017 = RTrim(ScrText(STRING056 + 54, INTEGER003, 12, 1), " ")
  396.         INTEGER003 = 3
  397.         AnsiPos STRING056 + 54, INTEGER003
  398.         Print STRING001
  399.         Inc INTEGER003
  400.         AnsiPos STRING056 + 54, INTEGER003
  401.         Print STRING002
  402.         Inc INTEGER003
  403.         AnsiPos STRING056 + 54, INTEGER003
  404.         Print STRING003
  405.         Inc INTEGER003
  406.         AnsiPos STRING056 + 54, INTEGER003
  407.         Print STRING004
  408.         Inc INTEGER003
  409.         AnsiPos STRING056 + 54, INTEGER003
  410.         Print STRING005
  411.         Inc INTEGER003
  412.         AnsiPos STRING056 + 54, INTEGER003
  413.         Print STRING006
  414.         Inc INTEGER003
  415.         AnsiPos STRING056 + 54, INTEGER003
  416.         Print STRING007
  417.         Inc INTEGER003
  418.         AnsiPos STRING056 + 54, INTEGER003
  419.         Print STRING008
  420.         Inc INTEGER003
  421.         AnsiPos STRING056 + 54, INTEGER003
  422.         Print STRING009
  423.         Inc INTEGER003
  424.         AnsiPos STRING056 + 54, INTEGER003
  425.         Print STRING010
  426.         Inc INTEGER003
  427.         AnsiPos STRING056 + 54, INTEGER003
  428.         Print STRING011
  429.         Inc INTEGER003
  430.         AnsiPos STRING056 + 54, INTEGER003
  431.         Print STRING012
  432.         Inc INTEGER003
  433.         AnsiPos STRING056 + 54, INTEGER003
  434.         Print STRING013
  435.         Inc INTEGER003
  436.         AnsiPos STRING056 + 54, INTEGER003
  437.         Print STRING014
  438.         Inc INTEGER003
  439.         AnsiPos STRING056 + 54, INTEGER003
  440.         Print STRING015
  441.         Inc INTEGER003
  442.         AnsiPos STRING056 + 54, INTEGER003
  443.         Print STRING016
  444.         Inc INTEGER003
  445.         AnsiPos STRING056 + 54, INTEGER003
  446.         Print STRING017
  447.         Inc INTEGER003
  448.         AnsiPos STRING056 + 54, INTEGER003
  449.         Print "           "
  450.         AnsiPos STRING056 + 54, INTEGER003
  451.         Print STRING034 + STRING058
  452.         Return
  453.         :LABEL014
  454.         AnsiPos STRING052, STRING053
  455.         ClrEol
  456.         PrintLn STRING066
  457.         STRING054 = STRING024
  458.         FOpen 1, STRING054, 2, 0
  459.         :LABEL015
  460.         If (Ferr(1)) Goto LABEL016
  461.         FGet 1, STRING061
  462.         If (Exist(STRING061 + STRING058)) Goto LABEL021
  463.         Goto LABEL015
  464.         :LABEL016
  465.         FClose 1
  466.         Return
  467.         End
  468.         :LABEL017
  469.         INTEGER005 = Len(STRING059)
  470.         If ((INTEGER005 >= 1) && (INTEGER005 <= 12)) Then
  471.             INTEGER004 = InStr(STRING059, ".")
  472.             If (INTEGER004 == 0) INTEGER004 = INTEGER005 + 1
  473.             If (INTEGER004 > 9) Gosub LABEL022
  474.             If (INTEGER004 == 1) Gosub LABEL022
  475.             If ((INTEGER004 - INTEGER005 > 1) || (INTEGER004 - INTEGER005 < -3)) Gosub LABEL022
  476.             If (((FileInf(STRING059, 9) == ".") || (FileInf(STRING059, 9) == "..")) || (FileInf(STRING059, 9) == "...")) Gosub LABEL022
  477.             If (FileInf(STRING059, 9) == "") Then
  478.                 STRING059 = Strip(STRING059, ".")
  479.                 STRING058 = STRING059 + STRING032
  480.                 Return
  481.                 Goto LABEL018
  482.             Endif
  483.             STRING058 = STRING059
  484.             Return
  485.         Endif
  486.         :LABEL018
  487.         End
  488.         :LABEL019
  489.         Cls
  490.         AnsiPos STRING052, STRING053
  491.         ClrEol
  492.         PrintLn STRING067
  493.         Newline
  494.         STRING071 = "N"
  495.         PromptStr 449, STRING071, 1, "YyNn", 2 + 4 + 8 + 128
  496.         If (STRING071 == NoChar()) Goto LABEL028
  497.         If (STRING071 == YesChar()) Then
  498.             FAppend 1, STRING057 + "." + String(PcbNode()), 1, 0
  499.             FPut 1, STRING071 + STRING050
  500.             FClose 1
  501.             FreshLine
  502.             Return
  503.         Endif
  504.         :LABEL020
  505.         AnsiPos STRING052, STRING053
  506.         ClrEol
  507.         PrintLn "@X0E" + STRING058 + "  " + "@X0CIs Already in the List"
  508.         Delay 20
  509.         FClose 1
  510.         Goto LABEL004
  511.         End
  512.         :LABEL021
  513.         If (CurSec() >= SysopSec()) Then
  514.             AnsiPos STRING052, STRING053
  515.             ClrEol
  516.             InputStr "@X0F" + STRING058 + "@X0E Already Exist Replace It ", STRING060, 1, 14, "YyNncC", 4 + 8
  517.         Endif
  518.         If (STRING060 == NoChar()) Goto LABEL004
  519.         If (STRING060 == YesChar()) Then
  520.             STRING072 = YesChar()
  521.             Return
  522.         Endif
  523.         If (CurSec() < SysopSec()) Then
  524.             AnsiPos STRING052, STRING053
  525.             ClrEol
  526.             PrintLn "@X0E" + STRING058 + "  " + STRING068
  527.             Delay 20
  528.             FClose 1
  529.             Goto LABEL004
  530.             Return
  531.         Endif
  532.         End
  533.         :LABEL022
  534.         AnsiPos STRING052, STRING053
  535.         PrintLn "@X0E" + STRING059 + "  " + STRING069
  536.         Delay 20
  537.         Goto LABEL004
  538.         End
  539.         STRING047 = STRING062 + STRING050 + STRING050
  540.         KbdStuff STRING047
  541.         Return
  542.     Endif
  543.     :LABEL023
  544.     If ((INTEGER002 == STRING051) && (STRING018 <> "")) Goto LABEL024
  545.     If ((STRING051 == 1) && (STRING018 == "")) Goto LABEL004
  546.     If (STRING051 == 1) Goto LABEL024
  547.     FPut 1, Chr(13)
  548.     :LABEL024
  549.     FClose 1
  550.     Inc INTEGER003
  551.     Goto LABEL004
  552.     End
  553.     :LABEL025
  554.     If (Exist(STRING048)) Goto LABEL026
  555.     Goto LABEL028
  556.     Goto LABEL027
  557.     :LABEL026
  558.     FAppend 1, STRING057 + "." + String(PcbNode()), 1, 0
  559.     FPut 1, STRING050
  560.     FClose 1
  561.     :LABEL027
  562.     Cls
  563.     KbdStuff "UB"
  564.     KbdFile STRING048
  565.     End
  566.     :LABEL028
  567.     Cls
  568.     KbdStuff STRING050
  569.  
  570. ;------------------------------------------------------------------------------
  571. ;
  572. ; Usage report (before postprocessing)
  573. ;
  574. ; ■ Statements used :
  575. ;
  576. ;    8       End
  577. ;    4       Cls
  578. ;    13      ClrEol
  579. ;    54      Goto 
  580. ;    65      Let 
  581. ;    43      Print 
  582. ;    14      PrintLn 
  583. ;    44      If 
  584. ;    2       DispFile 
  585. ;    3       FOpen 
  586. ;    4       FAppend 
  587. ;    11      FClose 
  588. ;    18      FGet 
  589. ;    6       FPut 
  590. ;    3       FPutLn 
  591. ;    1       StartDisp 
  592. ;    1       DefColor
  593. ;    1       Delete 
  594. ;    3       InputStr 
  595. ;    1       InputYN 
  596. ;    10      Gosub 
  597. ;    9       Return
  598. ;    1       PromptStr 
  599. ;    4       Delay 
  600. ;    60      Inc 
  601. ;    1       Newline
  602. ;    5       Tokenize 
  603. ;    10      GetToken 
  604. ;    3       KbdStuff 
  605. ;    1       KbdFile 
  606. ;    68      AnsiPos 
  607. ;    1       FreshLine
  608. ;
  609. ;
  610. ; ■ Functions used :
  611. ;
  612. ;    1       -
  613. ;    157     +
  614. ;    2       -
  615. ;    25      ==
  616. ;    4       <>
  617. ;    5       <
  618. ;    2       <=
  619. ;    5       >
  620. ;    5       >=
  621. ;    22      !
  622. ;    7       &&
  623. ;    4       ||
  624. ;    3       Len(
  625. ;    3       Ferr()
  626. ;    28      Chr()
  627. ;    1       InStr()
  628. ;    19      RTrim()
  629. ;    3       NoChar()
  630. ;    5       YesChar()
  631. ;    3       Strip()
  632. ;    9       String()
  633. ;    1       Mask_File()
  634. ;    1       Mask_Ascii()
  635. ;    1       CurConf()
  636. ;    2       PCBDat()
  637. ;    4       PPEPath()
  638. ;    9       PcbNode()
  639. ;    2       ReadLine()
  640. ;    2       SysopSec()
  641. ;    2       CurSec()
  642. ;    6       Exist()
  643. ;    4       FileInf()
  644. ;    3       PPEName()
  645. ;    29      ScrText()
  646. ;
  647. ;------------------------------------------------------------------------------
  648. ;
  649. ; Analysis flags : ds
  650. ;
  651. ; d - Access PCBOARD.DAT ■ 2
  652. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  653. ;     for many PPE so they can find various informations on the system
  654. ;     (system paths, max number of lines in messages, ...) but it may also
  655. ;     be a way to gather vital informations.
  656. ;     ■ Search for : PCBDAT()
  657. ;
  658. ; s - Sysop level access ■ 5
  659. ;     Program is reading the sysop access level, this may be normal
  660. ;     but still it is very suspect. It is the best way to give a user
  661. ;     all priviledges. Check!
  662. ;     ■ Search for : SYSOPSEC()
  663. ;
  664. ;------------------------------------------------------------------------------
  665. ;
  666. ; Postprocessing report
  667. ;
  668. ;    1       For/Next
  669. ;    0       While/EndWhile
  670. ;    17      If/Then or If/Then/Else
  671. ;    0       Select Case
  672. ;
  673. ;------------------------------------------------------------------------------
  674. ;                 AEGiS Corp - Break the routines, code against the machines!
  675. ;------------------------------------------------------------------------------
  676.