home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / TVIEW30.ZIP / TV.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-02-26  |  8KB  |  469 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.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     String   STRING001
  32.     String   STRING002
  33.     String   STRING003
  34.     String   STRING004
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     String   STRING008
  39.     String   STRING009
  40.     String   STRING010
  41.     String   STRING011
  42.     String   STRING012
  43.     String   STRING013
  44.     String   STRING014
  45.     String   STRING015
  46.     String   STRING016
  47.     String   STRING017
  48.     String   STRING018
  49.     String   STRING019
  50.     String   STRING020
  51.     String   STRING021
  52.     String   STRING022
  53.     String   STRING023
  54.     String   STRING024
  55.     String   STRING025
  56.     String   STRING026
  57.     String   STRING027
  58.     String   STRING028
  59.     String   STRING029
  60.     String   STRING030
  61.     String   STRING031
  62.     String   STRING032
  63.     String   STRING033
  64.  
  65. ;------------------------------------------------------------------------------
  66.  
  67.     STRING022 = "@X0BTextView v3.0 (c) Joseph Sheppard, The Ledge PCBoard (818) 896-4015"
  68.     Newline
  69.     GetToken STRING001
  70.     If (Exist(STRING001)) Then
  71.         Gosub LABEL001
  72.         Log "Executed TextView to Display " + STRING009, 0
  73.         If (Upper(Left(STRING010, 1)) == "Y") Gosub LABEL002
  74.         If (Exist(PPEPath() + "TV.KEY")) Gosub LABEL003
  75.         Gosub LABEL004
  76.         INTEGER003 = MinLeft()
  77.         If (Exist(STRING003 + "\TVHELLO")) DispFile STRING003 + "\TVHELLO", 2 + 1 + 4
  78.         GetUser
  79.         If (U_Sec == INTEGER001) Gosub LABEL005
  80.         Gosub LABEL007
  81.         Goto LABEL029
  82.         :LABEL001
  83.         FOpen 1, STRING001, 0, 0
  84.         FGet 1, STRING002
  85.         FGet 1, STRING003
  86.         FGet 1, STRING004
  87.         FGet 1, INTEGER001
  88.         FGet 1, INTEGER002
  89.         FGet 1, STRING005
  90.         FGet 1, STRING006
  91.         FGet 1, STRING007
  92.         FGet 1, STRING008
  93.         FGet 1, STRING009
  94.         FGet 1, STRING010
  95.         FGet 1, STRING011
  96.         FGet 1, STRING012
  97.         FClose 1
  98.         Return
  99.     Endif
  100.     Beep
  101.     Beep
  102.     Newline
  103.     PrintLn "@X0CThe Configuration File is Missing!  Please Notify the Sysop!"
  104.     Newline
  105.     End
  106.     :LABEL002
  107.     PrintLn Chr(7) + "@X0E" + Mid(STRING010, 3, Len(STRING010) - 2)
  108.     InputStr "@X0A[@X0FY@X0A]es, [@X0FN@X0A]o, [@X0FG@X0A]oodbye", STRING013, 7, 1, Mask_Ascii(), 0
  109.     If (Upper(STRING013) == "Y") Return
  110.     If (Upper(STRING013) == "G") Goto LABEL028
  111.     End
  112.     :LABEL003
  113.     FOpen 1, PPEPath() + "TV.KEY", 0, 0
  114.     FGet 1, STRING014
  115.     FGet 1, STRING015
  116.     FGet 1, STRING016
  117.     FGet 1, STRING017
  118.     FClose 1
  119.     STRING018 = Mid(STRING014, 4, 1)
  120.     STRING018 = String(Asc(STRING018) + 9)
  121.     STRING019 = Mid(STRING015, 2, 1)
  122.     STRING019 = String(Asc(STRING019) * 4)
  123.     STRING020 = Mid(STRING016, 3, 1)
  124.     STRING020 = String(Asc(STRING020) + 2)
  125.     STRING021 = STRING018 + STRING019 + STRING020
  126.     If (STRING021 == STRING017) BOOLEAN001 = 1
  127.     If (STRING021 <> STRING017) BOOLEAN001 = 0
  128.     Return
  129.     :LABEL004
  130.     PrintLn STRING022
  131.     If (BOOLEAN001) Newline
  132.     If (BOOLEAN001) PrintLn "@X0ERegistered to:@X0F " + STRING014 + " on " + STRING016
  133.     If (BOOLEAN001) PrintLn "@X0E        Sysop: @X0F" + STRING015
  134.     If (!BOOLEAN001) PrintLn "@X0F[UNREGISTERED EVALUATION COPY]"
  135.     If (!BOOLEAN001) Newline
  136.     If (!BOOLEAN001) Delay 30
  137.     If (!BOOLEAN001) Wait
  138.     Return
  139.     :LABEL005
  140.     If (EvtTimeAdj()) Return
  141.     AdjTime INTEGER002
  142.     Newline
  143.     INTEGER007 = MinLeft()
  144.     PrintLn "@X0F" + String(INTEGER002) + " minutes have been added to your time while visiting " + STRING009
  145.     Newline
  146.     Return
  147.     :LABEL006
  148.     If (!EvtTimeAdj()) AdjTime -INTEGER002
  149.     Return
  150.     :LABEL007
  151.     While (STRING023 <> "Q") Do
  152.         GetToken STRING023
  153.         DefColor
  154.         Newline
  155.         Wait
  156.         DispFile STRING003 + "\TVMENU", 2 + 1 + 4
  157.         Newline
  158.         Print "@X0E(@X0C" + String(MinLeft()) + "@X0E min. left) "
  159.         Print "(1-" + STRING004 + ") "
  160.         If (Upper(STRING005) <> "N") Print "(D)ownload "
  161.         PrintLn "(S)earch (Q)uit (G)oodbye "
  162.         InputStr "@X0FCommand", STRING023, 7, 100, Mask_Ascii(), 256
  163.         Tokenize STRING023
  164.         Gosub LABEL008
  165.     EndWhile
  166.     Return
  167.     :LABEL008
  168.     While (Len(STRING023) > 0) Do
  169.         GetToken STRING023
  170.         If (STRING023 == "Q") Goto LABEL029
  171.         If (STRING023 == "QUIT") Goto LABEL029
  172.         If (STRING023 == "QU") Goto LABEL029
  173.         If (STRING023 == "G") Goto LABEL028
  174.         If (STRING023 == "GOODBYE") Goto LABEL028
  175.         If (STRING023 == "BYE") Goto LABEL028
  176.         If (STRING023 == "D") Gosub LABEL009
  177.         If (STRING023 == "S") Gosub LABEL015
  178.         If (STRING023 == STRING012) Gosub LABEL024
  179.         If (STRING023 == "NS") STRING023 = " "
  180.         If (STRING023 <> " ") Gosub LABEL027
  181.     EndWhile
  182.     Return
  183.     :LABEL009
  184.     STRING023 = ""
  185.     If (Upper(STRING005) == "N") Return
  186.     STRING023 = " "
  187.     If (STRING005 == "S") Goto LABEL013
  188.     Gosub LABEL010
  189.     InputStr "@X0FFile to Download ", STRING028, 7, 100, Mask_Ascii(), 256
  190.     If (STRING028 == "") Return
  191.     Gosub LABEL014
  192.     If (STRING028 == " ") Return
  193.     Download ""
  194.     Return
  195.     :LABEL010
  196.     FOpen 2, STRING003 + "\TVDIR", 0, 0
  197.     FGet 2, STRING029
  198.     PrintLn "@X06" + STRING029
  199.     FGet 2, STRING029
  200.     PrintLn "@X06" + STRING029
  201.     FGet 2, STRING029
  202.     PrintLn "@X06" + STRING029
  203.     :LABEL011
  204.     If (Ferr(2)) Goto LABEL012
  205.     FGet 2, STRING029
  206.     If (InStr(STRING029, "|") > 0) PrintLn "@X03" + Space(33) + Mid(STRING029, 34, 45)
  207.     If (Abort()) FClose 2
  208.     If (Abort()) Return
  209.     STRING030 = Mid(STRING029, 1, 12)
  210.     STRING031 = Mid(STRING029, 16, 7)
  211.     STRING032 = Mid(STRING029, 24, 8)
  212.     STRING033 = Mid(STRING029, 34, 45)
  213.     If (InStr(STRING029, "|") == 0) PrintLn "@X0E" + STRING030 + "  @X0A" + STRING031 + "  @X0C" + STRING032 + "  @X0B" + STRING033
  214.     Goto LABEL011
  215.     :LABEL012
  216.     FClose 2
  217.     Return
  218.     :LABEL013
  219.     Flag STRING006
  220.     Download STRING006
  221.     Return
  222.     :LABEL014
  223.     If (Exist(STRING006 + "\" + STRING028)) Flag STRING006 + "\" + STRING028
  224.     If (!Exist(STRING006 + "\" + STRING028)) PrintLn "@X0C" + STRING028 + " Not Found!"
  225.     If (!Exist(STRING006 + "\" + STRING028)) STRING028 = " "
  226.     Return
  227.     :LABEL015
  228.     STRING023 = ""
  229.     STRING024 = ""
  230.     Newline
  231.     If (BOOLEAN001) Then
  232.         InputStr "@X0BEnter the Text to Scan for, (Enter) to Exit ", STRING026, 7, 100, Mask_Ascii(), 256
  233.         If (Len(STRING026) < 1) Return
  234.         Newline
  235.         InputStr "@X0BMenu item to search? (1-" + STRING004 + "), (A)ll, (Enter) to Exit ", STRING023, 7, Len(STRING004), Mask_Ascii(), 256
  236.         Tokenize STRING023
  237.         GetToken STRING023
  238.         If (STRING023 == "A") Gosub LABEL016
  239.         If (STRING023 == "") Return
  240.         If (STRING023 < 0) Goto LABEL025
  241.         If (STRING023 > STRING004) Goto LABEL025
  242.         Gosub LABEL026
  243.         Gosub LABEL017
  244.         STRING023 = ""
  245.         STRING023 = ""
  246.         Return
  247.     Endif
  248.     PrintLn "@X0CSorry, the SEARCH feature available in registered copies only."
  249.     Return
  250.     :LABEL016
  251.     INTEGER008 = 1
  252.     STRING023 = INTEGER008
  253.     While (INTEGER008 < STRING004 + 1) Do
  254.         STRING023 = INTEGER008
  255.         Gosub LABEL026
  256.         Gosub LABEL017
  257.         Inc INTEGER008
  258.         STRING023 = INTEGER008
  259.         If (INTEGER008 == STRING004) Return
  260.     EndWhile
  261.     Return
  262.     :LABEL017
  263.     BOOLEAN002 = 0
  264.     FOpen 1, STRING024, 0, 0
  265.     Newline
  266.     PrintLn "@X0ESearching menu item #", INTEGER005, "....."
  267.     Newline
  268.     FGet 1, STRING027
  269.     :LABEL018
  270.     If (Ferr(1)) Goto LABEL019
  271.     If (Abort()) FClose 1
  272.     If (Abort()) Return
  273.     If (InStr(Upper(STRING027), Upper(STRING026)) > 0) Gosub LABEL020
  274.     FGet 1, STRING027
  275.     Goto LABEL018
  276.     :LABEL019
  277.     FClose 1
  278.     If (!BOOLEAN002) PrintLn "@X0CThe requested text was not found in Menu Item #", INTEGER005, "@X07"
  279.     STRING023 = ""
  280.     STRING024 = ""
  281.     Return
  282.     :LABEL020
  283.     DefColor
  284.     FClose 1
  285.     Newline
  286.     BOOLEAN002 = 1
  287.     Print "@X0BThe Requested text has been found in Menu Item #", INTEGER005, ":"
  288.     DefColor
  289.     Newline
  290.     FOpen 1, STRING024, 0, 0
  291.     FGet 1, STRING027
  292.     :LABEL021
  293.     If (Ferr(1)) Goto LABEL022
  294.     INTEGER006 = 0
  295.     INTEGER006 = InStr(Upper(STRING027), Upper(STRING026))
  296.     If (InStr(Upper(STRING027), Upper(STRING026)) > 0) Gosub LABEL023
  297.     If (InStr(Upper(STRING027), Upper(STRING026)) < 1) PrintLn StripAtx(STRING027)
  298.     FGet 1, STRING027
  299.     Goto LABEL021
  300.     :LABEL022
  301.     FClose 1
  302.     STRING024 = ""
  303.     STRING023 = ""
  304.     Return
  305.     :LABEL023
  306.     Print StripAtx(Left(STRING027, INTEGER006 - 1))
  307.     Print "@X70" + Upper(STRING026)
  308.     DefColor
  309.     INTEGER009 = INTEGER006 + Len(STRING026)
  310.     INTEGER010 = Len(STRING027) - STRING026
  311.     PrintLn StripAtx(Mid(STRING027, INTEGER009, INTEGER010))
  312.     Return
  313.     :LABEL024
  314.     If (STRING012 == "NONE") Return
  315.     STRING012 = PPEPath() + STRING012
  316.     Shell 1, INTEGER004, STRING012, ""
  317.     If (!OnLocal()) Log "Shelled to " + STRING012, 1
  318.     STRING023 = " "
  319.     Return
  320.     :LABEL025
  321.     If (STRING023 == " ") Goto LABEL007
  322.     If (Len(STRING023) < 1) Goto LABEL007
  323.     Newline
  324.     Log STRING023 + " is an invalid command", 0
  325.     Beep
  326.     PrintLn Chr(7) + "@X0C[" + STRING023 + "] is an invalid command @FIRST@"
  327.     STRING023 = ""
  328.     Goto LABEL007
  329.     :LABEL026
  330.     If (Len(STRING023) < 1) Return
  331.     If (STRING023 == " ") Return
  332.     If (STRING008 == "DEFAULT") STRING024 = STRING003 + "\TV" + STRING023
  333.     If (STRING008 == "DEFAULT") Return
  334.     If (!BOOLEAN001) STRING024 = STRING003 + "\TV" + STRING023
  335.     If (!BOOLEAN001) Return
  336.     FOpen 1, STRING008, 0, 0
  337.     INTEGER005 = 0
  338.     While (STRING023 <> INTEGER005) Do
  339.         Inc INTEGER005
  340.         FGet 1, STRING024
  341.     EndWhile
  342.     FClose 1
  343.     Return
  344.     :LABEL027
  345.     If (STRING023 < 1) Goto LABEL025
  346.     If (STRING023 > STRING004) Goto LABEL025
  347.     STRING025 = TokenStr()
  348.     Tokenize STRING025
  349.     Gosub LABEL026
  350.     If (Len(STRING023) < 1) Return
  351.     If (STRING023 == " ") Return
  352.     PrintLn "@PON@"
  353.     If (InStr(STRING025, "NS")) PrintLn "@POFF@"
  354.     DispFile STRING024, 2 + 1 + 4
  355.     Log "Read File: " + STRING024, 0
  356.     STRING024 = " "
  357.     Return
  358.     :LABEL028
  359.     If (U_Sec == INTEGER001) Gosub LABEL006
  360.     If (Exist(STRING003 + "\TVBYE")) DispFile STRING003 + "\TVBYE", 2 + 1 + 4
  361.     KbdStuff "G"
  362.     End
  363.     :LABEL029
  364.     If (U_Sec == INTEGER001) Gosub LABEL006
  365.     Newline
  366.     If (Exist(STRING003 + "\TVBYE")) DispFile STRING003 + "\TVBYE", 2 + 1 + 4
  367.     End
  368.  
  369. ;------------------------------------------------------------------------------
  370. ;
  371. ; Usage report (before postprocessing)
  372. ;
  373. ; ■ Statements used :
  374. ;
  375. ;    4       End
  376. ;    2       Wait
  377. ;    32      Goto 
  378. ;    46      Let 
  379. ;    6       Print 
  380. ;    22      PrintLn 
  381. ;    80      If 
  382. ;    5       DispFile 
  383. ;    6       FOpen 
  384. ;    9       FClose 
  385. ;    26      FGet 
  386. ;    1       GetUser
  387. ;    4       DefColor
  388. ;    2       AdjTime 
  389. ;    4       Log 
  390. ;    5       InputStr 
  391. ;    23      Gosub 
  392. ;    37      Return
  393. ;    1       Delay 
  394. ;    2       Inc 
  395. ;    17      Newline
  396. ;    3       Tokenize 
  397. ;    4       GetToken 
  398. ;    1       Shell 
  399. ;    3       Beep
  400. ;    1       KbdStuff 
  401. ;    2       Flag 
  402. ;    2       Download 
  403. ;
  404. ;
  405. ; ■ Functions used :
  406. ;
  407. ;    1       -
  408. ;    1       *
  409. ;    76      +
  410. ;    3       -
  411. ;    31      ==
  412. ;    5       <>
  413. ;    8       <
  414. ;    6       >
  415. ;    20      !
  416. ;    9       Len(
  417. ;    14      Upper()
  418. ;    10      Mid()
  419. ;    2       Left()
  420. ;    1       Space()
  421. ;    3       Ferr()
  422. ;    2       Chr()
  423. ;    3       Asc()
  424. ;    7       InStr()
  425. ;    4       Abort()
  426. ;    3       StripAtx()
  427. ;    5       String()
  428. ;    5       Mask_Ascii()
  429. ;    3       PPEPath()
  430. ;    1       OnLocal()
  431. ;    3       MinLeft()
  432. ;    8       Exist()
  433. ;    1       TokenStr()
  434. ;    2       EvtTimeAdj()
  435. ;
  436. ;------------------------------------------------------------------------------
  437. ;
  438. ; Analysis flags : ASf
  439. ;
  440. ; A - Adjust online time remaining ■ 5
  441. ;     Program modify the amount of online time remaining, this may
  442. ;     be a way to bypass time limits
  443. ;     ■ Search for : ADJTIME
  444. ;
  445. ; S - Shell to DOS ■ 5
  446. ;     This may be normal if the PPE need to execute an external command,
  447. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  448. ;     or usefull (sorting, maintenance,...). Check!
  449. ;     ■ Search for : SHELL
  450. ;
  451. ; f - Flag files for download ■ 3
  452. ;     This may be normal if a PPE needs to send some files, but since
  453. ;     this statement allows flagging of any file on the hard disk, you
  454. ;     have to be carefull. Check!
  455. ;     ■ Search for : FLAG
  456. ;
  457. ;------------------------------------------------------------------------------
  458. ;
  459. ; Postprocessing report
  460. ;
  461. ;    0       For/Next
  462. ;    4       While/EndWhile
  463. ;    2       If/Then or If/Then/Else
  464. ;    0       Select Case
  465. ;
  466. ;------------------------------------------------------------------------------
  467. ;                 AEGiS Corp - Break the routines, code against the machines!
  468. ;------------------------------------------------------------------------------
  469.