home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THTCK140.ZIP / UPCHK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-06-18  |  21KB  |  1,186 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.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Date     DATE001
  23.     Date     DATE002
  24.     Date     DATE003
  25.     Date     DATE004
  26.     Date     DATE005
  27.     Integer  INTEGER001
  28.     Integer  INTEGER002
  29.     Integer  INTEGER003
  30.     Integer  INTEGER004
  31.     Integer  INTEGER005
  32.     Integer  INTEGER006
  33.     Integer  INTEGER007
  34.     Integer  INTEGER008
  35.     Integer  INTEGER009
  36.     Integer  INTEGER010
  37.     Integer  INTEGER011
  38.     Integer  INTEGER012
  39.     Integer  INTEGER013
  40.     Integer  INTEGER014
  41.     Integer  INTEGER015
  42.     Integer  INTEGER016
  43.     Integer  INTEGER017
  44.     Integer  INTEGER018
  45.     Integer  INTEGER019
  46.     Integer  INTEGER020
  47.     Integer  INTEGER021
  48.     Integer  INTEGER022
  49.     String   STRING001
  50.     String   STRING002
  51.     String   STRING003
  52.     String   STRING004
  53.     String   STRING005
  54.     String   STRING006
  55.     String   STRING007
  56.     String   STRING008
  57.     String   STRING009
  58.     String   STRING010
  59.     String   STRING011
  60.     String   STRING012
  61.     String   STRING013
  62.     String   STRING014
  63.     String   STRING015
  64.     String   STRING016
  65.     String   STRING017
  66.     String   STRING018
  67.     String   STRING019
  68.     String   STRING020
  69.     String   STRING021
  70.     String   STRING022
  71.     String   STRING023
  72.     String   STRING024
  73.     String   STRING025
  74.     String   STRING026
  75.     String   STRING027
  76.     String   STRING028
  77.     String   STRING029
  78.     String   STRING030
  79.     String   STRING031
  80.     String   STRING032
  81.     String   STRING033
  82.     String   STRING034
  83.     String   STRING035
  84.     String   STRING036
  85.     String   STRING037
  86.     String   STRING038
  87.     String   STRING039
  88.     String   STRING040
  89.     String   STRING041
  90.     String   STRING042
  91.     String   STRING043
  92.     String   STRING044
  93.     String   STRING045
  94.     String   STRING046
  95.     String   STRING047
  96.     String   STRING048
  97.     String   STRING049
  98.     String   STRING050
  99.     String   STRING051
  100.     String   STRING052
  101.     String   STRING053
  102.     String   STRING054
  103.     String   STRING055
  104.     String   STRING056
  105.     String   STRING057
  106.     String   STRING058
  107.     String   STRING059
  108.     String   STRING060
  109.     String   STRING061
  110.     String   STRING062
  111.     String   STRING063
  112.     String   STRING064
  113.     String   STRING065
  114.     String   STRING066
  115.     String   STRING067
  116.     String   STRING068
  117.     String   STRING069
  118.     String   STRING070
  119.     String   STRING071
  120.     String   STRING072
  121.     String   STRING073
  122.     String   STRING074
  123.     String   STRING075
  124.     String   STRING076
  125.     String   STRING077
  126.     String   STRING078
  127.     String   STRING079
  128.     String   STRING080
  129.     String   STRING081
  130.     String   STRING082
  131.     String   STRING083
  132.     String   STRING084
  133.     String   STRING085
  134.     String   STRING086
  135.     String   STRING087
  136.     String   STRING088
  137.     String   STRING089
  138.     String   STRING090
  139.     String   STRING091
  140.     String   STRING092
  141.     String   STRING093
  142.     String   STRING094
  143.     String   STRING095
  144.     String   STRING096
  145.     String   STRING097
  146.     String   STRING098
  147.     String   STRING099
  148.     String   STRING100
  149.     String   TSTRING101(65)
  150.     String   TSTRING102(1)
  151.     String   STRING103
  152.     String   STRING104
  153.     String   STRING105
  154.     String   STRING106
  155.     String   STRING107
  156.     String   STRING108
  157.     String   STRING109
  158.     String   STRING110
  159.     String   STRING111
  160.  
  161. ;------------------------------------------------------------------------------
  162.  
  163.     CdChkOff
  164.     INTEGER006 = 999999
  165.     FDefIn 1
  166.     FDefOut 3
  167.     If (Exist(TempPath() + "PCBFAIL.TXT")) Delete TempPath() + "PCBFAIL.TXT"
  168.     If (Exist(TempPath() + "PCBPASS.TXT")) Delete TempPath() + "PCBPASS.TXT"
  169.     If (Exist(GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\" + "PCBPASS.TXT")) Delete GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\" + "PCBPASS.TXT"
  170.     If (Exist(GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\" + "PCBFAIL.TXT")) Delete GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\" + "PCBFAIL.TXT"
  171.     STRING064 = Chr(49) + Chr(46) + Chr(52) + Chr(48)
  172.     STRING063 = Chr(64) + Chr(88) + Chr(52) + Chr(70) + Chr(84) + Chr(72) + Chr(84) + Chr(45) + Chr(85) + Chr(80) + Chr(45) + Chr(67) + Chr(104) + Chr(101) + Chr(99) + Chr(107) + " " + Chr(64) + Chr(88) + Chr(52) + Chr(66) + Chr(118) + STRING064
  173.     INTEGER007 = CurConf()
  174.     STRING030 = CurConf()
  175.     StartDisp 1
  176.     If (Exist(PPEPath() + PPEName() + STRING030 + ".cnf")) Then
  177.         FOpen 1, PPEPath() + PPEName() + STRING030 + ".cnf", 0, 0
  178.     Else
  179.         FOpen 1, PPEPath() + PPEName() + ".cnf", 0, 0
  180.     Endif
  181.     FDGet STRING081
  182.     FDGet STRING093
  183.     FDGet INTEGER005
  184.     FDGet STRING071
  185.     FDGet STRING072
  186.     FDGet STRING080
  187.     FDGet STRING073
  188.     FDGet STRING074
  189.     FDGet STRING067
  190.     FDGet STRING075
  191.     FDGet STRING083
  192.     FDGet STRING084
  193.     FDGet STRING085
  194.     FDGet STRING086
  195.     FDGet STRING087
  196.     FDGet STRING088
  197.     FDGet STRING089
  198.     FDGet STRING090
  199.     FDGet STRING091
  200.     FDGet STRING092
  201.     FDGet STRING082
  202.     FDGet STRING065
  203.     FDGet STRING066
  204.     FDGet STRING051
  205.     FDGet STRING053
  206.     FDGet STRING054
  207.     FDGet STRING055
  208.     FDGet STRING099
  209.     FDGet STRING100
  210.     FDGet STRING069
  211.     FDGet STRING070
  212.     FDGet STRING038
  213.     FDGet STRING029
  214.     FDGet STRING031
  215.     FDGet STRING026
  216.     FDGet STRING052
  217.     FDGet STRING027
  218.     FDGet STRING028
  219.     FDGet STRING035
  220.     FDGet STRING032
  221.     FDGet STRING007
  222.     FDGet STRING008
  223.     FDGet STRING009
  224.     FClose 1
  225.     FOpen 1, PPEPath() + PPEName() + "a.cnf", 0, 0
  226.     FDGet STRING011
  227.     FDGet STRING012
  228.     FDGet STRING013
  229.     FDGet STRING014
  230.     FDGet STRING015
  231.     FDGet STRING017
  232.     FDGet STRING018
  233.     FDGet STRING019
  234.     FDGet STRING020
  235.     FDGet STRING021
  236.     FDGet STRING022
  237.     FDGet STRING023
  238.     FDGet STRING033
  239.     FDGet STRING034
  240.     FClose 1
  241.     FOpen 1, PPEPath() + "error.msg", 0, 0
  242.     FDGet STRING003
  243.     FDGet STRING004
  244.     FDGet STRING005
  245.     FDGet STRING006
  246.     FClose 1
  247.     STRING056 = ""
  248.     STRING056 = TokenStr()
  249.     If (STRING056 <> "") Then
  250.         Tokenize STRING056
  251.         GetToken STRING056
  252.         GetToken STRING059
  253.         OpText STRING056
  254.         If (Upper(STRING059) == "LOCAL") STRING036 = STRING038
  255.         If (Upper(STRING059) == "TEST") Then
  256.             Gosub LABEL001
  257.             If (STRING056 == "") Then
  258.                 DispText 326, 2048 + 64
  259.                 DispStr "!" + PPEPath() + "test574.ppe"
  260.             Else
  261.                 Goto LABEL005
  262.                 :LABEL001
  263.                 STRING037 = ReadLine(PCBDat(), 244)
  264.                 FClose -1
  265.                 FOpen 1, STRING037, 2, 0
  266.                 :LABEL002
  267.                 If (Ferr(1)) Goto LABEL003
  268.                 FGet 1, STRING036
  269.                 If (Exist(STRING036 + STRING056)) Then
  270.                     FClose 1
  271.                     Return
  272.                 Endif
  273.                 Goto LABEL002
  274.                 :LABEL003
  275.                 FClose 1
  276.                 STRING056 = ""
  277.                 Return
  278.                 :LABEL004
  279.                 GetToken STRING058
  280.                 GetToken INTEGER009
  281.                 AnsiPos STRING058, INTEGER009
  282.                 Return
  283.                 :LABEL005
  284.                 DispFile PPEPath() + PPEName() + ".dsp", 0
  285.                 AnsiPos 31, 2
  286.                 Print STRING063
  287.                 TSTRING102(0) = Upper(ReadLine(PCBDat(), 2))
  288.                 TSTRING102(1) = Upper(ReadLine(PCBDat(), 94))
  289.                 INTEGER021 = Len(TSTRING102(0))
  290.                 If (INTEGER021 < 2) TSTRING102(0) = Chr(109) + Chr(101)
  291.                 INTEGER020 = Len(TSTRING102(1))
  292.                 If (INTEGER020 < 2) TSTRING102(1) = Chr(109) + Chr(101)
  293.                 For INTEGER022 = 1 To INTEGER021
  294.                     TSTRING101(INTEGER022) = Mid(TSTRING102(0), INTEGER022, 1) + I2S(11, 36) + I2S(13, 36) + I2S(15, 36)
  295.                     STRING104 = STRING104 + S2I(TSTRING101(INTEGER022), 31) + S2I(TSTRING101(INTEGER022), 34)
  296.                     STRING105 = STRING105 + I2S(S2I(TSTRING101(INTEGER022), 31), 28) + I2S(S2I(99, 29), 32)
  297.                 Next
  298.                 STRING104 = STRING104 + S2I(I2S(14, 36) + I2S(11, 36), 31)
  299.                 STRING104 = STRING104 * INTEGER021
  300.                 STRING105 = STRING105 + I2S(S2I(56, 31), 35)
  301.                 For INTEGER022 = 1 To INTEGER020
  302.                     TSTRING101(INTEGER022) = Mid(TSTRING102(1), INTEGER022, 1) + I2S(15, 36) + I2S(11, 36) + I2S(13, 36)
  303.                     STRING106 = STRING106 + S2I(TSTRING101(INTEGER022), 35) + S2I(TSTRING101(INTEGER022), 32)
  304.                     STRING107 = STRING107 + I2S(S2I(TSTRING101(INTEGER022), 31), 29) + I2S(S2I(79, 29), 36)
  305.                 Next
  306.                 STRING106 = STRING106 + S2I(I2S(11, 36) + I2S(14, 36), 31)
  307.                 STRING106 = STRING106 * INTEGER020
  308.                 STRING107 = STRING107 + I2S(S2I(65, 31), 32)
  309.                 If (Exist(PPEPath() + PPEName() + ".key")) FOpen 1, PPEPath() + PPEName() + ".key", 0, 0
  310.                 FGet 1, STRING108
  311.                 FGet 1, STRING109
  312.                 FGet 1, STRING110
  313.                 FGet 1, STRING111
  314.                 FClose 1
  315.                 If (Exist(PPEPath() + PPEName() + ".key")) Then
  316.                     If (((!(STRING104 == STRING108) || !(STRING105 == STRING109)) || !(STRING106 == STRING110)) || !(STRING107 == STRING111)) Then
  317.                         PrintLn "@X8FInvalid @X0C" + PPEName() + "@X0F.KEY File has been found"
  318.                         Delete PPEPath() + PPEName() + ".key"
  319.                     Endif
  320.                 Endif
  321.                 STRING103 = Chr(64) + I2S(33, 36) + I2S(0, 36) + I2S(12, 36) + Chr(60) + Chr(60) + Chr(60) + Chr(64) + Chr(88) + I2S(0, 36) + I2S(12, 36) + I2S(30, 36) + I2S(23, 36) + I2S(27, 36) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + Chr(64) + Chr(88) + I2S(0, 36) + I2S(12, 36) + Chr(62) + Chr(62) + Chr(62)
  322.                 If (((!(STRING104 == STRING108) || !(STRING105 == STRING109)) || !(STRING106 == STRING110)) || !(STRING107 == STRING111)) Then
  323.                     Newline
  324.                     AnsiPos 22, 3
  325.                     Print STRING103
  326.                     Print "  " + Chr(64) + Chr(88) + Chr(48) + I2S(15, 36) + I2S(25, 36) + I2S(21, 26) + I2S(14, 36) + I2S(10, 36) + I2S(28, 36) + I2S(14, 36) + " " + I2S(27, 36) + I2S(14, 36) + I2S(16, 36) + I2S(18, 36) + I2S(28, 36) + I2S(29, 36) + I2S(14, 36) + I2S(27, 36) + " "
  327.                 Endif
  328.                 Tokenize STRING011
  329.                 Gosub LABEL004
  330.                 Print STRING082 + U_Name()
  331.                 Tokenize STRING012
  332.                 Gosub LABEL004
  333.                 Print STRING055 + "@OPTEXT@"
  334.                 STRING056 = ScrText(STRING058, INTEGER009, 12, 0)
  335.                 STRING056 = RTrim(STRING056, " ")
  336.                 If (FileInf(STRING056, 9) == "") Then
  337.                     STRING010 = ReadLine(PCBDat(), 96)
  338.                     STRING056 = STRING056 + STRING010
  339.                 Endif
  340.                 If ((Upper(STRING059) == "TEST") || (Upper(STRING059) == "LOCAL")) Then
  341.                     STRING056 = STRING036 + STRING056
  342.                 Else
  343.                     If (INTEGER007 == 0) Then
  344.                         INTEGER008 = 243
  345.                     Else
  346.                         INTEGER008 = INTEGER007 * 548 + 243
  347.                     Endif
  348.                     STRING045 = ReadLine(PCBDat(), 31)
  349.                     FOpen 1, STRING045 + ".@@@", 0, 0
  350.                     FSeek 1, INTEGER008, 0
  351.                     FRead 1, STRING057, 25
  352.                     FClose 1
  353.                     STRING056 = STRING057 + STRING056
  354.                     STRING059 = "Upload"
  355.                 Endif
  356.                 STRING041 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
  357.                 STRING042 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FDESC." + String(PcbNode())
  358.                 If (Exist(STRING042)) FOpen 6, STRING042, 2, 0
  359.                 If (Exist(STRING041)) FOpen 5, STRING041, 0, 0
  360.                 FSeek 5, 66, 0
  361.                 FRead 5, STRING040, 12
  362.                 FSeek 6, 0, 0
  363.                 FRead 6, STRING039, 45
  364.                 If (STRING040 == FileInf(STRING056, 8)) Then
  365.                     FClose 5
  366.                     FClose 6
  367.                     AnsiPos 16, 10
  368.                     Print "@X03" + STRING039
  369.                 Endif
  370.                 :LABEL006
  371.                 If (Ferr(5)) Goto LABEL007
  372.                 FSeek 5, 117, 1
  373.                 FRead 5, STRING040, 12
  374.                 If (Ferr(5)) Goto LABEL007
  375.                 FSeek 6, 916, 1
  376.                 FRead 6, STRING039, 45
  377.                 If (Ferr(6)) Goto LABEL007
  378.                 If (STRING040 == FileInf(STRING056, 8)) Then
  379.                     FClose 5
  380.                     FClose 6
  381.                     AnsiPos 16, 10
  382.                     Print "@X03" + STRING039
  383.                 Endif
  384.                 Goto LABEL006
  385.                 :LABEL007
  386.                 STRING039 = ""
  387.                 FClose 5
  388.                 FClose 6
  389.                 If (Exist(STRING056)) Then
  390.                     If ((Upper(STRING059) == "UPLOAD") || (Upper(STRING059) == "LOCAL")) Then
  391.                         Tokenize STRING013
  392.                         Gosub LABEL004
  393.                         If (STRING081 == YesChar()) Print STRING051 + String(INTEGER005) + STRING029
  394.                     Endif
  395.                     Tokenize STRING014
  396.                     Gosub LABEL004
  397.                     If (Exist(STRING056)) Print STRING009 + FileInf(STRING056, 9)
  398.                     Tokenize STRING015
  399.                     Gosub LABEL004
  400.                     Gosub LABEL026
  401.                     AnsiPos STRING058, INTEGER009
  402.                     Print STRING091
  403.                     If (OnLocal()) AnsiPos 78, 21
  404.                     If (OnLocal()) SaveScrn
  405.                     If (Exist(STRING056)) Shell 1, INTEGER001, STRING071, STRING056
  406.                     If (OnLocal()) RestScrn
  407.                     If (Exist(STRING056)) Goto LABEL008
  408.                     Gosub LABEL027
  409.                     AnsiPos STRING058, INTEGER009
  410.                     Print STRING088
  411.                     If (STRING031 == YesChar()) Message CurConf() , U_Name() , "THT-UP-CHECK", FileInf(STRING056, 8) , "R", 0, 0, 0, PPEPath() + "failed.vrf"
  412.                     If (STRING008 == YesChar()) Then
  413.                         FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  414.                         FPutLn 3, FileInf(STRING056, 8) + " " + STRING004 + " " + STRING003 + " " + U_Name()
  415.                         FClose 3
  416.                     Endif
  417.                     Goto LABEL058
  418.                     Goto LABEL009
  419.                     :LABEL008
  420.                     If (OnLocal()) RestScrn
  421.                     Gosub LABEL027
  422.                     AnsiPos STRING058, INTEGER009
  423.                     If (Exist(STRING056)) Print STRING087
  424.                     :LABEL009
  425.                     If (Upper(STRING059) == "TEST") Goto LABEL058
  426.                     Tokenize STRING017
  427.                     Gosub LABEL004
  428.                     Gosub LABEL026
  429.                     AnsiPos STRING058, INTEGER009
  430.                     If (STRING081 <> YesChar()) Then
  431.                         Print STRING007
  432.                         Gosub LABEL027
  433.                         Goto LABEL010
  434.                     Endif
  435.                     Print STRING091
  436.                     :LABEL010
  437.                     If ((STRING069 <> YesChar()) && (STRING081 <> YesChar())) Goto LABEL029
  438.                     If (((FileInf(STRING056, 9) == "ZIP") || (FileInf(STRING056, 9) == "ARJ")) || (FileInf(STRING056, 9) == "LZH")) Then
  439.                         FOpen 4, PPEPath() + "exclude", 0, 0
  440.                         FOpen 1, "FILELIST.arc", 0, 0
  441.                         Goto LABEL011
  442.                         Goto LABEL011
  443.                     Endif
  444.                     Goto LABEL029
  445.                     :LABEL011
  446.                     If (Ferr(1)) Goto LABEL016
  447.                     :LABEL012
  448.                     FDGet STRING076
  449.                     If ((Mid(STRING076, 1, 6) <> "======") && (BOOLEAN001 == 0)) Goto LABEL012
  450.                     If ((Mid(STRING076, 1, 6) == "======") && (BOOLEAN001 == 0)) Then
  451.                         BOOLEAN001 = 1
  452.                         Goto LABEL012
  453.                     Endif
  454.                     If ((Mid(STRING076, 2, 6) == "======") && (BOOLEAN001 == 1)) Then
  455.                         FDGet STRING076
  456.                         Tokenize STRING076
  457.                         GetToken STRING060
  458.                         GetToken STRING060
  459.                         GetToken STRING001
  460.                         GetToken STRING060
  461.                         If (FileInf(STRING056, 9) == "LZH") Then
  462.                             GetToken STRING002
  463.                             Goto LABEL013
  464.                         Endif
  465.                         GetToken STRING060
  466.                         :LABEL013
  467.                         GetToken STRING002
  468.                         Goto LABEL016
  469.                     Endif
  470.                     If (STRING076 == "") Goto LABEL016
  471.                     STRING079 = Mid(STRING076, 1, 12)
  472.                     STRING079 = RTrim(STRING079, " ")
  473.                     Inc STRING046
  474.                     If (((STRING054 == YesChar()) && (FileInf(STRING079, 9) == "NFO")) || ((STRING054 == YesChar()) && (FileInf(STRING079, 9) == "DIZ"))) Then
  475.                         Goto LABEL012
  476.                     Endif
  477.                     STRING068 = LTrim(Mid(STRING076, 15, 8), " ")
  478.                     If (STRING068 == 0) Goto LABEL012
  479.                     Gosub LABEL024
  480.                     STRING078 = Mid(STRING076, 51, 9)
  481.                     STRING049 = Mid(STRING078, 1, 2)
  482.                     STRING047 = Upper(Mid(STRING078, 4, 3))
  483.                     If (STRING047 == "JAN") Then
  484.                         STRING047 = "01"
  485.                         Goto LABEL014
  486.                     Endif
  487.                     If (STRING047 == "FEB") Then
  488.                         STRING047 = "02"
  489.                         Goto LABEL014
  490.                     Endif
  491.                     If (STRING047 == "MAR") Then
  492.                         STRING047 = "03"
  493.                         Goto LABEL014
  494.                     Endif
  495.                     If (STRING047 == "APR") Then
  496.                         STRING047 = "04"
  497.                         Goto LABEL014
  498.                     Endif
  499.                     If (STRING047 == "MAY") Then
  500.                         STRING047 = "05"
  501.                         Goto LABEL014
  502.                     Endif
  503.                     If (STRING047 == "JUN") Then
  504.                         STRING047 = "06"
  505.                         Goto LABEL014
  506.                     Endif
  507.                     If (STRING047 == "JUL") Then
  508.                         STRING047 = "07"
  509.                         Goto LABEL014
  510.                     Endif
  511.                     If (STRING047 == "AUG") Then
  512.                         STRING047 = "08"
  513.                         Goto LABEL014
  514.                     Endif
  515.                     If (STRING047 == "SEP") Then
  516.                         STRING047 = "09"
  517.                         Goto LABEL014
  518.                     Endif
  519.                     If (STRING047 == "OCT") Then
  520.                         STRING047 = "10"
  521.                         Goto LABEL014
  522.                     Endif
  523.                     If (STRING047 == "NOV") Then
  524.                         STRING047 = "11"
  525.                         Goto LABEL014
  526.                     Endif
  527.                     If (STRING047 == "DEC") Then
  528.                         STRING047 = "12"
  529.                     Endif
  530.                     :LABEL014
  531.                     STRING048 = Mid(STRING078, 8, 2)
  532.                     DATE003 = STRING047 + "-" + STRING049 + "-" + STRING048
  533.                     INTEGER011 = DATE003
  534.                     If (((DATE003 > Date()) || (INTEGER011 == "0")) || (INTEGER011 == "29220")) Goto LABEL012
  535.                     If (INTEGER011 < INTEGER006) Then
  536.                         INTEGER019 = DATE003
  537.                         DATE005 = INTEGER019
  538.                     Endif
  539.                     INTEGER006 = INTEGER011
  540.                     If (INTEGER011 > INTEGER018) Then
  541.                         INTEGER018 = DATE003
  542.                         DATE004 = INTEGER018
  543.                     Endif
  544.                     If (Upper(STRING093) == "MORE") Then
  545.                         If (Date() - INTEGER011 > INTEGER005) Then
  546.                             Inc INTEGER016
  547.                             Goto LABEL015
  548.                         Endif
  549.                         Inc INTEGER017
  550.                     Endif
  551.                     :LABEL015
  552.                     If (Upper(STRING093) == "AVG") Then
  553.                         INTEGER012 = INTEGER012 + DATE003
  554.                         Inc INTEGER013
  555.                     Endif
  556.                     Goto LABEL011
  557.                     :LABEL016
  558.                     FClose 1
  559.                     FClose 4
  560.                     DATE001 = INTEGER018
  561.                     DATE002 = INTEGER019
  562.                     STRING043 = DATE001
  563.                     STRING044 = DATE002
  564.                     Tokenize STRING017
  565.                     Gosub LABEL004
  566.                     If (STRING081 <> YesChar()) Goto LABEL029
  567.                     If (Upper(STRING093) == "AVG") Goto LABEL022
  568.                     If (Upper(STRING093) == "MORE") Goto LABEL020
  569.                     If (Upper(STRING093) == "NEW") Goto LABEL018
  570.                     If (Upper(STRING093) == "OLD") Goto LABEL000
  571.                     STRING050 = Date() - INTEGER019
  572.                     If (STRING050 > INTEGER005) Then
  573.                         Gosub LABEL027
  574.                         AnsiPos STRING058, INTEGER009
  575.                         Print STRING089
  576.                         INTEGER004 = Len(StripAtx(STRING089))
  577.                         AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  578.                         Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING053
  579.                         Copy STRING056, STRING067 + FileInf(STRING056, 8)
  580.                         Delete STRING056
  581.                         FCreate 3, TempPath() + "PCBFAIL.TXT", 1, 0
  582.                         FDPutLn STRING089
  583.                         FClose 3
  584.                         If (STRING008 == YesChar()) Then
  585.                             FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  586.                             FPutLn 3, FileInf(STRING056, 8) + " " + STRING005 + " " + STRING003 + " " + U_Name()
  587.                             FClose 3
  588.                         Endif
  589.                         If (STRING031 == YesChar()) Gosub LABEL028
  590.                         Goto LABEL058
  591.                         Goto LABEL017
  592.                     Endif
  593.                     Gosub LABEL027
  594.                     AnsiPos STRING058, INTEGER009
  595.                     Print STRING090
  596.                     INTEGER004 = Len(StripAtx(STRING090))
  597.                     AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  598.                     Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING053
  599.                     :LABEL017
  600.                     Goto LABEL029
  601.                     :LABEL018
  602.                     STRING050 = Date() - INTEGER018
  603.                     If (STRING050 > INTEGER005) Then
  604.                         Gosub LABEL027
  605.                         AnsiPos STRING058, INTEGER009
  606.                         Print STRING089
  607.                         INTEGER004 = Len(StripAtx(STRING089))
  608.                         AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  609.                         Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING053
  610.                         Copy STRING056, STRING067 + FileInf(STRING056, 8)
  611.                         Delete STRING056
  612.                         FCreate 3, TempPath() + "PCBFAIL.TXT", 1, 0
  613.                         FDPutLn STRING089
  614.                         FClose 3
  615.                         If (STRING008 == YesChar()) Then
  616.                             FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  617.                             FPutLn 3, FileInf(STRING056, 8) + " " + STRING005 + " " + STRING003 + " " + U_Name()
  618.                             FClose 3
  619.                         Endif
  620.                         If (STRING031 == YesChar()) Gosub LABEL028
  621.                         Goto LABEL058
  622.                         Goto LABEL019
  623.                     Endif
  624.                     Gosub LABEL027
  625.                     AnsiPos STRING058, INTEGER009
  626.                     Print STRING090
  627.                     INTEGER004 = Len(StripAtx(STRING090))
  628.                     AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  629.                     Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING053
  630.                     :LABEL019
  631.                     Goto LABEL029
  632.                     :LABEL020
  633.                     STRING050 = INTEGER017
  634.                     If (INTEGER016 > INTEGER017) Then
  635.                         STRING050 = INTEGER016
  636.                         Gosub LABEL027
  637.                         AnsiPos STRING058, INTEGER009
  638.                         Print STRING089
  639.                         INTEGER004 = Len(StripAtx(STRING089))
  640.                         AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  641.                         Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING100
  642.                         Copy STRING056, STRING067 + FileInf(STRING056, 8)
  643.                         Delete STRING056
  644.                         FCreate 3, TempPath() + "PCBFAIL.TXT", 1, 0
  645.                         FDPutLn STRING089
  646.                         FClose 3
  647.                         If (STRING008 == YesChar()) Then
  648.                             FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  649.                             FPutLn 3, FileInf(STRING056, 8) + " " + STRING005 + " " + STRING003 + " " + U_Name()
  650.                             FClose 3
  651.                         Endif
  652.                         If (STRING031 == YesChar()) Gosub LABEL028
  653.                         Goto LABEL058
  654.                         Goto LABEL021
  655.                     Endif
  656.                     Gosub LABEL027
  657.                     AnsiPos STRING058, INTEGER009
  658.                     Print STRING090
  659.                     INTEGER004 = Len(StripAtx(STRING090))
  660.                     AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  661.                     Print STRING082 + "(" + STRING051 + STRING050 + STRING082 + ")" + STRING099
  662.                     :LABEL021
  663.                     Goto LABEL029
  664.                     :LABEL022
  665.                     INTEGER014 = Date()
  666.                     INTEGER015 = INTEGER012 / INTEGER013
  667.                     STRING050 = INTEGER014 - INTEGER015
  668.                     If (INTEGER014 - INTEGER015 > INTEGER005) Then
  669.                         Gosub LABEL027
  670.                         AnsiPos STRING058, INTEGER009
  671.                         Print STRING089
  672.                         INTEGER004 = Len(StripAtx(STRING089))
  673.                         AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  674.                         Print STRING052 + "(" + STRING051 + STRING050 + STRING052 + ")" + STRING053
  675.                         Copy STRING056, STRING067 + FileInf(STRING056, 8)
  676.                         Delete STRING056
  677.                         FCreate 3, TempPath() + "PCBFAIL.TXT", 1, 0
  678.                         FDPutLn STRING089
  679.                         FClose 3
  680.                         If (STRING008 == YesChar()) Then
  681.                             FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  682.                             FPutLn 3, FileInf(STRING056, 8) + " " + STRING005 + " " + STRING003 + " " + U_Name()
  683.                             FClose 3
  684.                         Endif
  685.                         If (STRING031 == YesChar()) Gosub LABEL028
  686.                         Goto LABEL058
  687.                         Goto LABEL023
  688.                     Endif
  689.                     Gosub LABEL027
  690.                     AnsiPos STRING058, INTEGER009
  691.                     Print STRING090
  692.                     INTEGER004 = Len(StripAtx(STRING090))
  693.                     AnsiPos STRING058 + INTEGER004 + 1, INTEGER009
  694.                     Print STRING082 + "(" + STRING051 + STRING050 + STRING082 + ")" + STRING053
  695.                     :LABEL023
  696.                     Goto LABEL029
  697.                     :LABEL024
  698.                     If (Ferr(4)) Goto LABEL025
  699.                     FGet 4, STRING077
  700.                     If (STRING077 == "") Goto LABEL025
  701.                     If ((STRING077 == STRING079) || (STRING077 == FileInf(STRING079, 9))) Then
  702.                         Frewind 4
  703.                         Goto LABEL012
  704.                     Endif
  705.                     Goto LABEL024
  706.                     :LABEL025
  707.                     Frewind 4
  708.                     Return
  709.                     :LABEL026
  710.                     AnsiPos STRING033, INTEGER009
  711.                     Print STRING027 + STRING035
  712.                     Return
  713.                     :LABEL027
  714.                     AnsiPos STRING033, INTEGER009
  715.                     Print STRING028 + STRING035
  716.                     AnsiPos STRING034, INTEGER009
  717.                     Print STRING028 + STRING035
  718.                     Return
  719.                     :LABEL028
  720.                     Message CurConf(), U_Name(), "THT-UP-CHECK", FileInf(STRING056, 8), "R", 0, 0, 0, PPEPath() + "failed.age"
  721.                     Return
  722.                     :LABEL029
  723.                     Tokenize STRING018
  724.                     Gosub LABEL004
  725.                     Gosub LABEL026
  726.                     AnsiPos STRING058, INTEGER009
  727.                     Print STRING091
  728.                     AnsiPos 1, 22
  729.                     If (OnLocal()) AnsiPos 78, 21
  730.                     If (OnLocal()) SaveScrn
  731.                     If (Exist(STRING056)) Shell 1, INTEGER001, STRING072, STRING056
  732.                     If (OnLocal()) RestScrn
  733.                     If (Exist(STRING056)) Goto LABEL030
  734.                     AnsiPos STRING058, INTEGER009
  735.                     Print STRING032
  736.                     If (STRING008 == YesChar()) Then
  737.                         FAppend 3, PPEPath() + PPEName() + String(PcbNode()) + ".err", 1, 0
  738.                         FPutLn 3, FileInf(STRING056, 8) + " " + STRING006 + " " + STRING003 + " " + U_Name()
  739.                         FClose 3
  740.                     Endif
  741.                     If (STRING031 == YesChar()) Message CurConf() , U_Name() , "THT-UP-CHECK", FileInf(STRING056, 8) , "R", 0, 0, 0, PPEPath() + "failed.vir"
  742.                     Goto LABEL058
  743.                     Goto LABEL031
  744.                     :LABEL030
  745.                     Gosub LABEL027
  746.                     AnsiPos STRING058, INTEGER009
  747.                     Print STRING087
  748.                     :LABEL031
  749.                     If (Exist(STRING042)) FOpen 6, STRING042, 2, 0
  750.                     If (Exist(STRING041)) FOpen 5, STRING041, 0, 0
  751.                     FSeek 5, 66, 0
  752.                     FRead 5, STRING040, 12
  753.                     FSeek 6, 0, 0
  754.                     FRead 6, STRING039, 45
  755.                     If (STRING040 == FileInf(STRING056, 8)) Then
  756.                         FSeek 6, 0, 0
  757.                         FWrite 6, " ", 1
  758.                         FClose 5
  759.                         FClose 6
  760.                         Goto LABEL034
  761.                     Endif
  762.                     :LABEL032
  763.                     If (Ferr(5)) Goto LABEL033
  764.                     FSeek 5, 117, 1
  765.                     FRead 5, STRING040, 12
  766.                     If (Ferr(5)) Goto LABEL033
  767.                     FSeek 6, 916, 1
  768.                     FRead 6, STRING039, 45
  769.                     If (Ferr(6)) Goto LABEL033
  770.                     If (STRING040 == FileInf(STRING056, 8)) Then
  771.                         FSeek 6, -1, 1
  772.                         FWrite 6, " ", 1
  773.                         FClose 5
  774.                         FClose 6
  775.                         Goto LABEL034
  776.                     Endif
  777.                     Goto LABEL032
  778.                     :LABEL033
  779.                     STRING039 = ""
  780.                     FClose 5
  781.                     FClose 6
  782.                     :LABEL034
  783.                     Tokenize STRING019
  784.                     Gosub LABEL004
  785.                     Gosub LABEL026
  786.                     AnsiPos STRING058, INTEGER009
  787.                     Print STRING084
  788.                     FClose 6
  789.                     INTEGER002 = Len(String(FileInf(STRING056, 4)))
  790.                     STRING096 = 9 - INTEGER002
  791.                     INTEGER003 = Len(String(FileInf(STRING056, 8)))
  792.                     STRING097 = 12 - INTEGER003
  793.                     STRING095 = ReadLine(PCBDat(), 179)
  794.                     If (Exist("diz." + String(PcbNode()))) FOpen 1, "diz." + String(PcbNode()) , 0, 0
  795.                     If (Exist("diz." + String(PcbNode()))) FCreate 4, "dizz." + String(PcbNode()) , 1, 0
  796.                     FCreate 3, STRING095 + "updesc." + String(PcbNode()), 1, 0
  797.                     FDGet STRING094
  798.                     FPutLn 4, STRING094
  799.                     If (!Exist("diz." + String(PcbNode()))) STRING094 = STRING075
  800.                     If ((Mid(STRING039, 1, 1) == "/") && !Exist("diz." + String(PcbNode()))) Then
  801.                         FDPutLn FileInf(STRING056, 8) + Space(STRING097) + Space(STRING096) + String(FileInf(STRING056, 4)) + "  " + String(FileInf(STRING056, 2)) + "  " + STRING039
  802.                         FDPutLn Space(31) + "| " + STRING094
  803.                         Goto LABEL035
  804.                     Endif
  805.                     If (Exist("diz." + String(PcbNode())) && (Mid(STRING039, 1, 1) == "/")) Then
  806.                         FDPutLn FileInf(STRING056, 8) + Space(STRING097) + Space(STRING096) + String(FileInf(STRING056, 4)) + "  " + String(FileInf(STRING056, 2)) + "  " + STRING039
  807.                         FDPutLn Space(31) + "| " + STRING094
  808.                         Goto LABEL035
  809.                     Endif
  810.                     If (!Exist("diz." + String(PcbNode())) && (STRING039 == "")) Then
  811.                         FDPutLn FileInf(STRING056, 8) + Space(STRING097) + Space(STRING096) + String(FileInf(STRING056, 4)) + "  " + String(FileInf(STRING056, 2)) + "  " + STRING094
  812.                         Goto LABEL035
  813.                     Endif
  814.                     If (!Exist("diz." + String(PcbNode())) && (STRING039 <> "")) Then
  815.                         FDPutLn FileInf(STRING056, 8) + Space(STRING097) + Space(STRING096) + String(FileInf(STRING056, 4)) + "  " + String(FileInf(STRING056, 2)) + "  " + STRING039
  816.                         FDPutLn Space(31) + "| " + STRING094
  817.                         Goto LABEL035
  818.                     Endif
  819.                     If (Exist("diz." + String(PcbNode())) && (Mid(STRING039, 1, 1) <> "/")) Then
  820.                         FDPutLn FileInf(STRING056, 8) + Space(STRING097) + Space(STRING096) + String(FileInf(STRING056, 4)) + "  " + String(FileInf(STRING056, 2)) + "  " + STRING094
  821.                     Endif
  822.                     :LABEL035
  823.                     If (Ferr(1)) Goto LABEL037
  824.                     :LABEL036
  825.                     FDGet STRING094
  826.                     If (Ferr(1)) Goto LABEL037
  827.                     STRING094 = ReplaceStr(STRING094, "@CLS@", "CLS")
  828.                     STRING094 = ReplaceStr(STRING094, "@PAUSE@", "Pause")
  829.                     STRING098 = STRING094
  830.                     STRING016 = StripAtx(STRING094)
  831.                     If (STRING094 == Space(0)) Goto LABEL036
  832.                     If (STRING094 == Space(1)) Goto LABEL036
  833.                     If (STRING094 == Space(2)) Goto LABEL036
  834.                     If (STRING094 == Space(3)) Goto LABEL036
  835.                     If (STRING094 == Space(4)) Goto LABEL036
  836.                     If (STRING094 == Space(5)) Goto LABEL036
  837.                     If (STRING094 == Space(6)) Goto LABEL036
  838.                     If (STRING094 == Space(7)) Goto LABEL036
  839.                     If (STRING094 == Space(8)) Goto LABEL036
  840.                     If (STRING094 == Space(9)) Goto LABEL036
  841.                     If (STRING094 == Space(10)) Goto LABEL036
  842.                     If (STRING094 == Space(11)) Goto LABEL036
  843.                     If (STRING094 == Space(12)) Goto LABEL036
  844.                     If (STRING094 == Space(13)) Goto LABEL036
  845.                     If (STRING094 == Space(14)) Goto LABEL036
  846.                     If (STRING094 == Space(15)) Goto LABEL036
  847.                     If (STRING094 == Space(16)) Goto LABEL036
  848.                     If (STRING094 == Space(17)) Goto LABEL036
  849.                     If (STRING094 == Space(18)) Goto LABEL036
  850.                     If (STRING094 == Space(19)) Goto LABEL036
  851.                     If (STRING094 == Space(20)) Goto LABEL036
  852.                     If (STRING094 == Space(21)) Goto LABEL036
  853.                     If (STRING094 == Space(22)) Goto LABEL036
  854.                     If (STRING094 == Space(23)) Goto LABEL036
  855.                     If (STRING094 == Space(24)) Goto LABEL036
  856.                     If (STRING094 == Space(25)) Goto LABEL036
  857.                     If (STRING094 == Space(26)) Goto LABEL036
  858.                     If (STRING094 == Space(27)) Goto LABEL036
  859.                     If (STRING094 == Space(28)) Goto LABEL036
  860.                     If (STRING094 == Space(29)) Goto LABEL036
  861.                     If (STRING094 == Space(30)) Goto LABEL036
  862.                     If (STRING094 == Space(31)) Goto LABEL036
  863.                     If (STRING094 == Space(32)) Goto LABEL036
  864.                     If (STRING094 == Space(33)) Goto LABEL036
  865.                     If (STRING094 == Space(34)) Goto LABEL036
  866.                     If (STRING094 == Space(35)) Goto LABEL036
  867.                     If (STRING094 == Space(36)) Goto LABEL036
  868.                     If (STRING094 == Space(37)) Goto LABEL036
  869.                     If (STRING094 == Space(38)) Goto LABEL036
  870.                     If (STRING094 == Space(39)) Goto LABEL036
  871.                     If (STRING094 == Space(40)) Goto LABEL036
  872.                     If (STRING094 == Space(41)) Goto LABEL036
  873.                     If (STRING094 == Space(42)) Goto LABEL036
  874.                     If (STRING094 == Space(43)) Goto LABEL036
  875.                     If (STRING094 == Space(44)) Goto LABEL036
  876.                     If (STRING094 == Space(45)) Goto LABEL036
  877.                     BOOLEAN002 = 0
  878.                     Gosub LABEL040
  879.                     FPutLn 4, STRING094
  880.                     FDPutLn Space(31) + "| " + STRING094
  881.                     Goto LABEL035
  882.                     :LABEL037
  883.                     FClose 1
  884.                     FClose 4
  885.                     STRING024 = U_Name()
  886.                     If (STRING069 == YesChar()) FDPutLn Space(31) + "| Files: (" + STRING046 + ")  Newest: " + STRING043 + " Oldest: " + STRING044
  887.                     If (STRING065 == YesChar()) Then
  888.                         If (Exist(STRING026)) Then
  889.                             FOpen 1, STRING026, 0, 0
  890.                             :LABEL038
  891.                             If (Ferr(1)) Goto LABEL039
  892.                             FDGet STRING025
  893.                             If (STRING024 == STRING025) Then
  894.                                 FDGet STRING025
  895.                                 STRING024 = STRING025
  896.                             Endif
  897.                             Goto LABEL038
  898.                             :LABEL039
  899.                             FClose 1
  900.                         Endif
  901.                         FDPutLn Space(31) + "| " + STRING066 + " " + STRING024
  902.                     Endif
  903.                     FClose 3
  904.                     Goto LABEL043
  905.                     :LABEL040
  906.                     FOpen 5, PPEPath() + PPEName() + ".rmv", 0, 0
  907.                     :LABEL041
  908.                     If (Ferr(5)) Goto LABEL042
  909.                     FGet 5, STRING098
  910.                     If (STRING098 == "") Goto LABEL042
  911.                     SearchInit STRING098, 0
  912.                     SearchFind STRING016, BOOLEAN002
  913.                     If (BOOLEAN002 == 1) Then
  914.                         Inc INTEGER010
  915.                         If ((BOOLEAN002 == 1) && (INTEGER010 == 1)) Then
  916.                             Tokenize STRING020
  917.                             Gosub LABEL004
  918.                             Print STRING083
  919.                         Endif
  920.                         Tokenize STRING021
  921.                         Gosub LABEL004
  922.                         Print Space(45)
  923.                         AnsiPos STRING058, INTEGER009
  924.                         Print "@X03" + STRING094
  925.                         FClose 5
  926.                         Goto LABEL036
  927.                     Endif
  928.                     Goto LABEL041
  929.                     :LABEL042
  930.                     FClose 5
  931.                     Return
  932.                     :LABEL043
  933.                     INTEGER007 = Len(StripAtx(STRING084))
  934.                     Tokenize STRING019
  935.                     Gosub LABEL004
  936.                     Gosub LABEL027
  937.                     AnsiPos STRING058, INTEGER009
  938.                     Print Space(INTEGER007)
  939.                     AnsiPos STRING058, INTEGER009
  940.                     Print STRING085
  941.                     Tokenize STRING022
  942.                     Gosub LABEL004
  943.                     Gosub LABEL026
  944.                     AnsiPos STRING058, INTEGER009
  945.                     If (FileInf(STRING056, 9) <> "ZIP") Goto LABEL057
  946.                     Print STRING092 + FileInf(STRING056, 8)
  947.                     BOOLEAN003 = 0
  948.                     FCreate 3, PPEPath() + PPEName() + ".cm" + String(PcbNode()), 1, 0
  949.                     FOpen 1, PPEPath() + PPEName() + ".cmt", 0, 0
  950.                     :LABEL044
  951.                     If (Ferr(1)) Goto LABEL046
  952.                     :LABEL045
  953.                     FGet 1, STRING060
  954.                     If (Ferr(1)) Goto LABEL046
  955.                     Gosub LABEL050
  956.                     If (BOOLEAN003 == 1) Then
  957.                         BOOLEAN003 = 0
  958.                         Goto LABEL045
  959.                     Endif
  960.                     FPutLn 3, STRING060
  961.                     Goto LABEL044
  962.                     :LABEL046
  963.                     FClose 1
  964.                     FClose 3
  965.                     BOOLEAN003 = 0
  966.                     FCreate 3, TempPath() + "pcbpass.txt", 1, 0
  967.                     FOpen 1, PPEPath() + "pcbpass.msg", 0, 0
  968.                     :LABEL047
  969.                     If (Ferr(1)) Goto LABEL049
  970.                     FGet 1, STRING060
  971.                     If (Ferr(1)) Goto LABEL049
  972.                     Gosub LABEL050
  973.                     If (BOOLEAN003 == 1) Then
  974.                         Print ""
  975.                         Goto LABEL048
  976.                     Endif
  977.                     FPutLn 3, STRING060
  978.                     :LABEL048
  979.                     Goto LABEL047
  980.                     :LABEL049
  981.                     FClose 1
  982.                     FClose 3
  983.                     Goto LABEL056
  984.                     :LABEL050
  985.                     BOOLEAN002 = 0
  986.                     FOpen 2, PPEPath() + PPEName() + ".mcr", 0, 0
  987.                     :LABEL051
  988.                     If (Ferr(2)) Goto LABEL055
  989.                     FGet 2, STRING061
  990.                     If (Ferr(2)) Goto LABEL055
  991.                     SearchInit STRING061, 0
  992.                     SearchFind STRING060, BOOLEAN002
  993.                     If (BOOLEAN002 == 1) Then
  994.                         If (STRING061 == "|fn") STRING060 = ReplaceStr(STRING060, "|fn", FileInf(STRING056, 8))
  995.                         If (STRING061 == "|un") STRING060 = ReplaceStr(STRING060, "|un", String(PcbNode()))
  996.                         If (STRING061 == "|ut") STRING060 = ReplaceStr(STRING060, "|ut", String(Time()))
  997.                         If (STRING061 == "|ud") STRING060 = ReplaceStr(STRING060, "|ud", String(Date()))
  998.                         If (STRING061 == "|fs") STRING060 = ReplaceStr(STRING060, "|fs", String(FileInf(STRING056, 4)))
  999.                         If (STRING061 == "|us") STRING060 = ReplaceStr(STRING060, "|us", STRING001)
  1000.                         If (STRING061 == "|cr") STRING060 = ReplaceStr(STRING060, "|cr", STRING002)
  1001.                         If (STRING061 == "|#f") STRING060 = ReplaceStr(STRING060, "|#f", STRING046)
  1002.                         If (STRING061 == "|nf") STRING060 = ReplaceStr(STRING060, "|nf", STRING043)
  1003.                         If (STRING061 == "|of") STRING060 = ReplaceStr(STRING060, "|of", STRING044)
  1004.                         If (STRING061 == "|dd") STRING060 = ReplaceStr(STRING060, "|dd", "")
  1005.                         If (STRING061 == "|vs") STRING060 = ReplaceStr(STRING060, "|vs", "1.40")
  1006.                         If (STRING061 == "|dz") If !(STRING061 == "|dz") Goto LABEL054
  1007.                         If (STRING061 == "|dz") STRING060 = ReplaceStr(STRING060, "|dz", "")
  1008.                         BOOLEAN003 = 1
  1009.                         FPutLn 3, STRING060
  1010.                         If (Exist("dizz." + String(PcbNode()))) FOpen 4, "dizz." + String(PcbNode()) , 0, 0
  1011.                         :LABEL052
  1012.                         If (Ferr(4)) Goto LABEL053
  1013.                         FGet 4, STRING062
  1014.                         If (Ferr(4)) Goto LABEL053
  1015.                         FPutLn 3, Space(12), STRING062
  1016.                         Goto LABEL052
  1017.                         :LABEL053
  1018.                         FClose 4
  1019.                     Endif
  1020.                     :LABEL054
  1021.                     Goto LABEL051
  1022.                     :LABEL055
  1023.                     FClose 2
  1024.                     Return
  1025.                     :LABEL056
  1026.                     If (OnLocal()) AnsiPos 78, 21
  1027.                     If (OnLocal()) SaveScrn
  1028.                     If (Exist(STRING056)) Shell 1, INTEGER001, STRING074, STRING056
  1029.                     If (OnLocal()) RestScrn
  1030.                     Gosub LABEL027
  1031.                     AnsiPos STRING058, INTEGER009
  1032.                     :LABEL057
  1033.                     If (STRING080 <> YesChar()) Goto LABEL058
  1034.                     Tokenize STRING023
  1035.                     Gosub LABEL004
  1036.                     Gosub LABEL026
  1037.                     AnsiPos STRING058, INTEGER009
  1038.                     Print STRING086
  1039.                     If (OnLocal()) AnsiPos 1, 22
  1040.                     If (OnLocal()) SaveScrn
  1041.                     If (Exist(STRING056)) Shell 1, INTEGER001, STRING073, STRING056
  1042.                     If (OnLocal()) RestScrn
  1043.                     INTEGER008 = Len(StripAtx(STRING086))
  1044.                     Tokenize STRING023
  1045.                     Gosub LABEL004
  1046.                     Gosub LABEL027
  1047.                     AnsiPos STRING058, INTEGER009
  1048.                     Print Space(INTEGER008)
  1049.                     AnsiPos STRING058, INTEGER009
  1050.                     Print STRING070
  1051.                 Endif
  1052.             Endif
  1053.         Endif
  1054.     Endif
  1055.     :LABEL058
  1056.     OpText ""
  1057.     AnsiPos 1, 22
  1058.     If (Exist(GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\DIZ." + String(PcbNode()))) Delete GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\DIZ." + String(PcbNode())
  1059.     If (Exist(GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\DIZZ." + String(PcbNode()))) Delete GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\DIZZ." + String(PcbNode())
  1060.     If (OnLocal()) RestScrn
  1061.  
  1062. ;------------------------------------------------------------------------------
  1063. ;
  1064. ; Usage report (before postprocessing)
  1065. ;
  1066. ; ■ Statements used :
  1067. ;
  1068. ;    218     Goto 
  1069. ;    127     Let 
  1070. ;    47      Print 
  1071. ;    1       PrintLn 
  1072. ;    211     If 
  1073. ;    1       DispFile 
  1074. ;    8       FCreate 
  1075. ;    20      FOpen 
  1076. ;    6       FAppend 
  1077. ;    45      FClose 
  1078. ;    11      FGet 
  1079. ;    12      FPutLn 
  1080. ;    1       StartDisp 
  1081. ;    11      Delete 
  1082. ;    45      Gosub 
  1083. ;    9       Return
  1084. ;    1       CdChkOff
  1085. ;    5       Inc 
  1086. ;    1       Newline
  1087. ;    17      Tokenize 
  1088. ;    11      GetToken 
  1089. ;    4       Shell 
  1090. ;    1       DispText 
  1091. ;    2       OpText 
  1092. ;    1       DispStr 
  1093. ;    46      AnsiPos 
  1094. ;    3       Message 
  1095. ;    4       SaveScrn
  1096. ;    6       RestScrn
  1097. ;    2       Frewind 
  1098. ;    11      FSeek 
  1099. ;    9       FRead 
  1100. ;    2       FWrite 
  1101. ;    1       FDefIn 
  1102. ;    1       FDefOut 
  1103. ;    67      FDGet 
  1104. ;    15      FDPutLn 
  1105. ;    4       Copy 
  1106. ;    2       SearchInit 
  1107. ;    2       SearchFind 
  1108. ;
  1109. ;
  1110. ; ■ Functions used :
  1111. ;
  1112. ;    2       -
  1113. ;    3       *
  1114. ;    1       /
  1115. ;    389     +
  1116. ;    7       -
  1117. ;    147     ==
  1118. ;    10      <>
  1119. ;    5       <
  1120. ;    2       <=
  1121. ;    7       >
  1122. ;    4       >=
  1123. ;    93      !
  1124. ;    16      &&
  1125. ;    16      ||
  1126. ;    14      Len(
  1127. ;    16      Upper()
  1128. ;    14      Mid()
  1129. ;    66      Space()
  1130. ;    21      Ferr()
  1131. ;    52      Chr()
  1132. ;    1       LTrim()
  1133. ;    2       RTrim()
  1134. ;    6       Date()
  1135. ;    1       Time()
  1136. ;    11      U_Name()
  1137. ;    22      YesChar()
  1138. ;    11      StripAtx()
  1139. ;    43      String()
  1140. ;    5       CurConf()
  1141. ;    6       PCBDat()
  1142. ;    26      PPEPath()
  1143. ;    27      PcbNode()
  1144. ;    6       ReadLine()
  1145. ;    14      OnLocal()
  1146. ;    20      GetEnv()
  1147. ;    33      Exist()
  1148. ;    41      I2S()
  1149. ;    12      S2I()
  1150. ;    1       TokenStr()
  1151. ;    47      FileInf()
  1152. ;    20      PPEName()
  1153. ;    9       TempPath()
  1154. ;    1       ScrText()
  1155. ;    15      ReplaceStr()
  1156. ;
  1157. ;------------------------------------------------------------------------------
  1158. ;
  1159. ; Analysis flags : Sd
  1160. ;
  1161. ; S - Shell to DOS ■ 5
  1162. ;     This may be normal if the PPE need to execute an external command,
  1163. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  1164. ;     or usefull (sorting, maintenance,...). Check!
  1165. ;     ■ Search for : SHELL
  1166. ;
  1167. ; d - Access PCBOARD.DAT ■ 2
  1168. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1169. ;     for many PPE so they can find various informations on the system
  1170. ;     (system paths, max number of lines in messages, ...) but it may also
  1171. ;     be a way to gather vital informations.
  1172. ;     ■ Search for : PCBDAT()
  1173. ;
  1174. ;------------------------------------------------------------------------------
  1175. ;
  1176. ; Postprocessing report
  1177. ;
  1178. ;    2       For/Next
  1179. ;    0       While/EndWhile
  1180. ;    64      If/Then or If/Then/Else
  1181. ;    0       Select Case
  1182. ;
  1183. ;------------------------------------------------------------------------------
  1184. ;                 AEGiS Corp - Break the routines, code against the machines!
  1185. ;------------------------------------------------------------------------------
  1186.