home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TOPUP09B.ZIP / EDITLIST.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-07-16  |  15KB  |  795 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     Integer  INTEGER011
  32.     Integer  INTEGER012
  33.     Integer  INTEGER013
  34.     Integer  INTEGER014
  35.     Integer  INTEGER015
  36.     String   STRING001
  37.     String   STRING002
  38.     String   STRING003
  39.     String   STRING004
  40.     String   STRING005
  41.     String   TSTRING006(8)
  42.     String   TSTRING007(1)
  43.     String   TSTRING008(6)
  44.     String   TSTRING009(1)
  45.     String   TSTRING010(5)
  46.     String   STRING011
  47.     String   STRING012
  48.     BigStr   TBIGSTR001(7)
  49.     BigStr   TBIGSTR002(1)
  50.  
  51. ;------------------------------------------------------------------------------
  52.  
  53.     Goto LABEL002
  54.     :LABEL001
  55.     :LABEL002
  56.     If (INTEGER005) Goto LABEL001
  57.     TBIGSTR001(1) = ScrText(1, 9, 79, 1)
  58.     TBIGSTR001(2) = ScrText(1, 10, 79, 1)
  59.     TBIGSTR001(3) = ScrText(1, 11, 79, 1)
  60.     TBIGSTR001(4) = ScrText(1, 12, 79, 1)
  61.     TBIGSTR001(5) = ScrText(1, 13, 79, 1)
  62.     TBIGSTR001(6) = ScrText(1, 14, 79, 1)
  63.     TBIGSTR001(7) = ScrText(1, 15, 79, 1)
  64.     DispFile PPEPath() + "GFX\EDITLST", 1 + 4
  65.     TSTRING006(1) = "@X78»@X7FADD FiLE(S) TO BATCH LiST@X78«"
  66.     TSTRING006(2) = "@X78»@X7FSHOW BATCH LiST@X78«"
  67.     TSTRING006(3) = "@X78»@X7FREMOVE FiLE(S) FROM BATCH LiST@X78«"
  68.     TSTRING006(4) = "@X78 »@X7FGET BACK@X78« "
  69.     TSTRING006(5) = "@X78 ADD FiLE(S) TO BATCH LiST "
  70.     TSTRING006(6) = "@X78 SHOW BATCH LiST "
  71.     TSTRING006(7) = "@X78 REMOVE FiLE(S) FROM BATCH LiST "
  72.     TSTRING006(8) = "@X78  GET BACK  "
  73.     STRING012 = PcbNode()
  74.     If (STRING012 == "0") STRING012 = ""
  75.     INTEGER003 = ReadLine(PCBDat(), 89)
  76.     If (INTEGER003 == 0) INTEGER003 = 65535
  77.     INTEGER003 = INTEGER003 * 60
  78.     INTEGER011 = ReadLine(PCBDat(), 198)
  79.     Redim TSTRING009, INTEGER011
  80.     FClose -1
  81.     INTEGER002 = 1
  82.     INTEGER001 = 0
  83.     Gosub LABEL023
  84.     INTEGER004 = Time() + INTEGER003
  85.     If (GrafMode() == ("R" || "G")) AnsiPos 32, 15
  86.     :LABEL003
  87.     STRING005 = Inkey()
  88.     If (STRING005 <> "") Goto LABEL004
  89.     Gosub LABEL028
  90.     Goto LABEL003
  91.     :LABEL004
  92.     INTEGER004 = Time() + INTEGER003
  93.     STRING005 = Upper(STRING005)
  94.     If (((STRING005 == "Q") || (STRING005 == "G")) || (STRING005 == Chr(27))) Then
  95.         INTEGER002 = 4
  96.         Gosub LABEL023
  97.     Else
  98.         If (STRING005 == "A") Then
  99.             INTEGER002 = 1
  100.             Gosub LABEL023
  101.             Gosub LABEL013
  102.         Endif
  103.         If (STRING005 == "S") Then
  104.             INTEGER002 = 2
  105.             Gosub LABEL023
  106.             Gosub LABEL005
  107.         Endif
  108.         If (STRING005 == "R") Then
  109.             INTEGER002 = 3
  110.         Endif
  111.         If ((STRING005 == Chr(13)) || (STRING005 == Chr(32))) Then
  112.             Gosub LABEL023
  113.             If (INTEGER001 == 1) Gosub LABEL013
  114.             If (INTEGER001 == 2) Gosub LABEL005
  115.             If (INTEGER001 == 4) Goto LABEL024
  116.         Endif
  117.         If (((STRING005 == "UP") || (STRING005 == "8")) && (INTEGER001 > 2)) Then
  118.             INTEGER002 = INTEGER002 - 2
  119.             Gosub LABEL023
  120.         Endif
  121.         If (((STRING005 == "LEFT") || (STRING005 == "4")) && (INTEGER001 > 1)) Then
  122.             Dec INTEGER002
  123.             Gosub LABEL023
  124.         Endif
  125.         If (((STRING005 == "RIGHT") || (STRING005 == "6")) && (INTEGER001 < 4)) Then
  126.             Inc INTEGER002
  127.             Gosub LABEL023
  128.         Endif
  129.         If (((STRING005 == "DOWN") || (STRING005 == "2")) && (INTEGER001 < 3)) Then
  130.             INTEGER002 = INTEGER002 + 2
  131.             Gosub LABEL023
  132.         Endif
  133.         If (GrafMode() == ("R" || "G")) AnsiPos 32, 15
  134.         Goto LABEL003
  135.         :LABEL005
  136.         If (Exist(TempPath() + "FNAME." + STRING012)) Goto LABEL007
  137.         Redim TBIGSTR002, 5
  138.         TBIGSTR002(1) = ScrText(12, 10, 57, 1)
  139.         TBIGSTR002(2) = ScrText(12, 11, 57, 1)
  140.         TBIGSTR002(3) = ScrText(12, 12, 57, 1)
  141.         TBIGSTR002(4) = ScrText(12, 13, 57, 1)
  142.         TBIGSTR002(5) = ScrText(12, 14, 57, 1)
  143.         DispFile PPEPath() + "GFX\BATLIEM", 1 + 4
  144.         If (GrafMode() == ("R" || "G")) AnsiPos 32, 14
  145.         :LABEL006
  146.         If (Inkey() == "") Goto LABEL006
  147.         AnsiPos 12, 10
  148.         Print TBIGSTR002(1)
  149.         AnsiPos 12, 11
  150.         Print TBIGSTR002(2)
  151.         AnsiPos 12, 12
  152.         Print TBIGSTR002(3)
  153.         AnsiPos 12, 13
  154.         Print TBIGSTR002(4)
  155.         AnsiPos 12, 14
  156.         Print TBIGSTR002(5)
  157.         Redim TBIGSTR002, 1
  158.         Return
  159.         :LABEL007
  160.         Redim TBIGSTR002, 17
  161.         TBIGSTR002(1) = ScrText(1, 4, 27, 1)
  162.         TBIGSTR002(2) = ScrText(1, 5, 27, 1)
  163.         TBIGSTR002(3) = ScrText(1, 6, 79, 1)
  164.         TBIGSTR002(4) = ScrText(1, 7, 79, 1)
  165.         TBIGSTR002(5) = ScrText(1, 8, 79, 1)
  166.         TBIGSTR002(6) = ScrText(1, 9, 79, 1)
  167.         TBIGSTR002(7) = ScrText(1, 10, 79, 1)
  168.         TBIGSTR002(8) = ScrText(1, 11, 79, 1)
  169.         TBIGSTR002(9) = ScrText(1, 12, 79, 1)
  170.         TBIGSTR002(10) = ScrText(1, 13, 79, 1)
  171.         TBIGSTR002(11) = ScrText(1, 14, 79, 1)
  172.         TBIGSTR002(12) = ScrText(1, 15, 79, 1)
  173.         TBIGSTR002(13) = ScrText(1, 16, 79, 1)
  174.         TBIGSTR002(14) = ScrText(1, 17, 79, 1)
  175.         TBIGSTR002(15) = ScrText(1, 18, 79, 1)
  176.         TBIGSTR002(16) = ScrText(1, 19, 27, 1)
  177.         TBIGSTR002(17) = ScrText(1, 20, 27, 1)
  178.         DispFile PPEPath() + "GFX\SHOW", 1 + 4
  179.         If (Exist(TempPath() + "FNAME." + STRING012)) Then
  180.             FOpen 7, TempPath() + "FNAME." + STRING012, 2, 0
  181.             Color 7
  182.             INTEGER008 = 0
  183.             While (!Ferr(7) && (INTEGER008 < 11)) Do
  184.                 FGet 7, STRING001
  185.                 Inc INTEGER008
  186.                 STRING001 = Strip(Mid(STRING001, 1, 12), Chr(32))
  187.                 If (((INTEGER008 < 12) && !(Mid(STRING001, 13, 1) == "0")) && !(STRING001 == "")) Then
  188.                     AnsiPos 9, 5 + INTEGER008
  189.                     Print Space((13 - Len(STRING001)) / 2) + STRING001
  190.                 Endif
  191.             EndWhile
  192.             INTEGER008 = 1
  193.             FOpen 6, TempPath() + "FDESC." + STRING012, 2, 0
  194.             FSeek 6, ((INTEGER008 - 1) * INTEGER011) * 45, 0
  195.             FRead 6, STRING001, 45
  196.             Color 8
  197.             INTEGER007 = 0
  198.             While ((Strip(STRING001, Chr(32)) <> "") && (INTEGER007 < 9)) Do
  199.                 AnsiPos 29, 8 + INTEGER007
  200.                 Print STRING001
  201.                 FRead 6, STRING001, 45
  202.                 Inc INTEGER007
  203.             EndWhile
  204.             FSeek 7, 0, 0
  205.             FRead 7, STRING001, 12
  206.             STRING001 = Strip(STRING001, Chr(32))
  207.             AnsiPos 7, 6
  208.             Print "@X0F▐@X7F " + Space((13 - Len(STRING001)) / 2) + STRING001 + Space((12 - Len(STRING001)) / 2) + " @X08▌"
  209.         Endif
  210.         INTEGER004 = Time() + INTEGER003
  211.         INTEGER015 = 1
  212.         INTEGER014 = 1
  213.         If (GrafMode() == ("R" || "G")) AnsiPos 40, 18
  214.         :LABEL008
  215.         STRING005 = Inkey()
  216.         If (STRING005 <> "") Goto LABEL009
  217.         Gosub LABEL028
  218.         Goto LABEL008
  219.         :LABEL009
  220.         INTEGER004 = Time() + INTEGER003
  221.         STRING005 = Upper(STRING005)
  222.         If (((STRING005 == "UP") || (STRING005 == "8")) && (INTEGER015 > 1)) Gosub LABEL010
  223.         If (((STRING005 == "DOWN") || (STRING005 == "2")) && (INTEGER015 < 12)) Gosub LABEL011
  224.         If ((((STRING005 == Chr(27)) || (STRING005 == "Q")) || (STRING005 == Chr(13))) || (STRING005 == Chr(32))) Goto LABEL012
  225.         If (GrafMode() == ("R" || "G")) AnsiPos 40, 18
  226.         Goto LABEL008
  227.         STRING001 = "0"
  228.         INTEGER005 = 0
  229.         While (Mid(STRING001, 13, 1) == "0") Do
  230.             FSeek 7, (INTEGER014 - INTEGER005 - 2) * 15, 0
  231.             FRead 7, STRING001, 12
  232.             Dec INTEGER005
  233.             If (Ferr(7)) Return
  234.         EndWhile
  235.         INTEGER014 = INTEGER014 - INTEGER005
  236.         For INTEGER005 = 1 To 11
  237.             STRING001 = ScrText(9, 5 + INTEGER005, 12, 1)
  238.         Next
  239.         STRING001 = ""
  240.         FSeek 7, (INTEGER014 - 1) * 15, 0
  241.         FRead 7, STRING001, 12
  242.         STRING001 = Strip(STRING001, Chr(32))
  243.         Return
  244.         :LABEL010
  245.         FSeek 7, (INTEGER014 - 2) * 15, 0
  246.         FRead 7, STRING001, 12
  247.         If (Ferr(7)) Return
  248.         STRING001 = ""
  249.         FSeek 7, (INTEGER014 - 1) * 15, 0
  250.         FRead 7, STRING001, 12
  251.         STRING001 = Strip(STRING001, Chr(32))
  252.         Color 7
  253.         AnsiPos 7, 5 + INTEGER015
  254.         Print Space(2) + Space((13 - Len(STRING001)) / 2) + STRING001 + Space((12 - Len(STRING001)) / 2) + Space(2)
  255.         Dec INTEGER014
  256.         Dec INTEGER015
  257.         FSeek 7, (INTEGER014 - 1) * 15, 0
  258.         FRead 7, STRING001, 12
  259.         STRING001 = Strip(STRING001, Chr(32))
  260.         If (STRING001 <> "") Then
  261.             AnsiPos 7, 5 + INTEGER015
  262.             Print "@X0F▐@X7F " + Space((13 - Len(STRING001)) / 2) + STRING001 + Space((12 - Len(STRING001)) / 2) + " @X08▌"
  263.             FSeek 6, ((INTEGER014 - 1) * INTEGER011) * 45, 0
  264.             FRead 6, STRING001, 45
  265.             Color 8
  266.             INTEGER007 = 0
  267.             While (((Strip(STRING001, Chr(32)) <> "") && (INTEGER007 < 9)) && (INTEGER007 < INTEGER011)) Do
  268.                 AnsiPos 29, 8 + INTEGER007
  269.                 Print STRING001 + "@POS:74@"
  270.                 FRead 6, STRING001, 45
  271.                 Inc INTEGER007
  272.             EndWhile
  273.             For INTEGER006 = INTEGER007 To 8
  274.                 AnsiPos 29, 8 + INTEGER006
  275.                 Print Space(45)
  276.             Next
  277.         Else
  278.             Inc INTEGER015
  279.             Inc INTEGER014
  280.         Endif
  281.         Return
  282.         :LABEL011
  283.         FSeek 7, INTEGER014 * 15, 0
  284.         FRead 7, STRING001, 12
  285.         If (Ferr(7)) Return
  286.         STRING001 = ""
  287.         FSeek 7, (INTEGER014 - 1) * 15, 0
  288.         FRead 7, STRING001, 12
  289.         STRING001 = Strip(STRING001, Chr(32))
  290.         Color 7
  291.         AnsiPos 7, 5 + INTEGER015
  292.         Print Space(2) + Space((13 - Len(STRING001)) / 2) + STRING001 + Space((12 - Len(STRING001)) / 2) + Space(2)
  293.         STRING001 = ""
  294.         Inc INTEGER014
  295.         Inc INTEGER015
  296.         FSeek 7, (INTEGER014 - 1) * 15, 0
  297.         FRead 7, STRING001, 12
  298.         STRING001 = Strip(STRING001, Chr(32))
  299.         If (STRING001 <> "") Then
  300.             AnsiPos 7, 5 + INTEGER015
  301.             Print "@X0F▐@X7F " + Space((13 - Len(STRING001)) / 2) + STRING001 + Space((12 - Len(STRING001)) / 2) + " @X08▌"
  302.             FSeek 6, ((INTEGER014 - 1) * INTEGER011) * 45, 0
  303.             FRead 6, STRING001, 45
  304.             Color 8
  305.             INTEGER007 = 0
  306.             While (((Strip(STRING001, Chr(32)) <> "") && (INTEGER007 < 9)) && (INTEGER007 < INTEGER011)) Do
  307.                 AnsiPos 29, 8 + INTEGER007
  308.                 Print STRING001 + "@POS:74@"
  309.                 FRead 6, STRING001, 45
  310.                 Inc INTEGER007
  311.             EndWhile
  312.             For INTEGER006 = INTEGER007 To 8
  313.                 AnsiPos 29, 8 + INTEGER006
  314.                 Print Space(45)
  315.             Next
  316.         Else
  317.             Dec INTEGER014
  318.             Dec INTEGER015
  319.         Endif
  320.         Return
  321.         :LABEL012
  322.         FClose 7
  323.         FClose 6
  324.         STRING005 = ""
  325.         AnsiPos 1, 4
  326.         Print TBIGSTR002(1)
  327.         AnsiPos 1, 5
  328.         Print TBIGSTR002(2)
  329.         AnsiPos 1, 6
  330.         Print TBIGSTR002(3)
  331.         AnsiPos 1, 7
  332.         Print TBIGSTR002(4)
  333.         AnsiPos 1, 8
  334.         Print TBIGSTR002(5)
  335.         AnsiPos 1, 9
  336.         Print TBIGSTR002(6)
  337.         AnsiPos 1, 10
  338.         Print TBIGSTR002(7)
  339.         AnsiPos 1, 11
  340.         Print TBIGSTR002(8)
  341.         AnsiPos 1, 12
  342.         Print TBIGSTR002(9)
  343.         AnsiPos 1, 13
  344.         Print TBIGSTR002(10)
  345.         AnsiPos 1, 14
  346.         Print TBIGSTR002(11)
  347.         AnsiPos 1, 15
  348.         Print TBIGSTR002(12)
  349.         AnsiPos 1, 16
  350.         Print TBIGSTR002(13)
  351.         AnsiPos 1, 17
  352.         Print TBIGSTR002(14)
  353.         AnsiPos 1, 18
  354.         Print TBIGSTR002(15)
  355.         AnsiPos 1, 19
  356.         Print TBIGSTR002(16)
  357.         AnsiPos 1, 20
  358.         Print TBIGSTR002(17)
  359.         Redim TBIGSTR002, 1
  360.         Return
  361.         :LABEL013
  362.         Redim TBIGSTR002, 13
  363.         TBIGSTR002(1) = ScrText(12, 6, 57, 1)
  364.         TBIGSTR002(2) = ScrText(12, 7, 57, 1)
  365.         TBIGSTR002(3) = ScrText(12, 8, 57, 1)
  366.         TBIGSTR002(4) = ScrText(12, 9, 57, 1)
  367.         TBIGSTR002(5) = ScrText(12, 10, 57, 1)
  368.         TBIGSTR002(6) = ScrText(12, 11, 57, 1)
  369.         TBIGSTR002(7) = ScrText(12, 12, 57, 1)
  370.         TBIGSTR002(8) = ScrText(12, 13, 57, 1)
  371.         TBIGSTR002(9) = ScrText(12, 14, 57, 1)
  372.         TBIGSTR002(10) = ScrText(12, 15, 57, 1)
  373.         TBIGSTR002(11) = ScrText(12, 16, 57, 1)
  374.         TBIGSTR002(12) = ScrText(12, 17, 57, 1)
  375.         TBIGSTR002(13) = ScrText(12, 18, 57, 1)
  376.         :LABEL014
  377.         DispFile PPEPath() + "GFX\ENTERFN", 1 + 4
  378.         AnsiPos 49, 8
  379.         Print "@X7F"
  380.         STRING001 = ""
  381.         STRING002 = "@X78" + Chr(250) + "@X7F"
  382.         STRING003 = 0
  383.         STRING004 = 1
  384.         INTEGER005 = 1
  385.         INTEGER006 = 13
  386.         Gosub LABEL025
  387.         If (STRING001 == "") Goto LABEL022
  388.         STRING001 = Upper(STRING001)
  389.         If (InStr(STRING001, ".") == 0) Then
  390.             STRING001 = Trim(Mid(STRING001, 1, 8), Chr(32)) + ReadLine(PCBDat(), 96)
  391.             FClose -1
  392.             AnsiPos 49, 8
  393.             Print "@X7F" + STRING001
  394.         Endif
  395.         OpText STRING001
  396.         TSTRING010(1) = ScrText(14, 19, 53, 1)
  397.         TSTRING010(2) = ScrText(14, 20, 53, 1)
  398.         TSTRING010(3) = ScrText(14, 21, 53, 1)
  399.         TSTRING010(4) = ScrText(14, 22, 53, 1)
  400.         TSTRING010(5) = ScrText(14, 23, 53, 1)
  401.         INTEGER008 = 0
  402.         If (BOOLEAN002) Goto LABEL015
  403.         DispFile PPEPath() + "GFX\DUPECHK", 1 + 4
  404.         Gosub LABEL030
  405.         INTEGER008 = 1
  406.         Goto LABEL016
  407.         :LABEL015
  408.         If (INTEGER010 > 10) Then
  409.             DispFile PPEPath() + "GFX\DUPECHK", 1 + 4
  410.         Endif
  411.         :LABEL016
  412.         If (Exist(TempPath() + "FNAME." + STRING012)) Then
  413.             FOpen 1, TempPath() + "FNAME." + STRING012, 0, 0
  414.             :LABEL017
  415.             If (Ferr(1)) Goto LABEL019
  416.             STRING002 = ""
  417.             FGet 1, STRING002
  418.             If (Strip(Mid(STRING002, 1, 12), Chr(32)) == Strip(STRING001, Chr(32))) Then
  419.                 DispFile PPEPath() + "GFX\DUPEB-L", 1 + 4
  420.                 Delay 18
  421.                 :LABEL018
  422.                 If (Inkey() == "") Goto LABEL018
  423.                 Gosub LABEL021
  424.                 FClose 1
  425.                 Goto LABEL014
  426.             Endif
  427.             Goto LABEL017
  428.             :LABEL019
  429.             FClose 1
  430.         Endif
  431.         Gosub LABEL033
  432.         If (BOOLEAN001) Then
  433.             DispFile PPEPath() + "GFX\DUPEFND", 1 + 4
  434.             Delay 18
  435.             :LABEL020
  436.             If (Inkey() == "") Goto LABEL020
  437.             Gosub LABEL021
  438.             Goto LABEL014
  439.         Endif
  440.         If (INTEGER010 > 10) Then
  441.             AnsiPos 46, 21
  442.             Print "@X08PASSED CHECK .."
  443.             Delay 3
  444.         Endif
  445.         If (((INTEGER010 > 10) || BOOLEAN001) || (INTEGER008 == 1)) Gosub LABEL021
  446.         STRING011 = STRING001
  447.         Print "@X08"
  448.         STRING002 = " "
  449.         STRING003 = 1
  450.         STRING004 = 0
  451.         INTEGER005 = 1
  452.         INTEGER006 = 46
  453.         INTEGER007 = 0
  454.         INTEGER013 = 1
  455.         While ((STRING001 <> "") && (INTEGER007 < INTEGER011)) Do
  456.             STRING001 = ""
  457.             Inc INTEGER007
  458.             If (INTEGER007 < 8) Then
  459.                 INTEGER012 = INTEGER007
  460.             Endif
  461.             If (INTEGER007 > 7) Then
  462.                 For INTEGER009 = 1 To 6
  463.                     TSTRING008(INTEGER009) = ScrText(18, 10 + INTEGER009, 45, 1)
  464.                 Next
  465.                 For INTEGER009 = 1 To 6
  466.                     AnsiPos 18, 9 + INTEGER009
  467.                     Print TSTRING008(INTEGER009) + "@POS:63@"
  468.                 Next
  469.                 AnsiPos 18, 16
  470.                 Print Space(45)
  471.             Endif
  472.             AnsiPos 18, 9 + INTEGER012
  473.             Print " "
  474.             Backup 1
  475.             Color 8
  476.             Gosub LABEL025
  477.             TSTRING009(INTEGER007) = STRING001
  478.             If ((INTEGER007 == 1) && (Mid(TSTRING009(1), 1, 1) == "/")) INTEGER013 = 2
  479.         EndWhile
  480.         If (INTEGER007 > 1) Then
  481.             FAppend 1, TempPath() + "FDESC." + STRING012, 1, 0
  482.             For INTEGER008 = 1 To INTEGER011
  483.                 FPut 1, Mid(TSTRING009(INTEGER008), 1, 45)
  484.             Next
  485.             FClose 1
  486.             FAppend 1, TempPath() + "FNAME." + STRING012, 1, 0
  487.             FPutLn 1, Mid(Upper(STRING011), 1, 12) + String(INTEGER013)
  488.             FClose 1
  489.         Endif
  490.         Goto LABEL014
  491.         :LABEL021
  492.         AnsiPos 14, 19
  493.         Print TSTRING010(1)
  494.         AnsiPos 14, 20
  495.         Print TSTRING010(2)
  496.         AnsiPos 14, 21
  497.         Print TSTRING010(3)
  498.         AnsiPos 14, 22
  499.         Print TSTRING010(4)
  500.         AnsiPos 14, 23
  501.         Print TSTRING010(5)
  502.         Return
  503.         :LABEL022
  504.         STRING005 = ""
  505.         AnsiPos 12, 6
  506.         Print TBIGSTR002(1)
  507.         AnsiPos 12, 7
  508.         Print TBIGSTR002(2)
  509.         AnsiPos 12, 8
  510.         Print TBIGSTR002(3)
  511.         AnsiPos 12, 9
  512.         Print TBIGSTR002(4)
  513.         AnsiPos 12, 10
  514.         Print TBIGSTR002(5)
  515.         AnsiPos 12, 11
  516.         Print TBIGSTR002(6)
  517.         AnsiPos 12, 12
  518.         Print TBIGSTR002(7)
  519.         AnsiPos 12, 13
  520.         Print TBIGSTR002(8)
  521.         AnsiPos 12, 14
  522.         Print TBIGSTR002(9)
  523.         AnsiPos 12, 15
  524.         Print TBIGSTR002(10)
  525.         AnsiPos 12, 16
  526.         Print TBIGSTR002(11)
  527.         AnsiPos 12, 17
  528.         Print TBIGSTR002(12)
  529.         AnsiPos 12, 18
  530.         Print TBIGSTR002(13)
  531.         Redim TBIGSTR002, 1
  532.         Return
  533.         :LABEL023
  534.         If (INTEGER001 == 1) Then
  535.             AnsiPos 17, 11
  536.             Print TSTRING006(5)
  537.         Endif
  538.         If (INTEGER001 == 2) Then
  539.             AnsiPos 47, 11
  540.             Print TSTRING006(6)
  541.         Endif
  542.         If (INTEGER001 == 3) Then
  543.             AnsiPos 17, 13
  544.             Print TSTRING006(7)
  545.         Endif
  546.         If (INTEGER001 == 4) Then
  547.             AnsiPos 52, 13
  548.             Print TSTRING006(8)
  549.         Endif
  550.         If (INTEGER002 == 1) Then
  551.             AnsiPos 17, 11
  552.             Print TSTRING006(1)
  553.         Endif
  554.         If (INTEGER002 == 2) Then
  555.             AnsiPos 47, 11
  556.             Print TSTRING006(2)
  557.         Endif
  558.         If (INTEGER002 == 3) Then
  559.             AnsiPos 17, 13
  560.             Print TSTRING006(3)
  561.         Endif
  562.         If (INTEGER002 == 4) Then
  563.             AnsiPos 52, 13
  564.             Print TSTRING006(4)
  565.         Endif
  566.         INTEGER001 = INTEGER002
  567.         Return
  568.     Endif
  569.     :LABEL024
  570.     INTEGER002 = 4
  571.     INTEGER001 = 4
  572.     AnsiPos 1, 9
  573.     Print TBIGSTR001(1)
  574.     AnsiPos 1, 10
  575.     Print TBIGSTR001(2)
  576.     AnsiPos 1, 11
  577.     Print TBIGSTR001(3)
  578.     AnsiPos 1, 12
  579.     Print TBIGSTR001(4)
  580.     AnsiPos 1, 13
  581.     Print TBIGSTR001(5)
  582.     AnsiPos 1, 14
  583.     Print TBIGSTR001(6)
  584.     AnsiPos 1, 15
  585.     Print TBIGSTR001(7)
  586.     Redim TBIGSTR001, 1
  587.     End
  588.     :LABEL025
  589.     INTEGER004 = Time() + INTEGER003
  590.     :LABEL026
  591.     STRING005 = Inkey()
  592.     If (STRING005 <> "") Goto LABEL027
  593.     Gosub LABEL028
  594.     Goto LABEL026
  595.     :LABEL027
  596.     INTEGER004 = Time() + INTEGER003
  597.     If (Len(STRING005) > 1) Goto LABEL025
  598.     If ((STRING005 == Chr(32)) && (STRING003 == 0)) Goto LABEL025
  599.     If (STRING005 == Chr(13)) Then
  600.         INTEGER005 = 1
  601.         Return
  602.     Endif
  603.     If ((STRING005 == Chr(8)) && (INTEGER005 > 1)) Then
  604.         Print Chr(8)
  605.         Print STRING002
  606.         Print Chr(8)
  607.         Dec INTEGER005
  608.         STRING001 = Mid(STRING001, 1, Len(STRING001) - 1)
  609.         Goto LABEL025
  610.     Endif
  611.     If (INTEGER005 >= INTEGER006) Goto LABEL025
  612.     If (Asc(STRING005) < 32) Goto LABEL025
  613.     Inc INTEGER005
  614.     If (STRING004 == 1) Print Upper(STRING005)
  615.     If (STRING004 == 0) Print STRING005
  616.     STRING001 = STRING001 + STRING005
  617.     Goto LABEL025
  618.     :LABEL028
  619.     If (Time() >= INTEGER004) Goto LABEL029
  620.     If (Time() == INTEGER004 - 10) Then
  621.         Print "@BEEP@"
  622.         Delay 19
  623.     Endif
  624.     If (Time() == INTEGER004 - 20) Then
  625.         Print "@BEEP@"
  626.         Delay 19
  627.     Endif
  628.     If (Time() == INTEGER004 - 30) Then
  629.         Print "@BEEP@"
  630.         Delay 19
  631.     Endif
  632.     If (Time() == INTEGER004 - 40) Then
  633.         Print "@BEEP@"
  634.         Delay 19
  635.     Endif
  636.     If (Time() == INTEGER004 - 50) Then
  637.         Print "@BEEP@"
  638.         Delay 19
  639.     Endif
  640.     Return
  641.     :LABEL029
  642.     Color 7
  643.     Cls
  644.     DispText 55, 128 + 256 + 32768 + 2048
  645.     Hangup
  646.     Return
  647.     :LABEL030
  648.     STRING005 = ReadLine(PCBDat(), 244)
  649.     FClose -1
  650.     If (FileInf(STRING005, 4) > 2) Then
  651.         FOpen 1, STRING005, 0, 0
  652.         :LABEL031
  653.         If (Ferr(1)) Goto LABEL032
  654.         FGet 1, STRING002
  655.         Inc INTEGER010
  656.         Goto LABEL031
  657.         :LABEL032
  658.         Dec INTEGER010
  659.         Redim TSTRING007, INTEGER010
  660.         FSeek 1, 0, 0
  661.         For INTEGER005 = 1 To INTEGER010
  662.             FGet 1, TSTRING007(INTEGER005)
  663.         Next
  664.         FClose 1
  665.     Endif
  666.     STRING005 = ""
  667.     STRING002 = ""
  668.     BOOLEAN002 = 1
  669.     Return
  670.     :LABEL033
  671.     BOOLEAN001 = 0
  672.     If (Exist("" + "\" + STRING001)) If ("" <> "") BOOLEAN001 = 1
  673.     For INTEGER005 = 1 To INTEGER010
  674.         If (Exist(TSTRING007(INTEGER005) + STRING001)) Then
  675.             If (TSTRING007(INTEGER005) <> "" + "\") Then
  676.                 INTEGER005 = INTEGER010 + 1
  677.                 BOOLEAN001 = 1
  678.             Endif
  679.         Endif
  680.     Next
  681.     Return
  682.  
  683. ;------------------------------------------------------------------------------
  684. ;
  685. ; Usage report (before postprocessing)
  686. ;
  687. ; ■ Statements used :
  688. ;
  689. ;    1       End
  690. ;    1       Cls
  691. ;    8       Color 
  692. ;    104     Goto 
  693. ;    159     Let 
  694. ;    83      Print 
  695. ;    93      If 
  696. ;    8       DispFile 
  697. ;    4       FOpen 
  698. ;    2       FAppend 
  699. ;    10      FClose 
  700. ;    4       FGet 
  701. ;    1       FPut 
  702. ;    1       FPutLn 
  703. ;    1       Hangup
  704. ;    25      Gosub 
  705. ;    16      Return
  706. ;    8       Delay 
  707. ;    12      Inc 
  708. ;    8       Dec 
  709. ;    1       DispText 
  710. ;    1       OpText 
  711. ;    77      AnsiPos 
  712. ;    1       Backup 
  713. ;    13      FSeek 
  714. ;    15      FRead 
  715. ;    9       Redim 
  716. ;
  717. ;
  718. ; ■ Functions used :
  719. ;
  720. ;    3       -
  721. ;    15      *
  722. ;    11      /
  723. ;    497     +
  724. ;    30      -
  725. ;    65      ==
  726. ;    11      <>
  727. ;    21      <
  728. ;    8       <=
  729. ;    11      >
  730. ;    18      >=
  731. ;    460     !
  732. ;    34      &&
  733. ;    27      ||
  734. ;    13      Len(
  735. ;    5       Upper()
  736. ;    9       Mid()
  737. ;    18      Space()
  738. ;    6       Ferr()
  739. ;    25      Chr()
  740. ;    1       Asc()
  741. ;    1       InStr()
  742. ;    1       Trim()
  743. ;    12      Time()
  744. ;    12      Strip()
  745. ;    6       Inkey()
  746. ;    1       String()
  747. ;    4       PCBDat()
  748. ;    8       PPEPath()
  749. ;    1       PcbNode()
  750. ;    4       ReadLine()
  751. ;    5       Exist()
  752. ;    5       GrafMode()
  753. ;    1       FileInf()
  754. ;    8       TempPath()
  755. ;    49      ScrText()
  756. ;
  757. ;------------------------------------------------------------------------------
  758. ;
  759. ; Analysis flags : Bd
  760. ;
  761. ; B - Brute hangup ■ 1
  762. ;     Program hangup without notification. This may be a good way to
  763. ;     disconnect a user, but if used randomly, may be very nasty
  764. ;     ■ Search for : HANGUP, DTROFF
  765. ;
  766. ; d - Access PCBOARD.DAT ■ 2
  767. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  768. ;     for many PPE so they can find various informations on the system
  769. ;     (system paths, max number of lines in messages, ...) but it may also
  770. ;     be a way to gather vital informations.
  771. ;     ■ Search for : PCBDAT()
  772. ;
  773. ;
  774. ;------------------------------------------------------------------------------
  775. ;
  776. ;     One or more PPLC bugs were found, this is not a PPLX error, but PPLX is  
  777. ;     reporting the error ;)  Some statements  like VAR = !!!!10, VAR = !0*!0  
  778. ;     or similar things are not handled  correctly by PPLC, some may use this  
  779. ;     to  avoid a  correct decompilation...  This doesn't mean that there  is  
  780. ;     actually an error, but the probability of error is high...               
  781. ;     ■ Search for : PPLC BUG
  782. ;
  783. ;------------------------------------------------------------------------------
  784. ;
  785. ; Postprocessing report
  786. ;
  787. ;    8       For/Next
  788. ;    6       While/EndWhile
  789. ;    40      If/Then or If/Then/Else
  790. ;    0       Select Case
  791. ;
  792. ;------------------------------------------------------------------------------
  793. ;                 AEGiS Corp - Break the routines, code against the machines!
  794. ;------------------------------------------------------------------------------
  795.