home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / PPE / LIQUID / LQDUP191.ZIP / LQD_UPLD.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1995-01-10  |  9.7 KB  |  594 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.     Boolean  BOOLEAN002
  21.     Boolean  TBOOLEAN003(15)
  22.     Integer  INTEGER001
  23.     Integer  INTEGER002
  24.     Integer  INTEGER003
  25.     Integer  INTEGER004
  26.     Integer  INTEGER005
  27.     Integer  INTEGER006
  28.     Integer  INTEGER007
  29.     Integer  INTEGER008
  30.     Integer  INTEGER009
  31.     Integer  INTEGER010
  32.     Integer  INTEGER011
  33.     Integer  TINTEGER012(50)
  34.     Integer  INTEGER013
  35.     Integer  INTEGER014
  36.     Integer  INTEGER015
  37.     Integer  INTEGER016
  38.     Integer  INTEGER017
  39.     String   STRING001
  40.     String   STRING002
  41.     String   STRING003
  42.     String   STRING004
  43.     String   STRING005
  44.     String   TSTRING006(9)
  45.     String   STRING007
  46.     String   STRING008
  47.     String   STRING009
  48.     String   STRING010
  49.     String   TSTRING011(2)
  50.     String   STRING012
  51.     String   STRING013
  52.     String   STRING014
  53.     String   STRING015
  54.     String   STRING016
  55.     String   STRING017
  56.     String   STRING018
  57.     String   STRING019
  58.     String   STRING020
  59.     String   STRING021
  60.     String   TSTRING022(50)
  61.     String   TSTRING023(50)
  62.     String   STRING024
  63.     String   TSTRING025(50)
  64.     String   STRING026
  65.     String   STRING027
  66.     String   STRING028
  67.     String   STRING029
  68.     String   STRING030
  69.     String   STRING031
  70.     String   STRING032
  71.     String   STRING033
  72.     String   STRING034
  73.     Declare  Procedure PROC001()
  74.     Declare  Procedure PROC003()
  75.  
  76. ;------------------------------------------------------------------------------
  77.  
  78.     Goto LABEL007
  79.     End
  80.  
  81. ;------------------------------------------------------------------------------
  82.  
  83.     Procedure PROC001()
  84.  
  85.     String   STRING021
  86.     String   TSTRING022(50)
  87.     String   TSTRING023(50)
  88.     String   STRING024
  89.     String   TSTRING025(50)
  90.     String   STRING026
  91.     String   STRING027
  92.     Integer  INTEGER013
  93.     Integer  INTEGER014
  94.     Integer  INTEGER015
  95.     Integer  INTEGER016
  96.     Boolean  TBOOLEAN003(15)
  97.  
  98.     INTEGER013 = 0
  99.     BOOLEAN001 = 0
  100.     FOpen 1, STRING013, 0, 0
  101.     :LABEL001
  102.     STRING021 = ""
  103.     FGet 1, STRING021
  104.     If (Ferr(1)) Goto LABEL002
  105.     Tokenize STRING021
  106.     If (TokCount() == 5) STRING024 = GetToken()
  107.     If (TokCount() == 6) Then
  108.         STRING024 = GetToken()
  109.         STRING024 = STRING024 + " " + GetToken()
  110.     Endif
  111.     If (TokCount() == 7) Then
  112.         STRING024 = GetToken()
  113.         STRING024 = STRING024 + " " + GetToken()
  114.         STRING024 = STRING024 + " " + GetToken()
  115.     Endif
  116.     If (TokCount() == 8) Then
  117.         STRING024 = GetToken()
  118.         STRING024 = STRING024 + " " + GetToken()
  119.         STRING024 = STRING024 + " " + GetToken()
  120.         STRING024 = STRING024 + " " + GetToken()
  121.     Endif
  122.     If (U_Name() == STRING024) Then
  123.         Inc INTEGER013
  124.         TSTRING022(INTEGER013) = GetToken()
  125.         TSTRING025(INTEGER013) = GetToken()
  126.         TSTRING023(INTEGER013) = GetToken()
  127.         TINTEGER012(INTEGER013) = GetToken()
  128.     Endif
  129.     Goto LABEL001
  130.     :LABEL002
  131.     FClose 1
  132.     If (INTEGER013 == 0) Goto LABEL006
  133.     INTEGER015 = INTEGER013
  134.     For INTEGER014 = 1 To INTEGER013
  135.         TBOOLEAN003(INTEGER014) = 1
  136.     Next
  137.     PrintLn "@X0FHey @USER@, you have incompleted Uploads. "
  138.     Print "View them [", YesChar(), "/", NoChar(), "] "
  139.     InputYN "_", STRING026, YesChar()
  140.     If (STRING026 == NoChar()) Goto LABEL006
  141.     Cls
  142.     :LABEL003
  143.     AnsiPos 1, 1
  144.     STRING026 = "R"
  145.     AnsiPos 26, GetY()
  146.     PrintLn "@X0DFilename         Size"
  147.     For INTEGER014 = 1 To INTEGER013
  148.         Newline
  149.         If (TBOOLEAN003(INTEGER014)) Then
  150.             AnsiPos 4, GetY()
  151.             Print "@X09*"
  152.         Endif
  153.         If (TBOOLEAN003(INTEGER014)) Goto LABEL004
  154.         AnsiPos 4, GetY()
  155.         Print "@X09 "
  156.         :LABEL004
  157.         AnsiPos 6, GetY()
  158.         Print "@X08[@X0F", INTEGER014, "@X08/@X0F", INTEGER013, "@X08]"
  159.         AnsiPos 26, GetY()
  160.         Print "@X0F", TSTRING022(INTEGER014)
  161.         AnsiPos 43, GetY()
  162.         Print TSTRING025(INTEGER014)
  163.     Next
  164.     Newlines 2
  165.     InputStr "@X07[@X0FR@X07]@X0Fesume tagged,  @X07[@X0FD@X07]@X0Felete tagged  or @X07[@X0FE@X07]@X0Fdit taglist ?", STRING026, 143, 1, "RDrdEe" + Chr(13), 2
  166.     If (Upper(STRING026) == "R") Then
  167.         BOOLEAN001 = 1
  168.         For INTEGER014 = 1 To INTEGER015
  169.             If (TBOOLEAN003(INTEGER014)) Then
  170.                 TINTEGER012(50) = TINTEGER012(INTEGER014)
  171.                 BOOLEAN001 = 1
  172.                 Copy STRING012 + TSTRING022(INTEGER014), TSTRING023(INTEGER014)
  173.                 Delete STRING012 + TSTRING022(INTEGER014)
  174.                 Shell 0, STRING027, PPEPath() + "LOGALTER.EXE", STRING013 + " " + TSTRING023(INTEGER014)
  175.             Endif
  176.         Next
  177.     Endif
  178.     If (Upper(STRING026) == "D") Then
  179.         For INTEGER014 = 1 To INTEGER015
  180.             If (TBOOLEAN003(INTEGER014)) Then
  181.                 Delete STRING012 + TSTRING022(INTEGER014)
  182.                 Shell 0, STRING027, PPEPath() + "LOGALTER.EXE", STRING013 + " " + TSTRING023(INTEGER014)
  183.             Endif
  184.         Next
  185.     Endif
  186.     If (Upper(STRING026) == "E") Then
  187.         Newline
  188.         InputStr "@X0FTAG / UNTAG WICH FILE ? [Q=Abort] ", INTEGER016, 11, 2, "0123456789Q", 2
  189.         If (Upper(INTEGER016) <> "Q") Then
  190.             If (TBOOLEAN003(INTEGER016) == 1) Then
  191.                 TBOOLEAN003(INTEGER016) = 0
  192.                 Goto LABEL005
  193.             Endif
  194.             TBOOLEAN003(INTEGER016) = 1
  195.         Endif
  196.         :LABEL005
  197.         Goto LABEL003
  198.     Endif
  199.     :LABEL006
  200.  
  201.     EndProc
  202.  
  203.  
  204. ;------------------------------------------------------------------------------
  205.  
  206.     Procedure PROC003()
  207.  
  208.     String   STRING028
  209.     String   STRING029
  210.     String   STRING030
  211.     String   STRING031
  212.     String   STRING032
  213.     String   STRING033
  214.     String   STRING034
  215.     Integer  INTEGER017
  216.  
  217.     STRING033 = Left(STRING018, 8)
  218.     Tokenize STRING033
  219.     If (TokCount() > 1) Then
  220.         STRING034 = GetToken() + "_"
  221.         STRING034 = STRING034 + GetToken()
  222.         STRING033 = Left(STRING034, 8)
  223.     Endif
  224.     FOpen 1, PPEPath() + STRING033 + ".KEY", 0, 0
  225.     FGet 1, STRING032
  226.     FGet 1, STRING028
  227.     FGet 1, STRING032
  228.     FGet 1, STRING029
  229.     FGet 1, STRING032
  230.     FClose 1
  231.     BOOLEAN002 = 1
  232.     For INTEGER017 = 1 To Len(STRING028)
  233.         STRING030 = STRING030 + Chr(Mid(STRING028, INTEGER017 * 3, 3) - 451)
  234.     Next
  235.     If (STRING030 <> STRING017) BOOLEAN002 = 0
  236.     For INTEGER017 = 1 To Len(STRING029)
  237.         STRING031 = STRING031 + Chr(Mid(STRING029, INTEGER017 * 3, 3) - 362)
  238.     Next
  239.     If (STRING031 <> STRING018) BOOLEAN002 = 0
  240.     If (BOOLEAN002) Then
  241.         STRING010 = "@X0FREGISTERED TO " + Mixed(STRING018)
  242.         While ((Len(STRING010) < 32)) STRING010 = STRING010 + " "
  243.     Endif
  244.  
  245.     EndProc
  246.  
  247.     :LABEL007
  248.     BOOLEAN002 = 0
  249.     STRING019 = GetToken()
  250.     STRING017 = "UPLOAD"
  251.     STRING010 = "@X8FPLE@X88ASE @X8F@BEEP@REG@X88i@X8FST@X88e@X8FR!@X07              "
  252.     GetUser
  253.     FOpen 1, PPEPath() + PPEName() + ".CNF", 0, 0
  254.     FGet 1, STRING018
  255.     If (Upper(STRING018) <> Upper(ReadLine(PCBDat(), 2))) Then
  256.         PrintLn "@XCFWRONG SYSOPNAME"
  257.         Stop
  258.     Endif
  259.     FGet 1, STRING002
  260.     STRING002 = Upper(STRING002)
  261.     FGet 1, INTEGER001
  262.     FGet 1, INTEGER002
  263.     FGet 1, STRING012
  264.     FGet 1, STRING013
  265.     FGet 1, STRING020
  266.     FClose 1
  267.     STRING015 = Left(STRING018, 8)
  268.     Tokenize STRING015
  269.     If (TokCount() > 1) Then
  270.         STRING016 = GetToken() + "_"
  271.         STRING016 = STRING016 + GetToken()
  272.         STRING015 = Left(STRING016, 8)
  273.     Endif
  274.     If (Exist(PPEPath() + STRING015 + ".KEY")) Then
  275.         PROC003()
  276.     Endif
  277.     If (STRING019 == "/RESUME") Then
  278.         PROC001()
  279.         If (BOOLEAN001 == 0) End
  280.     Endif
  281.     If (STRING020 == "YES") PROC001()
  282.     INTEGER007 = 0
  283.     INTEGER011 = 0
  284.     If (Exist(PPEPath() + PPEName() + ".CNF")) Then
  285.         If (Exist(PPEPath() + "COLOR.CNF")) Goto LABEL008
  286.         FCreate 2, PPEPath() + "COLOR.CNF", 1, 3
  287.         FPutLn 2, "@X0D"
  288.         FPutLn 2, "@X09"
  289.         FClose 2
  290.         :LABEL008
  291.         STRING003 = Chr(13)
  292.         For INTEGER003 = 1 To 8
  293.             STRING004 = String(Random(9))
  294.             STRING005 = STRING005 + STRING004
  295.         Next
  296.         STRING005 = STRING005 + ".ZIP"
  297.         FOpen 2, PPEPath() + "COLOR.CNF", 2, 0
  298.         FGet 2, TSTRING011(1)
  299.         FGet 2, TSTRING011(2)
  300.         FClose 2
  301.         If (STRING002 == "NO") Goto LABEL009
  302.         If (CurConf() <> INTEGER001) Join INTEGER001
  303.     Else
  304.         PrintLn "@X08C@X07ONFI@X08G F@X07IL@X08E M@X07ISSIN@X08G @X0F!"
  305.         STRING001 = YesChar()
  306.         InputYN "S@X07HALL @X0FI C@X07REATE @X0FO@X07NE @X0F?", STRING001, 8
  307.         If (STRING001 <> YesChar()) End
  308.         FCreate 2, PPEPath() + PPEName() + ".CNF", 2, 3
  309.         FPutLn 2, "JOHN DOE"
  310.         FPutLn 2, "NO"
  311.         FPutLn 2, "0"
  312.         FPutLn 2, "1"
  313.         FPutLn 2, "F:\DUMMY\"
  314.         FPutLn 2, "F:\PCB\LQD\LQD-UPLD.LOG"
  315.         FPutLn 2, "F:\PCB\LQD\"
  316.         FPutLn 2, "NO"
  317.         FPutLn 2, ";*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*"
  318.         FPutLn 2, "; Line 1: Sysopname"
  319.         FPutLn 2, "; Line 2: Use ONE Upload Conferece [or Current] [YES/NO]"
  320.         FPutLn 2, "; Line 3: Conference to store Uploads"
  321.         FPutLn 2, "; Line 4: Conference to store Private Uploads"
  322.         FPutLn 2, "; Line 5: Location of your Holddir [for Upload resume]"
  323.         FPutLn 2, "; Line 6: Location of your Logfile [for Upload resume]"
  324.         FPutLn 2, "; Line 7: Line to the Path of ppe"
  325.         FPutLn 2, "; Line 8: Always Check resume files when executing without /RESUME"
  326.         FPutLn 2, "; Coded by CyZ and ABDO of LiQUiD in '95"
  327.         FClose 2
  328.         End
  329.     Endif
  330.     :LABEL009
  331.     If (Exist(PPEPath() + "FILE_ID.TXT")) Goto LABEL010
  332.     FCreate 3, PPEPath() + "FILE_ID.TXT", 1, 3
  333.     FPutLn 3, "3"
  334.     FPutLn 3, "FILE_ID.DIZ WILL AUTOMATICALLY ADDED    "
  335.     FPutLn 3, "IF NONE IS FOUND, YOU WILL BE PROMPTED  "
  336.     FPutLn 3, "AFTER UPLOADING!                        "
  337.     :LABEL010
  338.     FOpen 4, PPEPath() + "FILE_ID.TXT", 0, 0
  339.     FGet 4, INTEGER004
  340.     If (INTEGER004 > 9) INTEGER004 = 9
  341.     For INTEGER003 = 1 To INTEGER004
  342.         FGet 4, TSTRING006(INTEGER003)
  343.     Next
  344.     INTEGER003 = 1
  345.     :LABEL011
  346.     If (INTEGER003 == INTEGER004 + 1) Goto LABEL017
  347.     STRING007 = STRING007 + TSTRING006(INTEGER003) + STRING003
  348.     Inc INTEGER003
  349.     Goto LABEL011
  350.     :LABEL012
  351.     STRING008 = Inkey()
  352.     If (STRING008 == "") Goto LABEL012
  353.     STRING008 = Upper(STRING008)
  354.     If (STRING008 == "C") Goto LABEL013
  355.     If (STRING008 == "P") Goto LABEL015
  356.     If (STRING008 == "R") Goto LABEL016
  357.     If (STRING008 == "#") Goto LABEL019
  358.     If (STRING008 == Chr(13)) Goto LABEL018
  359.     If (STRING008 == Chr(27)) End
  360.     If ((STRING008 == "LEFT") || (STRING008 == "DOWN")) Then
  361.         KbdStuff STRING003
  362.         ShowOff
  363.         Join CurConf() - 1
  364.         ShowOn
  365.         KbdFlush
  366.         Goto LABEL017
  367.     Endif
  368.     If ((STRING008 == "RIGHT") || (STRING008 == "UP")) Then
  369.         KbdStuff STRING003
  370.         ShowOff
  371.         Join CurConf() + 1
  372.         ShowOn
  373.         KbdFlush
  374.         Goto LABEL017
  375.     Endif
  376.     Goto LABEL012
  377.     :LABEL013
  378.     If (!Exist(PPEPath() + "CONFEREN.CE")) Gosub LABEL014
  379.     Cls
  380.     INTEGER005 = 1
  381.     For INTEGER003 = 1 To ReadLine(PCBDat(), 108)
  382.         INTEGER006 = GetY()
  383.         INTEGER009 = INTEGER003 - 1
  384.         If (INTEGER006 == U_PageLen - 2) Then
  385.             INTEGER005 = INTEGER005 + 23
  386.             INTEGER007 = INTEGER007 + 1
  387.             INTEGER006 = 1
  388.         Endif
  389.         If (INTEGER007 == 3) Then
  390.             INTEGER006 = 1
  391.             INTEGER005 = 1
  392.             INTEGER007 = 0
  393.             More
  394.             Cls
  395.         Endif
  396.         AnsiPos INTEGER005, INTEGER006
  397.         Print "@POFF@" + TSTRING011(1)
  398.         STRING009 = ReadLine(PPEPath() + "CONFEREN.CE", INTEGER003)
  399.         Tokenize STRING009
  400.         INTEGER010 = GetToken()
  401.         INTEGER011 = Len(INTEGER010)
  402.         If (Len(STRING009) > 20) STRING009 = Left(STRING009, 20)
  403.         If ((Right(STRING009, 4) <> "USED") && (INTEGER010 <= CurSec())) Then
  404.             If (INTEGER003 <= 10) Print "0"
  405.             Print INTEGER009
  406.             Print Space(3)
  407.             Print TSTRING011(2)
  408.             Print Right(STRING009, Len(STRING009) - INTEGER011)
  409.             Newline
  410.         Endif
  411.     Next
  412.     AnsiPos 1, U_PageLen
  413.     INTEGER008 = CurConf()
  414.     InputStr " @X0FJOI@X09N @X0FWHIC@X09H @X0FCONFERENC@X09E _", INTEGER008, 15, Len(ReadLine(PCBDat(), 108)), "0123456789", 2
  415.     If (CurConf() <> INTEGER008) Then
  416.         KbdStuff STRING003
  417.         ShowOff
  418.         Join INTEGER008
  419.         ShowOn
  420.         KbdFlush
  421.     Endif
  422.     Goto LABEL017
  423.     :LABEL014
  424.     PrintLn "@CLS@CN@X09F @X0FDEFINITIO@X09N@X0F NO@X09T @X0FFOUN@X09D@X07, @X0FCREATIN@X09G @X0FNE@X09W @X0FON@X09E @X07..."
  425.     FCreate 1, PPEPath() + "CONFEREN.CE", 1, 3
  426.     STRING009 = ReadLine(ReadLine(PCBDat(), 31), 23)
  427.     STRING009 = STRING009 + " " + ReadLine(ReadLine(PCBDat(), 31), 1)
  428.     FPutLn 1, STRING009
  429.     INTEGER003 = 1
  430.     While (((1 < 0) && (INTEGER003 >= ReadLine(PCBDat(), 108) - 1)) || ((1 >= 0) && (INTEGER003 <= ReadLine(PCBDat(), 108) - 1))) Do
  431.         STRING009 = ReadLine(ReadLine(PCBDat(), 31), INTEGER003 * 33 + 23)
  432.         STRING004 = " " + ReadLine(ReadLine(PCBDat(), 31), INTEGER003 * 33 + 1)
  433.         If (STRING009 == "0") STRING004 = " NOT USED"
  434.         STRING009 = STRING009 + STRING004
  435.         FPutLn 1, STRING009
  436.         INTEGER003 = INTEGER003 + 1
  437.     EndWhile
  438.     PrintLn "@X0FREADY !.@DELAY:15@.@DELAY:15@.@DELAY:15@."
  439.     FClose 1
  440.     Return
  441.     :LABEL015
  442.     KbdStuff STRING003
  443.     ShowOff
  444.     Join INTEGER002
  445.     ShowOn
  446.     KbdFlush
  447.     Goto LABEL018
  448.     :LABEL016
  449.     Cls
  450.     DispFile PPEPath() + "UPLOAD.RUL", 0
  451.     While ((STRING014 == "")) STRING014 = Inkey()
  452.     :LABEL017
  453.     KbdFlush
  454.     If (BOOLEAN001) Then
  455.         KbdStuff STRING003
  456.         ShowOff
  457.         Join TINTEGER012(50)
  458.         ShowOn
  459.         KbdFlush
  460.     Else
  461.         Cls
  462.         DispFile PPEPath() + "LAYOUT.PCB", 0
  463.         Gosub LABEL012
  464.     Endif
  465.     :LABEL018
  466.     Cls
  467.     KbdFlush
  468.     PrintLn "@X0FL@X08i@X0FQ@X08ui@X0FD U@X08pload @X0Fv 1@X08.@X0F91          ", STRING010, " @X0FC@X08oded @X0Fb@X08y @X0FC@X08y@X0FZ @X07& @X0FAB@X08d@X0F0"
  469.     Newline
  470.     DispFile PPEPath() + "PREUPL.LQD", 0
  471.     FCreate 3, PPEPath() + "CONFLQD." + I2S(PcbNode(), 10), 2, 0
  472.     FPutLn 3, String(CurConf())
  473.     FClose 3
  474.     KbdStuff "UB" + STRING003
  475.     KbdStuff STRING005 + STRING003 + STRING007 + STRING003 + STRING003
  476.     End
  477.     :LABEL019
  478.     PrintLn "@CLS@Wait for v2.0"
  479.     End
  480.  
  481. ;------------------------------------------------------------------------------
  482. ;
  483. ; Usage report (before postprocessing)
  484. ;
  485. ; ■ Statements used :
  486. ;
  487. ;    7       End
  488. ;    6       Cls
  489. ;    1       More
  490. ;    74      Goto 
  491. ;    98      Let 
  492. ;    12      Print 
  493. ;    8       PrintLn 
  494. ;    65      If 
  495. ;    3       DispFile 
  496. ;    5       FCreate 
  497. ;    5       FOpen 
  498. ;    8       FClose 
  499. ;    17      FGet 
  500. ;    27      FPutLn 
  501. ;    1       GetUser
  502. ;    2       Delete 
  503. ;    3       InputStr 
  504. ;    2       InputYN 
  505. ;    2       Gosub 
  506. ;    1       Return
  507. ;    2       Inc 
  508. ;    4       Newline
  509. ;    1       Newlines 
  510. ;    4       Tokenize 
  511. ;    2       Shell 
  512. ;    1       Stop
  513. ;    7       KbdStuff 
  514. ;    6       Join 
  515. ;    9       AnsiPos 
  516. ;    5       ShowOn
  517. ;    5       ShowOff
  518. ;    1       Copy 
  519. ;    7       KbdFlush
  520. ;    2       EndProc
  521. ;
  522. ;
  523. ; ■ Functions used :
  524. ;
  525. ;    4       *
  526. ;    84      +
  527. ;    8       -
  528. ;    31      ==
  529. ;    8       <>
  530. ;    11      <
  531. ;    12      <=
  532. ;    4       >
  533. ;    20      >=
  534. ;    40      !
  535. ;    21      &&
  536. ;    12      ||
  537. ;    9       Len(
  538. ;    8       Upper()
  539. ;    2       Mid()
  540. ;    5       Left()
  541. ;    2       Right()
  542. ;    1       Space()
  543. ;    1       Ferr()
  544. ;    6       Chr()
  545. ;    1       Random()
  546. ;    1       U_Name()
  547. ;    2       NoChar()
  548. ;    4       YesChar()
  549. ;    2       Inkey()
  550. ;    2       String()
  551. ;    6       CurConf()
  552. ;    10      PCBDat()
  553. ;    20      PPEPath()
  554. ;    1       PcbNode()
  555. ;    15      ReadLine()
  556. ;    1       CurSec()
  557. ;    20      GetToken()
  558. ;    5       Exist()
  559. ;    1       I2S()
  560. ;    7       GetY()
  561. ;    3       PPEName()
  562. ;    6       TokCount()
  563. ;    1       Mixed()
  564. ;
  565. ;------------------------------------------------------------------------------
  566. ;
  567. ; Analysis flags : Sd
  568. ;
  569. ; S - Shell to DOS ■ 5
  570. ;     This may be normal if the PPE need to execute an external command,
  571. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  572. ;     or usefull (sorting, maintenance,...). Check!
  573. ;     ■ Search for : SHELL
  574. ;
  575. ; d - Access PCBOARD.DAT ■ 2
  576. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  577. ;     for many PPE so they can find various informations on the system
  578. ;     (system paths, max number of lines in messages, ...) but it may also
  579. ;     be a way to gather vital informations.
  580. ;     ■ Search for : PCBDAT()
  581. ;
  582. ;------------------------------------------------------------------------------
  583. ;
  584. ; Postprocessing report
  585. ;
  586. ;    9       For/Next
  587. ;    1       While/EndWhile
  588. ;    26      If/Then or If/Then/Else
  589. ;    0       Select Case
  590. ;
  591. ;------------------------------------------------------------------------------
  592. ;                 AEGiS Corp - Break the routines, code against the machines!
  593. ;------------------------------------------------------------------------------
  594.