home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / WHOV036.ZIP / WHO.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-15  |  12KB  |  585 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  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  INTEGER012
  34.     Integer  INTEGER013
  35.     Integer  INTEGER014
  36.     Integer  INTEGER015
  37.     String   STRING001
  38.     String   STRING002
  39.     String   STRING003
  40.     String   STRING004
  41.     String   TSTRING005(99)
  42.     String   STRING006
  43.     String   TSTRING007(24)
  44.     String   TSTRING008(99)
  45.     String   STRING009
  46.     String   TSTRING010(3)
  47.     String   TSTRING011(3)
  48.     String   STRING012
  49.     String   STRING013
  50.     String   STRING014
  51.     String   STRING015
  52.     String   STRING016
  53.     String   STRING017
  54.     String   STRING018
  55.     String   STRING019
  56.     String   STRING020
  57.     String   STRING021
  58.     String   STRING022
  59.     String   STRING023
  60.     String   STRING024
  61.     String   STRING025
  62.     Time     TIME001
  63.     Time     TIME002
  64.     BigStr   BIGSTR001
  65.  
  66. ;------------------------------------------------------------------------------
  67.  
  68.     STRING001 = "0.36ß"
  69.     STRING009 = GetToken()
  70.     INTEGER015 = 0
  71.     WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "Using: @X03Who V" + STRING001, " "
  72.     STRING016 = "WHO [PPE2] V"
  73.     STRING019 = "(C) Thrust Brothers"
  74.     STRING018 = " - Legends will never die..."
  75.     If (Exist(PPEPath() + PPEName() + ".inf")) Goto LABEL001
  76.     Newline
  77.     SPrintLn "    WHO.INF cannot be located! Check for existence!"
  78.     Newline
  79.     Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  80.     End
  81.     Goto LABEL002
  82.     :LABEL001
  83.     INTEGER005 = 1
  84.     INTEGER012 = ReadLine(PPEPath() + PPEName() + ".inf", INTEGER005)
  85.     Inc INTEGER005
  86.     For INTEGER007 = 1 To INTEGER012
  87.         TSTRING005(INTEGER007) = " " + Left(ReadLine(PPEPath() + PPEName() + ".inf", INTEGER005), 42)
  88.         Inc INTEGER005
  89.     Next
  90.     :LABEL002
  91.     If (Exist(PPEPath() + PPEName() + ".dat")) Goto LABEL003
  92.     Newline
  93.     SPrintLn "    WHO.DAT cannot be located! Check for existence!"
  94.     Newline
  95.     Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  96.     End
  97.     Goto LABEL005
  98.     :LABEL003
  99.     INTEGER005 = 1
  100.     If (ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005) == "ON") Then
  101.         BOOLEAN003 = 1
  102.     Else
  103.         BOOLEAN003 = 0
  104.     Endif
  105.     If (AnsiOn()) Goto LABEL004
  106.     BOOLEAN003 = 0
  107.     SPrintLn "enable ANSI at your Config.SYS to get scroller"
  108.     :LABEL004
  109.     Inc INTEGER005
  110.     INTEGER010 = ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005)
  111.     Inc INTEGER005
  112.     BIGSTR001 = ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005)
  113.     Inc INTEGER005
  114.     If (BOOLEAN003 == 1) Then
  115.         If (Len(StripAtx(BIGSTR001)) > 251) Then
  116.             Newline
  117.             SPrintLn "    SCROLL-LINE longer as 255 Chars!"
  118.             Newline
  119.             Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  120.             End
  121.         Endif
  122.         STRING024 = Left(BIGSTR001, 4)
  123.         STRING012 = ""
  124.         For INTEGER014 = 0 To 75
  125.             STRING012 = STRING012 + Mid(BIGSTR001, 5, 1)
  126.         Next
  127.         BIGSTR001 = STRING012 + StripAtx(BIGSTR001) + STRING012 + Mid(BIGSTR001, 5, 1)
  128.         INTEGER004 = Len(BIGSTR001)
  129.     ElseIf (Len(RTrim(Left(StripAtx(BIGSTR001), 74), " ")) < 74) Then
  130.         INTEGER004 = Len(RTrim(Left(StripAtx(BIGSTR001), 74), " "))
  131.         BIGSTR001 = Left(BIGSTR001, 4) + Space((74 - INTEGER004) / 2) + BIGSTR001 + Space((74 - INTEGER004) / 2)
  132.     Else
  133.         BIGSTR001 = Left(BIGSTR001, 4) + Left(StripAtx(BIGSTR001), 74)
  134.     Endif
  135.     STRING017 = ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005)
  136.     Inc INTEGER005
  137.     For INTEGER007 = 0 To 23
  138.         TSTRING007(INTEGER007) = Left(ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005 + INTEGER007), 25)
  139.         STRING003 = Left(TSTRING007(INTEGER007), 4) + Mid(TSTRING007(INTEGER007), 5, Len(TSTRING007(INTEGER007)) - 4) + Space(30)
  140.         TSTRING007(INTEGER007) = Left(STRING003, 25)
  141.     Next
  142.     STRING013 = Left(ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005 + INTEGER007), 4)
  143.     STRING014 = Left(ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005 + INTEGER007 + 1), 4)
  144.     STRING015 = Left(ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005 + INTEGER007 + 2), 4)
  145.     STRING021 = Left(ReadLine(PPEPath() + PPEName() + ".dat", INTEGER005 + INTEGER007 + 3), 5)
  146.     :LABEL005
  147.     If (Exist(PPEPath() + PPEName() + ".top")) Goto LABEL006
  148.     Newline
  149.     SPrintLn "    WHO.TOP cannot be located! Check for existence!"
  150.     Newline
  151.     Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  152.     End
  153.     Goto LABEL009
  154.     :LABEL006
  155.     INTEGER002 = 0
  156.     FOpen 2, PPEPath() + PPEName() + ".top", 0, 0
  157.     FGet 2, TSTRING010(INTEGER002)
  158.     :LABEL007
  159.     If (Ferr(2)) Goto LABEL008
  160.     Inc INTEGER002
  161.     FGet 2, TSTRING010(INTEGER002)
  162.     Goto LABEL007
  163.     :LABEL008
  164.     FClose 2
  165.     :LABEL009
  166.     If (Exist(PPEPath() + PPEName() + ".bot")) Goto LABEL010
  167.     Newline
  168.     SPrintLn "    WHO.BOT cannot be located! Check for existence!"
  169.     Newline
  170.     Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  171.     End
  172.     Goto LABEL013
  173.     :LABEL010
  174.     INTEGER003 = 0
  175.     FOpen 2, PPEPath() + PPEName() + ".BOT", 0, 0
  176.     FGet 2, TSTRING011(INTEGER003)
  177.     :LABEL011
  178.     If (Ferr(2)) Goto LABEL012
  179.     Inc INTEGER003
  180.     FGet 2, TSTRING011(INTEGER003)
  181.     Goto LABEL011
  182.     :LABEL012
  183.     FClose 2
  184.     :LABEL013
  185.     INTEGER008 = 0
  186.     If (Exist(PPEPath() + PPEName() + ".hid")) Then
  187.         FOpen 2, PPEPath() + PPEName() + ".hid", 0, 0
  188.         FGet 2, INTEGER006
  189.         :LABEL014
  190.         If (Ferr(2)) Goto LABEL015
  191.         Inc INTEGER008
  192.         FGet 2, TSTRING008(INTEGER008)
  193.         Goto LABEL014
  194.         :LABEL015
  195.         FClose 2
  196.     Endif
  197.     BOOLEAN002 = 0
  198.     GetUser
  199.     If (INTEGER006 <= U_Sec) Then
  200.         BOOLEAN002 = 1
  201.     Endif
  202.     STRING023 = Chr(10) + Chr(37) + Chr(11) + Chr(2) + Chr(54) + Chr(74) + Chr(84) + Chr(87) + Chr(85) + Chr(86) + Chr(2) + Chr(36) + Chr(84) + Chr(81) + Chr(86) + Chr(74) + Chr(71) + Chr(84) + Chr(85)
  203.     STRING022 = Chr(2) + Chr(15) + Chr(2) + Chr(46) + Chr(71) + Chr(73) + Chr(71) + Chr(80) + Chr(70) + Chr(85) + Chr(2) + Chr(89) + Chr(75) + Chr(78) + Chr(78) + Chr(2) + Chr(80) + Chr(71) + Chr(88) + Chr(71) + Chr(84) + Chr(2) + Chr(70) + Chr(75) + Chr(71) + Chr(16) + Chr(16) + Chr(16)
  204.     If (OnLocal()) Goto LABEL016
  205.     STRING012 = ""
  206.     For INTEGER007 = 1 To Len(STRING023)
  207.         STRING012 = STRING012 + Chr(Asc(Mid(STRING023, INTEGER007, 1)) + 30)
  208.     Next
  209.     STRING023 = STRING012
  210.     STRING012 = ""
  211.     For INTEGER007 = 1 To Len(STRING022)
  212.         STRING012 = STRING012 + Chr(Asc(Mid(STRING022, INTEGER007, 1)) + 30)
  213.     Next
  214.     STRING022 = STRING012
  215.     :LABEL016
  216.     StartDisp 1
  217.     If (STRING009 == "WP") Then
  218.         KbdChkOff
  219.         INTEGER013 = 1
  220.         Cls
  221.     Endif
  222.     STRING004 = ReadLine(PCBDat(), 30)
  223.     :LABEL017
  224.     If (STRING009 == "WP") Then
  225.         AnsiPos 1, 1
  226.         Inc INTEGER013
  227.         If (INTEGER013 > 20) Then
  228.             Print "@X07"
  229.             Cls
  230.             INTEGER013 = 1
  231.         Endif
  232.     Endif
  233.     Newline
  234.     For INTEGER014 = 0 To INTEGER002 - 1
  235.         PrintLn TSTRING010(INTEGER014)
  236.     Next
  237.     For INTEGER001 = 1 To INTEGER012
  238.         RdUNet INTEGER001
  239.         If ((UN_Stat() == "") && (STRING017 == "YES")) Then
  240.             PrintLn STRING014, STRING003, TSTRING007(23), STRING013, STRING006, " ", TSTRING005(INTEGER001)
  241.             Continue
  242.         Endif
  243.         TIME001 = FileInf(STRING004 + String(INTEGER001), 3)
  244.         TIME002 = Time() - TIME001
  245.         If (TIME002 < 0) Then
  246.             TIME002 = TIME002 + 86400
  247.         Endif
  248.         TIME001 = TIME002
  249.         STRING006 = Left(String(TIME001), 5)
  250.         STRING003 = Space(1) + String(INTEGER001)
  251.         If (INTEGER001 < 10) Then
  252.             STRING003 = Space(1) + STRING003
  253.         Endif
  254.         STRING020 = UN_Name()
  255.         BOOLEAN001 = 0
  256.         If (BOOLEAN002 == 0) Then
  257.             If (INTEGER008 > 0) Then
  258.                 If (INTEGER001 == PcbNode()) Goto LABEL018
  259.                 For INTEGER009 = 1 To INTEGER008 - 1
  260.                     If (Upper(TSTRING008(INTEGER009)) == STRING020) Then
  261.                         PrintLn STRING014, STRING003, "   ", TSTRING007(0), STRING013, STRING006, " ", TSTRING005(INTEGER001)
  262.                         BOOLEAN001 = 1
  263.                         Continue
  264.                     Endif
  265.                 Next
  266.             Endif
  267.             :LABEL018
  268.             If (BOOLEAN001 == 1) Then
  269.                 Continue
  270.             Endif
  271.         Endif
  272.         If (UN_Stat() == " ") Then
  273.             PrintLn STRING014, STRING003, "   ", TSTRING007(0), STRING013, STRING006, " ", TSTRING005(INTEGER001)
  274.             Continue
  275.         Endif
  276.         If (UN_Stat() == "U") Then
  277.             Print STRING014, STRING003, "   ", TSTRING007(18), STRING013, STRING006
  278.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  279.             Continue
  280.         Endif
  281.         If (UN_Stat() == "Y") Then
  282.             PrintLn STRING014, STRING003, "   ", TSTRING007(20), STRING013, STRING006, " ", TSTRING005(INTEGER001)
  283.             Continue
  284.         Endif
  285.         If (UN_Stat() == "Z") Then
  286.             PrintLn STRING014, STRING003, "   ", TSTRING007(21), STRING013, STRING006, " ", TSTRING005(INTEGER001)
  287.             Continue
  288.         Endif
  289.         If ((Left(UN_Oper(), 3) == "(D)") && (UN_Stat() == "T")) Then
  290.             Print STRING014, STRING003, "   ", TSTRING007(1), STRING013, STRING006
  291.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  292.             Continue
  293.         Endif
  294.         If ((UN_Stat() == "T") && (Left(UN_Oper(), 1) == " ")) Then
  295.             Print STRING014, STRING003, "   ", TSTRING007(2), STRING013, STRING006
  296.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  297.             Continue
  298.         Endif
  299.         If (Left(UN_Oper(), 3) == "(U)") Then
  300.             Print STRING014, STRING003, "   ", TSTRING007(3), STRING013, STRING006
  301.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  302.             Continue
  303.         Endif
  304.         If (UN_Stat() == "E") Then
  305.             Print STRING014, STRING003, "   "
  306.             If (Mid(TSTRING007(8), 5, 1) == "@") Then
  307.                 Print Left(TSTRING007(8), 4), Lower(Mid(UN_Oper(), 5, 21))
  308.                 Goto LABEL019
  309.             Endif
  310.             Print TSTRING007(8)
  311.             :LABEL019
  312.             Print STRING013, STRING006
  313.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  314.             Continue
  315.         Endif
  316.         If (UN_Stat() == "F") Then
  317.             Print STRING014, STRING003, "   "
  318.             If (Mid(TSTRING007(9), 5, 1) == "@") Then
  319.                 Print Left(TSTRING007(9), 4), Left(UN_Oper(), 3), Lower(Mid(UN_Oper(), 4, 18))
  320.                 Goto LABEL020
  321.             Endif
  322.             Print TSTRING007(9)
  323.             :LABEL020
  324.             Print STRING013, STRING006
  325.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  326.             Continue
  327.         Endif
  328.         If (UN_Stat() == "A") Then
  329.             Print STRING014, STRING003, "  ", STRING021, TSTRING007(4), STRING013, STRING006
  330.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  331.             Continue
  332.         Endif
  333.         If (UN_Stat() == "B") Then
  334.             Print STRING014, STRING003, "   ", TSTRING007(5), STRING013, STRING006
  335.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  336.             Continue
  337.         Endif
  338.         If (UN_Stat() == "C") Then
  339.             Print STRING014, STRING003, "   ", TSTRING007(6), STRING013, STRING006
  340.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  341.             Continue
  342.         Endif
  343.         If (UN_Stat() == "D") Then
  344.             Print STRING014, STRING003, "   ", TSTRING007(7), STRING013, STRING006
  345.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  346.             Continue
  347.         Endif
  348.         If (UN_Stat() == "G") Then
  349.             Print STRING014, STRING003, "   ", TSTRING007(10), STRING013, STRING006
  350.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  351.             Continue
  352.         Endif
  353.         If (UN_Stat() == "L") Then
  354.             Print STRING014, STRING003, "   ", TSTRING007(11), STRING013, STRING006
  355.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  356.             Continue
  357.         Endif
  358.         If (UN_Stat() == "N") Then
  359.             Print STRING014, STRING003, "   "
  360.             If (Mid(TSTRING007(13), 5, 1) == "@") Then
  361.                 Print Left(TSTRING007(13), 4), Lower(Mid(UN_Oper(), 1, 21))
  362.                 Goto LABEL021
  363.             Endif
  364.             Print TSTRING007(13)
  365.             :LABEL021
  366.             PrintLn STRING013, STRING006
  367.             Continue
  368.         Endif
  369.         If (UN_Stat() == "Q") Then
  370.             Print STRING014, STRING003, "   "
  371.             If (Mid(TSTRING007(22), 5, 1) == "@") Then
  372.                 STRING002 = UN_Oper()
  373.                 If (Len(STRING002) == Len(StripAtx(STRING002))) Then
  374.                     Print Left(TSTRING007(22), 4), Mid(UN_Oper(), 1, 21)
  375.                 Endif
  376.                 If (Len(STRING002) == Len(StripAtx(STRING002))) Goto LABEL022
  377.                 Print Left(TSTRING007(22), 4), Mid(UN_Oper(), 1, 25)
  378.                 :LABEL022
  379.                 Goto LABEL023
  380.             Endif
  381.             Print TSTRING007(22)
  382.             :LABEL023
  383.             Print STRING013, STRING006
  384.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  385.             Continue
  386.         Endif
  387.         If (UN_Stat() == "O") Then
  388.             PrintLn STRING014, STRING003, "   ", TSTRING007(14), STRING013, STRING006
  389.             Continue
  390.         Endif
  391.         If (UN_Stat() == "P") Then
  392.             Print STRING014, STRING003, "   ", TSTRING007(15), STRING013, STRING006
  393.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  394.             Continue
  395.         Endif
  396.         If (UN_Stat() == "R") Then
  397.             PrintLn STRING014, STRING003, "   ", TSTRING007(16), STRING013, STRING006
  398.             Continue
  399.         Endif
  400.         If (UN_Stat() == "S") Then
  401.             Print STRING014, STRING003, "   ", TSTRING007(17), STRING013, STRING006
  402.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  403.             Continue
  404.         Endif
  405.         If (UN_Stat() == "W") Then
  406.             Print STRING014, STRING003, "   ", TSTRING007(19), STRING013, STRING006
  407.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  408.             Continue
  409.         Endif
  410.         If ((((UN_Stat() == "H") || (UN_Stat() == "I")) || (UN_Stat() == "K")) || (UN_Stat() == "V")) Then
  411.             Print STRING014, STRING003, "   ", TSTRING007(22)
  412.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  413.             Continue
  414.         Endif
  415.         If ((UN_Stat() == "M") && !(Left(UN_Oper(), 1) == "(")) Then
  416.             Print STRING014, STRING003, "   ", TSTRING007(12), STRING013, STRING006
  417.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  418.             Continue
  419.         Endif
  420.         If ((UN_Stat() == "M") && (Left(UN_Oper(), 3) == "(U)")) Then
  421.             Print STRING014, STRING003, "   ", TSTRING007(3), STRING013, STRING006
  422.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  423.             Continue
  424.         Endif
  425.         If ((UN_Stat() == "M") && (Left(UN_Oper(), 3) == "(D)")) Then
  426.             Print STRING014, STRING003, "   ", TSTRING007(1), STRING013, STRING006
  427.             PrintLn "  ", STRING015, STRING020, " - ", UN_City()
  428.             Continue
  429.         Endif
  430.     Next
  431.     FreshLine
  432.     If (INTEGER015 == 1) Then
  433.         Newline
  434.     Endif
  435.     For INTEGER014 = INTEGER015 To INTEGER003 - 1
  436.         PrintLn TSTRING011(INTEGER014)
  437.     Next
  438.     INTEGER015 = 1
  439.     Print Space(6), "@X03", STRING016, STRING001, " @X09"
  440.     SPrint STRING019, STRING018
  441.     MPrint STRING023, STRING022
  442.     If (STRING009 == "WP") Goto LABEL024
  443.     Goto LABEL025
  444.     :LABEL024
  445.     If (BOOLEAN003 == 1) Then
  446.         AnsiPos 3, GetY() - INTEGER003
  447.         For INTEGER014 = 0 To INTEGER004 - 75
  448.             Print STRING024, Mid(BIGSTR001, INTEGER014, 75)
  449.             AnsiPos 3, GetY()
  450.             For INTEGER011 = 0 To INTEGER010
  451.             Next
  452.             STRING025 = Inkey()
  453.             If (STRING025 == "") Continue
  454.             AnsiPos 1, GetY()
  455.             Print TSTRING011(0)
  456.             AnsiPos 1, GetY() + INTEGER003
  457.             Goto LABEL025
  458.         Next
  459.     Else
  460.         AnsiPos 3, GetY() - INTEGER003
  461.         Print BIGSTR001
  462.         For INTEGER011 = 0 To 50 * INTEGER010
  463.             STRING025 = Inkey()
  464.             If (STRING025 == "") Continue
  465.             AnsiPos 1, GetY()
  466.             Print TSTRING011(0)
  467.             AnsiPos 1, GetY() + INTEGER003
  468.             Goto LABEL025
  469.         Next
  470.     Endif
  471.     Goto LABEL017
  472.     :LABEL025
  473.     StartDisp 2
  474.     PrintLn " "
  475.     KbdChkOn
  476.     If (OnLocal()) Goto LABEL026
  477.     Log "@X03" + STRING016 + STRING001 + " @X09" + STRING019 + "  " + Left(STRING009, 2), 1
  478.     :LABEL026
  479.     End
  480.  
  481. ;------------------------------------------------------------------------------
  482. ;
  483. ; Usage report (before postprocessing)
  484. ;
  485. ; ■ Statements used :
  486. ;
  487. ;    6       End
  488. ;    2       Cls
  489. ;    136     Goto 
  490. ;    85      Let 
  491. ;    39      Print 
  492. ;    31      PrintLn 
  493. ;    76      If 
  494. ;    3       FOpen 
  495. ;    3       FClose 
  496. ;    6       FGet 
  497. ;    2       StartDisp 
  498. ;    1       GetUser
  499. ;    6       Log 
  500. ;    10      Inc 
  501. ;    12      Newline
  502. ;    1       KbdChkOn
  503. ;    1       KbdChkOff
  504. ;    1       RdUNet 
  505. ;    1       WrUNet 
  506. ;    8       AnsiPos 
  507. ;    1       FreshLine
  508. ;    1       SPrint 
  509. ;    6       SPrintLn 
  510. ;    1       MPrint 
  511. ;
  512. ;
  513. ; ■ Functions used :
  514. ;
  515. ;    2       *
  516. ;    2       /
  517. ;    161     +
  518. ;    14      -
  519. ;    55      ==
  520. ;    15      <
  521. ;    13      <=
  522. ;    3       >
  523. ;    24      >=
  524. ;    77      !
  525. ;    30      &&
  526. ;    15      ||
  527. ;    13      Len(
  528. ;    3       Lower()
  529. ;    1       Upper()
  530. ;    15      Mid()
  531. ;    33      Left()
  532. ;    6       Space()
  533. ;    3       Ferr()
  534. ;    49      Chr()
  535. ;    2       Asc()
  536. ;    2       RTrim()
  537. ;    1       Time()
  538. ;    7       StripAtx()
  539. ;    2       Inkey()
  540. ;    3       String()
  541. ;    1       PCBDat()
  542. ;    19      PPEPath()
  543. ;    2       PcbNode()
  544. ;    12      ReadLine()
  545. ;    2       OnLocal()
  546. ;    29      UN_Stat()
  547. ;    2       UN_Name()
  548. ;    21      UN_City()
  549. ;    13      UN_Oper()
  550. ;    1       GetToken()
  551. ;    5       Exist()
  552. ;    1       AnsiOn()
  553. ;    7       GetY()
  554. ;    1       FileInf()
  555. ;    19      PPEName()
  556. ;
  557. ;------------------------------------------------------------------------------
  558. ;
  559. ; Analysis flags : Md
  560. ;
  561. ; M - Send text to modem only ■ 4
  562. ;     Some informations are sent only to the modem, not to the local
  563. ;     screen, this is a well known way to make stealth backdoors, Check!
  564. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  565. ;
  566. ; d - Access PCBOARD.DAT ■ 2
  567. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  568. ;     for many PPE so they can find various informations on the system
  569. ;     (system paths, max number of lines in messages, ...) but it may also
  570. ;     be a way to gather vital informations.
  571. ;     ■ Search for : PCBDAT()
  572. ;
  573. ;------------------------------------------------------------------------------
  574. ;
  575. ; Postprocessing report
  576. ;
  577. ;    12      For/Next
  578. ;    0       While/EndWhile
  579. ;    49      If/Then or If/Then/Else
  580. ;    0       Select Case
  581. ;
  582. ;------------------------------------------------------------------------------
  583. ;                 AEGiS Corp - Break the routines, code against the machines!
  584. ;------------------------------------------------------------------------------
  585.