home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / ZLIST_12.ZIP / ZLIST.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-03  |  21KB  |  1,300 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.     Boolean  BOOLEAN004
  23.     Integer  INTEGER001
  24.     Integer  INTEGER002
  25.     Integer  INTEGER003
  26.     Integer  INTEGER004
  27.     Integer  INTEGER005
  28.     Integer  INTEGER006
  29.     Integer  INTEGER007
  30.     Integer  INTEGER008
  31.     Integer  INTEGER009
  32.     Integer  INTEGER010
  33.     String   STRING001
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.     String   STRING005
  38.     String   STRING006
  39.     String   STRING007
  40.     String   STRING008
  41.     String   STRING009
  42.     String   STRING010
  43.     String   STRING011
  44.     String   STRING012
  45.     String   STRING013
  46.     String   STRING014
  47.     String   STRING015
  48.     String   STRING016
  49.     String   STRING017
  50.     String   STRING018
  51.     String   STRING019
  52.     String   STRING020
  53.     String   STRING021
  54.     String   STRING022
  55.     String   STRING023
  56.     String   STRING024
  57.     String   STRING025
  58.     String   STRING026
  59.     String   STRING027
  60.     String   STRING028
  61.     String   STRING029
  62.     String   STRING030
  63.     String   STRING031
  64.     String   STRING032
  65.     String   STRING033
  66.     String   STRING034
  67.     String   STRING035
  68.     String   STRING036
  69.     String   STRING037
  70.     String   STRING038
  71.     String   STRING039
  72.     String   STRING040
  73.     String   STRING041
  74.     String   STRING042
  75.     String   STRING043
  76.     String   STRING044
  77.     String   STRING045
  78.     String   STRING046
  79.     String   STRING047
  80.     String   STRING048
  81.     String   STRING049
  82.     String   STRING050
  83.     String   STRING051
  84.     String   STRING052
  85.     String   STRING053
  86.     String   STRING054
  87.     String   STRING055
  88.     String   STRING056
  89.     String   STRING057
  90.     String   STRING058
  91.     String   STRING059
  92.     String   STRING060
  93.     String   STRING061
  94.     String   STRING062
  95.     String   STRING063
  96.     String   STRING064
  97.     String   STRING065
  98.     String   STRING066
  99.     String   STRING067
  100.     String   STRING068
  101.     String   STRING069
  102.     String   STRING070
  103.     String   STRING071
  104.     String   STRING072
  105.     String   STRING073
  106.     String   STRING074
  107.     String   STRING075
  108.     String   STRING076
  109.     String   STRING077
  110.     String   STRING078
  111.     String   STRING079
  112.     String   STRING080
  113.     String   STRING081
  114.     String   STRING082
  115.  
  116. ;------------------------------------------------------------------------------
  117.  
  118.     STRING001 = "1.2"
  119.     INTEGER002 = 34395
  120.     INTEGER003 = 21062
  121.     INTEGER004 = INTEGER002
  122.     INTEGER006 = 1
  123.     Newline
  124.     PrintLn "@X0FZippyList @X07-@X0F (C) Copyright 1994 @X07-@X0F Whitewater Technologies, Inc."
  125.     Print "@X0AInitializing ZippyList v" + STRING001 + "... "
  126.     STRING002 = Chr(85) + Chr(78) + Chr(82) + Chr(69) + Chr(71) + Chr(73) + Chr(83) + Chr(84) + Chr(69) + Chr(82) + Chr(69) + Chr(68)
  127.     INTEGER008 = 32
  128.     For INTEGER008 = 32 To 255
  129.         STRING073 = STRING073 + Chr(INTEGER008)
  130.     Next
  131.     INTEGER008 = 1
  132.     INTEGER001 = 0
  133.     STRING077 = Chr(13)
  134.     STRING081 = 256
  135.     STRING082 = DefColor()
  136.     STRING074 = YesChar()
  137.     STRING075 = NoChar()
  138.     STRING076 = STRING074 + STRING075
  139.     Log "ZippyList v" + STRING001 + " Executed at " + Left(Time(), 5), 0
  140.     Newline
  141.     If (DbgLevel() > 0) Log "   ■ ZLIST: Debug Mode is ON (Level " + DbgLevel() + ")", 0
  142.     If (Ver() <= 1500) Then
  143.         Log "   ■ Error: PCBoard v15.1 or later MUST be used!", 0
  144.     Else
  145.         GetUser
  146.         STRING078 = GetToken()
  147.         If (INTEGER006 <> 0) Then
  148.             INTEGER007 = FileInf(PPEPath() + PPEName() + ".PPE", 2)
  149.             INTEGER005 = Date()
  150.             If (Len(Trim(STRING002, " ")) <> 12) Goto LABEL005
  151.             If (INTEGER004 <> INTEGER002) Then
  152.                 If (INTEGER005 > INTEGER004) Goto LABEL006
  153.                 If (INTEGER005 + 3 == INTEGER004) Then
  154.                     Newline
  155.                     PrintLn "@X0CThis copy of ZippyList expires in @X8C3@X0C days!@X07"
  156.                     Log "──── This copy of ZippyList expires in 3 days", 1
  157.                     Log "──── Call Whitewater Systems - 312-743-4912 to", 1
  158.                     Log "──── obtain a newer version", 1
  159.                     Goto LABEL001
  160.                 Endif
  161.                 If (INTEGER005 == INTEGER004) Then
  162.                     Newline
  163.                     PrintLn "@X0CThis copy of ZippyList expires after today!@X07"
  164.                     Log "──── This copy of ZippyList expires after today!", 1
  165.                     Log "──── Call Whitewater Systems - 312-743-4912 to", 1
  166.                     Log "──── obtain a newer version", 1
  167.                 Endif
  168.                 :LABEL001
  169.                 If (INTEGER002 <> 0) Then
  170.                     If (INTEGER007 <> INTEGER002) Then
  171.                         Goto LABEL005
  172.                     Endif
  173.                 Endif
  174.             Endif
  175.             If (FileInf(PPEPath() + PPEName() + ".PPE", 4) <> INTEGER003) Then
  176.                 Goto LABEL005
  177.             Endif
  178.         Else
  179.             If (INTEGER006 == 0) Then
  180.                 INTEGER001 = 1
  181.             Endif
  182.         Endif
  183.         Gosub LABEL004
  184.         Gosub LABEL003
  185.         If (INTEGER001 <> 1) Then
  186.             Newline
  187.             PrintLn "@X07[@X0CThis version of ZippyList is " + STRING002 + "@X07]"
  188.             PrintLn "@X07[@X0ACall Whitewater Systems to register - 312-743-4912@X07]"
  189.             Log "   ■ " + STRING002 + " version of ZippyList!", 0
  190.             Delay 10 * 18.2
  191.         Endif
  192.         Newline
  193.         If (BOOLEAN001 || !U_Expert) Then
  194.             If (Exist(STRING018)) Then
  195.                 DispFile STRING018, 4 + 2
  196.                 Goto LABEL002
  197.             Endif
  198.             Log "   ■ WELCOME file not found - Bypassing", 0
  199.         Endif
  200.         :LABEL002
  201.         Gosub LABEL059
  202.         If (U_Expert) Then
  203.             PrintLn STRING062
  204.             Newline
  205.         Endif
  206.         Gosub LABEL047
  207.         Gosub LABEL007
  208.         Goto LABEL062
  209.         :LABEL003
  210.         INTEGER001 = 0
  211.         STRING003 = ""
  212.         STRING003 = Chr(52) + String(Len(STRING015) - 2)
  213.         STRING003 = STRING003 + Chr(55) + String(Len(STRING015) - 9)
  214.         STRING003 = STRING003 + Chr(49) + String(Len(STRING015) - 6)
  215.         STRING003 = STRING003 + Chr(45) + Chr(50) + String(Len(STRING014) - 5) + Chr(49)
  216.         If (Trim(Upper(STRING015), " ") <> Trim(Upper(Mid(ReadLine(PCBDat(), 94), 1, Len(STRING015))), " ")) INTEGER001 = 0
  217.         If (STRING016 <> STRING003) INTEGER001 = 0
  218.         If (Trim(Upper(STRING015), " ") == Trim(Upper(Mid(ReadLine(PCBDat(), 94), 1, Len(STRING015))), " ")) Then
  219.             If (STRING016 == STRING003) INTEGER001 = 1
  220.         Endif
  221.         Return
  222.         :LABEL004
  223.         If (Exist(PPEPath() + "ZLIST.CFG")) Then
  224.             FOpen 0, PPEPath() + "ZLIST.CFG", 0, 0
  225.             FGet 0, STRING014
  226.             FGet 0, STRING015
  227.             FGet 0, STRING016
  228.             FGet 0, STRING017
  229.             FGet 0, STRING018
  230.             FGet 0, STRING019
  231.             FGet 0, STRING020
  232.             FGet 0, STRING021
  233.             FGet 0, STRING022
  234.             FGet 0, STRING023
  235.             FGet 0, STRING024
  236.             FGet 0, STRING025
  237.             FGet 0, STRING026
  238.             FGet 0, STRING027
  239.             FGet 0, STRING028
  240.             FGet 0, STRING029
  241.             FGet 0, STRING030
  242.             FGet 0, STRING031
  243.             FGet 0, STRING032
  244.             FGet 0, STRING033
  245.             FGet 0, STRING034
  246.             FGet 0, STRING035
  247.             FGet 0, STRING036
  248.             FGet 0, STRING037
  249.             FGet 0, STRING038
  250.             FGet 0, STRING039
  251.             FGet 0, STRING040
  252.             FGet 0, STRING041
  253.             FGet 0, STRING042
  254.             FGet 0, STRING043
  255.             FClose 0
  256.             STRING014 = Upper(Trim(STRING014, " "))
  257.             STRING015 = Trim(STRING015, " ")
  258.             STRING016 = Upper(Trim(STRING016, " "))
  259.             If (Upper(Left(STRING017, 1)) == "Y") Then
  260.                 BOOLEAN001 = 0
  261.             Else
  262.                 BOOLEAN001 = 1
  263.             Endif
  264.             STRING018 = PPEPath() + Upper(STRING018)
  265.             STRING019 = PPEPath() + Upper(STRING019)
  266.             STRING020 = PPEPath() + Upper(STRING020)
  267.             STRING021 = PPEPath() + Upper(STRING021)
  268.             STRING022 = PPEPath() + Upper(STRING022)
  269.             STRING023 = PPEPath() + Upper(STRING023)
  270.             STRING024 = PPEPath() + Upper(STRING024)
  271.             STRING025 = PPEPath() + Upper(STRING025)
  272.             STRING026 = PPEPath() + Upper(STRING026)
  273.             STRING027 = PPEPath() + Upper(STRING027)
  274.             STRING028 = PPEPath() + Upper(STRING028)
  275.             STRING029 = PPEPath() + Upper(STRING029)
  276.             STRING030 = PPEPath() + Upper(STRING030)
  277.             STRING031 = PPEPath() + Upper(STRING031)
  278.             STRING032 = PPEPath() + Upper(STRING032)
  279.             STRING033 = PPEPath() + Upper(STRING033)
  280.             STRING034 = PPEPath() + Upper(STRING034)
  281.             STRING035 = PPEPath() + Upper(STRING035)
  282.             STRING036 = PPEPath() + Upper(STRING036)
  283.             STRING037 = PPEPath() + Upper(STRING037)
  284.             STRING038 = Upper(STRING038)
  285.             STRING039 = Upper(STRING039)
  286.             STRING040 = ReplaceStr(STRING040, "%PCBDRIVE%", GetEnv("PCBDRIVE"))
  287.             STRING040 = ReplaceStr(STRING040, "%PCBDIR%", GetEnv("PCBDIR"))
  288.             STRING040 = ReplaceStr(STRING040, "%PCBNODE%", String(PcbNode()))
  289.             STRING040 = Upper(RTrim(STRING040, "\")) + "\"
  290.             STRING041 = Upper(STRING041)
  291.             STRING041 = Replace(STRING041, "%PCBDRIVE%", GetEnv("PCBDRIVE"))
  292.             STRING041 = Replace(STRING041, "%PCBDIR%", GetEnv("PCBDIR"))
  293.             STRING041 = Replace(STRING041, "%PCBNODE%", String(PcbNode()))
  294.             STRING042 = Replace(STRING042, "%PCBDRIVE%", GetEnv("PCBDRIVE"))
  295.             STRING042 = Replace(STRING042, "%PCBDIR%", GetEnv("PCBDIR"))
  296.             STRING042 = Replace(STRING042, "%PCBNODE%", String(PcbNode()))
  297.             STRING043 = ReplaceStr(STRING043, "%PCBDRIVE%", GetEnv("PCBDRIVE"))
  298.             STRING043 = ReplaceStr(STRING043, "%PCBDIR%", GetEnv("PCBDIR"))
  299.             STRING043 = ReplaceStr(STRING043, "%PCBNODE%", String(PcbNode()))
  300.             STRING043 = Upper(RTrim(STRING043, "\")) + "\"
  301.             If (!Exist(STRING041) && (STRING041 <> "")) Then
  302.                 PrintLn "@X0CError: Compression program not found! Please notify Sysop!"
  303.                 Log "   ■ Error: Compression program not found!", 0
  304.                 Log "   ■ Check configuration file: ZLIST.CFG", 0
  305.                 STRING041 = ""
  306.                 Goto LABEL062
  307.             Endif
  308.         Else
  309.             Log "Error: ZLIST.CFG Configuration file not found!", 0
  310.             Newlines 2
  311.             PrintLn "@X0CConfiguration file not found! Please Notify Sysop!"
  312.             Newlines 2
  313.             Wait
  314.             Goto LABEL062
  315.         Endif
  316.         STRING079 = Upper(Trim(LangExt(), " "))
  317.         STRING079 = Strip(STRING079, ".")
  318.         If (STRING079 <> "") Then
  319.             If (Exist(RTrim(STRING032, ".") + "." + STRING079)) STRING032 = RTrim(STRING032, ".") + "." + STRING079
  320.         Endif
  321.         If (Exist(STRING032)) Then
  322.             FOpen 0, STRING032, 0, 0
  323.             FGet 0, STRING044
  324.             FGet 0, STRING045
  325.             FGet 0, STRING046
  326.             FGet 0, STRING047
  327.             FGet 0, STRING048
  328.             FGet 0, STRING049
  329.             FGet 0, STRING050
  330.             FGet 0, STRING051
  331.             FGet 0, STRING052
  332.             FGet 0, STRING053
  333.             FGet 0, STRING054
  334.             FGet 0, STRING055
  335.             FGet 0, STRING056
  336.             FGet 0, STRING057
  337.             FGet 0, STRING058
  338.             FGet 0, STRING059
  339.             FGet 0, STRING060
  340.             FGet 0, STRING061
  341.             FGet 0, STRING062
  342.             FGet 0, STRING063
  343.             FGet 0, STRING064
  344.             FGet 0, STRING065
  345.             FGet 0, STRING066
  346.             FGet 0, STRING067
  347.             FGet 0, STRING068
  348.             FGet 0, STRING069
  349.             FGet 0, STRING070
  350.             FGet 0, STRING071
  351.             FGet 0, STRING072
  352.             FClose 0
  353.         Else
  354.             Log "   ■ Error: Configuration file not found!", 0
  355.             Newlines 2
  356.             PrintLn "@X0CConfiguration file not found! Please Notify Sysop!"
  357.             Newlines 2
  358.             Wait
  359.             Goto LABEL062
  360.         Endif
  361.         Return
  362.         :LABEL005
  363.         Cls
  364.         Beep
  365.         Newlines 2
  366.         PrintLn "@X07[@X0CZippyList is (c) Copyrighted Software by Whitewater Technologies, Inc.@X07]"
  367.         PrintLn "@X07[@X0FWhitewater Systems - 312-743-4912@X07]"
  368.         Newline
  369.         PrintLn "@X07[@X0CZippyList's authentic seal has been altered!@X07]"
  370.         PrintLn "@X07[@X07Please call Whitewater Systems and download the newest release@X07]"
  371.         Log "   ■ ZLIST: Seal has been ALTERED!", 0
  372.         Newline
  373.         Goto LABEL062
  374.         :LABEL006
  375.         Newline
  376.         PrintLn "@X07[@X0CThis version of ZippyList has expired@X07]"
  377.         PrintLn "@X07[@X07Please tell the Sysop to obtain a newer version@X07]"
  378.         Newline
  379.         Log "─── This copy of ZippyList has EXPIRED!", 1
  380.         Log "─── Call Whitewater Systems to obtain a newer version", 1
  381.         Log "─── Whitewater Systems - 312-743-4912", 1
  382.         Goto LABEL062
  383.         :LABEL007
  384.         STRING080 = ""
  385.         OpText STRING011
  386.         If (U_Expert) Goto LABEL008
  387.         If (Exist(STRING019)) Then
  388.             DispFile STRING019, 4 + 2
  389.         Else
  390.             Log "   ■ Error: ZMAIN file not found!", 0
  391.         Endif
  392.         :LABEL008
  393.         While (STRING080 == "") Do
  394.             InputStr STRING046, STRING080, 7, 4, "FSMLCDAGENUHQ?", STRING081 + 8
  395.             STRING080 = Trim(STRING080, " ")
  396.             If (STRING080 == "FL") STRING080 = "FLAG"
  397.             If (STRING080 == "FLA") STRING080 = "FLAG"
  398.             If (STRING080 == "ME") STRING080 = "MENU"
  399.             If (STRING080 == "MEN") STRING080 = "MENU"
  400.             If (STRING080 == "F") Then
  401.                 Dir "R"
  402.                 If (!U_Expert) Wait
  403.                 Goto LABEL007
  404.                 Continue
  405.             Endif
  406.             If (STRING080 == "S") Then
  407.                 Gosub LABEL016
  408.                 Goto LABEL007
  409.                 Continue
  410.             Endif
  411.             If (STRING080 == "L") Then
  412.                 STRING080 = ""
  413.                 OpText STRING011
  414.                 If (Exist(STRING025)) Then
  415.                     DispFile STRING025, 4 + 2
  416.                     Goto LABEL009
  417.                 Endif
  418.                 Log "   ■ Error: ZEXECMD file not found!", 0
  419.                 PrintLn "@X0CExecution Command Display file not found - Please notify Sysop!"
  420.                 :LABEL009
  421.                 If (!U_Expert) Wait
  422.                 Goto LABEL007
  423.                 Continue
  424.             Endif
  425.             If (STRING080 == "C") Then
  426.                 STRING080 = "Y"
  427.                 OpText STRING011
  428.                 If (Exist(STRING026)) Then
  429.                     DispFile STRING026, 4 + 2
  430.                     Goto LABEL010
  431.                 Endif
  432.                 Log "   ■ Error: ZCLEAR file not found!", 0
  433.                 PrintLn "@X0CZLEAR file not found - Please notify Sysop!"
  434.                 :LABEL010
  435.                 InputStr STRING071, STRING080, 7, 1, STRING076, STRING081 + 8 + 4 + 2
  436.                 STRING080 = Trim(STRING080, " ")
  437.                 If ((STRING080 == "Y") || (STRING080 == "")) Gosub LABEL059
  438.                 Goto LABEL007
  439.                 Continue
  440.             Endif
  441.             If (STRING080 == "D") Then
  442.                 STRING080 = ""
  443.                 Newline
  444.                 If (BOOLEAN002) Then
  445.                     BOOLEAN004 = 0
  446.                     Gosub LABEL060
  447.                     Goto LABEL011
  448.                 Endif
  449.                 PrintLn STRING067
  450.                 :LABEL011
  451.                 Newline
  452.                 Continue
  453.             Endif
  454.             If (STRING080 == "FLAG") Then
  455.                 STRING080 = ""
  456.                 Newline
  457.                 If (BOOLEAN002) Then
  458.                     OpText STRING039
  459.                     PrintLn STRING064
  460.                     BOOLEAN004 = 1
  461.                     Goto LABEL012
  462.                 Endif
  463.                 PrintLn STRING068
  464.                 :LABEL012
  465.                 Newline
  466.                 If (U_Expert) Goto LABEL013
  467.                 Wait
  468.                 Goto LABEL007
  469.                 :LABEL013
  470.                 Continue
  471.             Endif
  472.             If (STRING080 == "MENU") Then
  473.                 STRING080 = ""
  474.                 If (Exist(STRING019)) Then
  475.                     DispFile STRING019, 4 + 2
  476.                     Goto LABEL014
  477.                 Endif
  478.                 Log "   ■ Error: ZMAIN file not found!", 0
  479.                 PrintLn "@X0CMain Menu file not found - Please notify Sysop!"
  480.                 :LABEL014
  481.                 Continue
  482.             Endif
  483.             If ((STRING080 == "H") || (STRING080 == "?")) Then
  484.                 If (Exist(STRING027)) Then
  485.                     DispFile STRING027, 4 + 2
  486.                     Goto LABEL015
  487.                 Endif
  488.                 Log "   ■ Error: ZHLP file not found!", 0
  489.                 PrintLn "@X0CMain Menu Help file not found - Please notify Sysop!"
  490.                 :LABEL015
  491.                 If (!U_Expert) Wait
  492.                 Goto LABEL007
  493.                 Continue
  494.             Endif
  495.             If (STRING080 == "Q") Then
  496.                 Goto LABEL062
  497.                 Continue
  498.             Endif
  499.             If (STRING080 == "") Then
  500.                 STRING080 = ""
  501.                 Continue
  502.             Endif
  503.             STRING080 = ""
  504.             DispText 56, 256 + 128 + 2048
  505.             Newline
  506.         EndWhile
  507.         Goto LABEL062
  508.         Return
  509.         :LABEL016
  510.         STRING080 = ""
  511.         OpText STRING011
  512.         If (U_Expert) Goto LABEL017
  513.         If (Exist(STRING020)) Then
  514.             DispFile STRING020, 4 + 2
  515.         Else
  516.             Log "   ■ Error: ZSEARCH file not found!", 0
  517.         Endif
  518.         :LABEL017
  519.         While (STRING080 == "") Do
  520.             InputStr STRING047, STRING080, 7, 4, "123LMENUH?Q", STRING081 + 8
  521.             STRING080 = Trim(STRING080, " ")
  522.             If (STRING080 == "ME") STRING080 = "MENU"
  523.             If (STRING080 == "MEN") STRING080 = "MENU"
  524.             If (STRING080 == "1") Then
  525.                 Gosub LABEL026
  526.                 If (U_Expert) Goto LABEL018
  527.                 If (Exist(STRING020)) Then
  528.                     DispFile STRING020, 4 + 2
  529.                     Goto LABEL018
  530.                 Endif
  531.                 Log "   ■ Error: ZSEARCH file not found!", 0
  532.                 :LABEL018
  533.                 Continue
  534.             Endif
  535.             If (STRING080 == "2") Then
  536.                 Gosub LABEL036
  537.                 If (U_Expert) Goto LABEL019
  538.                 If (Exist(STRING020)) Then
  539.                     DispFile STRING020, 4 + 2
  540.                     Goto LABEL019
  541.                 Endif
  542.                 Log "   ■ Error: ZSEARCH file not found!", 0
  543.                 :LABEL019
  544.                 Continue
  545.             Endif
  546.             If (STRING080 == "3") Then
  547.                 If (STRING007 == "000000") STRING007 = Left(U_LDir(), 2) + Mid(U_LDir(), 4, 2) + Right(U_LDir(), 2)
  548.                 Gosub LABEL041
  549.                 If (U_Expert) Goto LABEL020
  550.                 If (Exist(STRING020)) Then
  551.                     DispFile STRING020, 4 + 2
  552.                     Goto LABEL020
  553.                 Endif
  554.                 Log "   ■ Error: ZSEARCH file not found!", 0
  555.                 :LABEL020
  556.                 Continue
  557.             Endif
  558.             If (STRING080 == "L") Then
  559.                 STRING080 = ""
  560.                 OpText STRING011
  561.                 If (Exist(STRING025)) Then
  562.                     DispFile STRING025, 4 + 2
  563.                     Goto LABEL021
  564.                 Endif
  565.                 Log "   ■ Error: ZEXECMD file not found!", 0
  566.                 PrintLn "@X0CExecution Command Display file not found - Please notify Sysop!"
  567.                 :LABEL021
  568.                 If (!U_Expert) Wait
  569.                 If (U_Expert) Goto LABEL022
  570.                 If (Exist(STRING020)) Then
  571.                     DispFile STRING020, 4 + 2
  572.                     Goto LABEL022
  573.                 Endif
  574.                 Log "   ■ Error: ZSEARCH file not found!", 0
  575.                 :LABEL022
  576.                 Continue
  577.             Endif
  578.             If (STRING080 == "MENU") Then
  579.                 STRING080 = ""
  580.                 If (Exist(STRING020)) Then
  581.                     DispFile STRING020, 4 + 2
  582.                     Goto LABEL023
  583.                 Endif
  584.                 Log "   ■ Error: ZSEARCH file not found!", 0
  585.                 PrintLn "@X0CSearch Menu file not found - Please notify Sysop!"
  586.                 :LABEL023
  587.                 Continue
  588.             Endif
  589.             If ((STRING080 == "H") || (STRING080 == "?")) Then
  590.                 STRING080 = ""
  591.                 If (Exist(STRING028)) Then
  592.                     DispFile STRING028, 4 + 2
  593.                     Goto LABEL024
  594.                 Endif
  595.                 Log "   ■ Error: ZHLPS file not found!", 0
  596.                 PrintLn "@X0CSearch Menu Help file not found - Please notify Sysop!"
  597.                 :LABEL024
  598.                 If (!U_Expert) Wait
  599.                 If (U_Expert) Goto LABEL025
  600.                 If (Exist(STRING020)) Then
  601.                     DispFile STRING020, 4 + 2
  602.                     Goto LABEL025
  603.                 Endif
  604.                 Log "   ■ Error: ZSEARCH file not found!", 0
  605.                 :LABEL025
  606.                 Continue
  607.             Endif
  608.             If (STRING080 == "Q") Then
  609.                 Continue
  610.             Endif
  611.             If (STRING080 == "") Then
  612.                 STRING080 = ""
  613.                 Continue
  614.             Endif
  615.             STRING080 = ""
  616.             DispText 56, 256 + 128 + 2048
  617.             Newline
  618.         EndWhile
  619.         STRING080 = ""
  620.         Return
  621.         :LABEL026
  622.         STRING080 = ""
  623.         While (STRING080 == "") Do
  624.             Gosub LABEL047
  625.             OpText STRING011
  626.             If (!U_Expert) Gosub LABEL050
  627.             InputStr STRING048, STRING080, 7, 4, "MENDFCSUH?Q", STRING081 + 8
  628.             STRING080 = Trim(STRING080, " ")
  629.             If (STRING080 == "ME") STRING080 = "MENU"
  630.             If (STRING080 == "MEN") STRING080 = "MENU"
  631.             If (STRING080 == "M") Then
  632.                 STRING080 = ""
  633.                 Gosub LABEL030
  634.                 Continue
  635.             Endif
  636.             If (STRING080 == "E") Then
  637.                 STRING080 = ""
  638.                 Gosub LABEL031
  639.                 Continue
  640.             Endif
  641.             If (STRING080 == "N") Then
  642.                 STRING080 = ""
  643.                 Gosub LABEL032
  644.                 Continue
  645.             Endif
  646.             If (STRING080 == "D") Then
  647.                 STRING080 = ""
  648.                 Gosub LABEL033
  649.                 Continue
  650.             Endif
  651.             If (STRING080 == "F") Then
  652.                 STRING080 = ""
  653.                 Gosub LABEL034
  654.                 Continue
  655.             Endif
  656.             If (STRING080 == "C") Then
  657.                 STRING080 = ""
  658.                 Gosub LABEL035
  659.                 Continue
  660.             Endif
  661.             If (STRING080 == "S") Then
  662.                 If (Left(STRING011, 1) == "(") Then
  663.                     Newline
  664.                     PrintLn STRING066
  665.                     Newline
  666.                     If (!U_Expert) Wait
  667.                     Goto LABEL027
  668.                 Endif
  669.                 Gosub LABEL045
  670.                 :LABEL027
  671.                 STRING080 = ""
  672.                 Continue
  673.             Endif
  674.             If (STRING080 == "MENU") Then
  675.                 STRING080 = ""
  676.                 If (Exist(STRING021)) Then
  677.                     Gosub LABEL050
  678.                     Goto LABEL028
  679.                 Endif
  680.                 Log "   ■ Error: ZSRCHTXT file not found!", 0
  681.                 PrintLn "@X0CText Search Menu file not found - Please notify Sysop!"
  682.                 :LABEL028
  683.                 Continue
  684.             Endif
  685.             If ((STRING080 == "H") || (STRING080 == "?")) Then
  686.                 STRING080 = ""
  687.                 If (Exist(STRING029)) Then
  688.                     DispFile STRING029, 4 + 2
  689.                     Goto LABEL029
  690.                 Endif
  691.                 Log "   ■ Error: ZHLPSTXT file not found!", 0
  692.                 PrintLn "@X0CSearch Text Operation Help file not found - Please notify Sysop!"
  693.                 :LABEL029
  694.                 If (!U_Expert) Wait
  695.                 Continue
  696.             Endif
  697.             If (STRING080 == "Q") Then
  698.                 Continue
  699.             Endif
  700.             If (STRING080 == "") Then
  701.                 STRING080 = ""
  702.                 Continue
  703.             Endif
  704.             STRING080 = ""
  705.             DispText 56, 256 + 128 + 2048
  706.             Newline
  707.             If (!U_Expert) Wait
  708.         EndWhile
  709.         STRING080 = ""
  710.         Return
  711.         :LABEL030
  712.         InputStr STRING051, STRING005, 7, 50, STRING073, STRING081 + 8 + 4 + 2
  713.         STRING005 = Trim(STRING005, " ")
  714.         Return
  715.         :LABEL031
  716.         InputStr STRING052, STRING006, 7, 50, STRING073, STRING081 + 8 + 4 + 2
  717.         STRING006 = Trim(STRING006, " ")
  718.         Return
  719.         :LABEL032
  720.         InputStr STRING054, STRING007, 7, 6, Mask_Num(), STRING081 + 8 + 4 + 2
  721.         STRING007 = Trim(STRING007, " ")
  722.         If ((Len(STRING007) < 6) || !ValDate(STRING007)) STRING007 = "000000"
  723.         Return
  724.         :LABEL033
  725.         InputStr STRING055, STRING008, 7, 45, Mask_Num() + "PA,-", STRING081 + 8 + 4 + 2
  726.         STRING008 = Trim(STRING008, " ")
  727.         STRING008 = Replace(STRING008, " ", "")
  728.         For INTEGER008 = 1 To 20
  729.             STRING008 = ReplaceStr(STRING008, ",,", ",")
  730.             STRING008 = ReplaceStr(STRING008, "AA", "A")
  731.             STRING008 = ReplaceStr(STRING008, "PP", "P")
  732.         Next
  733.         STRING008 = LTrim(STRING008, ",")
  734.         STRING008 = RTrim(STRING008, ",")
  735.         If ((STRING008 == "") || (InStr(STRING008, "A") <> 0)) STRING008 = "A"
  736.         Return
  737.         :LABEL034
  738.         STRING009 = Left(STRING009, 1)
  739.         InputStr STRING056, STRING009, 7, 1, STRING076, STRING081 + 8 + 4 + 2
  740.         STRING009 = Trim(STRING009, " ")
  741.         If (STRING009 == "") STRING009 = "N"
  742.         If (Left(STRING009, 1) == "Y") Then
  743.             STRING009 = "Yes"
  744.         Else
  745.             STRING009 = "No"
  746.         Endif
  747.         Return
  748.         :LABEL035
  749.         STRING010 = Left(STRING010, 1)
  750.         InputStr STRING044, STRING010, 7, 1, STRING076, STRING081 + 8 + 4 + 2
  751.         STRING010 = Trim(STRING010, " ")
  752.         If (STRING009 == "") STRING010 = "Y"
  753.         If (Left(STRING010, 1) == "Y") Then
  754.             STRING010 = "Yes"
  755.         Else
  756.             STRING010 = "No"
  757.         Endif
  758.         Return
  759.         :LABEL036
  760.         STRING080 = ""
  761.         While (STRING080 == "") Do
  762.             Gosub LABEL048
  763.             OpText STRING011
  764.             If (!U_Expert) Gosub LABEL053
  765.             InputStr STRING049, STRING080, 7, 4, "MENDFCSUH?Q", STRING081 + 8
  766.             STRING080 = Trim(STRING080, " ")
  767.             If (STRING080 == "ME") STRING080 = "MENU"
  768.             If (STRING080 == "MEN") STRING080 = "MENU"
  769.             If (STRING080 == "M") Then
  770.                 STRING080 = ""
  771.                 Gosub LABEL040
  772.                 Continue
  773.             Endif
  774.             If (STRING080 == "N") Then
  775.                 STRING080 = ""
  776.                 Gosub LABEL032
  777.                 Continue
  778.             Endif
  779.             If (STRING080 == "D") Then
  780.                 STRING080 = ""
  781.                 Gosub LABEL033
  782.                 Continue
  783.             Endif
  784.             If (STRING080 == "F") Then
  785.                 STRING080 = ""
  786.                 Gosub LABEL034
  787.                 Continue
  788.             Endif
  789.             If (STRING080 == "C") Then
  790.                 STRING080 = ""
  791.                 Gosub LABEL035
  792.                 Continue
  793.             Endif
  794.             If (STRING080 == "S") Then
  795.                 If (Left(STRING011, 1) == "(") Then
  796.                     Newline
  797.                     PrintLn STRING066
  798.                     Newline
  799.                     If (!U_Expert) Wait
  800.                     Goto LABEL037
  801.                 Endif
  802.                 Gosub LABEL045
  803.                 :LABEL037
  804.                 STRING080 = ""
  805.                 Continue
  806.             Endif
  807.             If (STRING080 == "MENU") Then
  808.                 STRING080 = ""
  809.                 If (Exist(STRING022)) Then
  810.                     Gosub LABEL053
  811.                     Goto LABEL038
  812.                 Endif
  813.                 Log "   ■ Error: ZSRCHFLE file not found!", 0
  814.                 PrintLn "@X0CFile Search Menu file not found - Please notify Sysop!"
  815.                 :LABEL038
  816.                 Continue
  817.             Endif
  818.             If ((STRING080 == "H") || (STRING080 == "?")) Then
  819.                 STRING080 = ""
  820.                 If (Exist(STRING030)) Then
  821.                     DispFile STRING030, 4 + 2
  822.                     Goto LABEL039
  823.                 Endif
  824.                 Log "   ■ Error: ZHLPSFLE file not found!", 0
  825.                 PrintLn "@X0CSearch File Operation Help file not found - Please notify Sysop!"
  826.                 :LABEL039
  827.                 If (!U_Expert) Wait
  828.                 Continue
  829.             Endif
  830.             If (STRING080 == "Q") Then
  831.                 Continue
  832.             Endif
  833.             If (STRING080 == "") Then
  834.                 STRING080 = ""
  835.                 Continue
  836.             Endif
  837.             STRING080 = ""
  838.             DispText 56, 256 + 128 + 2048
  839.             Newline
  840.             If (!U_Expert) Wait
  841.         EndWhile
  842.         STRING080 = ""
  843.         Return
  844.         :LABEL040
  845.         InputStr STRING053, STRING004, 7, 12, STRING073, STRING081 + 8 + 4 + 2
  846.         STRING004 = Trim(STRING004, " ")
  847.         If (InStr(STRING004, ".") == 0) STRING004 = Left(STRING004, 8)
  848.         If ((InStr(STRING004, ".") == 0) && (STRING004 <> "")) STRING004 = STRING004 + ".*"
  849.         Return
  850.         :LABEL041
  851.         STRING080 = ""
  852.         While (STRING080 == "") Do
  853.             Gosub LABEL049
  854.             OpText STRING011
  855.             If (!U_Expert) Gosub LABEL056
  856.             InputStr STRING050, STRING080, 7, 4, "MENDFCSUH?Q", STRING081 + 8
  857.             STRING080 = Trim(STRING080, " ")
  858.             If (STRING080 == "ME") STRING080 = "MENU"
  859.             If (STRING080 == "MEN") STRING080 = "MENU"
  860.             If (STRING080 == "N") Then
  861.                 STRING080 = ""
  862.                 Gosub LABEL032
  863.                 Continue
  864.             Endif
  865.             If (STRING080 == "D") Then
  866.                 STRING080 = ""
  867.                 Gosub LABEL033
  868.                 Continue
  869.             Endif
  870.             If (STRING080 == "F") Then
  871.                 STRING080 = ""
  872.                 Gosub LABEL034
  873.                 Continue
  874.             Endif
  875.             If (STRING080 == "C") Then
  876.                 STRING080 = ""
  877.                 Gosub LABEL035
  878.                 Continue
  879.             Endif
  880.             If (STRING080 == "S") Then
  881.                 If (Left(STRING011, 1) == "(") Then
  882.                     Newline
  883.                     PrintLn STRING066
  884.                     Newline
  885.                     If (!U_Expert) Wait
  886.                     Goto LABEL042
  887.                 Endif
  888.                 Gosub LABEL045
  889.                 :LABEL042
  890.                 STRING080 = ""
  891.                 Continue
  892.             Endif
  893.             If (STRING080 == "MENU") Then
  894.                 STRING080 = ""
  895.                 If (Exist(STRING023)) Then
  896.                     Gosub LABEL056
  897.                     Goto LABEL043
  898.                 Endif
  899.                 Log "   ■ Error: ZSRCHDTE file not found!", 0
  900.                 PrintLn "@X0CDate Search Menu file not found - Please notify Sysop!"
  901.                 :LABEL043
  902.                 Continue
  903.             Endif
  904.             If ((STRING080 == "H") || (STRING080 == "?")) Then
  905.                 STRING080 = ""
  906.                 If (Exist(STRING031)) Then
  907.                     DispFile STRING031, 4 + 2
  908.                     Goto LABEL044
  909.                 Endif
  910.                 Log "   ■ Error: ZHLPSDTE file not found!", 0
  911.                 PrintLn "@X0CSearch Date Operation Help file not found - Please notify Sysop!"
  912.                 :LABEL044
  913.                 If (!U_Expert) Wait
  914.                 Continue
  915.             Endif
  916.             If (STRING080 == "Q") Then
  917.                 Continue
  918.             Endif
  919.             If (STRING080 == "") Then
  920.                 STRING080 = ""
  921.                 Continue
  922.             Endif
  923.             STRING080 = ""
  924.             DispText 56, 256 + 128 + 2048
  925.             Newline
  926.             If (!U_Expert) Wait
  927.         EndWhile
  928.         STRING080 = ""
  929.         Return
  930.         :LABEL045
  931.         STRING080 = "Y"
  932.         If (Exist(STRING033)) Then
  933.             DispFile STRING033, 4 + 2
  934.         Else
  935.             Log "   ■ Error: SCAN file not found!", 0
  936.         Endif
  937.         InputStr STRING045, STRING080, 7, 1, STRING076, STRING081 + 8 + 4 + 2
  938.         STRING080 = Trim(STRING080, " ")
  939.         If (STRING080 == "N") Return
  940.         Select Case (Left(STRING011, 1))
  941.             Case "Z"
  942.                 Log "   ■ Searching directories for text", 0
  943.             Case "L"
  944.                 Log "   ■ Searching directories for filename(s)", 0
  945.             Case "N"
  946.                 Log "   ■ Searching directories since MMDDYY", 0
  947.         End Select
  948.         Log "   ■ (" + STRING011 + ")", 0
  949.         BOOLEAN002 = 1
  950.         BOOLEAN003 = 0
  951.         If (Left(STRING010, 1) == "Y") Then
  952.             If (Exist(STRING034)) Then
  953.                 DispFile STRING034, 4 + 2
  954.             Else
  955.                 Log "   ■ Error: SCANNING file not found!", 0
  956.             Endif
  957.             ShowOff
  958.             CdChkOff
  959.             KbdChkOff
  960.             If (Exist(STRING040 + STRING038)) Goto LABEL046
  961.             If (Exist(STRING036)) Copy STRING036, STRING040 + STRING038
  962.             :LABEL046
  963.             OpenCap STRING040 + STRING038, INTEGER009
  964.             INTEGER010 = GetY()
  965.             KbdStuff STRING077
  966.             Dir STRING011
  967.             CloseCap 
  968.             CdChkOn
  969.             KbdChkOn
  970.             ShowOn
  971.             AnsiPos 0, INTEGER010 - 1
  972.             ClrEol
  973.             AnsiPos 0, INTEGER010
  974.         Else
  975.             Dir STRING011
  976.         Endif
  977.         If (Exist(STRING035)) Then
  978.             DispFile STRING035, 4 + 2
  979.         Else
  980.             Log "   ■ Error: SCANDONE file not found!", 0
  981.         Endif
  982.         If (!U_Expert) Wait
  983.         Return
  984.         :LABEL047
  985.         If (STRING005 <> "") Then
  986.             STRING011 = "Z " + STRING005
  987.             If (STRING006 <> "") STRING011 = STRING011 + " & ! " + STRING006
  988.             If ((STRING007 <> "") && (STRING007 <> "000000")) STRING011 = STRING011 + " N " + STRING007
  989.             If (STRING008 <> "") STRING011 = STRING011 + " " + STRING008
  990.             If (Left(STRING009, 1) == "Y") STRING011 = STRING011 + " D"
  991.         Else
  992.             STRING011 = "(N/A)"
  993.         Endif
  994.         Return
  995.         :LABEL048
  996.         If (STRING004 <> "") Then
  997.             STRING011 = "L " + STRING004
  998.             If ((STRING007 <> "") && (STRING007 <> "000000")) STRING011 = STRING011 + " N " + STRING007
  999.             If (STRING008 <> "") STRING011 = STRING011 + " " + STRING008
  1000.             If (Left(STRING009, 1) == "Y") STRING011 = STRING011 + " D"
  1001.         Else
  1002.             STRING011 = "(N/A)"
  1003.         Endif
  1004.         Return
  1005.         :LABEL049
  1006.         If ((STRING007 <> "") && (STRING007 <> "000000")) Then
  1007.             STRING011 = "N " + STRING007
  1008.             If (STRING008 <> "") STRING011 = STRING011 + " " + STRING008
  1009.             If (Left(STRING009, 1) == "Y") STRING011 = STRING011 + " D"
  1010.         Else
  1011.             STRING011 = "(N/A)"
  1012.         Endif
  1013.         Return
  1014.         :LABEL050
  1015.         If (Exist(STRING021)) Then
  1016.             FOpen 0, STRING021, 0, 0
  1017.             :LABEL051
  1018.             If (Ferr(0)) Goto LABEL052
  1019.             STRING080 = ""
  1020.             FGet 0, STRING080
  1021.             STRING080 = ReplaceStr(STRING080, "@MATCHING@", STRING005)
  1022.             STRING080 = ReplaceStr(STRING080, "@EXCLUDING@", STRING006)
  1023.             STRING080 = ReplaceStr(STRING080, "@FILEDATE@", STRING007)
  1024.             STRING080 = ReplaceStr(STRING080, "@DIRECTORIES@", STRING008)
  1025.             STRING080 = ReplaceStr(STRING080, "@FLAGDL@", STRING009)
  1026.             STRING080 = ReplaceStr(STRING080, "@CAPTURE@", STRING010)
  1027.             STRING080 = ReplaceStr(STRING080, "@SRCHCMD@", STRING011)
  1028.             PrintLn STRING080
  1029.             Goto LABEL051
  1030.             :LABEL052
  1031.             FClose 0
  1032.         Else
  1033.             Log "   ■ Error: ZSRCHTXT file not found!", 0
  1034.         Endif
  1035.         STRING080 = ""
  1036.         Return
  1037.         :LABEL053
  1038.         If (Exist(STRING022)) Then
  1039.             FOpen 0, STRING022, 0, 0
  1040.             :LABEL054
  1041.             If (Ferr(0)) Goto LABEL055
  1042.             STRING080 = ""
  1043.             FGet 0, STRING080
  1044.             STRING080 = ReplaceStr(STRING080, "@FILENAME@", STRING004)
  1045.             STRING080 = ReplaceStr(STRING080, "@DIRECTORIES@", STRING008)
  1046.             STRING080 = ReplaceStr(STRING080, "@FILEDATE@", STRING007)
  1047.             STRING080 = ReplaceStr(STRING080, "@FLAGDL@", STRING009)
  1048.             STRING080 = ReplaceStr(STRING080, "@CAPTURE@", STRING010)
  1049.             STRING080 = ReplaceStr(STRING080, "@SRCHCMD@", STRING011)
  1050.             PrintLn STRING080
  1051.             Goto LABEL054
  1052.             :LABEL055
  1053.             FClose 0
  1054.         Else
  1055.             Log "   ■ Error: ZSRCHFLE file not found!", 0
  1056.         Endif
  1057.         STRING080 = ""
  1058.         Return
  1059.         :LABEL056
  1060.         If (Exist(STRING023)) Then
  1061.             FOpen 0, STRING023, 0, 0
  1062.             :LABEL057
  1063.             If (Ferr(0)) Goto LABEL058
  1064.             STRING080 = ""
  1065.             FGet 0, STRING080
  1066.             STRING080 = ReplaceStr(STRING080, "@FILEDATE@", STRING007)
  1067.             STRING080 = ReplaceStr(STRING080, "@DIRECTORIES@", STRING008)
  1068.             STRING080 = ReplaceStr(STRING080, "@FLAGDL@", STRING009)
  1069.             STRING080 = ReplaceStr(STRING080, "@CAPTURE@", STRING010)
  1070.             STRING080 = ReplaceStr(STRING080, "@SRCHCMD@", STRING011)
  1071.             PrintLn STRING080
  1072.             Goto LABEL057
  1073.             :LABEL058
  1074.             FClose 0
  1075.         Else
  1076.             Log "   ■ Error: ZSRCHDTE file not found!", 0
  1077.         Endif
  1078.         STRING080 = ""
  1079.         Return
  1080.         :LABEL059
  1081.         STRING004 = ""
  1082.         STRING005 = ""
  1083.         STRING006 = ""
  1084.         STRING007 = "000000"
  1085.         STRING008 = "A"
  1086.         STRING009 = "No"
  1087.         STRING010 = "Yes"
  1088.         STRING011 = "(N/A)"
  1089.         BOOLEAN002 = 0
  1090.         BOOLEAN003 = 0
  1091.         BOOLEAN004 = 0
  1092.         If (Exist(STRING043 + STRING039)) Delete STRING043 + STRING039
  1093.         If (Exist(STRING040 + STRING038)) Delete STRING040 + STRING038
  1094.         Return
  1095.         :LABEL060
  1096.         Newline
  1097.         If (Exist(STRING040 + STRING038)) Then
  1098.             STRING012 = String(FileInf(STRING040 + STRING038, 4))
  1099.             OpText STRING012
  1100.             PrintLn STRING057
  1101.             Newline
  1102.             OpText STRING039
  1103.             Print STRING058
  1104.             STRING042 = ReplaceStr(STRING042, "@COMPFILE@", STRING043 + STRING039)
  1105.             STRING042 = ReplaceStr(STRING042, "@ZCAPFILE@", STRING040 + STRING038)
  1106.             Shell 1, INTEGER009, STRING041, STRING042
  1107.             STRING013 = String(FileInf(STRING043 + STRING039, 4))
  1108.             OpText STRING013
  1109.             PrintLn STRING059
  1110.             OpText STRING039
  1111.             Print STRING060
  1112.             If (Exist(STRING040 + STRING038)) Delete STRING040 + STRING038
  1113.             PrintLn STRING061
  1114.             Newline
  1115.             If (BOOLEAN004) Then
  1116.                 PrintLn STRING065
  1117.                 Flag STRING043 + STRING039
  1118.                 If (!U_Expert) Wait
  1119.                 Goto LABEL061
  1120.             Endif
  1121.             If (BOOLEAN004) Goto LABEL061
  1122.             PrintLn STRING063
  1123.             Download STRING039
  1124.             BOOLEAN003 = 1
  1125.             :LABEL061
  1126.             If (!U_Expert) Wait
  1127.         Endif
  1128.         Return
  1129.     Endif
  1130.     :LABEL062
  1131.     Newline
  1132.     If (BOOLEAN004) Then
  1133.         Gosub LABEL060
  1134.     ElseIf (BOOLEAN002 && !BOOLEAN003) Then
  1135.         STRING080 = STRING074
  1136.         OpText STRING039
  1137.         PrintLn STRING069
  1138.         Newline
  1139.         InputStr STRING070, STRING080, 7, 1, STRING076, STRING081 + 8 + 4 + 2
  1140.         STRING080 = Trim(STRING080, " ")
  1141.         If (STRING080 <> "N") Then
  1142.             STRING080 = "D"
  1143.             InputStr STRING072, STRING080, 7, 1, "DF", STRING081 + 8 + 4 + 2
  1144.             If (STRING080 == "D") BOOLEAN004 = 0
  1145.             If (STRING080 == "F") BOOLEAN004 = 1
  1146.             Gosub LABEL060
  1147.             Goto LABEL063
  1148.         Endif
  1149.         If (Exist(STRING043 + STRING039)) Delete STRING043 + STRING039
  1150.         If (Exist(STRING040 + STRING038)) Delete STRING040 + STRING038
  1151.     Endif
  1152.     :LABEL063
  1153.     If (INTEGER001 <> 1) Then
  1154.         PrintLn "@X07[@X0CThis version of ZippyList is " + STRING002 + "@X07]"
  1155.         PrintLn "@X07[@X0ACall Whitewater Systems to register - 312-743-4912@X07]"
  1156.         Newline
  1157.         PrintLn "@X0AReturning to system ..."
  1158.     ElseIf (INTEGER001 == 1) Then
  1159.         PrintLn "@X07Returning to @X0A" + STRING015 + "@X07 ..."
  1160.     Endif
  1161.     Log "ZippyList Ended at " + Left(Time(), 5), 0
  1162.     If (DbgLevel() > 0) DbgLevel 0
  1163.     End
  1164.  
  1165. ;------------------------------------------------------------------------------
  1166. ;
  1167. ; Usage report (before postprocessing)
  1168. ;
  1169. ; ■ Statements used :
  1170. ;
  1171. ;    1       End
  1172. ;    1       Cls
  1173. ;    1       ClrEol
  1174. ;    20      Wait
  1175. ;    260     Goto 
  1176. ;    241     Let 
  1177. ;    3       Print 
  1178. ;    47      PrintLn 
  1179. ;    200     If 
  1180. ;    21      DispFile 
  1181. ;    5       FOpen 
  1182. ;    5       FClose 
  1183. ;    62      FGet 
  1184. ;    1       GetUser
  1185. ;    5       Delete 
  1186. ;    50      Log 
  1187. ;    16      InputStr 
  1188. ;    40      Gosub 
  1189. ;    24      Return
  1190. ;    1       CdChkOn
  1191. ;    1       CdChkOff
  1192. ;    1       Delay 
  1193. ;    32      Newline
  1194. ;    5       Newlines 
  1195. ;    1       Shell 
  1196. ;    5       DispText 
  1197. ;    1       Beep
  1198. ;    1       KbdStuff 
  1199. ;    3       Dir 
  1200. ;    1       KbdChkOn
  1201. ;    1       KbdChkOff
  1202. ;    14      OpText 
  1203. ;    2       AnsiPos 
  1204. ;    1       OpenCap 
  1205. ;    1       CloseCap 
  1206. ;    1       DbgLevel 
  1207. ;    1       ShowOn
  1208. ;    1       ShowOff
  1209. ;    1       Copy 
  1210. ;    1       Flag 
  1211. ;    1       Download 
  1212. ;
  1213. ;
  1214. ; ■ Functions used :
  1215. ;
  1216. ;    1       *
  1217. ;    185     +
  1218. ;    5       -
  1219. ;    100     ==
  1220. ;    27      <>
  1221. ;    3       <
  1222. ;    3       <=
  1223. ;    3       >
  1224. ;    4       >=
  1225. ;    158     !
  1226. ;    10      &&
  1227. ;    11      ||
  1228. ;    8       Len(
  1229. ;    33      Upper()
  1230. ;    3       Mid()
  1231. ;    19      Left()
  1232. ;    1       Right()
  1233. ;    3       Ferr()
  1234. ;    20      Chr()
  1235. ;    3       InStr()
  1236. ;    1       LTrim()
  1237. ;    5       RTrim()
  1238. ;    24      Trim()
  1239. ;    1       Date()
  1240. ;    2       Time()
  1241. ;    3       U_LDir()
  1242. ;    1       Ver()
  1243. ;    1       NoChar()
  1244. ;    1       YesChar()
  1245. ;    7       Replace()
  1246. ;    1       Strip()
  1247. ;    10      String()
  1248. ;    2       Mask_Num()
  1249. ;    2       PCBDat()
  1250. ;    24      PPEPath()
  1251. ;    1       ValDate()
  1252. ;    4       PcbNode()
  1253. ;    2       ReadLine()
  1254. ;    1       GetToken()
  1255. ;    8       GetEnv()
  1256. ;    39      Exist()
  1257. ;    1       LangExt()
  1258. ;    1       GetY()
  1259. ;    1       DefColor()
  1260. ;    4       FileInf()
  1261. ;    2       PPEName()
  1262. ;    3       DbgLevel()
  1263. ;    29      ReplaceStr()
  1264. ;
  1265. ;------------------------------------------------------------------------------
  1266. ;
  1267. ; Analysis flags : Sfd
  1268. ;
  1269. ; S - Shell to DOS ■ 5
  1270. ;     This may be normal if the PPE need to execute an external command,
  1271. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  1272. ;     or usefull (sorting, maintenance,...). Check!
  1273. ;     ■ Search for : SHELL
  1274. ;
  1275. ; f - Flag files for download ■ 3
  1276. ;     This may be normal if a PPE needs to send some files, but since
  1277. ;     this statement allows flagging of any file on the hard disk, you
  1278. ;     have to be carefull. Check!
  1279. ;     ■ Search for : FLAG
  1280. ;
  1281. ; d - Access PCBOARD.DAT ■ 2
  1282. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  1283. ;     for many PPE so they can find various informations on the system
  1284. ;     (system paths, max number of lines in messages, ...) but it may also
  1285. ;     be a way to gather vital informations.
  1286. ;     ■ Search for : PCBDAT()
  1287. ;
  1288. ;------------------------------------------------------------------------------
  1289. ;
  1290. ; Postprocessing report
  1291. ;
  1292. ;    2       For/Next
  1293. ;    5       While/EndWhile
  1294. ;    111     If/Then or If/Then/Else
  1295. ;    1       Select Case
  1296. ;
  1297. ;------------------------------------------------------------------------------
  1298. ;                 AEGiS Corp - Break the routines, code against the machines!
  1299. ;------------------------------------------------------------------------------
  1300.