home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTMT212.ZIP / THT-INFO.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-12-28  |  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.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     String   STRING001
  28.     String   STRING002
  29.     String   STRING003
  30.     String   STRING004
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.     String   STRING010
  37.     String   STRING011
  38.     String   STRING012
  39.     String   STRING013
  40.     String   STRING014
  41.     String   STRING015
  42.     String   STRING016
  43.     String   STRING017
  44.     String   STRING018
  45.     String   STRING019
  46.     String   STRING020
  47.     String   STRING021
  48.     String   STRING022
  49.     String   STRING023
  50.     String   STRING024
  51.     String   STRING025
  52.     String   STRING026
  53.     String   STRING027
  54.     String   STRING028
  55.     String   STRING029
  56.     String   STRING030
  57.     String   STRING031
  58.     String   STRING032
  59.     String   STRING033
  60.     String   STRING034
  61.  
  62. ;------------------------------------------------------------------------------
  63.  
  64.     STRING030 = ReadLine(PCBDat(), 2)
  65.     STRING030 = Strip(STRING030, ">")
  66.     STRING030 = Strip(STRING030, "<")
  67.     STRING030 = Strip(STRING030, "~")
  68.     STRING030 = Strip(STRING030, "!")
  69.     STRING030 = Strip(STRING030, "@")
  70.     STRING030 = Strip(STRING030, "#")
  71.     STRING030 = Strip(STRING030, "$")
  72.     STRING030 = Strip(STRING030, "%")
  73.     STRING030 = Strip(STRING030, "^")
  74.     STRING030 = Strip(STRING030, "&")
  75.     STRING030 = Strip(STRING030, "*")
  76.     STRING030 = Strip(STRING030, "(")
  77.     STRING030 = Strip(STRING030, ")")
  78.     STRING030 = Strip(STRING030, "+")
  79.     STRING030 = Strip(STRING030, "=")
  80.     STRING030 = Strip(STRING030, "\")
  81.     STRING030 = Strip(STRING030, "|")
  82.     STRING030 = Strip(STRING030, "]")
  83.     STRING030 = Strip(STRING030, "[")
  84.     STRING030 = Strip(STRING030, "}")
  85.     STRING030 = Strip(STRING030, "{")
  86.     STRING030 = Strip(STRING030, "'")
  87.     STRING030 = Strip(STRING030, ":")
  88.     STRING030 = Strip(STRING030, ";")
  89.     STRING030 = Strip(STRING030, "?")
  90.     STRING030 = Strip(STRING030, "/")
  91.     STRING030 = Strip(STRING030, ".")
  92.     STRING030 = Strip(STRING030, " ")
  93.     STRING030 = Right(STRING030, 2)
  94.     STRING033 = ReadLine(PCBDat(), 94)
  95.     STRING033 = Strip(STRING033, ">")
  96.     STRING033 = Strip(STRING033, "<")
  97.     STRING033 = Strip(STRING033, "~")
  98.     STRING033 = Strip(STRING033, "!")
  99.     STRING033 = Strip(STRING033, "@")
  100.     STRING033 = Strip(STRING033, "#")
  101.     STRING033 = Strip(STRING033, "$")
  102.     STRING033 = Strip(STRING033, "%")
  103.     STRING033 = Strip(STRING033, "^")
  104.     STRING033 = Strip(STRING033, "&")
  105.     STRING033 = Strip(STRING033, "*")
  106.     STRING033 = Strip(STRING033, "(")
  107.     STRING033 = Strip(STRING033, ")")
  108.     STRING033 = Strip(STRING033, "+")
  109.     STRING033 = Strip(STRING033, "=")
  110.     STRING033 = Strip(STRING033, "\")
  111.     STRING033 = Strip(STRING033, "|")
  112.     STRING033 = Strip(STRING033, "]")
  113.     STRING033 = Strip(STRING033, "[")
  114.     STRING033 = Strip(STRING033, "}")
  115.     STRING033 = Strip(STRING033, "{")
  116.     STRING033 = Strip(STRING033, "'")
  117.     STRING033 = Strip(STRING033, ":")
  118.     STRING033 = Strip(STRING033, ";")
  119.     STRING033 = Strip(STRING033, "?")
  120.     STRING033 = Strip(STRING033, "/")
  121.     STRING033 = Strip(STRING033, ".")
  122.     STRING033 = Strip(STRING033, " ")
  123.     STRING031 = STRING031 + Right(STRING033, 2)
  124.     STRING032 = STRING030 + STRING031 + "FO"
  125.     STRING023 = Carrier()
  126.     STRING007 = Time()
  127.     STRING006 = Date()
  128.     FDefIn 1
  129.     FDefOut 4
  130.     STRING024 = "@X0E" + Chr(84) + Chr(72) + Chr(84) + "-" + Chr(73) + Chr(110) + Chr(102) + Chr(111) + Chr(70) + Chr(111) + Chr(114) + Chr(109) + " @X09v" + Chr(50) + "." + Chr(48) + Chr(51) + "  " + "@X0ECompiled on @X0C12-27-93@X07"
  131.     If (STRING024 <> "@X0ETHT-InfoForm @X09v2.03" + "  " + "@X0ECompiled on @X0C12-27-93@X07") Goto LABEL020
  132.     GetUser
  133.     FClose 1
  134.     FOpen 1, PPEPath() + PPEName() + ".LVL", 0, 0
  135.     FDGet STRING022
  136.     FDGet STRING025
  137.     FDGet INTEGER006
  138.     FDGet STRING016
  139.     FClose 1
  140.     FClose 1
  141.     StartDisp 1
  142.     DispFile PPEPath() + "dsclm.pcb", 0
  143.     STRING021 = YesChar()
  144.     InputYN "                Do You Agree To This@X0F ???", STRING021, 9
  145.     If (STRING021 == "N") Then
  146.         U_Sec = 0
  147.         DelUser
  148.         PutUser
  149.         Hangup
  150.         Goto LABEL001
  151.     Endif
  152.     :LABEL001
  153.     Cls
  154.     StartDisp 1
  155.     RestScrn
  156.     STRING011 = 10
  157.     STRING012 = 1
  158.     AnsiPos 18, 1
  159.     PrintLn STRING024
  160.     AnsiPos 23, 2
  161.     PrintLn "@X0F┌──────────────────────────────┐@X07"
  162.     AnsiPos 23, 3
  163.     PrintLn "@X07│@X1F   ∙  New User InfoForms  ∙   @X07│@X07"
  164.     AnsiPos 23, 4
  165.     PrintLn "@X08└──────────────────────────────┘@X07"
  166.     AnsiPos 2, 5
  167.     PrintLn "@X0EUse Cursor Keys to move the @X74HighLighted Bar@X0E  or @X0C""@X09A@X0C""@X0F,@X0C ""@X09Z@X0C""@X0E or @X0FSpaceBar@X0    
  168.     AnsiPos 2, 6
  169.     PrintLn "@X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07▄@X07"
  170.     AnsiPos 2, 7
  171.     PrintLn "@X0F█@X71                                                 @X08█@X07"
  172.     AnsiPos 2, 8
  173.     PrintLn "@X0F█@X71 No.  InfoForm Title         Status       Req'd  @X08█ @X0F▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄@X07▄@X07"
  174.     AnsiPos 2, 9
  175.     PrintLn "@X0F█@X71─────────────────────────────────────────────────@X08█ @X0F█@X71                         @X08█@X07"
  176.     FOpen 1, PPEPath() + PPEName() + ".cfg", 0, 0
  177.     FDGet INTEGER007
  178.     For INTEGER005 = 1 To INTEGER007
  179.         AnsiPos 2, STRING011
  180.         PrintLn "@X0F█@X71                                                 @X08█ @X0F█@X71                         @X08█@X07"
  181.         FOpen 2, PPEPath() + "infocfg." + STRING012, 0, 0
  182.         FGet 2, STRING010
  183.         FDGet STRING003
  184.         Gosub LABEL007
  185.         If (!Exist(STRING012 + ".LCK") && (STRING010 == "YES")) FCreate 3, STRING012 + "." + STRING010, 1, 0
  186.         FClose 3
  187.         If (Exist(STRING012 + ".lck")) Then
  188.             AnsiPos 3, STRING011
  189.             PrintLn "@X79(@X7E" + STRING012 + "@X79)@X78   " + STRING003 + "@POS:32@@X74Completed@X71" + "@POS:46@" + STRING010
  190.             AnsiPos 3 + 55, STRING011
  191.             PrintLn "@X71" + "Complete InfoForm " + STRING012
  192.         Else
  193.             AnsiPos 3, STRING011
  194.             PrintLn "@X79(@X7E" + STRING012 + "@X79)@X78   " + STRING003 + "@POS:32@@X71InCompleted@X74" + "@POS:46@" + STRING010
  195.             AnsiPos 3 + 55, STRING011
  196.             PrintLn "@X71" + "Complete InfoForm " + STRING012
  197.         Endif
  198.         Inc STRING011
  199.         Inc STRING012
  200.         FClose 2
  201.     Next
  202.     FClose 1
  203.     AnsiPos 2, STRING011
  204.     PrintLn "@X0F█@X71                                                 @X08█ @X0F█@X71   Quit Infoform Booth   @X08█@X07"
  205.     Inc STRING011
  206.     AnsiPos 2, STRING011
  207.     PrintLn "@X0F█@X71                                                 @X08█ @X07▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  208.     Inc STRING011
  209.     AnsiPos 2, STRING011
  210.     PrintLn "@X07▀@X08▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  211.     If (STRING025 == S2I(STRING032, 33)) Goto LABEL002
  212.     STRING034 = "@X0C" + Chr(60) + Chr(60) + Chr(60) + "@X0C" + Chr(85) + Chr(110) + Chr(82) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + "@X0C" + Chr(62) + Chr(62) + Chr(62)
  213.     If (STRING034 <> "@X0C<<<@X0CUnRegistered@X0C>>>") Then
  214.         AnsiPos 16, 7
  215.         Print STRING034
  216.         AnsiPos 58, 9
  217.         Print STRING034
  218.         AnsiPos 10, 19
  219.         STRING017 = "@X8C" + Chr(72) + Chr(97) + Chr(99) + Chr(107) + Chr(101) + Chr(100) + "!!!! Copy oF InFoForM"
  220.         Print STRING017
  221.         AnsiPos 10, 20
  222.         Print "@X0FPlease Get a Real Copy from <<THT>> @ 314-355-5472"
  223.         Goto LABEL020
  224.     Else
  225.         AnsiPos 20, 7
  226.         Print STRING034
  227.         AnsiPos 58, 9
  228.         Print STRING034
  229.     Endif
  230.     :LABEL002
  231.     Inc STRING011
  232.     Inc STRING011
  233.     Inc STRING011
  234.     STRING009 = ""
  235.     RestScrn
  236.     AnsiPos 2, STRING011 - 2
  237.     STRING014 = GetY()
  238.     STRING015 = STRING014 - 3
  239.     KbdStuff Chr(32)
  240.     :LABEL003
  241.     If (BOOLEAN001) Goto LABEL005
  242.     STRING013 = Inkey()
  243.     If (STRING013 == Chr(13)) Then
  244.         STRING004 = Left(ScrText(58, STRING015 + 1, 19, 0), 1)
  245.         STRING004 = STRING004 + Right(ScrText(58, STRING015 + 1, 19, 0), 1)
  246.         STRING004 = Right(STRING004, 1)
  247.     Else
  248.         If (((((((((STRING013 == Chr(32)) || (STRING013 == "UP")) || (STRING013 == "DOWN")) || (STRING013 == "LEFT")) || (STRING013 == "RIGHT")) || (STRING013 == "z")) || (STRING013 == "Z")) || (STRING013 == "a")) || (STRING013 == "A")) Then
  249.             AnsiPos 55, STRING015
  250.             If (STRING015 == STRING014 - 3) Then
  251.                 Print STRING009
  252.                 Goto LABEL004
  253.             Endif
  254.             AnsiPos 55, STRING015 + 1
  255.             Print STRING009
  256.             :LABEL004
  257.             AnsiPos 55, STRING015
  258.             If (STRING015 == 9) STRING015 = STRING015 + INTEGER007 + 1
  259.             AnsiPos 55, STRING015
  260.             STRING009 = ScrText(55, STRING015, 25, 1) + "@X08"
  261.             Color 78
  262.             AnsiPos 55, STRING015
  263.             Print ScrText(55, STRING015, 25, 0) + "@X08"
  264.             Dec STRING015
  265.         Endif
  266.         Goto LABEL003
  267.     Endif
  268.     :LABEL005
  269.     If (Exist(STRING004 + ".LCK")) Then
  270.         Inc STRING011
  271.         AnsiPos 15, 21
  272.         PrintLn "@X0EYou have Already Filled Out that One@X07"
  273.         Dec STRING011
  274.         Wait
  275.         Goto LABEL001
  276.     ElseIf ((STRING004 <= INTEGER007) && (STRING004 <> "h")) Then
  277.         FCreate 1, STRING004 + ".LCK", 1, 0
  278.         FClose 1
  279.         Goto LABEL009
  280.     ElseIf (!Exist("*.YES") && (STRING004 == "h")) Then
  281.         Goto LABEL013
  282.     Else
  283.         Goto LABEL006
  284.     Endif
  285.     FClose 1
  286.     :LABEL006
  287.     Inc STRING011
  288.     AnsiPos 15, STRING011
  289.     For STRING008 = 1 To INTEGER007
  290.         FreshLine
  291.         If (Exist(STRING008 + ".YES")) PrintLn "@X0EInfoForm @X8C" + STRING008 + "@X0E is Required!!!"
  292.     Next
  293.     Wait
  294.     AnsiPos 15, STRING011
  295.     For STRING008 = 1 To INTEGER007
  296.         FreshLine
  297.         If (Exist(STRING008 + ".YES")) PrintLn "                                            "
  298.     Next
  299.     Dec STRING011
  300.     Goto LABEL001
  301.     End
  302.     :LABEL007
  303.     Tokenize U_Name()
  304.     If (TokCount() == 3) Then
  305.         GetToken STRING026
  306.         GetToken STRING027
  307.         GetToken STRING028
  308.         STRING026 = Left(STRING026, 3)
  309.         STRING027 = Right(STRING028, 4)
  310.         STRING026 = Trim(STRING026, " ")
  311.         STRING027 = Trim(STRING027, " ")
  312.         If (Exist(PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + STRING012)) Then
  313.             FCreate 5, STRING012 + ".lck", 1, 0
  314.             FClose 5
  315.         Endif
  316.     ElseIf (TokCount() <= 2) Then
  317.         GetToken STRING026
  318.         GetToken STRING027
  319.         STRING026 = Left(STRING026, 3)
  320.         STRING027 = Right(STRING027, 4)
  321.         STRING026 = Trim(STRING026, " ")
  322.         STRING027 = Trim(STRING027, " ")
  323.         If (Exist(PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + STRING012)) Then
  324.             FCreate 5, STRING012 + ".lck", 1, 0
  325.             FClose 5
  326.             If (Exist(PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + ".grp")) Goto LABEL008
  327.             FCreate 5, PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + ".GRP", 1, 0
  328.             FPutLn 5, U_City
  329.             FClose 5
  330.         Endif
  331.     Endif
  332.     :LABEL008
  333.     Return
  334.     :LABEL009
  335.     FClose 2
  336.     Newline
  337.     StartDisp 1
  338.     FCreate 5, PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + "vot", 1, 0
  339.     FClose 5
  340.     DispFile PPEPath() + PPEName() + "." + STRING004, 0
  341.     FAppend 3, PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + STRING004, 1, 0
  342.     FAppend 4, PPEPath() + "APPS\answers." + STRING004, 1, 0
  343.     FOpen 2, PPEPath() + "infocfg." + STRING004, 0, 0
  344.     FGet 2, STRING010
  345.     FGet 2, STRING002
  346.     FreshLine
  347.     FPutLn 3, "─────────────────────────────────────────"
  348.     FPutLn 4, "─────────────────────────────────────────"
  349.     FPutLn 3, " InfoForm PPE   " + STRING006 + "        " + STRING007
  350.     FPutLn 4, " InfoForm PPE   " + STRING006 + "        " + STRING007
  351.     FPutLn 3, "                                         "
  352.     FPutLn 4, "                                         "
  353.     FPutLn 3, "User: " + U_Name() + "   " + "City " + U_City
  354.     FPutLn 4, "User: " + U_Name() + "   " + "City " + U_City
  355.     FPutLn 3, "Connected @ " + STRING023 + "    To Node " + String(PcbNode())
  356.     FPutLn 4, "Connected @ " + STRING023 + "    To Node " + String(PcbNode())
  357.     FPutLn 3, "─────────────────────────────────────────"
  358.     FPutLn 4, "─────────────────────────────────────────"
  359.     For INTEGER005 = 1 To STRING002
  360.         FGet 2, STRING001
  361.         Tokenize STRING001
  362.         GetToken INTEGER002
  363.         GetToken INTEGER003
  364.         GetToken INTEGER004
  365.         AnsiPos INTEGER002, INTEGER003
  366.         :LABEL010
  367.         STRING005 = ""
  368.         InputStr "_", STRING005, 14, INTEGER004, Mask_Ascii(), 0
  369.         If (STRING005 == "") Goto LABEL010
  370.         FPutLn 3, STRING005
  371.         FPutLn 4, STRING005
  372.     Next
  373.     FClose 4
  374.     FClose 3
  375.     FClose 2
  376.     STRING011 = 1
  377.     For INTEGER005 = 1 To INTEGER007
  378.         FOpen 2, PPEPath() + "infocfg." + STRING011, 0, 0
  379.         FGet 2, STRING010
  380.         If (Exist(STRING011 + "." + STRING010) && Exist(STRING011 + ".LCK")) Delete STRING011 + "." + STRING010
  381.         Inc STRING011
  382.         FClose 2
  383.     Next
  384.     FOpen 1, PPEPath() + "APPS\WAITING.app", 2, 0
  385.     :LABEL011
  386.     If (Ferr(1)) Goto LABEL012
  387.     FDGet STRING029
  388.     If (STRING029 == U_Name()) Then
  389.         FClose 1
  390.         Goto LABEL001
  391.     Endif
  392.     Goto LABEL011
  393.     :LABEL012
  394.     FClose 1
  395.     Goto LABEL001
  396.     :LABEL013
  397.     Cls
  398.     FClose 1
  399.     STRING019 = 1
  400.     STRING020 = 1
  401.     FClose 1
  402.     FCreate 1, "MESS.TMP", 1, 0
  403.     DispFile PPEPath() + "goodbye.pcb", 0
  404.     :LABEL014
  405.     If (Abort()) Goto LABEL015
  406.     STRING018 = ""
  407.     FreshLine
  408.     InputStr STRING020 + " >_", STRING018, 9, 74, Mask_Ascii(), 512 + 2 + 4 + 256
  409.     If ((STRING019 == 1) && (STRING018 == "")) Goto LABEL013
  410.     If (STRING018 == "") Goto LABEL015
  411.     FPutLn 1, STRING018
  412.     Inc STRING019
  413.     Inc STRING020
  414.     Goto LABEL014
  415.     :LABEL015
  416.     FClose 1
  417.     Message INTEGER006, "SYSOP", U_Name(), "Validation Please!!!", "R", 0, 0, 0, "MESS.TMP"
  418.     FOpen 1, PPEPath() + PPEName() + ".LVL", 0, 0
  419.     FDGet STRING022
  420.     If (STRING022 == "NONE") Goto LABEL017
  421.     If (U_Sec >= STRING022) Goto LABEL020
  422.     If (CDOn()) Goto LABEL016
  423.     For INTEGER008 = 1 To INTEGER007
  424.         If (Exist(PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + INTEGER008)) Delete PPEPath() + "APPS\" + STRING026 + "_" + STRING027 + "." + INTEGER008
  425.     Next
  426.     Goto LABEL020
  427.     :LABEL016
  428.     :LABEL017
  429.     FClose 1
  430.     FOpen 1, PPEPath() + "APPS\WAITING.app", 2, 0
  431.     :LABEL018
  432.     If (Ferr(1)) Goto LABEL019
  433.     FDGet STRING029
  434.     If (STRING029 == U_Name()) Then
  435.         FClose 1
  436.     Else
  437.         Goto LABEL018
  438.         :LABEL019
  439.         FClose 4
  440.         FAppend 4, PPEPath() + "APPS\WAITING.app", 1, 0
  441.         FDPutLn U_Name() + Chr(13)
  442.         FClose 4
  443.     Endif
  444.     If (STRING022 <> "NONE") Then
  445.         U_Sec = STRING022
  446.     Endif
  447.     FClose 1
  448.     PutUser
  449.     :LABEL020
  450.     FClose 1
  451.     For STRING008 = 1 To INTEGER007
  452.         Delete STRING008 + ".LCK"
  453.     Next
  454.     For STRING008 = 1 To INTEGER007
  455.         Delete STRING008 + ".YES"
  456.     Next
  457.     BOOLEAN001 = 1
  458.     If (STRING016 == "TRUE") Hangup
  459.     End
  460.  
  461. ;------------------------------------------------------------------------------
  462. ;
  463. ; Usage report (before postprocessing)
  464. ;
  465. ; ■ Statements used :
  466. ;
  467. ;    2       End
  468. ;    2       Cls
  469. ;    2       Wait
  470. ;    1       Color 
  471. ;    69      Goto 
  472. ;    111     Let 
  473. ;    9       Print 
  474. ;    20      PrintLn 
  475. ;    44      If 
  476. ;    3       DispFile 
  477. ;    7       FCreate 
  478. ;    8       FOpen 
  479. ;    3       FAppend 
  480. ;    28      FClose 
  481. ;    5       FGet 
  482. ;    16      FPutLn 
  483. ;    3       StartDisp 
  484. ;    2       Hangup
  485. ;    1       GetUser
  486. ;    2       PutUser
  487. ;    4       Delete 
  488. ;    1       DelUser
  489. ;    2       InputStr 
  490. ;    1       InputYN 
  491. ;    1       Gosub 
  492. ;    1       Return
  493. ;    12      Inc 
  494. ;    3       Dec 
  495. ;    1       Newline
  496. ;    2       Tokenize 
  497. ;    8       GetToken 
  498. ;    1       KbdStuff 
  499. ;    33      AnsiPos 
  500. ;    4       FreshLine
  501. ;    1       Message 
  502. ;    2       RestScrn
  503. ;    1       FDefIn 
  504. ;    1       FDefOut 
  505. ;    9       FDGet 
  506. ;    1       FDPutLn 
  507. ;
  508. ;
  509. ; ■ Functions used :
  510. ;
  511. ;    197     +
  512. ;    3       -
  513. ;    25      ==
  514. ;    4       <>
  515. ;    8       <
  516. ;    10      <=
  517. ;    17      >=
  518. ;    33      !
  519. ;    21      &&
  520. ;    16      ||
  521. ;    3       Left()
  522. ;    6       Right()
  523. ;    2       Ferr()
  524. ;    42      Chr()
  525. ;    1       Abort()
  526. ;    4       Trim()
  527. ;    1       Date()
  528. ;    1       Time()
  529. ;    7       U_Name()
  530. ;    1       YesChar()
  531. ;    56      Strip()
  532. ;    1       Inkey()
  533. ;    2       String()
  534. ;    2       Mask_Ascii()
  535. ;    2       PCBDat()
  536. ;    21      PPEPath()
  537. ;    2       PcbNode()
  538. ;    2       ReadLine()
  539. ;    12      Exist()
  540. ;    1       S2I()
  541. ;    1       Carrier()
  542. ;    1       CDOn()
  543. ;    1       GetY()
  544. ;    4       PPEName()
  545. ;    2       TokCount()
  546. ;    4       ScrText()
  547. ;
  548. ;------------------------------------------------------------------------------
  549. ;
  550. ; Analysis flags : WDBd
  551. ;
  552. ; W - Write user ■ 5
  553. ;     Program writes a user record. Although this may be normal for a
  554. ;     User Editor, it may also be a way to modify an account level.
  555. ;     ■ Search for : PUTUSER
  556. ;
  557. ; D - Delete user ■ 5
  558. ;     Program is deleting account(s)... Check!
  559. ;     ■ Search for : DELUSER
  560. ;
  561. ; B - Brute hangup ■ 1
  562. ;     Program hangup without notification. This may be a good way to
  563. ;     disconnect a user, but if used randomly, may be very nasty
  564. ;     ■ Search for : HANGUP, DTROFF
  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. ;    8       For/Next
  578. ;    0       While/EndWhile
  579. ;    16      If/Then or If/Then/Else
  580. ;    0       Select Case
  581. ;
  582. ;------------------------------------------------------------------------------
  583. ;                 AEGiS Corp - Break the routines, code against the machines!
  584. ;------------------------------------------------------------------------------
  585.