home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / dt_scn20.zip / SCAN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-15  |  15KB  |  832 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  TINTEGER001(1000)
  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.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     Integer  INTEGER015
  34.     Integer  INTEGER016
  35.     Integer  INTEGER017
  36.     Integer  INTEGER018
  37.     Integer  INTEGER019
  38.     Integer  INTEGER020
  39.     Integer  INTEGER021
  40.     String   STRING001
  41.     String   STRING002
  42.     String   STRING003
  43.     String   STRING004
  44.     String   STRING005
  45.     String   STRING006
  46.     String   STRING007
  47.     String   STRING008
  48.     String   STRING009
  49.     String   STRING010
  50.     String   STRING011
  51.     String   STRING012
  52.     String   STRING013
  53.     String   STRING014
  54.     String   STRING015
  55.     String   STRING016
  56.     String   STRING017
  57.     String   STRING018
  58.     String   STRING019
  59.     String   STRING020
  60.     String   STRING021
  61.     String   STRING022
  62.     String   STRING023
  63.     String   STRING024
  64.     String   STRING025
  65.     String   STRING026
  66.     String   STRING027
  67.     String   STRING028
  68.     String   STRING029
  69.     String   STRING030
  70.     String   STRING031
  71.     String   STRING032
  72.     String   TSTRING033(1000)
  73.     String   TSTRING034(1000)
  74.     String   TSTRING035(1000)
  75.     String   TSTRING036(1000)
  76.     BigStr   BIGSTR001
  77.     BigStr   BIGSTR002
  78.  
  79. ;------------------------------------------------------------------------------
  80.  
  81.     If (GrafMode() == "N") Goto LABEL034
  82.     GetUser
  83.     STRING004 = "@X08───────────────────────@X07──────────@X0F───────────────@X07─────────@X08──────────────────────@X07"
  84.     BIGSTR001 = "                                                                                "
  85.     BIGSTR001 = BIGSTR001 + "WELL WELL - WHAT SHALL i SAY ? - THiS iS HANDMADE SOFTWARE WHiCH i (BlUE M) CODED FOR"
  86.     BIGSTR001 = BIGSTR001 + " YOU TO MAKE YOU ENJOY THiS BOARD ! NOT MUCH TO EXPLAiN iN THE (A)BOUT ARTiCLE ? HUUH ? - WELL iF YOU FiND THiS SOFTWARE USEFULL - USE IT !! - O.K. CYA iN ANY "
  87.     BIGSTR001 = BIGSTR001 + "OTHER PRODUCT ! (BY THE WAY - HAVE YOU EVER SEEN A 'ANSi-SCROLLiNG' ? NO ? WELL HEHE I WAS THE MAN WHO INVENTED iT EHHE - ANYTHiNG ELSE WOULD BE A FAKE SCROLLY :-) [L8R ..."
  88.     BIGSTR001 = BIGSTR001 + " THiS TiME REALLY)] -         ... TEXT RESTARTS ...            ... ANY KEY ! ..."
  89.     BIGSTR002 = "                                                                                "
  90.     BIGSTR002 = BIGSTR002 + "OK - YOU ASKED FOR ASSiSTANCE - HERE WE GO ... FiRST OF ALL - THE SCAN COMMAND WAS CODED TO GiVE YOU AN EASiER USE OF THE POWER A BOARD HAS WiTH A LOT OF CONFERENCES"
  91.     BIGSTR002 = BIGSTR002 + " - NOW YOU'RE ABLE TO LOOK FOR NEW FiLES iN ALL CONFERENCES - SiMPLE EH ? WELL THiS 'SELECT 1.0' CAN BE CONTROLLED BY THE CURSOR KEYS (iF YOU TRiED USiNG THE CURSOR KEYS"
  92.     BIGSTR002 = BIGSTR002 + " AND iT DiDN'T WORK THAN USE '8' FOR UP AND '2' FOR DOWN) - ViA 'SPACE' YOU CAN SELECT A CONFERENCE TO BE SCANNED (THiS CONFERENCE WiLL BE SEARCHED FOR NEW FiLES) iF YOU"
  93.     BIGSTR002 = BIGSTR002 + " PRESS 'ENTER' YOU'LL SELECT THE CONFERENCE WHiCH iS LiGHTED AND SCROLL DOWN ONE LiNE - EASY iSN'T iT ??? - THAT'S ALL FOLKS -          ... TEXT RESTARTS ...      ... ANY KEY ...        "
  94.     STRING022 = Chr(27)
  95.     STRING024 = Chr(27) + "[A"
  96.     STRING025 = Chr(27) + "[B"
  97.     STRING026 = Chr(13)
  98.     STRING028 = Chr(32)
  99.     INTEGER008 = 0
  100.     STRING027 = 0
  101.     STRING029 = PPEPath() + "\USERS\"
  102.     STRING030 = ""
  103.     STRING031 = ""
  104.     STRING021 = ReadLine(PCBDat(), 31)
  105.     STRING006 = ReadLine(PCBDat(), 95)
  106.     INTEGER002 = ReadLine(PCBDat(), 108)
  107.     STRING032 = Len(U_Name())
  108.     STRING031 = Strip(U_Name(), " ")
  109.     STRING031 = Strip(STRING031, "<")
  110.     STRING031 = Strip(STRING031, ">")
  111.     STRING031 = Strip(STRING031, "|")
  112.     STRING031 = Strip(STRING031, "?")
  113.     STRING031 = Strip(STRING031, "*")
  114.     STRING031 = Strip(STRING031, "/")
  115.     STRING031 = Strip(STRING031, "\")
  116.     STRING031 = Strip(STRING031, "~")
  117.     STRING031 = Strip(STRING031, "#")
  118.     STRING031 = Strip(STRING031, "!")
  119.     If (Len(U_Name()) < 14) Then
  120.         STRING030 = STRING031 + "." + Mid(STRING031, Len(U_Name()) / 2, 1) + STRING032
  121.     Else
  122.         STRING030 = Mid(STRING031, 1, 1)
  123.         STRING030 = STRING030 + Mid(STRING031, 3, 1)
  124.         STRING030 = STRING030 + Mid(STRING031, 5, 1)
  125.         STRING030 = STRING030 + Mid(STRING031, 7, 1)
  126.         STRING030 = STRING030 + Mid(STRING031, 9, 1)
  127.         STRING030 = STRING030 + Mid(STRING031, 11, 1)
  128.         STRING030 = STRING030 + Mid(STRING031, 13, 1)
  129.         STRING030 = STRING030 + Mid(STRING031, 15, 1)
  130.         STRING030 = STRING030 + "." + Mid(STRING031, Len(U_Name()) / 2, 1) + Len(U_Name())
  131.     Endif
  132.     For INTEGER007 = 0 To INTEGER002
  133.         TSTRING035(INTEGER007) = ReadLine(STRING021, INTEGER007 * 33 + 15)
  134.         TSTRING036(INTEGER007) = ReadLine(STRING021, INTEGER007 * 33 + 16)
  135.     Next
  136.     If (Exist(PPEPath() + "SCANDAT" + LangExt())) Goto LABEL002
  137.     If (Exist(PPEPath() + "SCANDAT")) Goto LABEL001
  138.     SPrintLn 
  139.     SPrintLn "NO 'SCANDAT' FiLE WAS FOUND ! CREATE ONE BEFORE STARTiNG AGAiN !"
  140.     SPrintLn "READ THE DOCUMENTS FOR FURTHER INFORMATiON !"
  141.     Goto LABEL034
  142.     :LABEL001
  143.     FOpen 2, PPEPath() + "SCANDAT", 0, 0
  144.     :LABEL002
  145.     If (Exist(PPEPath() + "SCANDAT" + LangExt())) FOpen 2, PPEPath() + "SCANDAT" + LangExt() , 0, 0
  146.     FGet 2, STRING009
  147.     FGet 2, STRING010
  148.     FGet 2, STRING010
  149.     FGet 2, STRING011
  150.     FGet 2, STRING011
  151.     FGet 2, STRING012
  152.     FGet 2, STRING012
  153.     FGet 2, STRING013
  154.     FGet 2, STRING013
  155.     FGet 2, STRING016
  156.     FGet 2, STRING016
  157.     FGet 2, STRING019
  158.     FGet 2, STRING019
  159.     FGet 2, STRING017
  160.     FGet 2, STRING017
  161.     FGet 2, STRING018
  162.     FGet 2, STRING018
  163.     FGet 2, STRING020
  164.     FGet 2, STRING020
  165.     FGet 2, STRING008
  166.     FGet 2, STRING008
  167.     FGet 2, STRING015
  168.     FGet 2, STRING015
  169.     FGet 2, STRING014
  170.     FGet 2, STRING014
  171.     FGet 2, STRING003
  172.     FGet 2, STRING003
  173.     FClose 2
  174.     If (Upper(Mid(STRING003, 1, 1)) == "Y") INTEGER004 = 10000
  175.     If (Upper(Mid(STRING003, 1, 1)) == "M") INTEGER004 = 100
  176.     If (Upper(Mid(STRING003, 1, 1)) == "D") INTEGER004 = 1
  177.     If (Upper(Mid(STRING003, 4, 1)) == "Y") INTEGER005 = 10000
  178.     If (Upper(Mid(STRING003, 4, 1)) == "M") INTEGER005 = 100
  179.     If (Upper(Mid(STRING003, 4, 1)) == "D") INTEGER005 = 1
  180.     If (Upper(Mid(STRING003, 7, 1)) == "Y") INTEGER006 = 10000
  181.     If (Upper(Mid(STRING003, 7, 1)) == "M") INTEGER006 = 100
  182.     If (Upper(Mid(STRING003, 7, 1)) == "D") INTEGER006 = 1
  183.     If (Exist(STRING029 + STRING030)) Goto LABEL003
  184.     Newline
  185.     Goto LABEL018
  186.     :LABEL003
  187.     FOpen 2, STRING029 + STRING030, 0, 0
  188.     For INTEGER007 = 0 To INTEGER002
  189.         FGet 2, TSTRING034(INTEGER007)
  190.     Next
  191.     FClose 2
  192.     :LABEL004
  193.     Newline
  194.     Print "@POFF@", STRING016
  195.     :LABEL005
  196.     STRING023 = Inkey()
  197.     If (Upper(STRING023) == YesChar()) Then
  198.         Backup 80
  199.         ClrEol
  200.     ElseIf (STRING023 == STRING026) Then
  201.         Backup 80
  202.         ClrEol
  203.     Else
  204.         If (STRING023 == STRING022) Then
  205.             Backup 80
  206.             ClrEol
  207.             Goto LABEL034
  208.         Endif
  209.         If (Upper(STRING023) == NoChar()) Then
  210.             Backup 80
  211.             ClrEol
  212.             Goto LABEL034
  213.         Endif
  214.         If (Upper(STRING023) == "S") Then
  215.             Backup 80
  216.             ClrEol
  217.             Goto LABEL018
  218.         Endif
  219.         Goto LABEL005
  220.     Endif
  221.     :LABEL006
  222.     STRING002 = U_LDate()
  223.     InputStr STRING019, STRING002, 14, 8, Mask_Num() + "-", 2 + 4 + 1024
  224.     If (ValDate(STRING002) == 0) Then
  225.         Backup 80
  226.         ClrEol
  227.         Goto LABEL006
  228.     Endif
  229.     INTEGER003 = Mid(STRING002, 7, 2) * INTEGER006 + Mid(STRING002, 1, 2) * INTEGER004 + Mid(STRING002, 4, 2) * INTEGER005
  230.     For INTEGER007 = 0 To INTEGER002
  231.         If (TSTRING034(INTEGER007) == 1) Then
  232.             Backup 80
  233.             ClrEol
  234.             Print STRING017, INTEGER007
  235.             If (Upper(TSTRING035(INTEGER007)) <> "") Then
  236.                 FOpen 2, TSTRING035(INTEGER007), 0, 0
  237.                 :LABEL007
  238.                 If (Ferr(2)) Goto LABEL008
  239.                 FGet 2, STRING001
  240.                 If (Mid(STRING001, 30, 2) * INTEGER006 + Mid(STRING001, 24, 2) * INTEGER004 + Mid(STRING001, 27, 2) * INTEGER005 >= INTEGER003) Gosub LABEL009
  241.                 If (Inkey() == STRING022) Then
  242.                     Backup 80
  243.                     ClrEol
  244.                     End
  245.                 Endif
  246.                 Goto LABEL007
  247.                 :LABEL008
  248.                 FClose 2
  249.             Endif
  250.         Endif
  251.     Next
  252.     Backup 80
  253.     ClrEol
  254.     :LABEL009
  255.     If (INTEGER007 > INTEGER002) Return
  256.     Backup 80
  257.     ClrEol
  258.     PrintLn STRING018, INTEGER007
  259.     Newline
  260.     DispFile PPEPath() + "HEADER", 1 + 4
  261.     Newline
  262.     If (Mid(STRING001, 32, 1) <> "|") PrintLn STRING009, Mid(STRING001, 1, 13) , STRING010, Mid(STRING001, 14, 9) , STRING011, Mid(STRING001, 23, 9) , STRING012, Mid(STRING001, 32, 47)
  263.     Print "@POFF@"
  264.     INTEGER012 = 1
  265.     :LABEL010
  266.     If (Ferr(2)) Goto LABEL011
  267.     FGet 2, STRING001
  268.     If (STRING001 == "%") DispFile Strip("%", STRING001) , 1
  269.     If ((Mid(STRING001, 32, 1) <> "|") && (Mid(STRING001, 1, 1) <> "%")) Then
  270.         PrintLn STRING009, Mid(STRING001, 1, 13), STRING010, Mid(STRING001, 14, 9), STRING011, Mid(STRING001, 23, 9), STRING012, Mid(STRING001, 32, 47)
  271.         Inc INTEGER012
  272.     Endif
  273.     If (Mid(STRING001, 32, 1) == "|") Then
  274.         PrintLn STRING013, "                                ", Mid(STRING001, 33, 46), "@X07"
  275.         Inc INTEGER012
  276.     Endif
  277.     If (INTEGER012 >= U_PageLen - 1) Then
  278.         Gosub LABEL012
  279.         Backup 80
  280.         ClrEol
  281.         INTEGER012 = 0
  282.     Endif
  283.     Goto LABEL010
  284.     :LABEL011
  285.     Gosub LABEL012
  286.     Return
  287.     :LABEL012
  288.     Print STRING020
  289.     :LABEL013
  290.     STRING023 = Inkey()
  291.     If (STRING023 == STRING026) Return
  292.     If (STRING023 == STRING022) Then
  293.         Backup 80
  294.         ClrEol
  295.     Else
  296.         If (Upper(STRING023) == "Y") Return
  297.         If (STRING023 == " ") Goto LABEL015
  298.         If (Upper(STRING023) == "N") Then
  299.             Backup 80
  300.             ClrEol
  301.         Else
  302.             If (Upper(STRING023) == "F") Then
  303.                 Backup 80
  304.                 ClrEol
  305.                 STRING007 = ""
  306.                 InputStr STRING015, STRING007, 15, 13, Mask_File(), 8
  307.                 Backup 80
  308.                 ClrEol
  309.                 Flag TSTRING036(INTEGER007) + STRING007
  310.                 Goto LABEL012
  311.             Endif
  312.             If (Upper(STRING023) == "V") Then
  313.                 Backup 80
  314.                 ClrEol
  315.                 STRING007 = ""
  316.                 InputStr STRING014, STRING007, 15, 13, Mask_File(), 8
  317.                 If (STRING007 == "") Then
  318.                     Backup 80
  319.                     ClrEol
  320.                     Goto LABEL012
  321.                 Endif
  322.             Else
  323.                 Goto LABEL013
  324.                 Wait
  325.                 Return
  326.             Endif
  327.             :LABEL014
  328.             INTEGER016 = GetY()
  329.             Backup 80
  330.             Print STRING009 + STRING007
  331.             For INTEGER008 = INTEGER016 To INTEGER021
  332.                 If (GetY() == INTEGER021) Break
  333.                 Print STRING025
  334.             Next
  335.             Backup 80
  336.             Print "@X07"
  337.             ClrEol
  338.             Print STRING020
  339.             SaveScrn
  340.             Print "@X07"
  341.             Cls
  342.             STRING023 = ""
  343.             If (Exist("PCBVIEW.TXT")) Delete "PCBVIEW.TXT"
  344.             Shell 1, STRING005, STRING006, TSTRING036(INTEGER007) + STRING007
  345.             If (Exist("PCBVIEW.TXT")) Then
  346.                 If (FileInf("PCBVIEW.TXT", 4) > 50) Then
  347.                     Print "@PON@"
  348.                     DispFile "PCBVIEW.TXT", 1
  349.                     Print "@POFF@"
  350.                     Newline
  351.                     Wait
  352.                 Endif
  353.                 Delete "PCBVIEW.TXT"
  354.             Endif
  355.             RestScrn
  356.             Goto LABEL013
  357.             :LABEL015
  358.             INTEGER021 = GetY()
  359.             Backup 80
  360.             Print STRING008
  361.             :LABEL016
  362.             Backup 80
  363.             INTEGER016 = GetY()
  364.             While (INTEGER016 >= 1) Do
  365.                 STRING007 = ""
  366.                 Dec INTEGER016
  367.                 If (GetY() == 1) Break
  368.                 Print STRING024
  369.                 STRING007 = RTrim(ScrText(1, INTEGER016, 13, 0), " ")
  370.                 If (STRING007 <> "") Then
  371.                     Print "@X7F" + STRING007
  372.                     Break
  373.                 Endif
  374.             EndWhile
  375.             If (INTEGER016 < 1) Then
  376.                 INTEGER016 = GetY()
  377.                 Backup 80
  378.                 Print STRING009 + STRING007
  379.                 For INTEGER008 = INTEGER016 To INTEGER021
  380.                     If (GetY() == INTEGER021) Break
  381.                     Print STRING025
  382.                 Next
  383.                 Backup 80
  384.                 Print "@X07"
  385.                 ClrEol
  386.                 Print STRING020
  387.                 Goto LABEL013
  388.             Endif
  389.             :LABEL017
  390.             STRING023 = Inkey()
  391.             If (STRING023 == " ") Then
  392.                 Backup 80
  393.                 Print STRING009 + STRING007
  394.                 Goto LABEL016
  395.             Endif
  396.             If (STRING023 == STRING026) Then
  397.                 Flag TSTRING036(INTEGER007) + STRING007
  398.                 Backup 80
  399.                 Print STRING009 + STRING007
  400.                 STRING023 = ""
  401.                 INTEGER016 = GetY()
  402.                 For INTEGER008 = INTEGER016 To INTEGER021
  403.                     If (GetY() == INTEGER021) Break
  404.                     Print STRING025
  405.                 Next
  406.                 Backup 80
  407.                 Print "@X07"
  408.                 ClrEol
  409.                 Print STRING020
  410.                 Goto LABEL013
  411.             Endif
  412.             If (STRING023 == STRING022) Then
  413.                 Backup 80
  414.                 Print STRING009 + STRING007
  415.                 STRING023 = ""
  416.                 INTEGER016 = GetY()
  417.                 For INTEGER008 = INTEGER016 To INTEGER021
  418.                     If (GetY() == INTEGER021) Break
  419.                     Print STRING025
  420.                 Next
  421.                 Backup 80
  422.                 Print "@X07"
  423.                 ClrEol
  424.                 Print STRING020
  425.                 Goto LABEL013
  426.             Endif
  427.             If (Upper(STRING023) == "V") Goto LABEL014
  428.             Goto LABEL017
  429.             :LABEL018
  430.             Print "@X08R@X07EA@X0FDiNG CONFERENCE D@X07AT@X08A "
  431.             INTEGER008 = 0
  432.             For INTEGER007 = 0 To INTEGER002
  433.                 TSTRING033(INTEGER007) = ReadLine(STRING021, INTEGER007 * 33 + 1)
  434.                 If (U_InConf(U_RecNum(U_Name()), INTEGER007) == 1) Then
  435.                     If (((Upper(TSTRING033(INTEGER007)) <> "EMPTY") && (Upper(TSTRING033(INTEGER007)) <> "NONE")) && (TSTRING033(INTEGER007) <> "")) Then
  436.                         TINTEGER001(INTEGER007) = 1
  437.                         INTEGER010 = INTEGER007
  438.                     Endif
  439.                 Endif
  440.                 If (INTEGER009 == 0) Then
  441.                     If (INTEGER008 <= 10) Then
  442.                         Print "."
  443.                         Inc INTEGER008
  444.                     Endif
  445.                     If (INTEGER008 == 10) INTEGER009 = 1
  446.                 Endif
  447.                 If (INTEGER009 == 1) Then
  448.                     Backup 1
  449.                     Print " "
  450.                     Backup 1
  451.                     Dec INTEGER008
  452.                     If (INTEGER008 == 0) INTEGER009 = 0
  453.                 Endif
  454.             Next
  455.             INTEGER002 = INTEGER010
  456.             Cls
  457.             Print "@POFF@"
  458.             DispFile PPEPath() + "HEAD", 1 + 4
  459.             FreshLine
  460.             INTEGER014 = GetY()
  461.             For INTEGER007 = INTEGER014 To 20
  462.                 Newline
  463.             Next
  464.             INTEGER015 = GetY()
  465.             DispFile PPEPath() + "FEET", 1 + 4
  466.             FreshLine
  467.             INTEGER016 = GetY()
  468.             For INTEGER007 = INTEGER014 To INTEGER016
  469.                 If (GetY() == INTEGER014) Break
  470.                 Print STRING024
  471.             Next
  472.             INTEGER013 = 0
  473.             STRING027 = 0
  474.             INTEGER011 = 0
  475.             :LABEL019
  476.             INTEGER016 = GetY()
  477.             Print "@X07"
  478.             For INTEGER007 = INTEGER014 To INTEGER015
  479.                 Backup 80
  480.                 ClrEol
  481.                 If (GetY() == INTEGER014) Break
  482.                 Print STRING024
  483.             Next
  484.             For INTEGER007 = INTEGER013 To INTEGER002
  485.                 If (TINTEGER001(INTEGER007) == 1) Then
  486.                     Gosub LABEL025
  487.                     Newline
  488.                 Endif
  489.                 If (GetY() == INTEGER015) Break
  490.             Next
  491.             If (INTEGER011 == 0) Then
  492.                 For INTEGER007 = INTEGER014 To INTEGER015
  493.                     If (GetY() == INTEGER014) Break
  494.                     Print STRING024
  495.                 Next
  496.             Endif
  497.             If (INTEGER011 == 1) Print STRING024
  498.             INTEGER007 = STRING027
  499.             Gosub LABEL024
  500.             INTEGER011 = 0
  501.             :LABEL020
  502.             STRING023 = Inkey()
  503.             If (STRING023 <> "") Goto LABEL021
  504.             Goto LABEL020
  505.             :LABEL021
  506.             If (Upper(STRING023) == "A") Goto LABEL027
  507.             If (Upper(STRING023) == "H") Goto LABEL030
  508.             If (STRING023 == "UP") Goto LABEL022
  509.             If (STRING023 == "DOWN") Goto LABEL023
  510.             If (STRING023 == "LEFT") Goto LABEL022
  511.             If (STRING023 == "RIGHT") Goto LABEL023
  512.             If (STRING023 == "8") Goto LABEL022
  513.             If (STRING023 == "2") Goto LABEL023
  514.             If (STRING023 == "4") Goto LABEL022
  515.             If (STRING023 == "6") Goto LABEL023
  516.             If (STRING023 == STRING026) Goto LABEL026
  517.             If (STRING023 == " ") Goto LABEL026
  518.             If (STRING023 == STRING022) Goto LABEL033
  519.             Goto LABEL020
  520.             :LABEL022
  521.             STRING027 = INTEGER007
  522.             If (STRING027 == 0) Goto LABEL020
  523.             If (GetY() == INTEGER014) Then
  524.                 For INTEGER007 = 0 To STRING027 - 1
  525.                     If (TINTEGER001(INTEGER007) == 1) INTEGER008 = INTEGER007
  526.                 Next
  527.                 INTEGER013 = 0
  528.                 STRING027 = INTEGER007
  529.                 INTEGER011 = 1
  530.                 Goto LABEL019
  531.             Endif
  532.             Print "@X07"
  533.             Backup 80
  534.             ClrEol
  535.             Gosub LABEL025
  536.             Print STRING024 + "@X7F"
  537.             Backup 80
  538.             ClrEol
  539.             For INTEGER007 = 0 To STRING027 - 1
  540.                 If (TINTEGER001(INTEGER007) == 1) INTEGER008 = INTEGER007
  541.             Next
  542.             STRING027 = INTEGER008
  543.             For INTEGER007 = STRING027 To INTEGER002
  544.                 If (TINTEGER001(INTEGER007) == 1) Then
  545.                     Gosub LABEL024
  546.                     STRING027 = INTEGER007
  547.                     Break
  548.                 Endif
  549.             Next
  550.             Goto LABEL020
  551.             :LABEL023
  552.             If (STRING027 == INTEGER002) Goto LABEL020
  553.             If (GetY() == INTEGER015 - 1) Then
  554.                 INTEGER013 = STRING027
  555.                 Goto LABEL019
  556.             Endif
  557.             Print "@X07"
  558.             Backup 80
  559.             ClrEol
  560.             Gosub LABEL025
  561.             Print STRING025
  562.             INTEGER007 = STRING027
  563.             For INTEGER007 = STRING027 + 1 To INTEGER002
  564.                 If (TINTEGER001(INTEGER007) == 1) Then
  565.                     INTEGER008 = INTEGER007
  566.                     Break
  567.                 Endif
  568.             Next
  569.             If (INTEGER008 == STRING027) Goto LABEL020
  570.             STRING027 = INTEGER008
  571.             INTEGER007 = STRING027
  572.             For INTEGER007 = STRING027 To INTEGER002
  573.                 If (TINTEGER001(INTEGER007) == 1) Then
  574.                     Gosub LABEL024
  575.                     STRING027 = INTEGER007
  576.                     Break
  577.                 Endif
  578.             Next
  579.             Goto LABEL020
  580.             :LABEL024
  581.             Print "@X7F"
  582.             Backup 80
  583.             ClrEol
  584.             Print "@X08░▒▓█@X78▓▒░ @X7FCONFERENCE "
  585.             INTEGER008 = Len(INTEGER007)
  586.             While (((1 < 0) && (INTEGER008 >= Len(INTEGER002) - 1)) || ((1 >= 0) && (INTEGER008 <= Len(INTEGER002) - 1))) Do
  587.                 Print "0"
  588.                 INTEGER008 = INTEGER008 + 1
  589.             EndWhile
  590.             Print INTEGER007, " : ", TSTRING033(INTEGER007)
  591.             If (TSTRING034(INTEGER007) <> 1) Print "@POS:65@SCAN [ ]"
  592.             If (TSTRING034(INTEGER007) == 1) Print "@POS:65@SCAN [X]"
  593.             Return
  594.             :LABEL025
  595.             Print "@X07        CONFERENCE "
  596.             INTEGER008 = Len(INTEGER007)
  597.             While (((1 < 0) && (INTEGER008 >= Len(INTEGER002) - 1)) || ((1 >= 0) && (INTEGER008 <= Len(INTEGER002) - 1))) Do
  598.                 Print "0"
  599.                 INTEGER008 = INTEGER008 + 1
  600.             EndWhile
  601.             Print INTEGER007, " : ", TSTRING033(INTEGER007)
  602.             If (TSTRING034(INTEGER007) <> 1) Print "@POS:65@SCAN [ ]"
  603.             If (TSTRING034(INTEGER007) == 1) Print "@POS:65@SCAN [X]"
  604.             Return
  605.             :LABEL026
  606.             INTEGER009 = 0
  607.             If ((TSTRING034(STRING027) <> 0) && (TSTRING034(STRING027) <> 1)) TSTRING034(STRING027) = 0
  608.             If (TSTRING034(STRING027) == 0) Then
  609.                 TSTRING034(STRING027) = 1
  610.                 INTEGER009 = 1
  611.             Endif
  612.             If ((TSTRING034(STRING027) == 1) && (INTEGER009 == 0)) TSTRING034(STRING027) = 0
  613.             Gosub LABEL024
  614.             INTEGER009 = 0
  615.             If (STRING023 == STRING026) Goto LABEL023
  616.             Goto LABEL020
  617.             :LABEL027
  618.             INTEGER016 = GetY()
  619.             For INTEGER019 = INTEGER014 To INTEGER015
  620.                 If (GetY() == INTEGER015) Break
  621.                 Print STRING025
  622.             Next
  623.             Backup 80
  624.             PrintLn STRING004
  625.             Newline
  626.             Print STRING004
  627.             Print STRING024
  628.             Print STRING024
  629.             :LABEL028
  630.             INTEGER018 = Len(BIGSTR001)
  631.             For INTEGER017 = 1 To INTEGER018
  632.                 If (Inkey() <> "") Goto LABEL029
  633.                 Delay 2
  634.                 Print "@X08", Mid(BIGSTR001, INTEGER017, 5)
  635.                 Print "@X07", Mid(BIGSTR001, INTEGER017 + 5, 5)
  636.                 Print "@X0F", Mid(BIGSTR001, INTEGER017 + 10, 60)
  637.                 Print "@X07", Mid(BIGSTR001, INTEGER017 + 70, 5)
  638.                 Print "@X08", Mid(BIGSTR001, INTEGER017 + 75, 4)
  639.                 Backup 80
  640.             Next
  641.             Goto LABEL028
  642.             :LABEL029
  643.             Backup 80
  644.             ClrEol
  645.             Print STRING025
  646.             Backup 80
  647.             ClrEol
  648.             Print STRING024
  649.             Print STRING024
  650.             Backup 80
  651.             ClrEol
  652.             DispFile PPEPath() + "FEET", 1 + 4
  653.             INTEGER020 = GetY()
  654.             For INTEGER019 = INTEGER016 To INTEGER020 - 1
  655.                 Print STRING024
  656.             Next
  657.             Goto LABEL020
  658.             :LABEL030
  659.             INTEGER016 = GetY()
  660.             For INTEGER019 = INTEGER014 To INTEGER015
  661.                 If (GetY() == INTEGER015) Break
  662.                 Print STRING025
  663.             Next
  664.             Backup 80
  665.             PrintLn STRING004
  666.             Newline
  667.             Print STRING004
  668.             Print STRING024
  669.             Print STRING024
  670.             :LABEL031
  671.             INTEGER018 = Len(BIGSTR002)
  672.             For INTEGER017 = 1 To INTEGER018
  673.                 If (Inkey() <> "") Goto LABEL032
  674.                 Delay 2
  675.                 Print "@X08", Mid(BIGSTR002, INTEGER017, 5)
  676.                 Print "@X07", Mid(BIGSTR002, INTEGER017 + 5, 5)
  677.                 Print "@X0F", Mid(BIGSTR002, INTEGER017 + 10, 60)
  678.                 Print "@X07", Mid(BIGSTR002, INTEGER017 + 70, 5)
  679.                 Print "@X08", Mid(BIGSTR002, INTEGER017 + 75, 4)
  680.                 Backup 80
  681.             Next
  682.             Goto LABEL031
  683.             :LABEL032
  684.             Backup 80
  685.             ClrEol
  686.             Print STRING025
  687.             Backup 80
  688.             ClrEol
  689.             Print STRING024
  690.             Print STRING024
  691.             Backup 80
  692.             ClrEol
  693.             DispFile PPEPath() + "FEET", 1 + 4
  694.             INTEGER020 = GetY()
  695.             For INTEGER019 = INTEGER016 To INTEGER020 - 1
  696.                 Print STRING024
  697.             Next
  698.             Goto LABEL020
  699.             :LABEL033
  700.             Print "@X07 "
  701.             Cls
  702.             If (Exist(STRING029 + STRING030)) Delete STRING029 + STRING030
  703.             FCreate 1, STRING029 + STRING030, 2, 0
  704.             FDefOut 1
  705.             For INTEGER007 = 0 To INTEGER002
  706.                 FDPut TSTRING034(INTEGER007), STRING026
  707.             Next
  708.             FClose 1
  709.             Goto LABEL004
  710.         Endif
  711.     Endif
  712.     :LABEL034
  713.     End
  714.  
  715. ;------------------------------------------------------------------------------
  716. ;
  717. ; Usage report (before postprocessing)
  718. ;
  719. ; ■ Statements used :
  720. ;
  721. ;    2       End
  722. ;    3       Cls
  723. ;    32      ClrEol
  724. ;    2       Wait
  725. ;    174     Goto 
  726. ;    174     Let 
  727. ;    78      Print 
  728. ;    6       PrintLn 
  729. ;    134     If 
  730. ;    7       DispFile 
  731. ;    1       FCreate 
  732. ;    4       FOpen 
  733. ;    4       FClose 
  734. ;    30      FGet 
  735. ;    1       GetUser
  736. ;    3       Delete 
  737. ;    3       InputStr 
  738. ;    10      Gosub 
  739. ;    7       Return
  740. ;    2       Delay 
  741. ;    3       Inc 
  742. ;    2       Dec 
  743. ;    9       Newline
  744. ;    1       Shell 
  745. ;    45      Backup 
  746. ;    2       FreshLine
  747. ;    1       SaveScrn
  748. ;    1       RestScrn
  749. ;    3       SPrintLn 
  750. ;    1       FDefOut 
  751. ;    1       FDPut 
  752. ;    2       Flag 
  753. ;
  754. ;
  755. ; ■ Functions used :
  756. ;
  757. ;    9       *
  758. ;    2       /
  759. ;    103     +
  760. ;    14      -
  761. ;    80      ==
  762. ;    15      <>
  763. ;    29      <
  764. ;    28      <=
  765. ;    2       >
  766. ;    57      >=
  767. ;    71      !
  768. ;    59      &&
  769. ;    27      ||
  770. ;    13      Len(
  771. ;    22      Upper()
  772. ;    48      Mid()
  773. ;    2       Ferr()
  774. ;    5       Chr()
  775. ;    1       RTrim()
  776. ;    7       U_Name()
  777. ;    1       U_LDate()
  778. ;    1       NoChar()
  779. ;    1       YesChar()
  780. ;    12      Strip()
  781. ;    7       Inkey()
  782. ;    1       Mask_Num()
  783. ;    2       Mask_File()
  784. ;    3       PCBDat()
  785. ;    11      PPEPath()
  786. ;    1       ValDate()
  787. ;    6       ReadLine()
  788. ;    7       Exist()
  789. ;    3       LangExt()
  790. ;    27      GetY()
  791. ;    1       GrafMode()
  792. ;    1       FileInf()
  793. ;    1       U_RecNum()
  794. ;    1       U_InConf()
  795. ;    1       ScrText()
  796. ;
  797. ;------------------------------------------------------------------------------
  798. ;
  799. ; Analysis flags : Sfd
  800. ;
  801. ; S - Shell to DOS ■ 5
  802. ;     This may be normal if the PPE need to execute an external command,
  803. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  804. ;     or usefull (sorting, maintenance,...). Check!
  805. ;     ■ Search for : SHELL
  806. ;
  807. ; f - Flag files for download ■ 3
  808. ;     This may be normal if a PPE needs to send some files, but since
  809. ;     this statement allows flagging of any file on the hard disk, you
  810. ;     have to be carefull. Check!
  811. ;     ■ Search for : FLAG
  812. ;
  813. ; d - Access PCBOARD.DAT ■ 2
  814. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  815. ;     for many PPE so they can find various informations on the system
  816. ;     (system paths, max number of lines in messages, ...) but it may also
  817. ;     be a way to gather vital informations.
  818. ;     ■ Search for : PCBDAT()
  819. ;
  820. ;------------------------------------------------------------------------------
  821. ;
  822. ; Postprocessing report
  823. ;
  824. ;    25      For/Next
  825. ;    3       While/EndWhile
  826. ;    38      If/Then or If/Then/Else
  827. ;    0       Select Case
  828. ;
  829. ;------------------------------------------------------------------------------
  830. ;                 AEGiS Corp - Break the routines, code against the machines!
  831. ;------------------------------------------------------------------------------
  832.