home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / THS!FILE.ZIP / FM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-04-26  |  24KB  |  1,065 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Integer  INTEGER001
  25.     Integer  INTEGER002
  26.     Integer  INTEGER003
  27.     Integer  INTEGER004
  28.     Integer  INTEGER005
  29.     Integer  INTEGER006
  30.     Integer  INTEGER007
  31.     Integer  INTEGER008
  32.     Integer  INTEGER009
  33.     Integer  INTEGER010
  34.     Integer  INTEGER011
  35.     Integer  INTEGER014
  36.     Integer  INTEGER015
  37.     Integer  INTEGER016
  38.     Integer  INTEGER021
  39.     Integer  INTEGER023
  40.     Integer  INTEGER025
  41.     String   STRING001
  42.     String   STRING002
  43.     String   STRING003
  44.     String   TSTRING004(50)
  45.     String   STRING005
  46.     String   TSTRING006(10)
  47.     String   STRING007
  48.     String   STRING008
  49.     String   STRING009
  50.     String   STRING010
  51.     String   STRING011
  52.     String   STRING012
  53.     String   STRING013
  54.     String   STRING014
  55.     String   STRING015
  56.     String   STRING016
  57.     String   STRING017
  58.     String   STRING018
  59.     String   STRING019
  60.     String   STRING020
  61.     String   STRING021
  62.     String   STRING022
  63.     String   STRING023
  64.     String   STRING024
  65.     String   STRING025
  66.     String   STRING026
  67.     String   STRING027
  68.     String   STRING028
  69.     String   STRING029
  70.     String   STRING030
  71.     String   STRING031
  72.     String   STRING032
  73.     String   STRING033
  74.     String   STRING034
  75.     String   STRING035
  76.     String   STRING051
  77.     String   STRING052
  78.     Double   DOUBLE001
  79.     Double   DOUBLE002
  80.     Declare  Function FUNCTION001(Integer INTEGER027) String
  81.     Declare  Function FUNCTION002(String STRING050) String
  82.     Declare  Function FUNCTION003(String STRING036, Integer INTEGER012, Integer INTEGER013) Integer
  83.     Declare  Procedure PROC001()
  84.     Declare  Procedure PROC002()
  85.     Declare  Procedure PROC003()
  86.     Declare  Procedure PROC004()
  87.     Declare  Procedure PROC005()
  88.     Declare  Procedure PROC006()
  89.     Declare  Procedure PROC007()
  90.     Declare  Procedure PROC008(Integer INTEGER026)
  91.     Declare  Procedure PROC009(String STRING041, String STRING042, String STRING043, Integer INTEGER020)
  92.     Declare  Procedure PROC010(String STRING044, String STRING045, String STRING046, Integer INTEGER022)
  93.     Declare  Procedure PROC011(String STRING047, String STRING048, String STRING049, Integer INTEGER024)
  94.     Declare  Procedure PROC012(String STRING037, String STRING038, String STRING039, Integer INTEGER017, Integer INTEGER018, Integer INTEGER019, String STRING040)
  95.  
  96. ;------------------------------------------------------------------------------
  97.  
  98.     Goto LABEL002
  99.     End
  100.  
  101. ;------------------------------------------------------------------------------
  102.  
  103.     Function FUNCTION003(String STRING036, Integer INTEGER012, Integer INTEGER013) Integer
  104.  
  105.     Integer  INTEGER015
  106.     Integer  INTEGER016
  107.     String   STRING037
  108.  
  109.     INTEGER016 = 0
  110.     If ((INTEGER013 >= 5000) && (INTEGER013 <= 5999)) Then
  111.         INTEGER016 = INTEGER016 + 4578
  112.         If (INTEGER012 == 4568) Then
  113.             INTEGER016 = INTEGER016 + 7898
  114.             Goto LABEL001
  115.         Endif
  116.         If (INTEGER012 == 9088) Then
  117.             INTEGER016 = INTEGER016 + 6943
  118.             Goto LABEL001
  119.         Endif
  120.         If (INTEGER012 == 5212) Then
  121.             INTEGER016 = INTEGER016 + 5143
  122.             Goto LABEL001
  123.         Endif
  124.         If (INTEGER012 == 8988) Then
  125.             INTEGER016 = INTEGER016 + 4254
  126.             Goto LABEL001
  127.         Endif
  128.         If (INTEGER012 == 4098) Then
  129.             INTEGER016 = INTEGER016 + 3332
  130.             Goto LABEL001
  131.         Endif
  132.         If (INTEGER012 == 4353) Then
  133.             INTEGER016 = INTEGER016 + 2443
  134.             Goto LABEL001
  135.         Endif
  136.         If (INTEGER012 == 9808) Then
  137.             INTEGER016 = INTEGER016 + 1589
  138.             Goto LABEL001
  139.         Endif
  140.         If (INTEGER012 == 1223) Then
  141.             INTEGER016 = INTEGER016 + 9687
  142.             Goto LABEL001
  143.         Endif
  144.         If (INTEGER012 == 5312) Then
  145.             INTEGER016 = INTEGER016 + 8789
  146.             Goto LABEL001
  147.         Endif
  148.         If (INTEGER012 == 4353) Then
  149.             INTEGER016 = INTEGER016 + 7870
  150.             Goto LABEL001
  151.         Endif
  152.         If (INTEGER012 == 5665) Then
  153.             INTEGER016 = INTEGER016 + 6960
  154.             Goto LABEL001
  155.         Endif
  156.         If (INTEGER012 == 6575) Then
  157.             INTEGER016 = INTEGER016 + 5150
  158.             Goto LABEL001
  159.         Endif
  160.         If (INTEGER012 == 9332) Then
  161.             INTEGER016 = INTEGER016 + 4240
  162.             Goto LABEL001
  163.         Endif
  164.         If (INTEGER012 == 5677) Then
  165.             INTEGER016 = INTEGER016 + 3330
  166.             Goto LABEL001
  167.         Endif
  168.         If (INTEGER012 == 5498) Then
  169.             INTEGER016 = INTEGER016 + 2420
  170.             Goto LABEL001
  171.         Endif
  172.         If (INTEGER012 == 6590) Then
  173.             INTEGER016 = INTEGER016 + 1510
  174.             Goto LABEL001
  175.         Endif
  176.         If (INTEGER012 == 4398) Then
  177.             INTEGER016 = INTEGER016 + 9665
  178.             Goto LABEL001
  179.         Endif
  180.         If (INTEGER012 == 6798) Then
  181.             INTEGER016 = INTEGER016 + 8787
  182.             Goto LABEL001
  183.         Endif
  184.         If (INTEGER012 == 8933) Then
  185.             INTEGER016 = INTEGER016 + 7898
  186.             Goto LABEL001
  187.         Endif
  188.         If (INTEGER012 == 3453) Then
  189.             INTEGER016 = INTEGER016 + 6934
  190.             Goto LABEL001
  191.         Endif
  192.         If (INTEGER012 == 9873) Then
  193.             INTEGER016 = INTEGER016 + 5193
  194.             Goto LABEL001
  195.         Endif
  196.         If (INTEGER012 == 9780) Then
  197.             INTEGER016 = INTEGER016 + 4295
  198.             Goto LABEL001
  199.         Endif
  200.         If (INTEGER012 == 1893) Then
  201.             INTEGER016 = INTEGER016 + 3369
  202.             Goto LABEL001
  203.         Endif
  204.         If (INTEGER012 == 6822) Then
  205.             INTEGER016 = INTEGER016 + 1467
  206.             Goto LABEL001
  207.         Endif
  208.         If (INTEGER012 == 1259) Then
  209.             INTEGER016 = INTEGER016 + 9587
  210.             Goto LABEL001
  211.         Endif
  212.         If (INTEGER012 == 3823) Then
  213.             INTEGER016 = INTEGER016 + 8667
  214.             Goto LABEL001
  215.         Endif
  216.         If (INTEGER012 == 3892) Then
  217.             INTEGER016 = INTEGER016 + 7776
  218.             Goto LABEL001
  219.         Endif
  220.         If (INTEGER012 == 2287) Then
  221.             INTEGER016 = INTEGER016 + 5876
  222.             Goto LABEL001
  223.         Endif
  224.         If (INTEGER012 == 3289) Then
  225.             INTEGER016 = INTEGER016 + 4934
  226.             Goto LABEL001
  227.         Endif
  228.         If (INTEGER012 == 3494) Then
  229.             INTEGER016 = INTEGER016 + 3143
  230.             Goto LABEL001
  231.         Endif
  232.         If (INTEGER012 == 1230) Then
  233.             INTEGER016 = INTEGER016 + 2234
  234.             Goto LABEL001
  235.         Endif
  236.         If (INTEGER012 == 2383) Then
  237.             INTEGER016 = INTEGER016 + 1322
  238.         Endif
  239.     Endif
  240.     :LABEL001
  241.     If ((INTEGER013 >= 1000) && (INTEGER013 >= 1999)) INTEGER016 = INTEGER016 + 3248
  242.     For INTEGER015 = 1 To Len(STRING036)
  243.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(65)) Then
  244.             INTEGER016 = INTEGER016 + 3429
  245.             Continue
  246.         Endif
  247.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(66)) Then
  248.             INTEGER016 = INTEGER016 + 3428
  249.             Continue
  250.         Endif
  251.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(67)) Then
  252.             INTEGER016 = INTEGER016 + 4352
  253.             Continue
  254.         Endif
  255.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(68)) Then
  256.             INTEGER016 = INTEGER016 + 4565
  257.             Continue
  258.         Endif
  259.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(69)) Then
  260.             INTEGER016 = INTEGER016 + 1223
  261.             Continue
  262.         Endif
  263.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(70)) Then
  264.             INTEGER016 = INTEGER016 + 9769
  265.             Continue
  266.         Endif
  267.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(71)) Then
  268.             INTEGER016 = INTEGER016 + 4589
  269.             Continue
  270.         Endif
  271.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(72)) Then
  272.             INTEGER016 = INTEGER016 + 2359
  273.             Continue
  274.         Endif
  275.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(73)) Then
  276.             INTEGER016 = INTEGER016 + 5679
  277.             Continue
  278.         Endif
  279.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(74)) Then
  280.             INTEGER016 = INTEGER016 + 9805
  281.             Continue
  282.         Endif
  283.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(75)) Then
  284.             INTEGER016 = INTEGER016 + 8903
  285.             Continue
  286.         Endif
  287.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(76)) Then
  288.             INTEGER016 = INTEGER016 + 8908
  289.             Continue
  290.         Endif
  291.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(77)) Then
  292.             INTEGER016 = INTEGER016 + 2376
  293.             Continue
  294.         Endif
  295.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(78)) Then
  296.             INTEGER016 = INTEGER016 + 1276
  297.             Continue
  298.         Endif
  299.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(79)) Then
  300.             INTEGER016 = INTEGER016 + 5457
  301.             Continue
  302.         Endif
  303.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(80)) Then
  304.             INTEGER016 = INTEGER016 + 2934
  305.             Continue
  306.         Endif
  307.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(81)) Then
  308.             INTEGER016 = INTEGER016 + 2233
  309.             Continue
  310.         Endif
  311.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(82)) Then
  312.             INTEGER016 = INTEGER016 + 2341
  313.             Continue
  314.         Endif
  315.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(83)) Then
  316.             INTEGER016 = INTEGER016 + 2342
  317.             Continue
  318.         Endif
  319.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(84)) Then
  320.             INTEGER016 = INTEGER016 + 4552
  321.             Continue
  322.         Endif
  323.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(85)) Then
  324.             INTEGER016 = INTEGER016 + 8763
  325.             Continue
  326.         Endif
  327.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(86)) Then
  328.             INTEGER016 = INTEGER016 + 3452
  329.             Continue
  330.         Endif
  331.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(87)) Then
  332.             INTEGER016 = INTEGER016 + 3453
  333.             Continue
  334.         Endif
  335.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(88)) Then
  336.             INTEGER016 = INTEGER016 + 3453
  337.             Continue
  338.         Endif
  339.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(89)) Then
  340.             INTEGER016 = INTEGER016 + 3453
  341.             Continue
  342.         Endif
  343.         If (Upper(Mid(STRING036, INTEGER015, 1)) == Chr(90)) Then
  344.             INTEGER016 = INTEGER016 + 3453
  345.             Continue
  346.         Endif
  347.         INTEGER016 = INTEGER016 + 2382
  348.     Next
  349.     FUNCTION003 = INTEGER016
  350.  
  351.     EndFunc
  352.  
  353.  
  354. ;------------------------------------------------------------------------------
  355.  
  356.     Procedure PROC012(String STRING037, String STRING038, String STRING039, Integer INTEGER017, Integer INTEGER018, Integer INTEGER019, String STRING040)
  357.  
  358.     If ((INTEGER019 == 0) || (INTEGER018 == 0)) Then
  359.         PROC010(STRING037, STRING039, STRING038, 100)
  360.         STRING035 = 0
  361.     ElseIf (FUNCTION003(STRING038, INTEGER017, INTEGER019) == INTEGER018) Then
  362.         If (Upper(STRING040) == "Y") PROC009(STRING037, STRING039, STRING038, 30)
  363.         STRING035 = 1
  364.     Else
  365.         PROC011(STRING037, STRING039, STRING038, 200)
  366.         STRING035 = 0
  367.     Endif
  368.  
  369.     EndProc
  370.  
  371.  
  372. ;------------------------------------------------------------------------------
  373.  
  374.     Procedure PROC009(String STRING041, String STRING042, String STRING043, Integer INTEGER020)
  375.  
  376.     Integer  INTEGER021
  377.  
  378.     For INTEGER021 = 1 To 45 Step 2
  379.         If (Len(STRING041) == INTEGER021) STRING041 = STRING041 + " "
  380.         If (Len(STRING042) == INTEGER021) STRING042 = STRING042 + " "
  381.         If (Len(STRING043) == INTEGER021) STRING043 = STRING043 + " "
  382.     Next
  383.     Cls
  384.     PrintLn "                @X19┌──────────────────────────────────────────────@X10┐@X07"
  385.     PrintLn "                @X19│@X1E" + Space(23 - Len(STRING041) / 2) + STRING041 + Space(23 - Len(STRING041) / 2) + "@X10│@X07"
  386.     PrintLn "                @X19│                                              @X10│@X07"
  387.     PrintLn "                @X19│@X1E                Registered to:                @X10│@X07"
  388.     PrintLn "                @X19│                                              @X10│@X07"
  389.     PrintLn "                @X19│@X1F" + Space(23 - Len(STRING042) / 2) + STRING042 + Space(23 - Len(STRING042) / 2) + "@X10│@X07"
  390.     PrintLn "                @X19│@X1E                      of                      @X10│@X07"
  391.     PrintLn "                @X19│@X1F" + Space(23 - Len(STRING043) / 2) + STRING043 + Space(23 - Len(STRING043) / 2) + "@X10│@X07"
  392.     PrintLn "                @X19│                                              @X10│@X07"
  393.     PrintLn "                @X19│@X1E      Thank you for supporting shareware      @X10│@X07"
  394.     PrintLn "                @X19└@X10──────────────────────────────────────────────┘@X07"
  395.     Delay INTEGER020
  396.  
  397.     EndProc
  398.  
  399.  
  400. ;------------------------------------------------------------------------------
  401.  
  402.     Procedure PROC010(String STRING044, String STRING045, String STRING046, Integer INTEGER022)
  403.  
  404.     Integer  INTEGER023
  405.  
  406.     For INTEGER023 = 1 To 45 Step 2
  407.         If (Len(STRING044) == INTEGER023) STRING044 = STRING044 + " "
  408.         If (Len(STRING045) == INTEGER023) STRING045 = STRING045 + " "
  409.         If (Len(STRING046) == INTEGER023) STRING046 = STRING046 + " "
  410.     Next
  411.     Cls
  412.     PrintLn "                @X19┌──────────────────────────────────────────────@X10┐@X07"
  413.     PrintLn "                @X19│@X1E" + Space(23 - Len(STRING044) / 2) + STRING044 + Space(23 - Len(STRING044) / 2) + "@X10│@X07"
  414.     PrintLn "                @X19│                                              @X10│@X07"
  415.     PrintLn "                @X19│      @X1E30-day Trial Version Registered to:     @X10│@X07"
  416.     PrintLn "                @X19│                                              @X10│@X07"
  417.     PrintLn "                @X19│@X1F" + Space(23 - Len(STRING045) / 2) + STRING045 + Space(23 - Len(STRING045) / 2) + "@X10│@X07"
  418.     PrintLn "                @X19│@X1E                      of                      @X10│@X07"
  419.     PrintLn "                @X19│@X1F" + Space(23 - Len(STRING046) / 2) + STRING046 + Space(23 - Len(STRING046) / 2) + "@X10│@X07"
  420.     PrintLn "                @X19│                                              @X10│@X07"
  421.     PrintLn "                @X19│@X1E      Help support the shareware concept!     @X10│@X07"
  422.     PrintLn "                @X19│@X1EEncourage your SysOp to register this program!@X10│@X07"
  423.     PrintLn "                @X19└@X10──────────────────────────────────────────────┘@X07"
  424.     Delay INTEGER022
  425.  
  426.     EndProc
  427.  
  428.  
  429. ;------------------------------------------------------------------------------
  430.  
  431.     Procedure PROC011(String STRING047, String STRING048, String STRING049, Integer INTEGER024)
  432.  
  433.     Integer  INTEGER025
  434.  
  435.     For INTEGER025 = 1 To 45 Step 2
  436.         If (Len(STRING047) == INTEGER025) STRING047 = STRING047 + " "
  437.         If (Len(STRING048) == INTEGER025) STRING048 = STRING048 + " "
  438.         If (Len(STRING049) == INTEGER025) STRING049 = STRING049 + " "
  439.     Next
  440.     Cls
  441.     PrintLn "                @X19┌──────────────────────────────────────────────@X10┐@X07"
  442.     PrintLn "                @X19│@X1E" + Space(23 - Len(STRING047) / 2) + STRING047 + Space(23 - Len(STRING047) / 2) + "@X10│@X07"
  443.     PrintLn "                @X19│                                              @X10│@X07"
  444.     PrintLn "                @X19│@X1E               Aborting Operation             @X10│@X07"
  445.     PrintLn "                @X19│                                              @X10│@X07"
  446.     PrintLn "                @X19│@X1E           Invalid Registration Code          @X10│@X07"
  447.     PrintLn "                @X19│                                              @X10│@X07"
  448.     PrintLn "                @X19│@X1E        Please help support shareware!        @X10│@X07"
  449.     PrintLn "                @X19│@X1EEncourage your SysOp to register this program!@X10│@X07"
  450.     PrintLn "                @X19└@X10──────────────────────────────────────────────┘@X07"
  451.     Beep
  452.     Delay INTEGER024
  453.     Log "The program " + STRING047 + " is not registered!  Please register it today!", 0
  454.     End
  455.  
  456.     EndProc
  457.  
  458.  
  459. ;------------------------------------------------------------------------------
  460.  
  461.     Procedure PROC007()
  462.  
  463.     PrintLn STRING015 + "File Menu" + STRING017 + " v" + STRING018 + " #" + STRING015 + String(INTEGER010) + STRING016 + " ■ " + STRING015 + STRING019
  464.     PrintLn 
  465.     If (STRING035) Then
  466.         PrintLn STRING017 + "Registered to: " + STRING015 + STRING020
  467.     Else
  468.         PrintLn STRING017 + "30-day Trial Version Registered to: " + STRING015 + STRING020
  469.     Endif
  470.     PrintLn 
  471.     PrintLn STRING017 + "Created by: " + STRING015 + "John C. Marx"
  472.     PrintLn STRING017 + "(C)opyright 1994-1995, Cutting Edge Online. All rights reserved."
  473.     PrintLn 
  474.     PrintLn "@WAIT@"
  475.     KbdStuff "^M"
  476.     End
  477.  
  478.     EndProc
  479.  
  480.  
  481. ;------------------------------------------------------------------------------
  482.  
  483.     Procedure PROC005()
  484.  
  485.     If (Upper(STRING010) == YesChar()) Log STRING024 + " use has been completed", 0
  486.     RdUNet PcbNode()
  487.     WrUNet PcbNode(), UN_Stat(), UN_Name(), UN_City(), UN_Oper(), ""
  488.  
  489.     EndProc
  490.  
  491.     :LABEL002
  492.     PROC001()
  493.     PROC012(STRING024, STRING019, STRING020, INTEGER008, INTEGER009, INTEGER010, STRING023)
  494.     PROC002()
  495.     PROC006()
  496.     If (BOOLEAN005) Goto LABEL003
  497.     PROC004()
  498.     Goto LABEL004
  499.     :LABEL003
  500.     PROC003()
  501.     :LABEL004
  502.     PROC005()
  503.     End
  504.  
  505. ;------------------------------------------------------------------------------
  506.  
  507.     Procedure PROC001()
  508.  
  509.     If (Exist(PPEPath() + "PCBCOUNT.USE")) Then
  510.         If (Exist(PPEPath() + "INUSE.*")) DispFile PPEPath() + "INUSE", 2 + 1 + 4
  511.         End
  512.     Endif
  513.     STRING021 = GetToken()
  514.     STRING033 = STRING021
  515.     If (STRING021 <> "") Then
  516.         For INTEGER001 = 1 To TokCount()
  517.             STRING021 = STRING021 + " " + GetToken()
  518.         Next
  519.         STRING021 = Chr(13) + Chr(13) + STRING021
  520.     Endif
  521.     If (Upper(STRING033) <> "A") Then
  522.         Dir STRING021
  523.         End
  524.     Endif
  525.     If (Exist(PPEPath() + "PROMPTS" + LangExt())) Then
  526.         FOpen 1, PPEPath() + "PROMPTS" + LangExt(), 0, 2
  527.         FGet 1, TSTRING006(1)
  528.         FGet 1, TSTRING006(2)
  529.         FGet 1, TSTRING006(3)
  530.         FGet 1, TSTRING006(4)
  531.         FGet 1, TSTRING006(5)
  532.         FGet 1, TSTRING006(6)
  533.         FClose 1
  534.     ElseIf (Exist(PPEPath() + "PROMPTS")) Then
  535.         FOpen 1, PPEPath() + "PROMPTS", 0, 2
  536.         FGet 1, TSTRING006(1)
  537.         FGet 1, TSTRING006(2)
  538.         FGet 1, TSTRING006(3)
  539.         FGet 1, TSTRING006(4)
  540.         FGet 1, TSTRING006(5)
  541.         FGet 1, TSTRING006(6)
  542.         FClose 1
  543.     Else
  544.         TSTRING006(1) = "@X0E(@X0FH@X0E)elp, (@X0FA@X0E)ll,@X0E File Library # would you like to view"
  545.         TSTRING006(2) = "@X0E(@X0FH@X0E)elp, (@X0F1@X0E-@X0F@NUMDIR@@X0E) @X0FFile Menu@X0E Command"
  546.         TSTRING006(3) = "@X09[@X0F@OPTEXT@@X09]@X0E Please wait, loading directory list...@X07"
  547.         TSTRING006(4) = "@X0EAll Categories@X07"
  548.         TSTRING006(5) = "@X0EYou must first (@X0FA@X0E)bandon this conference to view the available files...@X07"
  549.         TSTRING006(6) = "@X0CCONF.DAT file not found! Aborting...@X07"
  550.     Endif
  551.     BOOLEAN003 = 0
  552.     BOOLEAN004 = 0
  553.     If (Exist(PPEPath() + "CONF.DAT")) Then
  554.         FOpen 1, PPEPath() + "CONF.DAT", 0, 2
  555.         :LABEL005
  556.         If (BOOLEAN003) Goto LABEL006
  557.         FGet 1, STRING025
  558.         Tokenize STRING025
  559.         If ((STRING025 == "") || (STRING025 == " ")) Then
  560.             BOOLEAN003 = 1
  561.             BOOLEAN004 = 0
  562.         Else
  563.             STRING032 = GetToken()
  564.             If (STRING032 == CurConf()) Then
  565.                 STRING030 = GetToken()
  566.                 STRING034 = GetToken()
  567.                 If (Upper(STRING034) == "Y") STRING033 = "A"
  568.                 BOOLEAN003 = 1
  569.                 BOOLEAN004 = 1
  570.             Endif
  571.         Endif
  572.         Goto LABEL005
  573.         :LABEL006
  574.         FClose 1
  575.     Else
  576.         PrintLn TSTRING006(6)
  577.         End
  578.     Endif
  579.     If (BOOLEAN004) Goto LABEL007
  580.     If (Mid(TSTRING006(5), 1, 1) == "%") Then
  581.         PrintLn 
  582.         DispFile TSTRING006(5), 1 + 2 + 4
  583.         End
  584.     Else
  585.         PrintLn 
  586.         PrintLn TSTRING006(5)
  587.         End
  588.     Endif
  589.     :LABEL007
  590.     INTEGER002 = 0
  591.     STRING018 = "2.0"
  592.     INTEGER008 = 6798
  593.     INTEGER005 = 50
  594.     INTEGER006 = 999
  595.     INTEGER007 = 20
  596.     STRING024 = "File Menu v" + STRING018
  597.     BOOLEAN002 = 0
  598.     DOUBLE002 = 0
  599.     DOUBLE001 = 0
  600.     Cls
  601.     OpText STRING024
  602.     PrintLn TSTRING006(3)
  603.     If (Exist(PPEPath() + "FM.CNF")) Then
  604.         FOpen 1, PPEPath() + "FM.CNF", 0, 2
  605.         FGet 1, STRING019
  606.         FGet 1, STRING020
  607.         FGet 1, INTEGER010
  608.         FGet 1, INTEGER009
  609.         FGet 1, STRING023
  610.         FGet 1, STRING031
  611.         FGet 1, BOOLEAN005
  612.         FClose 1
  613.     Else
  614.         STRING019 = "BBS Name"
  615.         STRING020 = "System Operator"
  616.         INTEGER010 = 0
  617.         INTEGER009 = 0
  618.         STRING023 = "Y"
  619.         STRING031 = "Y"
  620.         BOOLEAN005 = "Y"
  621.     Endif
  622.     If (Exist(PPEPath() + STRING030)) Then
  623.         FOpen 1, PPEPath() + STRING030 + ".CNF", 0, 2
  624.         FGet 1, STRING008
  625.         FGet 1, STRING009
  626.         FGet 1, STRING022
  627.         FGet 1, STRING010
  628.         FGet 1, STRING011
  629.         FGet 1, STRING012
  630.         FGet 1, STRING013
  631.         FGet 1, STRING014
  632.         FGet 1, STRING015
  633.         FGet 1, STRING016
  634.         FGet 1, STRING017
  635.         FGet 1, STRING028
  636.         FGet 1, STRING029
  637.         FGet 1, STRING027
  638.         FClose 1
  639.     Else
  640.         STRING008 = "D:\PCB\GEN\DIR.LST"
  641.         STRING009 = "Recent System Uploads"
  642.         STRING022 = "Y"
  643.         STRING010 = "Y"
  644.         STRING011 = "()"
  645.         STRING012 = "@X0E"
  646.         STRING013 = "@X0F"
  647.         STRING014 = "@X0E"
  648.         STRING015 = "@X0F"
  649.         STRING016 = "@X09"
  650.         STRING017 = "@X0E"
  651.         STRING028 = PPEPath() + "MAIN.DAT"
  652.         STRING029 = PPEPath() + "MAIN.INF"
  653.         STRING027 = "@X00@X09[@X0F%Num@X09]@X07    @X0E%DescM@X07  @X0D%Size@X07      @X0C%File@X07@X00"
  654.     Endif
  655.     INTEGER003 = ReadLine(STRING028, 1)
  656.     INTEGER001 = 0
  657.     FOpen 1, PPEPath() + STRING030 + ".CAT", 0, 2
  658.     :LABEL008
  659.     If (Ferr(1)) Goto LABEL009
  660.     Inc INTEGER001
  661.     If (INTEGER001 > INTEGER005) Then
  662.         PrintLn "Too many file categories are defined.  The maximum allowed for this"
  663.         PrintLn "configuration is " + INTEGER005 + ".  Please inform the System Operator"
  664.         PrintLn "of this system so that it may be corrected.  Thank you."
  665.         End
  666.     Endif
  667.     FGet 1, TSTRING004(INTEGER001)
  668.     Goto LABEL008
  669.     :LABEL009
  670.     INTEGER004 = INTEGER001
  671.     FClose 1
  672.     If (Upper(STRING010) == YesChar()) Log STRING024 + " is being run", 0
  673.     RdUNet PcbNode()
  674.     WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "Searching for Files", " "
  675.     If (Upper(STRING033) == "A") Then
  676.         BOOLEAN002 = 1
  677.         PROC004()
  678.         PROC005()
  679.         End
  680.     Endif
  681.  
  682.     EndProc
  683.  
  684.  
  685. ;------------------------------------------------------------------------------
  686.  
  687.     Function FUNCTION002(String STRING050) String
  688.  
  689.     Integer  INTEGER026
  690.  
  691.     Select Case (Len(STRING050))
  692.         Case 1
  693.             FUNCTION002 = STRING050
  694.         Case 2
  695.             FUNCTION002 = STRING050
  696.         Case 3
  697.             FUNCTION002 = STRING050
  698.         Case 4
  699.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3)
  700.         Case 5
  701.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3)
  702.         Case 6
  703.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3)
  704.         Case 7
  705.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3)
  706.         Case 8
  707.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3)
  708.         Case 9
  709.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3)
  710.         Case 10
  711.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3)
  712.         Case 11
  713.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3)
  714.         Case 12
  715.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3)
  716.         Case 13
  717.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3)
  718.         Case 14
  719.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3)
  720.         Case 15
  721.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3)
  722.         Case 16
  723.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3) + "," + Mid(STRING050, 14, 3)
  724.         Case 17
  725.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3) + "," + Mid(STRING050, 15, 3)
  726.         Case 18
  727.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3) + "," + Mid(STRING050, 16, 3)
  728.         Case 19
  729.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3) + "," + Mid(STRING050, 14, 3) + "," + Mid(STRING050, 17, 3)
  730.         Case 20
  731.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3) + "," + Mid(STRING050, 15, 3) + "," + Mid(STRING050, 18, 3)
  732.         Case 21
  733.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3) + "," + Mid(STRING050, 16, 3) + "," + Mid(STRING050, 19, 3)
  734.         Case 22
  735.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3) + "," + Mid(STRING050, 14, 3) + "," + Mid(STRING050, 17, 3) + "," + Mid(STRING050, 20, 3)
  736.         Case 23
  737.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3) + "," + Mid(STRING050, 15, 3) + "," + Mid(STRING050, 18, 3) + "," + Mid(STRING050, 21, 3)
  738.         Case 24
  739.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3) + "," + Mid(STRING050, 16, 3) + "," + Mid(STRING050, 19, 3) + "," + Mid(STRING050, 22, 3)
  740.         Case 25
  741.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3) + "," + Mid(STRING050, 14, 3) + "," + Mid(STRING050, 17, 3) + "," + Mid(STRING050, 20, 3) + "," + Mid(STRING050, 23, 3)
  742.         Case 26
  743.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3) + "," + Mid(STRING050, 15, 3) + "," + Mid(STRING050, 18, 3) + "," + Mid(STRING050, 21, 3) + "," + Mid(STRING050, 24, 3)
  744.         Case 27
  745.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3) + "," + Mid(STRING050, 16, 3) + "," + Mid(STRING050, 19, 3) + "," + Mid(STRING050, 22, 3) + "," + Mid(STRING050, 25, 3)
  746.         Case 28
  747.             FUNCTION002 = Mid(STRING050, 1, 1) + "," + Mid(STRING050, 2, 3) + "," + Mid(STRING050, 5, 3) + "," + Mid(STRING050, 8, 3) + "," + Mid(STRING050, 11, 3) + "," + Mid(STRING050, 14, 3) + "," + Mid(STRING050, 17, 3) + "," + Mid(STRING050, 20, 3) + "," + Mid(STRING050, 23, 3) + Mid(STRING050, 26, 3)
  748.         Case 29
  749.             FUNCTION002 = Mid(STRING050, 1, 2) + "," + Mid(STRING050, 3, 3) + "," + Mid(STRING050, 6, 3) + "," + Mid(STRING050, 9, 3) + "," + Mid(STRING050, 12, 3) + "," + Mid(STRING050, 15, 3) + "," + Mid(STRING050, 18, 3) + "," + Mid(STRING050, 21, 3) + "," + Mid(STRING050, 24, 3) + Mid(STRING050, 27, 3)
  750.         Case 30
  751.             FUNCTION002 = Mid(STRING050, 1, 3) + "," + Mid(STRING050, 4, 3) + "," + Mid(STRING050, 7, 3) + "," + Mid(STRING050, 10, 3) + "," + Mid(STRING050, 13, 3) + "," + Mid(STRING050, 16, 3) + "," + Mid(STRING050, 19, 3) + "," + Mid(STRING050, 22, 3) + "," + Mid(STRING050, 25, 3) + Mid(STRING050, 28, 3)
  752.         Case Else
  753.             FUNCTION002 = STRING050
  754.     End Select
  755.  
  756.     EndFunc
  757.  
  758.  
  759. ;------------------------------------------------------------------------------
  760.  
  761.     Procedure PROC008(Integer INTEGER026)
  762.  
  763.     STRING005 = ""
  764.     STRING026 = STRING027
  765.     STRING002 = ""
  766.     STRING003 = ""
  767.     STRING001 = ""
  768.     BOOLEAN001 = 1
  769.     STRING005 = ReadLine(STRING028, INTEGER026)
  770.     Tokenize STRING005
  771.     STRING002 = GetToken()
  772.     STRING003 = GetToken()
  773.     While (TokCount() > 0) Do
  774.         If (BOOLEAN001) Then
  775.             STRING001 = GetToken()
  776.             BOOLEAN001 = 0
  777.             Continue
  778.         Endif
  779.         STRING001 = STRING001 + " " + GetToken()
  780.     EndWhile
  781.  
  782.     EndProc
  783.  
  784.  
  785. ;------------------------------------------------------------------------------
  786.  
  787.     Function FUNCTION001(Integer INTEGER027) String
  788.  
  789.     If (InStr(STRING026, "%FILE")) Then
  790.         STRING025 = ReplaceStr(STRING003, ",", "")
  791.         DOUBLE002 = DOUBLE002 + STRING025
  792.     Endif
  793.     If (InStr(STRING026, "%SIZE")) Then
  794.         STRING025 = ReplaceStr(STRING002, ",", "")
  795.         DOUBLE001 = DOUBLE001 + STRING025
  796.     Endif
  797.     If (INTEGER027 == INTEGER003 + 1) Then
  798.         STRING026 = ReplaceStr(STRING026, "%DESCMINL", Left(Lower(STRING001), 35))
  799.         STRING026 = ReplaceStr(STRING026, "%DESCMINM", Left(Mixed(STRING001), 35))
  800.         STRING026 = ReplaceStr(STRING026, "%DESCMINU", Left(Upper(STRING001), 35))
  801.     Endif
  802.     STRING026 = ReplaceStr(STRING026, "%NUM", Right(INTEGER027 - 1, 4))
  803.     STRING026 = ReplaceStr(STRING026, "%DESCMINL", Mid(Lower(STRING001), 6, 30))
  804.     STRING026 = ReplaceStr(STRING026, "%DESCMINM", Mid(Mixed(STRING001), 6, 30))
  805.     STRING026 = ReplaceStr(STRING026, "%DESCMINU", Mid(Upper(STRING001), 6, 30))
  806.     STRING026 = ReplaceStr(STRING026, "%DESCL", Left(Lower(STRING001), 35))
  807.     STRING026 = ReplaceStr(STRING026, "%DESCM", Left(Mixed(STRING001), 35))
  808.     STRING026 = ReplaceStr(STRING026, "%DESCU", Left(Upper(STRING001), 35))
  809.     STRING026 = ReplaceStr(STRING026, "%DESCN", Left(STRING001, 35))
  810.     STRING026 = ReplaceStr(STRING026, "%SIZE", Right(STRING002, 11))
  811.     STRING026 = ReplaceStr(STRING026, "%FILE", Right(STRING003, 13))
  812.     STRING026 = ReplaceStr(STRING026, "%DIRSIZE", Right(FUNCTION002(DOUBLE001), 11))
  813.     STRING026 = ReplaceStr(STRING026, "%DIRFILES", Right(FUNCTION002(DOUBLE002), 13))
  814.     STRING026 = ReplaceStr(STRING026, "%SYSFILE", Right(STRING029, 1))
  815.     STRING026 = ReplaceStr(STRING026, "%SYSSIZE", Right(STRING029, 2))
  816.     STRING026 = ReplaceStr(STRING026, "%DATE", Right(STRING029, 3))
  817.     STRING026 = ReplaceStr(STRING026, "%TIME", Right(STRING029, 4))
  818.     FUNCTION001 = STRING026
  819.  
  820.     EndFunc
  821.  
  822.  
  823. ;------------------------------------------------------------------------------
  824.  
  825.     Procedure PROC002()
  826.  
  827.     DispFile PPEPath() + STRING030, 2 + 1 + 4
  828.     STRING007 = ""
  829.     PrintLn "@PON@" + STRING015 + "File Menu" + STRING017 + " v" + STRING018 + " #" + STRING015 + String(INTEGER010) + STRING016 + " ■ " + STRING015 + STRING019
  830.     InputStr TSTRING006(1), STRING007, STRING015, INTEGER007, Mask_Ascii(), 64 + 256
  831.  
  832.     EndProc
  833.  
  834.  
  835. ;------------------------------------------------------------------------------
  836.  
  837.     Procedure PROC004()
  838.  
  839.     If (BOOLEAN002) Then
  840.         PrintLn "@CLS@" + STRING015 + "File Menu" + STRING017 + " v" + STRING018 + " " + STRING016 + "■" + STRING017 + " Displaying: " + TSTRING006(4)
  841.     Else
  842.         PrintLn "@CLS@" + STRING015 + "File Menu" + STRING017 + " v" + STRING018 + " " + STRING016 + "■" + STRING017 + " Displaying: " + Mid(TSTRING004(STRING007), 6, 50)
  843.     Endif
  844.     PrintLn 
  845.     INTEGER011 = 0
  846.     FOpen 1, PPEPath() + "FM-HDR", 0, 2
  847.     :LABEL010
  848.     If (Ferr(1)) Goto LABEL011
  849.     STRING005 = ""
  850.     FGet 1, STRING026
  851.     PrintLn FUNCTION001(1)
  852.     Goto LABEL010
  853.     :LABEL011
  854.     FClose 1
  855.     If (BOOLEAN002) Then
  856.         INTEGER002 = 0
  857.         For INTEGER001 = 2 To INTEGER003 + 1
  858.             PROC008(INTEGER001)
  859.             If (STRING031 == "Y") Then
  860.                 PrintLn FUNCTION001(INTEGER001)
  861.             ElseIf (((STRING003 >= 1) && (STRING031 == "N")) || ((STRING002 >= 1) && (STRING031 == "N"))) Then
  862.                 PrintLn FUNCTION001(INTEGER001)
  863.             Endif
  864.             Inc INTEGER011
  865.             If (Abort()) Then
  866.                 INTEGER001 = INTEGER003 + 1
  867.             Endif
  868.         Next
  869.     Else
  870.         INTEGER002 = 0
  871.         For INTEGER001 = 2 To INTEGER003 + 1
  872.             PROC008(INTEGER001)
  873.             If (Left(STRING001, 4) == Left(TSTRING004(STRING007), 4)) Then
  874.                 Backup 16
  875.                 If (STRING031 == "Y") Then
  876.                     PrintLn FUNCTION001(INTEGER001)
  877.                 ElseIf (((STRING003 >= 1) && (STRING031 == "N")) || ((STRING002 >= 1) && (STRING031 == "N"))) Then
  878.                     PrintLn FUNCTION001(INTEGER001)
  879.                 Endif
  880.                 Inc INTEGER011
  881.             Else
  882.                 If (INTEGER002 <= 6) Then
  883.                     Inc INTEGER002
  884.                     Print STRING017 + ".@X07"
  885.                 Endif
  886.                 If (INTEGER002 >= 7) Then
  887.                     Inc INTEGER002
  888.                     Backup 1
  889.                     Print STRING017 + " @X07"
  890.                     Backup 1
  891.                 Endif
  892.                 If (INTEGER002 >= 14) INTEGER002 = 1
  893.             Endif
  894.             If (Abort()) Then
  895.                 INTEGER001 = INTEGER003 + 1
  896.             Endif
  897.         Next
  898.         If (Upper(STRING022) == YesChar()) Then
  899.             PROC008(INTEGER003 + 1)
  900.             Backup 12
  901.             PrintLn FUNCTION001(INTEGER003 + 1)
  902.             Inc INTEGER011
  903.         Endif
  904.     Endif
  905.     If (Exist(PPEPath() + "FM-FTR" + 1 + 4 + 2)) Then
  906.         FOpen 1, PPEPath() + "FM-FTR", 0, 2
  907.     Else
  908.         FOpen 1, PPEPath() + "FM-FTR", 0, 2
  909.     Endif
  910.     :LABEL012
  911.     If (Ferr(1)) Goto LABEL013
  912.     STRING005 = ""
  913.     FGet 1, STRING026
  914.     PrintLn FUNCTION001(1)
  915.     Inc INTEGER011
  916.     Goto LABEL012
  917.     :LABEL013
  918.     FClose 1
  919.     STRING007 = ""
  920.     Newline
  921.     InputStr TSTRING006(2), STRING007, STRING015, INTEGER007, Mask_Ascii(), 64 + 256
  922.     PROC006()
  923.     PROC005()
  924.     Dir STRING007
  925.  
  926.     EndProc
  927.  
  928.  
  929. ;------------------------------------------------------------------------------
  930.  
  931.     Procedure PROC006()
  932.  
  933.     If (STRING007 == "") Then
  934.         KbdStuff "^M^M"
  935.         End
  936.     Else
  937.         Select Case (Upper(STRING007))
  938.             Case "^M"
  939.                 KbdStuff "^M^M"
  940.                 End
  941.             Case "I"
  942.                 PROC007()
  943.             Case "A", "0"
  944.                 BOOLEAN002 = 1
  945.             Case "H"
  946.                 KbdStuff "H F^M"
  947.                 End
  948.             Case "Q"
  949.                 KbdStuff "^M"
  950.                 End
  951.             Case "R"
  952.                 KbdStuff "^M"
  953.                 End
  954.             Case ((Left(Upper(STRING007), 1) == "L") || (Left(Upper(STRING007), 1) == "D")) || (Left(Upper(STRING007), 1) == "N"), "L", "D", "N", "G", "R", "V", "Z", "U", "FLAG"
  955.                 KbdStuff STRING007 + "^M"
  956.                 End
  957.             Endif
  958.     End Select
  959.  
  960.     EndProc
  961.  
  962.  
  963. ;------------------------------------------------------------------------------
  964.  
  965.     Procedure PROC003()
  966.  
  967.     PROC004()
  968.  
  969.     EndProc
  970.  
  971.  
  972. ;------------------------------------------------------------------------------
  973. ;
  974. ; Usage report (before postprocessing)
  975. ;
  976. ; ■ Statements used :
  977. ;
  978. ;    17      End
  979. ;    4       Cls
  980. ;    269     Goto 
  981. ;    222     Let 
  982. ;    2       Print 
  983. ;    61      PrintLn 
  984. ;    160     If 
  985. ;    3       DispFile 
  986. ;    9       FOpen 
  987. ;    8       FClose 
  988. ;    37      FGet 
  989. ;    3       Log 
  990. ;    2       InputStr 
  991. ;    3       Delay 
  992. ;    7       Inc 
  993. ;    1       Newline
  994. ;    2       Tokenize 
  995. ;    1       Beep
  996. ;    7       KbdStuff 
  997. ;    2       Dir 
  998. ;    1       OpText 
  999. ;    2       RdUNet 
  1000. ;    2       WrUNet 
  1001. ;    4       Backup 
  1002. ;    12      EndProc
  1003. ;    3       EndFunc
  1004. ;
  1005. ;
  1006. ; ■ Functions used :
  1007. ;
  1008. ;    14      /
  1009. ;    491     +
  1010. ;    15      -
  1011. ;    135     ==
  1012. ;    2       <>
  1013. ;    7       <
  1014. ;    9       <=
  1015. ;    2       >
  1016. ;    23      >=
  1017. ;    144     !
  1018. ;    20      &&
  1019. ;    20      ||
  1020. ;    55      Len(
  1021. ;    3       Lower()
  1022. ;    51      Upper()
  1023. ;    193     Mid()
  1024. ;    21      Left()
  1025. ;    9       Right()
  1026. ;    14      Space()
  1027. ;    3       Ferr()
  1028. ;    28      Chr()
  1029. ;    2       InStr()
  1030. ;    2       Abort()
  1031. ;    3       YesChar()
  1032. ;    2       String()
  1033. ;    2       Mask_Ascii()
  1034. ;    1       CurConf()
  1035. ;    21      PPEPath()
  1036. ;    4       PcbNode()
  1037. ;    2       ReadLine()
  1038. ;    1       UN_Stat()
  1039. ;    2       UN_Name()
  1040. ;    2       UN_City()
  1041. ;    1       UN_Oper()
  1042. ;    9       GetToken()
  1043. ;    8       Exist()
  1044. ;    2       LangExt()
  1045. ;    3       TokCount()
  1046. ;    21      ReplaceStr()
  1047. ;    3       Mixed()
  1048. ;
  1049. ;------------------------------------------------------------------------------
  1050. ;
  1051. ; Analysis flags : No flag
  1052. ;
  1053. ;------------------------------------------------------------------------------
  1054. ;
  1055. ; Postprocessing report
  1056. ;
  1057. ;    7       For/Next
  1058. ;    1       While/EndWhile
  1059. ;    93      If/Then or If/Then/Else
  1060. ;    2       Select Case
  1061. ;
  1062. ;------------------------------------------------------------------------------
  1063. ;                 AEGiS Corp - Break the routines, code against the machines!
  1064. ;------------------------------------------------------------------------------
  1065.