home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / TUC_PGR.ZIP / PAGER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-18  |  6KB  |  384 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.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     String   STRING001
  23.     String   STRING002
  24.     String   STRING003
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.     String   STRING016
  38.     String   TSTRING017(10)
  39.     Declare  Procedure PROC001()
  40.  
  41. ;------------------------------------------------------------------------------
  42.  
  43.     Goto LABEL001
  44.     End
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     Procedure PROC001()
  49.  
  50.     Log "@X0EPLEASE REGISTER TuC-PGE.PPE", 1
  51.  
  52.     EndProc
  53.  
  54.     :LABEL001
  55.     STRING015 = 16
  56.     STRING008 = Chr(13)
  57.     STRING014 = 5
  58.     STRING011 = PPEPath() + "PAGER.cfg"
  59.     Cls
  60.     AnsiPos 20, 6
  61.     Delay 2
  62.     AnsiPos 20, 6
  63.     Delay 2
  64.     AnsiPos 20, 6
  65.     Delay 2
  66.     AnsiPos 20, 6
  67.     Delay 2
  68.     AnsiPos 20, 6
  69.     Delay 3
  70.     STRING002 = Time()
  71.     STRING006 = ReadLine(PCBDat(), 189)
  72.     STRING007 = ReadLine(PCBDat(), 190)
  73.     If ((STRING006 <= STRING002) && (STRING002 <= STRING007)) Then
  74.         :LABEL002
  75.         PROC001()
  76.         Cls
  77.         DispStr "%" + PPEPath() + "CHAT1.PCB"
  78.         PrintLn " "
  79.         PrintLn " "
  80.         InputStr "Make Yer Choice  ", STRING016, 14, 2, "1234567890", 256 + 8 + 2
  81.         If (STRING016 == "1") Goto LABEL003
  82.         If (STRING016 == "2") Goto LABEL004
  83.         If (STRING016 == "3") Goto LABEL005
  84.         If (STRING016 == "4") Goto LABEL006
  85.         If (STRING016 == "5") Goto LABEL007
  86.         If (STRING016 == " ") Goto LABEL002
  87.         :LABEL003
  88.         PROC001()
  89.         Cls
  90.         PrintLn " "
  91.         PrintLn " "
  92.         PrintLn " "
  93.         DispStr "%" + PPEPath() + "SYSOP1.PCB"
  94.         PrintLn " "
  95.         PrintLn " "
  96.         PrintLn " "
  97.         InputStr "@X08·──@X07──@X0F══[ _", STRING001, 127, 32, Mask_Ascii(), 256 + 8
  98.         Select Case (STRING001)
  99.             Case ""
  100.                 End
  101.                 :LABEL004
  102.                 Cls
  103.                 PrintLn " "
  104.                 PrintLn " "
  105.                 PrintLn " "
  106.                 DispStr "%" + PPEPath() + "SYSOP2.PCB"
  107.                 PrintLn " "
  108.                 PrintLn " "
  109.                 PrintLn " "
  110.                 InputStr "@X08·──@X07──@X0F══[ _", STRING001, 127, 32, Mask_Ascii(), 256 + 8
  111.             Case ""
  112.                 End
  113.                 :LABEL005
  114.                 Cls
  115.                 PrintLn " "
  116.                 PrintLn " "
  117.                 PrintLn " "
  118.                 DispStr "%" + PPEPath() + "SYSOP3.PCB"
  119.                 PrintLn " "
  120.                 PrintLn " "
  121.                 PrintLn " "
  122.                 InputStr "@X08·──@X07──@X0F══[ _", STRING001, 127, 32, Mask_Ascii(), 256 + 8
  123.             Case ""
  124.                 End
  125.                 :LABEL006
  126.                 Cls
  127.                 PrintLn " "
  128.                 PrintLn " "
  129.                 PrintLn " "
  130.                 DispStr "%" + PPEPath() + "SYSOP4.PCB"
  131.                 PrintLn " "
  132.                 PrintLn " "
  133.                 PrintLn " "
  134.                 InputStr "@X08·──@X07──@X0F══[ _", STRING001, 127, 32, Mask_Ascii(), 256 + 8
  135.             Case ""
  136.                 End
  137.                 :LABEL007
  138.                 Cls
  139.                 PrintLn " "
  140.                 PrintLn " "
  141.                 PrintLn " "
  142.                 DispStr "%" + PPEPath() + "SYSOP5.PCB"
  143.                 PrintLn " "
  144.                 PrintLn " "
  145.                 PrintLn " "
  146.                 InputStr "@X08·──@X07──@X0F══[ _", STRING001, 127, 32, Mask_Ascii(), 256 + 8
  147.             Case ""
  148.                 End
  149.         End Select
  150.         :LABEL008
  151.         STRING015 = 16
  152.         STRING014 = 5
  153.         If (Len(STRING001) < 5) Goto LABEL022
  154.         Cls
  155.         PrintLn " "
  156.         PrintLn " "
  157.         PrintLn " "
  158.         PrintLn " "
  159.         PrintLn "         @X70┌────────────────────────────────────────────────@X7F┐@X07"
  160.         PrintLn "         @X70│@X7F           Now Paging The Sysop                 │@X07"
  161.         PrintLn "         @X70│@X7F     @X08░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░@X7F           │@X07"
  162.         PrintLn "         @X70└@X7F────────────────────────────────────────────────┘@X07"
  163.         SPrintLn " Press (SPACE) to Acknowledge Page or Press (ENTER) to Silence Pager"
  164.         PageOn
  165.         :LABEL009
  166.         If (STRING015 == 48) Goto LABEL010
  167.         AnsiPos STRING015, 7
  168.         Print "@X01▓@X08"
  169.         Sound STRING014
  170.         Delay 3
  171.         STRING004 = Upper(KInkey())
  172.         If (STRING004 == Chr(13)) STRING014 = 0
  173.         If (STRING004 == Chr(32)) Then
  174.             Sound 3
  175.             Chat
  176.             End
  177.         Endif
  178.         STRING015 = STRING015 + 1
  179.         If (STRING014 == 0) Goto LABEL009
  180.         STRING014 = STRING014 + 40
  181.         Goto LABEL009
  182.     Endif
  183.     :LABEL010
  184.     FOpen 1, PPEPath() + "PAGER.CFG", 0, 0
  185.     FGet 1, STRING005
  186.     FGet 1, STRING009
  187.     FGet 1, STRING010
  188.     FClose 1
  189.     Cls
  190.     PrintLn " "
  191.     PrintLn "@X70┌──────────────────────────────────────────────────────────────────@X7F┐@X07"
  192.     PrintLn "@X70│@X7F I'm Sorry But That Sysop                                         │@X07"
  193.     PrintLn "@X70└@X7F──────────────────────────────────────────────────────────────────┘@X07"
  194.     AnsiPos 28, 3
  195.     Print "@X7F", STRING005
  196.     Sound 2
  197.     Newline
  198.     Newline
  199.     Newline
  200.     STRING012 = GetY()
  201.     STRING012 = STRING012 - 1
  202.     If (Upper(ReadLine(STRING011, 2)) == "Y") Then
  203.         STRING010 = Upper(ReadLine(STRING011, 3))
  204.         Newline
  205.         :LABEL011
  206.         If (STRING013 == "5") End
  207.         AnsiPos 10, STRING012
  208.         Print "@X0FIs this an Emergency???? @X0EYes @X1FNo@X07"
  209.         :LABEL012
  210.         STRING001 = Inkey()
  211.         If (STRING001 == "LEFT") Goto LABEL013
  212.         If (STRING001 == "4") Goto LABEL013
  213.         If (STRING001 == "") Goto LABEL012
  214.         If (STRING001 == STRING008) Goto LABEL018
  215.         Goto LABEL012
  216.         :LABEL013
  217.         AnsiPos 10, STRING012
  218.         Print "@X0FIs this an Emergency? @X1FYes@X0F No@X07"
  219.         :LABEL014
  220.         STRING001 = Inkey()
  221.         If (STRING001 == "RIGHT") Goto LABEL011
  222.         If (STRING001 == "6") Goto LABEL011
  223.         If (STRING001 == "") Goto LABEL014
  224.         If (STRING001 == STRING008) Goto LABEL015
  225.         Goto LABEL014
  226.         :LABEL015
  227.         Cls
  228.         PrintLn " "
  229.         PrintLn " X0EPlease Enter the Emergency Password.      │@X07"
  230.         PrintLn " "
  231.         InputStr "@X08·──@X07──@X0F══[ _", STRING003, 9, 15, Mask_Ascii(), 8 + 1
  232.         If (STRING003 == STRING010) Then
  233.             STRING001 = "@X74EMERGENCY!"
  234.             STRING013 = "5"
  235.             Goto LABEL008
  236.             :LABEL016
  237.             AnsiPos 10, 6
  238.             Print "@X0FWould you like to Leave Feedback? @X1FYes@X09 No@X07"
  239.             :LABEL017
  240.             STRING001 = Inkey()
  241.             If (STRING001 == "RIGHT") Goto LABEL018
  242.             If (STRING001 == "6") Goto LABEL018
  243.             If (STRING001 == "") Goto LABEL017
  244.             If (STRING001 == STRING008) Goto LABEL020
  245.             Goto LABEL017
  246.         Endif
  247.         :LABEL018
  248.         AnsiPos 10, 6
  249.         Print "@X0FWould you like to Leave Feedback? @X09Yes @X1FNo@X07"
  250.         :LABEL019
  251.         STRING001 = Inkey()
  252.         If (STRING001 == "LEFT") Goto LABEL016
  253.         If (STRING001 == "4") Goto LABEL016
  254.         If (STRING001 == "") Goto LABEL019
  255.         If (STRING001 == STRING008) Goto LABEL021
  256.         Goto LABEL019
  257.         :LABEL020
  258.         Cls
  259.         Goto LABEL023
  260.         End
  261.         :LABEL021
  262.         PrintLn " "
  263.         End
  264.         :LABEL022
  265.         Newline
  266.         Print "@X0FOh Gee Whiz!! You don't have even one thought in your head?"
  267.         Wait
  268.         Goto LABEL002
  269.     Endif
  270.     Newline
  271.     PrintLn "@X0FI@X07n@X08correct @X0FP@X07a@X08ssword"
  272.     End
  273.     :LABEL023
  274.     If (Exist(PPEPath() + "COMMENT.CFG")) Goto LABEL024
  275.     PrintLn "@BEEP@@X0C(COMMENT.CFG) not found!"
  276.     Goto LABEL027
  277.     :LABEL024
  278.     FOpen 2, PPEPath() + "COMMENT.CFG", 0, 0
  279.     INTEGER001 = 1
  280.     :LABEL025
  281.     If (Ferr(2)) Goto LABEL026
  282.     FGet 2, TSTRING017(INTEGER001)
  283.     If (TSTRING017(INTEGER001) == "<EOF>") Goto LABEL026
  284.     Inc INTEGER001
  285.     Goto LABEL025
  286.     :LABEL026
  287.     Newlines 2
  288.     PrintLn "@X0C #  SysOp"
  289.     PrintLn "@X09▀▀▀ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
  290.     For INTEGER002 = 1 To INTEGER001 - 1
  291.         PrintLn " @X02" + String(INTEGER002) + ") @X0A" + TSTRING017(INTEGER002)
  292.     Next
  293.     Newline
  294.     InputStr "@X0CEnter the # of the SysOp you'd like to leave a message to: @X01[@X0F1@X01] > _", INTEGER003, 13, 2, "1234567890", 256
  295.     If (INTEGER003 > INTEGER001) INTEGER003 = INTEGER001 - 1
  296.     If (INTEGER003 == 0) INTEGER003 = 1
  297.     KbdStuff "E" + Chr(13) + TSTRING017(INTEGER003) + Chr(13) + "-* Comment to Sysop #" + String(INTEGER003) + " *-" + Chr(13) + "R" + Chr(13)
  298.     :LABEL027
  299.     End
  300.  
  301. ;------------------------------------------------------------------------------
  302. ;
  303. ; Usage report (before postprocessing)
  304. ;
  305. ; ■ Statements used :
  306. ;
  307. ;    12      End
  308. ;    11      Cls
  309. ;    1       Wait
  310. ;    51      Goto 
  311. ;    27      Let 
  312. ;    7       Print 
  313. ;    53      PrintLn 
  314. ;    42      If 
  315. ;    2       FOpen 
  316. ;    1       FClose 
  317. ;    4       FGet 
  318. ;    1       Log 
  319. ;    8       InputStr 
  320. ;    6       Delay 
  321. ;    1       Inc 
  322. ;    7       Newline
  323. ;    1       Newlines 
  324. ;    1       KbdStuff 
  325. ;    6       DispStr 
  326. ;    11      AnsiPos 
  327. ;    3       Sound 
  328. ;    1       Chat
  329. ;    1       SPrintLn 
  330. ;    1       PageOn
  331. ;    1       EndProc
  332. ;
  333. ;
  334. ; ■ Functions used :
  335. ;
  336. ;    39      +
  337. ;    4       -
  338. ;    36      ==
  339. ;    2       <
  340. ;    3       <=
  341. ;    1       >
  342. ;    2       >=
  343. ;    12      !
  344. ;    3       &&
  345. ;    1       ||
  346. ;    1       Len(
  347. ;    3       Upper()
  348. ;    1       Ferr()
  349. ;    7       Chr()
  350. ;    1       Time()
  351. ;    4       Inkey()
  352. ;    2       String()
  353. ;    6       Mask_Ascii()
  354. ;    2       PCBDat()
  355. ;    10      PPEPath()
  356. ;    4       ReadLine()
  357. ;    1       Exist()
  358. ;    1       GetY()
  359. ;    1       KInkey()
  360. ;
  361. ;------------------------------------------------------------------------------
  362. ;
  363. ; Analysis flags : d
  364. ;
  365. ; d - Access PCBOARD.DAT ■ 2
  366. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  367. ;     for many PPE so they can find various informations on the system
  368. ;     (system paths, max number of lines in messages, ...) but it may also
  369. ;     be a way to gather vital informations.
  370. ;     ■ Search for : PCBDAT()
  371. ;
  372. ;------------------------------------------------------------------------------
  373. ;
  374. ; Postprocessing report
  375. ;
  376. ;    1       For/Next
  377. ;    0       While/EndWhile
  378. ;    4       If/Then or If/Then/Else
  379. ;    1       Select Case
  380. ;
  381. ;------------------------------------------------------------------------------
  382. ;                 AEGiS Corp - Break the routines, code against the machines!
  383. ;------------------------------------------------------------------------------
  384.