home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / CW_FM_16.ZIP / FILEMENU.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-30  |  10KB  |  402 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     Integer  INTEGER015
  34.     Integer  INTEGER016
  35.     Integer  INTEGER017
  36.     Integer  INTEGER018
  37.     String   STRING001
  38.     String   STRING002
  39.     String   STRING003
  40.     String   STRING004
  41.     String   STRING005
  42.     String   STRING006
  43.     String   STRING007
  44.     String   STRING008
  45.     String   STRING009
  46.     String   STRING010
  47.     String   STRING011
  48.     String   STRING012
  49.     String   STRING013
  50.     String   STRING014
  51.     String   STRING015
  52.     String   STRING016
  53.     String   STRING017
  54.     String   STRING018
  55.     String   STRING019
  56.     String   STRING020
  57.     String   STRING021
  58.     String   STRING022
  59.     String   STRING023
  60.     String   STRING024
  61.     String   STRING025
  62.     String   STRING026
  63.     String   STRING027
  64.     String   STRING028
  65.     String   STRING029
  66.     String   STRING030
  67.  
  68. ;------------------------------------------------------------------------------
  69.  
  70.     If (INTEGER012 == 1) Then
  71.         INTEGER012 = "CRW"
  72.  
  73.     Endif
  74.     STRING002 = TokenStr()
  75.     If (Strip(STRING002, Chr(32)) == "") Goto LABEL001
  76.     KbdStuff "F " + STRING002 + Chr(13)
  77.     End
  78.     :LABEL001
  79.     INTEGER013 = 36
  80.     STRING020 = PPEPath() + PPEName() + ".CNF"
  81.     STRING028 = 58053
  82.     STRING026 = "N"
  83.     STRING029 = "U" + "n" + "r" + "e" + "g" + "i" + "s" + "t" + "e" + "r" + "e" + "d"
  84.     If (PPEName() == "SUBSCRIP") STRING027 = 46554
  85.     If (PPEName() == "FONE-VER") STRING027 = 34479
  86.     If (PPEName() == "PRO-VOTE") STRING027 = 57877
  87.     If (PPEName() == "CONFMENU") STRING027 = 27062
  88.     If (PPEName() == "FILEMENU") STRING027 = 14513
  89.     If (PPEName() == "MAINMENU") STRING027 = 25781
  90.     If (PPEName() == "DOORMENU") STRING027 = 44910
  91.     If (PPEName() == "AUTOPOST") STRING027 = 61482
  92.     If (PPEName() == "BBSLISTR") STRING027 = 11832
  93.     If (PPEName() == "REMINDME") STRING027 = 54925
  94.     If (PPEName() == "TIMEZONE") STRING027 = 38318
  95.     If (PPEName() == "USERNEWS") STRING027 = 31171
  96.     If (PPEName() == "MSGQUEST") STRING027 = 50024
  97.     If (PPEName() == "BIRTHDAY") STRING027 = 19645
  98.     If (PPEName() == "HOWHEARD") STRING027 = 42868
  99.     If (PPEName() == "WELCOMAT") STRING027 = 23034
  100.     If (Exist(STRING020)) Then
  101.         FOpen 1, STRING020, 0, 0
  102.         FGet 1, STRING015
  103.         FGet 1, INTEGER016
  104.         FGet 1, INTEGER015
  105.         FClose 1
  106.     Else
  107.         Select Case (PPEName())
  108.             Case "MAINT"
  109.                 STRING020 = PPEPath() + "PRO-VOTE.CNF"
  110.             Case "CMW"
  111.                 STRING020 = PPEPath() + "CONFMENU.CNF"
  112.             Case "INTELAPP"
  113.                 STRING020 = PPEPath() + "INTELEC.CNF"
  114.             Case Else
  115.                 PrintLn "@X0CError - Config file not found - Please notify SysOp"
  116.                 End
  117.             Endif
  118.     End Select
  119.     Tokenize STRING015
  120.     GetToken STRING024
  121.     GetToken STRING025
  122.     If (INTEGER016 == 0) Then
  123.         STRING026 = "N"
  124.         Goto LABEL004
  125.     Else
  126.         Goto LABEL002
  127.     Endif
  128.     :LABEL002
  129.     STRING021 = Left(STRING024, 1)
  130.     STRING022 = Left(STRING025, 2)
  131.     STRING023 = STRING021 + STRING022
  132.     If (STRING021 == "A") INTEGER017 = 8408
  133.     If (STRING021 == "B") INTEGER017 = 9119
  134.     If (STRING021 == "C") INTEGER017 = 6619
  135.     If (STRING021 == "D") INTEGER017 = 4820
  136.     If (STRING021 == "E") INTEGER017 = 7325
  137.     If (STRING021 == "F") INTEGER017 = 2928
  138.     If (STRING021 == "G") INTEGER017 = 2031
  139.     If (STRING021 == "H") INTEGER017 = 1934
  140.     If (STRING021 == "I") INTEGER017 = 5534
  141.     If (STRING021 == "J") INTEGER017 = 4737
  142.     If (STRING021 == "K") INTEGER017 = 9242
  143.     If (STRING021 == "L") INTEGER017 = 3743
  144.     If (STRING021 == "M") INTEGER017 = 6546
  145.     If (STRING021 == "N") INTEGER017 = 8355
  146.     If (STRING021 == "O") INTEGER017 = 2859
  147.     If (STRING021 == "P") INTEGER017 = 4660
  148.     If (STRING021 == "Q") INTEGER017 = 7463
  149.     If (STRING021 == "R") INTEGER017 = 1164
  150.     If (STRING021 == "S") INTEGER017 = 6471
  151.     If (STRING021 == "T") INTEGER017 = 3973
  152.     If (STRING021 == "U") INTEGER017 = 5674
  153.     If (STRING021 == "V") INTEGER017 = 5782
  154.     If (STRING021 == "W") INTEGER017 = 3885
  155.     If (STRING021 == "X") INTEGER017 = 8287
  156.     If (STRING021 == "Y") INTEGER017 = 7591
  157.     If (STRING021 == "Z") INTEGER017 = 1096
  158.     INTEGER014 = S2I(STRING023, INTEGER013) + INTEGER016 + STRING027 + INTEGER017
  159.     INTEGER018 = S2I(STRING023, INTEGER013) + INTEGER016 + STRING028 + INTEGER017
  160.     If (INTEGER015 == INTEGER014) Goto LABEL003
  161.     If (INTEGER015 == INTEGER018) Goto LABEL003
  162.     Goto LABEL009
  163.     :LABEL003
  164.     STRING026 = "Y"
  165.     If (Len(INTEGER016) == 1) STRING017 = "000"
  166.     If (Len(INTEGER016) == 2) STRING017 = "00"
  167.     If (Len(INTEGER016) == 3) STRING017 = "0"
  168.     If (Len(INTEGER016) == 4) STRING017 = ""
  169.     STRING018 = INTEGER016
  170.     STRING019 = STRING017 + STRING018
  171.     STRING016 = Space(30 - Len(STRING015))
  172.     :LABEL004
  173.     STRING030 = "CRW"
  174.     STRING011 = "1.5 "
  175.     WrUNet PcbNode(), UN_Stat(), U_Name(), "In FileMenu", "", ""
  176.     FOpen 1, STRING020, 0, 0
  177.     FGet 1, STRING015
  178.     FGet 1, INTEGER016
  179.     FGet 1, INTEGER015
  180.     FGet 1, STRING013
  181.     FGet 1, STRING014
  182.     FClose 1
  183.     STRING009 = PPEPath() + String(CurConf()) + ".TBL"
  184.     If (STRING013 == "DUPE") STRING009 = PPEPath() + "0.TBL"
  185.     If (STRING026 == "N") Then
  186.         STRING012 = "@X0BFileMenu v" + STRING011 + " # " + "@X0F" + STRING029 + "@X0B" + " ■ " + STRING015
  187.     Endif
  188.     If (STRING026 == "Y") Then
  189.         STRING012 = "@X0BFileMenu v" + STRING011 + " #@X0F" + STRING019 + "@X0B ■ " + STRING015
  190.     Endif
  191.     FOpen 1, STRING009, 0, 0
  192.     FGet 1, STRING006
  193.     FGet 1, STRING005
  194.     FClose 1
  195.     Cls
  196.     DispFile STRING005, 4 + 2 + 1
  197.     STRING003 = ""
  198.     PrintLn STRING012
  199.     InputStr "@X0BWhich File Library @X0F#@X0B would you like to view, or @X0FS@X0B to Search", STRING003, 11, 3, "1234567890SsZzLl", Mask_Alpha() + Mask_Num()
  200.     If ((STRING003 == "S") || (STRING003 == "s")) Goto LABEL007
  201.     If ((STRING003 == "Z") || (STRING003 == "z")) Goto LABEL006
  202.     If ((STRING003 == "L") || (STRING003 == "l")) Goto LABEL006
  203.     INTEGER003 = STRING003
  204.     If (INTEGER003 == 0) Then
  205.         KbdStuff Chr(13)
  206.         End
  207.     Endif
  208.     FOpen 1, STRING009, 0, 0
  209.     FGet 1, STRING001
  210.     FGet 1, STRING001
  211.     FGet 1, STRING001
  212.     For INTEGER006 = 1 To INTEGER003
  213.         FGet 1, STRING008
  214.         FGet 1, INTEGER007
  215.         FGet 1, INTEGER008
  216.         FGet 1, STRING001
  217.     Next
  218.     FClose 1
  219.     INTEGER003 = 0
  220.     INTEGER001 = 0
  221.     INTEGER002 = 0
  222.     INTEGER004 = FileInf(STRING006, 4) / 96
  223.     INTEGER005 = INTEGER004 + 1
  224.     FOpen 1, STRING006, 0, 0
  225.     FDefIn 1
  226.     FSeek 1, 0, 0
  227.     For INTEGER006 = 1 To INTEGER008
  228.         INTEGER002 = INTEGER002 + 1
  229.         FDRead STRING007, 96
  230.         STRING007 = Mid(STRING007, 61, 35)
  231.         If ((INTEGER002 >= INTEGER007) && (INTEGER002 <= INTEGER008)) Then
  232.             If (INTEGER001 == 0) Then
  233.                 PrintLn "@CLS@", STRING012, "  @X07Displaying: @X0D", STRING008
  234.                 PrintLn 
  235.             Endif
  236.             INTEGER001 = INTEGER001 + 1
  237.             STRING010 = ""
  238.             INTEGER010 = 3 - Len(INTEGER002)
  239.             For INTEGER011 = 1 To INTEGER010
  240.                 STRING010 = String(STRING010) + " "
  241.             Next
  242.             Print "@X0F", STRING010, INTEGER002, "@X0B ", STRING007
  243.             If (((((INTEGER001 == 2) || (INTEGER001 == 4)) || (INTEGER001 == 6)) || (INTEGER001 == 8)) || (INTEGER001 == 10)) Newline
  244.             If (((((INTEGER001 == 12) || (INTEGER001 == 14)) || (INTEGER001 == 16)) || (INTEGER001 == 18)) || (INTEGER001 == 20)) Newline
  245.             If (((((INTEGER001 == 22) || (INTEGER001 == 24)) || (INTEGER001 == 26)) || (INTEGER001 == 28)) || (INTEGER001 == 30)) Newline
  246.             If ((INTEGER001 == 30) && !(INTEGER002 == INTEGER008)) Then
  247.                 DefColor
  248.                 INTEGER001 = 0
  249.                 STRING004 = "Y"
  250.                 PrintLn 
  251.                 InputYN "View next screen (Enter for more)", STRING004, 14
  252.                 If (STRING004 == "N") Goto LABEL005
  253.                 Continue
  254.             Endif
  255.             If (INTEGER002 == INTEGER008) Then
  256.                 If (STRING014 == "Y") Print "@X0B", STRING010, INTEGER005, "@X0F Recent Uploads"
  257.             Endif
  258.         Endif
  259.     Next
  260.     FClose 1
  261.     PrintLn 
  262.     End
  263.     :LABEL005
  264.     FClose 1
  265.     PrintLn 
  266.     End
  267.     :LABEL006
  268.     KbdStuff STRING003 + Chr(13)
  269.     End
  270.     :LABEL007
  271.     INTEGER009 = 0
  272.     STRING003 = ""
  273.     PrintLn 
  274.     InputStr "@X0BWhat FILE DIRECTORY TITLE text string to search for", STRING003, 11, 20, Mask_Alpha() + Mask_Ascii() + Mask_Num(), 2 + 8
  275.     If (STRING003 == "") End
  276.     Cls
  277.     FOpen 2, STRING009, 0, 0
  278.     FGet 2, STRING001
  279.     FGet 2, STRING001
  280.     FGet 2, STRING001
  281.     :LABEL008
  282.     INTEGER009 = INTEGER009 + 1
  283.     FGet 2, STRING008
  284.     FGet 2, INTEGER007
  285.     FGet 2, INTEGER008
  286.     FGet 2, STRING001
  287.     If (STRING008 == "") Then
  288.         FClose 2
  289.         PrintLn 
  290.         End
  291.     Endif
  292.     PrintLn "@X0CMenu ", INTEGER009, "  @X0D(", STRING008, ")@X07"
  293.     INTEGER002 = 0
  294.     INTEGER004 = FileInf(STRING006, 4) / 96
  295.     FOpen 1, STRING006, 0, 0
  296.     FDefIn 1
  297.     FSeek 1, 0, 0
  298.     For INTEGER006 = 1 To INTEGER004
  299.         INTEGER002 = INTEGER002 + 1
  300.         FDRead STRING007, 96
  301.         STRING007 = Mid(STRING007, 61, 35)
  302.         If (((InStr(Upper(STRING007), STRING003) >= 1) && (INTEGER002 >= INTEGER007)) && (INTEGER002 <= INTEGER008)) Then
  303.             STRING010 = ""
  304.             INTEGER010 = 3 - Len(INTEGER002)
  305.             For INTEGER011 = 1 To INTEGER010
  306.                 STRING010 = String(STRING010) + " "
  307.             Next
  308.             PrintLn "@X07Dir # @X0F", STRING010, INTEGER002, "@X0A  ", STRING007
  309.         Endif
  310.     Next
  311.     FClose 1
  312.     Goto LABEL008
  313.     :LABEL009
  314.     Cls
  315.     PrintLn 
  316.     PrintLn "Invalid Registration Code!"
  317.     Delay 182
  318.     End
  319.  
  320. ;------------------------------------------------------------------------------
  321. ;
  322. ; Usage report (before postprocessing)
  323. ;
  324. ; ■ Statements used :
  325. ;
  326. ;    9       End
  327. ;    3       Cls
  328. ;    42      Goto 
  329. ;    107     Let 
  330. ;    2       Print 
  331. ;    13      PrintLn 
  332. ;    79      If 
  333. ;    1       DispFile 
  334. ;    7       FOpen 
  335. ;    8       FClose 
  336. ;    24      FGet 
  337. ;    1       DefColor
  338. ;    2       InputStr 
  339. ;    1       InputYN 
  340. ;    1       Delay 
  341. ;    3       Newline
  342. ;    1       Tokenize 
  343. ;    2       GetToken 
  344. ;    3       KbdStuff 
  345. ;    1       WrUNet 
  346. ;    2       FSeek 
  347. ;    2       FDefIn 
  348. ;    2       FDRead 
  349. ;
  350. ;
  351. ; ■ Functions used :
  352. ;
  353. ;    2       /
  354. ;    60      +
  355. ;    3       -
  356. ;    87      ==
  357. ;    5       <
  358. ;    7       <=
  359. ;    13      >=
  360. ;    22      !
  361. ;    14      &&
  362. ;    20      ||
  363. ;    7       Len(
  364. ;    1       Upper()
  365. ;    2       Mid()
  366. ;    2       Left()
  367. ;    1       Space()
  368. ;    4       Chr()
  369. ;    1       InStr()
  370. ;    1       U_Name()
  371. ;    1       Strip()
  372. ;    3       String()
  373. ;    2       Mask_Alpha()
  374. ;    2       Mask_Num()
  375. ;    1       Mask_Ascii()
  376. ;    1       CurConf()
  377. ;    6       PPEPath()
  378. ;    1       PcbNode()
  379. ;    1       UN_Stat()
  380. ;    1       Exist()
  381. ;    2       S2I()
  382. ;    1       TokenStr()
  383. ;    2       FileInf()
  384. ;    20      PPEName()
  385. ;
  386. ;------------------------------------------------------------------------------
  387. ;
  388. ; Analysis flags : No flag
  389. ;
  390. ;------------------------------------------------------------------------------
  391. ;
  392. ; Postprocessing report
  393. ;
  394. ;    5       For/Next
  395. ;    0       While/EndWhile
  396. ;    12      If/Then or If/Then/Else
  397. ;    1       Select Case
  398. ;
  399. ;------------------------------------------------------------------------------
  400. ;                 AEGiS Corp - Break the routines, code against the machines!
  401. ;------------------------------------------------------------------------------
  402.