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