home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / CNAV_290.ZIP / CNAV.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-22  |  20KB  |  889 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.     Integer  INTEGER001
  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.     String   STRING001
  29.     String   TSTRING002(4)
  30.     String   STRING003
  31.     String   TSTRING004(5)
  32.     String   STRING005
  33.     String   STRING006
  34.     String   STRING007
  35.     String   STRING008
  36.     String   STRING009
  37.     String   STRING010
  38.     String   STRING011
  39.     String   STRING012
  40.     String   STRING013
  41.     String   STRING014
  42.     String   STRING015
  43.     String   STRING016
  44.     String   STRING017
  45.     String   STRING018
  46.     String   STRING019
  47.     String   STRING020
  48.     String   STRING021
  49.     String   STRING022
  50.     String   STRING023
  51.     String   STRING024
  52.     String   STRING025
  53.     String   STRING026
  54.     String   STRING027
  55.     String   STRING028
  56.     String   STRING029
  57.     String   STRING030
  58.     String   STRING031
  59.     String   STRING032
  60.     String   STRING033
  61.     String   STRING034
  62.     String   STRING035
  63.     String   STRING036
  64.     String   STRING037
  65.     String   STRING038
  66.     String   STRING039
  67.     String   STRING040
  68.     String   STRING041
  69.     String   STRING042
  70.     String   STRING043
  71.     String   STRING044
  72.     String   STRING045
  73.     String   STRING046
  74.     String   STRING047
  75.     String   STRING048
  76.     String   STRING049
  77.     String   STRING050
  78.     String   STRING051
  79.     String   STRING052
  80.     String   STRING053
  81.     String   STRING054
  82.     String   STRING055
  83.     String   STRING056
  84.     String   STRING057
  85.     String   STRING058
  86.     String   STRING059
  87.     String   STRING060
  88.     String   STRING061
  89.     String   STRING062
  90.     String   STRING063
  91.     String   STRING064
  92.     String   STRING065
  93.     String   STRING066
  94.     String   STRING067
  95.     String   STRING068
  96.     String   STRING069
  97.     String   STRING070
  98.     String   STRING071
  99.     String   TSTRING072(200)
  100.     String   STRING073
  101.     String   STRING074
  102.     String   STRING075
  103.     String   STRING076
  104.     String   TSTRING077(200)
  105.     String   TSTRING078(200)
  106.     String   TSTRING079(200)
  107.     String   STRING080
  108.     String   STRING081
  109.     String   STRING082
  110.     String   STRING083
  111.     String   STRING084
  112.     String   STRING085
  113.     String   STRING086
  114.     String   STRING087
  115.     String   STRING088
  116.     String   STRING089
  117.     String   STRING090
  118.     String   STRING091
  119.     String   STRING092
  120.     String   STRING093
  121.     String   STRING094
  122.     String   STRING095
  123.     String   STRING096
  124.     String   STRING097
  125.     String   STRING098
  126.     String   STRING099
  127.     String   STRING100
  128.     String   STRING101
  129.     String   STRING102
  130.     String   STRING103
  131.     String   STRING104
  132.     String   STRING105
  133.     String   STRING106
  134.     String   STRING107
  135.     String   STRING108
  136.     String   STRING109
  137.     String   STRING110
  138.     String   STRING111
  139.     String   STRING112
  140.     String   STRING113
  141.     String   STRING114
  142.     String   STRING115
  143.     String   STRING116
  144.     String   STRING117
  145.     String   STRING118
  146.     String   TSTRING119(2)
  147.     String   STRING120
  148.     String   STRING121
  149.     String   STRING122
  150.     String   STRING123
  151.  
  152. ;------------------------------------------------------------------------------
  153.  
  154.     TSTRING002(1) = "C"
  155.     TSTRING002(2) = "N"
  156.     TSTRING002(3) = "A"
  157.     TSTRING002(4) = "V"
  158.     TSTRING004(1) = "v"
  159.     TSTRING004(2) = "2"
  160.     TSTRING004(3) = "."
  161.     TSTRING004(4) = "9"
  162.     TSTRING004(5) = "0"
  163.     STRING001 = TSTRING002(1) + TSTRING002(2) + TSTRING002(3) + TSTRING002(4)
  164.     STRING003 = TSTRING004(1) + TSTRING004(2) + TSTRING004(3) + TSTRING004(4) + TSTRING004(5)
  165.     STRING080 = "v"
  166.     STRING081 = "b"
  167.     STRING082 = "t"
  168.     STRING034 = "T"
  169.     STRING035 = "F"
  170.     STRING030 = TokenStr()
  171.     STRING005 = PPEPath() + STRING001 + "." + "D" + "A" + "T"
  172.     STRING007 = PPEPath() + STRING001 + "." + "C" + "O" + "L"
  173.     If (Exist(STRING005)) Goto LABEL001
  174.     Newline
  175.     PrintLn "@X08[@X0FError@X08] @X07Configuration File Error!"
  176.     Log "" + STRING001 + " " + STRING003 + " " + "" + "[" + "E" + "r" + "r" + "o" + "r" + "]", 0
  177.     End
  178.     :LABEL001
  179.     STRING084 = "User is viewing Node Activity w/ C" + "NA" + "V!"
  180.     STRING085 = "Available for CHAT; general BBS usage!"
  181.     STRING086 = "Remotely dropped to the BBS systems OS"
  182.     STRING087 = "User chatting with the System Operator"
  183.     STRING088 = "User is 'CHAT'ting in a group session!"
  184.     STRING089 = "Node has been requested to Logoff Soon"
  185.     STRING090 = "User is receiving a Broadcast Message!"
  186.     STRING091 = "Node is now processing a system event!"
  187.     STRING092 = "Modem has detected a RING; doing login"
  188.     STRING093 = "User is pageing board System Operator!"
  189.     STRING094 = "Node has been requested to DOS Recycle"
  190.     STRING095 = "User answering an online questionaire!"
  191.     STRING096 = "Initiating/completing a File Transfer!"
  192.     STRING097 = "UpLoading files with a ZModem Protocol"
  193.     STRING098 = "DownLoading files w/ a ZModem Protocol"
  194.     STRING099 = "UpLoading files with HS/Link Protocol!"
  195.     STRING100 = "Transferring files via HSLink (2 Ways)"
  196.     STRING101 = "UpLoading files w/ a PCBoard Protocol!"
  197.     STRING102 = "DownLoading files w/a PCBoard Protocol"
  198.     STRING103 = "UnAvailable for CHAT; general BBS use!"
  199.     STRING104 = "Node has been requested to drop to DOS"
  200.     STRING105 = "Node is RUSH requested to drop to DOS!"
  201.     STRING106 = "Node is open and waiting a RING detect"
  202.     STRING107 = "Node is down/closed; idle and inactive"
  203.     STRING027 = "Connect: Speed/Port"
  204.     STRING028 = "[Time]"
  205.     STRING109 = "UpLoad"
  206.     STRING110 = "D/Load"
  207.     STRING111 = "Error!"
  208.     STRING112 = "Verify"
  209.     STRING113 = "Queue!"
  210.     STRING114 = "*Send*"
  211.     STRING008 = "@X08"
  212.     STRING009 = "@X0F"
  213.     STRING010 = "@X07"
  214.     STRING011 = "@X0B"
  215.     STRING012 = "@X03"
  216.     STRING013 = "@X0D"
  217.     STRING014 = "@X05"
  218.     STRING017 = "@X0F"
  219.     STRING018 = "@X07"
  220.     STRING019 = "@X0B"
  221.     STRING020 = "@X03"
  222.     STRING021 = "@X0C"
  223.     STRING022 = "@X09"
  224.     STRING023 = "@X89"
  225.     STRING024 = "@X0F"
  226.     STRING015 = "@X08"
  227.     STRING016 = "@X0F"
  228.     FOpen 1, STRING005, 0, 0
  229.     FGet 1, STRING006
  230.     FClose 1
  231.     If (Exist(STRING007)) Then
  232.         FOpen 1, STRING007, 0, 0
  233.         FGet 1, STRING115
  234.         If (Left(STRING115, 1) == "@") STRING008 = Left(Upper(STRING115), 4)
  235.         FGet 1, STRING115
  236.         If (Left(STRING115, 1) == "@") STRING009 = Left(Upper(STRING115), 4)
  237.         FGet 1, STRING115
  238.         If (Left(STRING115, 1) == "@") STRING010 = Left(Upper(STRING115), 4)
  239.         FGet 1, STRING115
  240.         If (Left(STRING115, 1) == "@") STRING011 = Left(Upper(STRING115), 4)
  241.         FGet 1, STRING115
  242.         If (Left(STRING115, 1) == "@") STRING012 = Left(Upper(STRING115), 4)
  243.         FGet 1, STRING115
  244.         If (Left(STRING115, 1) == "@") STRING013 = Left(Upper(STRING115), 4)
  245.         FGet 1, STRING115
  246.         If (Left(STRING115, 1) == "@") STRING014 = Left(Upper(STRING115), 4)
  247.         FGet 1, STRING115
  248.         If (Left(STRING115, 1) == "@") STRING017 = Left(Upper(STRING115), 4)
  249.         FGet 1, STRING115
  250.         If (Left(STRING115, 1) == "@") STRING018 = Left(Upper(STRING115), 4)
  251.         FGet 1, STRING115
  252.         If (Left(STRING115, 1) == "@") STRING019 = Left(Upper(STRING115), 4)
  253.         FGet 1, STRING115
  254.         If (Left(STRING115, 1) == "@") STRING020 = Left(Upper(STRING115), 4)
  255.         FGet 1, STRING115
  256.         If (Left(STRING115, 1) == "@") STRING021 = Left(Upper(STRING115), 4)
  257.         FGet 1, STRING115
  258.         If (Left(STRING115, 1) == "@") STRING022 = Left(Upper(STRING115), 4)
  259.         FGet 1, STRING115
  260.         If (Left(STRING115, 1) == "@") STRING023 = Left(Upper(STRING115), 4)
  261.         FGet 1, STRING115
  262.         If (Left(STRING115, 1) == "@") STRING024 = Left(Upper(STRING115), 4)
  263.         FGet 1, STRING115
  264.         If (Left(STRING115, 1) == "@") STRING016 = Left(Upper(STRING115), 4)
  265.         FGet 1, STRING115
  266.         If (Left(STRING115, 1) == "@") STRING015 = Left(Upper(STRING115), 4)
  267.         FClose 1
  268.     Endif
  269.     STRING063 = TimeAp(Time())
  270.     STRING063 = Left(STRING063, 5) + Right(STRING063, 3)
  271.     If (Left(STRING063, 1) == " ") STRING063 = "0" + Right(STRING063, 7)
  272.     STRING055 = STRING035
  273.     STRING054 = STRING035
  274.     STRING117 = STRING015 + "[" + STRING016 + "T" + STRING015 + "]" + STRING016 + "iny, " + STRING015 + "[" + STRING016 + "B" + STRING015 + "]" + STRING016 + "rief or " + STRING015 + "[" + STRING016 + "V" + STRING015 + "]" + STRING016 + "erbose Node Display? " + STRING015 + "("
  275.     Tokenize STRING030
  276.     GetToken TSTRING119(1)
  277.     GetToken TSTRING119(2)
  278.     STRING083 = STRING080
  279.     Select Case (Upper(TSTRING119(1)))
  280.         Case "/BRIEF"
  281.             STRING083 = STRING081
  282.         Case "/VERBOSE"
  283.             STRING083 = STRING080
  284.         Case "/TINY"
  285.             STRING083 = STRING082
  286.         Case "/DEF=B"
  287.             Newline
  288.             Print STRING117
  289.             DefColor
  290.             Print "b" + STRING015 + ")"
  291.             Backup 2
  292.             InputStr "_", STRING118, 15, 1, "BbVvTtQq", 32
  293.             Backup 80
  294.             ClrEol
  295.             Select Case (Upper(STRING118))
  296.                 Case "T"
  297.                     STRING083 = STRING082
  298.                 Case "V"
  299.                     STRING083 = STRING080
  300.                 Case "Q"
  301.                     End
  302.                 Case Else
  303.                     STRING083 = STRING081
  304.             End Select
  305.         Case "/DEF=T"
  306.             Newline
  307.             Print STRING117
  308.             DefColor
  309.             Print "t" + STRING015 + ")"
  310.             Backup 2
  311.             InputStr "_", STRING118, 15, 1, "BbVvTtQq", 32
  312.             Backup 80
  313.             ClrEol
  314.             Select Case (Upper(STRING118))
  315.                 Case "B"
  316.                     STRING083 = STRING081
  317.                 Case "V"
  318.                     STRING083 = STRING080
  319.                 Case "Q"
  320.                     End
  321.                 Case Else
  322.                     STRING083 = STRING082
  323.             End Select
  324.             Newline
  325.             Print STRING117
  326.             DefColor
  327.             Print "v" + STRING015 + ")"
  328.             Backup 2
  329.             InputStr "_", STRING118, 15, 1, "BbVvTtQq", 32
  330.             Backup 80
  331.             ClrEol
  332.         Case "B"
  333.             STRING083 = STRING081
  334.         Case "T"
  335.             STRING083 = STRING082
  336.         Case "Q"
  337.             End
  338.         Case Else
  339.             STRING083 = STRING080
  340.     End Select
  341.     Select Case (STRING083)
  342.         Case STRING080
  343.             STRING108 = "" + "[" + "V" + "e" + "r" + "b" + "o" + "s" + "e" + " " + "V" + "i" + "e" + "w" + "]"
  344.         Case STRING082
  345.             STRING108 = "" + "[" + "T" + "i" + "n" + "y" + " " + "V" + "i" + "e" + "w" + "]"
  346.         Case Else
  347.             STRING108 = "" + "[" + "B" + "r" + "i" + "e" + "f" + " " + "V" + "i" + "e" + "w" + "]"
  348.     End Select
  349.     Log "" + STRING001 + " " + STRING003 + " " + STRING108, 0
  350.     Select Case (STRING083)
  351.         Case STRING081
  352.             Newline
  353.         Case STRING082
  354.             Newline
  355.         Case Else
  356.             Cls
  357.     End Select
  358.     For INTEGER007 = 1 To STRING006
  359.         RdUNet INTEGER007
  360.         If (Abort()) End
  361.         STRING058 = ReadLine(STRING005, String(INTEGER007) + 1)
  362.         STRING057 = STRING058
  363.         STRING059 = InStr(STRING057, "\")
  364.         While (STRING059 <> 0) Do
  365.             STRING057 = Right(STRING057, Len(STRING057) - STRING059)
  366.             STRING059 = InStr(STRING057, "\")
  367.         EndWhile
  368.         STRING056 = Left(STRING058, Len(STRING058) - Len(STRING057))
  369.         INTEGER005 = 1
  370.         STRING029 = "000"
  371.         STRING033 = STRING035
  372.         STRING053 = STRING035
  373.         STRING052 = STRING035
  374.         STRING054 = STRING035
  375.         STRING055 = STRING035
  376.         INTEGER006 = 0
  377.         STRING039 = Right(String(INTEGER007), 2)
  378.         STRING036 = Mixed(UN_Name())
  379.         STRING037 = Strip(UN_City(), "@")
  380.         If (INTEGER007 == PcbNode()) Then
  381.             STRING033 = STRING034
  382.             STRING038 = STRING084
  383.         Else
  384.             Select Case (UN_Stat())
  385.                 Case "A"
  386.                     STRING038 = STRING085
  387.                     STRING033 = STRING034
  388.                 Case "B"
  389.                     STRING038 = STRING086
  390.                     STRING033 = STRING034
  391.                 Case "C"
  392.                     STRING038 = STRING087
  393.                     STRING033 = STRING034
  394.                 Case "G"
  395.                     STRING038 = STRING088
  396.                     STRING033 = STRING034
  397.                 Case "L"
  398.                     STRING038 = STRING089
  399.                     STRING033 = STRING035
  400.                 Case "M"
  401.                     STRING038 = STRING090
  402.                     STRING033 = STRING034
  403.                 Case "P"
  404.                     STRING038 = STRING093
  405.                     STRING033 = STRING034
  406.                 Case "R"
  407.                     STRING038 = STRING094
  408.                     STRING033 = STRING035
  409.                 Case "S"
  410.                     STRING038 = STRING095
  411.                     STRING033 = STRING034
  412.                 Case "U"
  413.                     STRING038 = STRING103
  414.                     STRING033 = STRING034
  415.                 Case "W"
  416.                     STRING038 = STRING104
  417.                     STRING033 = STRING035
  418.                 Case "X"
  419.                     STRING038 = STRING105
  420.                     STRING033 = STRING035
  421.                 Case "N"
  422.                     STRING036 = "<Event Processing!>"
  423.                     STRING037 = "UNAVAILABLE - SYSTEM DOWN"
  424.                     STRING038 = STRING091
  425.                     STRING033 = STRING035
  426.                 Case "O"
  427.                     STRING036 = "<Login Process>"
  428.                     STRING037 = "MODEM HAS DETECTED A RING"
  429.                     STRING038 = STRING092
  430.                     STRING033 = STRING035
  431.                 Case "Y"
  432.                     Gosub LABEL017
  433.                     STRING036 = "<Open Node>"
  434.                     STRING037 = "NODE IDLE SINCE: " + STRING032
  435.                     STRING038 = STRING106
  436.                     STRING033 = STRING035
  437.                 Case "Z"
  438.                     STRING036 = "<Closed Node>"
  439.                     STRING037 = "UNAVAILABLE - SYSTEM DOWN"
  440.                     STRING038 = STRING107
  441.                     STRING033 = STRING035
  442.                 Case Chr(0)
  443.                     STRING036 = "<Closed Node>"
  444.                     STRING037 = "UNAVAILABLE - SYSTEM DOWN"
  445.                     STRING038 = STRING107
  446.                     STRING033 = STRING035
  447.                 Case " "
  448.                     Gosub LABEL017
  449.                     STRING036 = "<Open Node>"
  450.                     STRING037 = "NODE IDLE SINCE: " + STRING032
  451.                     STRING038 = STRING106
  452.                     STRING033 = STRING035
  453.                 Case "F"
  454.                     STRING033 = STRING034
  455.                     STRING041 = LTrim(LTrim(LTrim(LTrim(UN_Oper(), "F"), " "), "V"), " ")
  456.                     STRING038 = "Viewing File(s) [F V]: " + Left(STRING041, 12)
  457.                 Case "D"
  458.                     STRING033 = STRING035
  459.                     STRING047 = String(UN_Oper())
  460.                     STRING048 = ""
  461.                     While (STRING048 <> " ") Do
  462.                         STRING048 = Right(STRING047, 1)
  463.                         STRING047 = Left(STRING047, Len(STRING047) - 1)
  464.                         STRING049 = STRING048 + STRING049
  465.                     EndWhile
  466.                     STRING038 = "Inside DOOR:" + STRING049
  467.                 Case "E"
  468.                     STRING033 = STRING034
  469.                     STRING046 = RTrim(LTrim(Left(UN_Oper(), InStr(UN_Oper(), " ") - 1), "("), ")")
  470.                     STRING045 = Right(UN_Oper(), Len(UN_Oper()) - Len(STRING046) + 6)
  471.                     If (Left(STRING045, 1) == "@") Then
  472.                         STRING045 = "MACRO"
  473.                     Endif
  474.                     STRING038 = "Enter Message to: " + STRING045
  475.                 Case "T"
  476.                     STRING033 = STRING034
  477.                     STRING038 = STRING096
  478.                     Select Case (Left(UN_Oper(), 3))
  479.                         Case "(U)"
  480.                             Select Case (Left(UN_Oper(), 15))
  481.                                 Case "(U) ... (Z) ..."
  482.                                     STRING050 = STRING019 + STRING109
  483.                                     STRING051 = STRING019 + STRING109
  484.                                     STRING055 = "NOWAY"
  485.                                     STRING054 = STRING034
  486.                                     STRING052 = STRING034
  487.                                     STRING038 = STRING097
  488.                                 Case "(U) ... (H) ..."
  489.                                     STRING038 = STRING099
  490.                                     STRING054 = STRING034
  491.                                     STRING052 = STRING034
  492.                                     STRING055 = "NOWAY"
  493.                                     STRING050 = STRING019 + STRING109
  494.                                     STRING051 = STRING019 + STRING109
  495.                                 Case Else
  496.                                     STRING038 = STRING101
  497.                             End Select
  498.                         Case "(D)"
  499.                             STRING042 = LTrim(LTrim(LTrim(LTrim(UN_Oper(), "("), "D"), ")"), " ")
  500.                             STRING040 = Left(STRING042, InStr(STRING042, " ") - 1)
  501.                             STRING043 = Right(UN_Oper(), Len(UN_Oper()) - Len(STRING040) + 5)
  502.                             STRING044 = RTrim(LTrim(Left(STRING043, 3), "("), ")")
  503.                             If (Left(STRING043, 3) == "(H)") Then
  504.                                 STRING050 = STRING020 + STRING110
  505.                                 STRING051 = STRING020 + STRING110
  506.                                 STRING054 = STRING034
  507.                                 STRING052 = STRING034
  508.                                 STRING038 = STRING100
  509.                                 STRING055 = STRING034
  510.                                 Goto LABEL002
  511.                             Endif
  512.                             If (Left(STRING043, 3) == "(Z)") Then
  513.                                 STRING038 = STRING098
  514.                                 STRING054 = STRING034
  515.                                 STRING052 = STRING034
  516.                                 STRING051 = STRING020 + STRING110
  517.                                 STRING050 = STRING020 + STRING110
  518.                                 STRING055 = STRING034
  519.                                 Goto LABEL002
  520.                             Endif
  521.                             STRING038 = STRING102
  522.                             STRING052 = STRING034
  523.                             STRING055 = STRING034
  524.                     End Select
  525.                     :LABEL002
  526.                 Case Else
  527.                     STRING033 = STRING035
  528.                     STRING036 = "<Closed Node>"
  529.                     STRING037 = "UNAVAILABLE - SYSTEM DOWN"
  530.                     STRING038 = STRING107
  531.                 Endif
  532.         End Select
  533.         STRING116 = STRING056 + "P" + "C" + "BO" + "ARD" + ".S" + "Y" + "S"
  534.         If (STRING033 == STRING034) Then
  535.             If (STRING083 <> STRING082) Then
  536.                 If (U_RecNum(UN_Name()) <> -1) Then
  537.                     GetAltUser U_RecNum(UN_Name())
  538.                     STRING029 = Right(String(U_Sec), 3)
  539.                 Endif
  540.             Endif
  541.             If (Exist(STRING116)) Then
  542.                 FOpen 1, STRING116, 0, 0
  543.                 FSeek 1, 13, 0
  544.                 FRead 1, STRING060, 5
  545.                 FRead 1, STRING061, 5
  546.                 FSeek 1, 33, 1
  547.                 FRead 1, STRING062, 5
  548.                 FClose 1
  549.                 If (STRING060 == "11520") STRING060 = "115200"
  550.                 If (STRING061 == "11520") STRING061 = "115200"
  551.                 If ((STRING060 == "") || (STRING060 == Space(5))) Then
  552.                     STRING025 = STRING027
  553.                     STRING026 = STRING028
  554.                 Else
  555.                     STRING025 = "Connect: " + RTrim(STRING061, " ") + "/" + RTrim(STRING060, " ")
  556.                     STRING026 = LTrim(Left(TimeAp(STRING062), 5) + Lower(Right(TimeAp(STRING062), 2)), " ")
  557.                 Endif
  558.             Else
  559.                 STRING026 = STRING028
  560.                 STRING025 = STRING027
  561.             Endif
  562.         Else
  563.             STRING026 = STRING028
  564.             STRING025 = STRING027
  565.         Endif
  566.         Select Case (STRING083)
  567.             Case STRING081
  568.                 If (INTEGER007 <= 1) PrintLn STRING008 + "╒════════╤═══════════════════════════╤════════════════════════════════════════╕@X07"
  569.                 PrintLn STRING008 + "│" + STRING009 + " NODE" + STRING039 + STRING008 + " │ " + STRING011 + STRING036 + Space(26 - Len(STRING036)) + STRING008 + "│ " + STRING013 + Left(STRING038, 38) + STRING008 + " │@X07"
  570.                 PrintLn STRING008 + "│" + STRING010 + " SL:" + STRING029 + STRING008 + " │ " + STRING012 + Left(STRING037, 26) + STRING008 + "│ " + STRING014 + "Login: " + STRING026 + Space(31 - Len(STRING025 + STRING026)) + STRING025 + STRING008 + " │@X07"
  571.                 If (INTEGER007 <> STRING006) PrintLn STRING008 + "├────────┼───────────────────────────┼────────────────────────────────────────┤@X07"
  572.                 STRING054 = STRING035
  573.                 STRING055 = STRING035
  574.             Case STRING082
  575.                 If (INTEGER007 <= 1) PrintLn STRING008 + "═══════════════════════════════════════════════════════════════════════════════@X07"
  576.                 PrintLn STRING008 + "-" + STRING009 + " Node" + STRING039 + STRING008 + " - " + STRING011 + STRING036 + Space(26 - Len(STRING036)) + STRING008 + "- " + STRING013 + Left(STRING038, 38) + STRING008 + " -@X07"
  577.                 STRING054 = STRING035
  578.                 STRING055 = STRING035
  579.             Case Else
  580.                 PrintLn STRING008 + "╒════════╤═══════════════════════════╤════════════════════════════════════════╕@X07"
  581.                 PrintLn STRING008 + "│" + STRING009 + " NODE" + STRING039 + STRING008 + " │ " + STRING011 + STRING036 + Space(26 - Len(STRING036)) + STRING008 + "│ " + STRING013 + Left(STRING038, 38) + STRING008 + " │@X07"
  582.                 PrintLn STRING008 + "│" + STRING010 + " SL:" + STRING029 + STRING008 + " │ " + STRING012 + Left(STRING037, 26) + STRING008 + "│ " + STRING014 + "Login: " + STRING026 + Space(31 - Len(STRING025 + STRING026)) + STRING025 + STRING008 + " │@X07"
  583.                 PrintLn STRING008 + "╘════════╧═══════════════════════════╧════════════════════════════════════════╛@X07"
  584.         End Select
  585.         If (STRING054 == STRING034) Gosub LABEL003
  586.         If (STRING055 == STRING034) Gosub LABEL009
  587.     Next
  588.     Select Case (STRING083)
  589.         Case STRING081
  590.             PrintLn STRING008 + "╘════════╧═══════════════════════════╧════════════════════════════════════════╛@X07"
  591.             PrintLn STRING008 + "                                                └ " + "[" + "M" + "S" + "] " + "C" + "N" + "A" + "V " + STRING003 + " / " + STRING063 + " ┘ @X07"
  592.         Case STRING082
  593.             PrintLn STRING008 + "═══════════════════════════════════════════════════════════════════════════════@X07"
  594.             PrintLn STRING008 + "                                                └ " + "[" + "M" + "S" + "] " + "C" + "N" + "A" + "V " + STRING003 + " / " + STRING063 + " ┘ @X07"
  595.         Case Else
  596.             PrintLn STRING008 + "╒═════════════════════════════════════════════════════════════════════════════╕@X07"
  597.             PrintLn STRING008 + "└─ " + "[" + "M" + "S" + "] " + "C" + "N" + "A" + "V " + STRING003 + ": " + "C" + "u" + "s" + "t" + "o" + "m " + "N" + "od" + "e A" + "c" + "ti" + "v" + "i" + "t" + "y V" + "i" + "ew" + "er " + "P" + "P" + "E " + "───────────────[" + STRING063 + "]─┘@X07"
  598.     End Select
  599.     DefColor
  600.     End
  601.     :LABEL003
  602.     STRING073 = "C" + "N" + "A" + "VT" + "EM" + "P." + String(INTEGER007)
  603.     STRING071 = ReadLine(STRING005, String(INTEGER007) + 1)
  604.     INTEGER002 = 1
  605.     If (Exist(STRING071)) Then
  606.         If (FileInf(STRING071, 4) == 0) Goto LABEL009
  607.         Copy STRING071, STRING073
  608.         STRING053 = STRING034
  609.         FOpen 1, STRING073, 0, 0
  610.         :LABEL004
  611.         If (Ferr(1)) Goto LABEL008
  612.         FGet 1, STRING064
  613.         If (Left(STRING064, 1) == " ") Goto LABEL007
  614.         STRING065 = Left(STRING064, 1)
  615.         If (STRING065 == "H") Then
  616.             STRING050 = STRING019 + STRING109
  617.             Goto LABEL005
  618.         Endif
  619.         If (STRING065 == "h") Then
  620.             STRING050 = STRING020 + STRING110
  621.             Goto LABEL005
  622.         Endif
  623.         If (Upper(STRING065) == "V") Then
  624.             STRING050 = STRING021 + STRING112
  625.             Goto LABEL005
  626.         Endif
  627.         If (Upper(STRING065) == "E") Then
  628.             STRING050 = STRING021 + STRING111
  629.             Goto LABEL005
  630.         Endif
  631.         STRING050 = STRING051
  632.         :LABEL005
  633.         Gosub LABEL015
  634.         While ((STRING067 == " ")) Gosub LABEL015
  635.         STRING066 = Left(STRING064, InStr(STRING064, " ") - 1)
  636.         If (STRING066 == 0) Then
  637.             STRING066 = "0"
  638.             Goto LABEL006
  639.         Endif
  640.         If (STRING066 < 1000) Then
  641.             STRING066 = "1"
  642.             Goto LABEL006
  643.         Endif
  644.         If (STRING066 < 999999) Then
  645.             STRING066 = STRING066 / 1024
  646.             Goto LABEL006
  647.         Endif
  648.         STRING066 = STRING066 / 1024
  649.         STRING066 = Left(STRING066, Len(STRING066) - 3) + "," + Right(STRING066, 3)
  650.         :LABEL006
  651.         STRING064 = Right(STRING064, Len(STRING064) - InStr(Upper(STRING064), "ERRORS") + 5)
  652.         Gosub LABEL015
  653.         While ((STRING067 == " ")) Gosub LABEL015
  654.         STRING068 = Left(STRING064, InStr(STRING064, " ") - 1)
  655.         STRING064 = Right(STRING064, Len(STRING064) - Len(STRING068))
  656.         Gosub LABEL015
  657.         While ((STRING067 == " ")) Gosub LABEL015
  658.         STRING069 = Left(STRING064, InStr(STRING064, " ") - 1)
  659.         STRING064 = Right(STRING064, Len(STRING064) - Len(STRING069))
  660.         Gosub LABEL015
  661.         STRING070 = Upper(Left(STRING064, InStr(STRING064, " ") - 1))
  662.         While (InStr(STRING070, "/") <> 0) Do
  663.             STRING070 = Right(STRING070, Len(STRING070) - InStr(STRING070, "/"))
  664.         EndWhile
  665.         While (InStr(STRING070, "\") <> 0) Do
  666.             STRING070 = Right(STRING070, Len(STRING070) - InStr(STRING070, "\"))
  667.         EndWhile
  668.         TSTRING072(INTEGER002) = STRING070
  669.         INTEGER006 = INTEGER002
  670.         Inc INTEGER002
  671.         STRING031 = STRING008
  672.         INTEGER001 = 1
  673.         While (((1 < 0) && (INTEGER001 >= 20 - Len(RTrim(Left(STRING070, 12), " ")) + Len(STRING066) + 1)) || ((1 >= 0) && (INTEGER001 <= 20 - Len(RTrim(Left(STRING070, 12), " ")) + Len(STRING066) + 1))) Do
  674.             STRING031 = STRING031 + "·"
  675.             INTEGER001 = INTEGER001 + 1
  676.         EndWhile
  677.         PrintLn STRING008 + "                                     ▐│" + Space(3 - Len(INTEGER005)) + "[" + STRING024 + String(INTEGER005) + STRING008 + "] [" + STRING050 + STRING008 + "] " + STRING017 + RTrim(Left(STRING070, 12), " ") + " " + STRING031 + " " + STRING018 + STRING066 + "k " + STRING008 + "│▌"
  678.         Inc INTEGER005
  679.         If (Abort()) Then
  680.             FClose 1
  681.             Delete STRING073
  682.             End
  683.         Endif
  684.         :LABEL007
  685.         Goto LABEL004
  686.         :LABEL008
  687.         FClose 1
  688.         Delete STRING073
  689.     Endif
  690.     :LABEL009
  691.     If (STRING055 == "NOWAY") Goto LABEL014
  692.     STRING074 = STRING056 + "FL" + "IS" + "T." + String(INTEGER007)
  693.     If ("" == STRING034) Goto LABEL014
  694.     If (Exist(STRING074)) Then
  695.         STRING053 = STRING034
  696.         FOpen 3, STRING074, 0, 0
  697.         STRING075 = "X"
  698.         STRING076 = STRING034
  699.         INTEGER004 = 1
  700.         While (STRING075 <> "") Do
  701.             FRead 3, STRING075, 66
  702.             FRead 3, TSTRING077(INTEGER004), 63
  703.             If (STRING075 == "") Continue
  704.             If (INTEGER006 == 0) Then
  705.                 TSTRING078(INTEGER004) = STRING022 + STRING113
  706.                 Goto LABEL010
  707.             Endif
  708.             For INTEGER008 = 1 To INTEGER006
  709.                 If (TSTRING072(INTEGER008) == TSTRING077(INTEGER004)) Goto LABEL013
  710.             Next
  711.             If (STRING076 == STRING034) Then
  712.                 TSTRING078(INTEGER004) = STRING023 + STRING114
  713.                 STRING076 = STRING035
  714.                 Goto LABEL010
  715.             Endif
  716.             TSTRING078(INTEGER004) = STRING022 + STRING113
  717.             :LABEL010
  718.             STRING075 = RTrim(STRING075, " ")
  719.             If (Exist(STRING075)) Then
  720.                 TSTRING079(INTEGER004) = FileInf(STRING075, 4)
  721.                 If (TSTRING079(INTEGER004) == 0) Then
  722.                     TSTRING079(INTEGER004) = "0"
  723.                     Goto LABEL011
  724.                 Endif
  725.                 If (TSTRING079(INTEGER004) < 1000) Then
  726.                     TSTRING079(INTEGER004) = "1"
  727.                     Goto LABEL011
  728.                 Endif
  729.                 If (TSTRING079(INTEGER004) < 999999) Then
  730.                     TSTRING079(INTEGER004) = TSTRING079(INTEGER004) / 1024
  731.                     Goto LABEL011
  732.                 Endif
  733.                 TSTRING079(INTEGER004) = TSTRING079(INTEGER004) / 1024
  734.                 TSTRING079(INTEGER004) = Left(TSTRING079(INTEGER004), Len(TSTRING079(INTEGER004)) - 3) + "," + Right(TSTRING079(INTEGER004), 3)
  735.                 :LABEL011
  736.                 Goto LABEL012
  737.             Endif
  738.             TSTRING079(INTEGER004) = "?"
  739.             :LABEL012
  740.             Inc INTEGER004
  741.             :LABEL013
  742.         EndWhile
  743.         FClose 3
  744.         INTEGER003 = INTEGER004
  745.         For INTEGER004 = 1 To INTEGER003 - 1
  746.             STRING031 = STRING008
  747.             INTEGER001 = 1
  748.             While (((1 < 0) && (INTEGER001 >= 20 - Len(RTrim(Left(TSTRING077(INTEGER004), 12), " ")) + Len(TSTRING079(INTEGER004)) + 1)) || ((1 >= 0) && (INTEGER001 <= 20 - Len(RTrim(Left(TSTRING077(INTEGER004), 12), " ")) + Len(TSTRING079(INTEGER004)) + 1))) Do
  749.                 STRING031 = STRING031 + "·"
  750.                 INTEGER001 = INTEGER001 + 1
  751.             EndWhile
  752.             PrintLn STRING008 + "                                     ▐│" + Space(3 - Len(INTEGER005)) + "[" + STRING024 + String(INTEGER005) + STRING008 + "] [" + TSTRING078(INTEGER004) + STRING008 + "] " + STRING017 + RTrim(Left(TSTRING077(INTEGER004), 12), " ") + " " + STRING031 + " " + STRING018 + TSTRING079(INTEGER004) + "k " + STRING008 + "│▌"
  753.             Inc INTEGER005
  754.         Next
  755.     Endif
  756.     :LABEL014
  757.     STRING055 = STRING035
  758.     If (STRING053 == STRING034) Gosub LABEL016
  759.     Return
  760.     :LABEL015
  761.     STRING064 = Right(STRING064, Len(STRING064) - 1)
  762.     STRING067 = Left(STRING064, 1)
  763.     Return
  764.     :LABEL016
  765.     PrintLn STRING008 + "                                      ╘══════════════════════════════════════╛ @X07"
  766.     Return
  767.     :LABEL017
  768.     STRING122 = ReadLine("PCBOARD.DAT", 200)
  769.     FOpen 1, STRING122, 0, 0
  770.     FSeek 1, 77, 0
  771.     For INTEGER009 = 1 To INTEGER007 - 1
  772.         FSeek 1, 77, 1
  773.     Next
  774.     FRead 1, STRING120, 54
  775.     FRead 1, STRING121, 6
  776.     FClose 1
  777.     If ((STRING121 == "") || (STRING121 == Space(6))) Then
  778.         STRING032 = "UNKNOWN!"
  779.     Else
  780.         STRING121 = TimeAp(STRING121)
  781.         STRING121 = Left(STRING121, 5) + Right(STRING121, 3)
  782.         If (Left(STRING121, 1) == " ") STRING121 = "0" + Right(STRING121, 7)
  783.         STRING032 = STRING121
  784.     Endif
  785.     Return
  786.     STRING123 = "    ■ Custom Encrypt-O-Matic PPE Compression v2.11 * [/Minimum Encryption] ■     "
  787.  
  788. ;------------------------------------------------------------------------------
  789. ;
  790. ; Usage report (before postprocessing)
  791. ;
  792. ; ■ Statements used :
  793. ;
  794. ;    7       End
  795. ;    1       Cls
  796. ;    3       ClrEol
  797. ;    176     Goto 
  798. ;    313     Let 
  799. ;    6       Print 
  800. ;    20      PrintLn 
  801. ;    125     If 
  802. ;    6       FOpen 
  803. ;    7       FClose 
  804. ;    19      FGet 
  805. ;    4       DefColor
  806. ;    2       Delete 
  807. ;    2       Log 
  808. ;    3       InputStr 
  809. ;    12      Gosub 
  810. ;    4       Return
  811. ;    4       Inc 
  812. ;    6       Newline
  813. ;    1       Tokenize 
  814. ;    2       GetToken 
  815. ;    1       RdUNet 
  816. ;    6       Backup 
  817. ;    4       FSeek 
  818. ;    7       FRead 
  819. ;    1       Copy 
  820. ;    1       GetAltUser 
  821. ;
  822. ;
  823. ; ■ Functions used :
  824. ;
  825. ;    1       -
  826. ;    4       /
  827. ;    366     +
  828. ;    34      -
  829. ;    98      ==
  830. ;    8       <>
  831. ;    10      <
  832. ;    8       <=
  833. ;    12      >=
  834. ;    88      !
  835. ;    12      &&
  836. ;    8       ||
  837. ;    33      Len(
  838. ;    1       Lower()
  839. ;    35      Upper()
  840. ;    72      Left()
  841. ;    19      Right()
  842. ;    9       Space()
  843. ;    1       Ferr()
  844. ;    1       Chr()
  845. ;    13      InStr()
  846. ;    2       Abort()
  847. ;    11      LTrim()
  848. ;    11      RTrim()
  849. ;    1       Time()
  850. ;    4       TimeAp()
  851. ;    1       Strip()
  852. ;    9       String()
  853. ;    2       PPEPath()
  854. ;    1       PcbNode()
  855. ;    3       ReadLine()
  856. ;    22      UN_Stat()
  857. ;    3       UN_Name()
  858. ;    1       UN_City()
  859. ;    13      UN_Oper()
  860. ;    6       Exist()
  861. ;    1       TokenStr()
  862. ;    2       FileInf()
  863. ;    2       U_RecNum()
  864. ;    1       Mixed()
  865. ;
  866. ;------------------------------------------------------------------------------
  867. ;
  868. ; Analysis flags : R
  869. ;
  870. ; R - Read user ■ 5
  871. ;     User records are read, this may signify that someone wants to get
  872. ;     various informations about a user (for example his password), but
  873. ;     this may also be normal for a program accessing user records (for
  874. ;     example a User Editor)
  875. ;     ■ Search for : GETALTUSER
  876. ;
  877. ;------------------------------------------------------------------------------
  878. ;
  879. ; Postprocessing report
  880. ;
  881. ;    4       For/Next
  882. ;    7       While/EndWhile
  883. ;    27      If/Then or If/Then/Else
  884. ;    10      Select Case
  885. ;
  886. ;------------------------------------------------------------------------------
  887. ;                 AEGiS Corp - Break the routines, code against the machines!
  888. ;------------------------------------------------------------------------------
  889.