home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 005 / dmsppe1a.zip / MORE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-11-14  |  5KB  |  330 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.     String   STRING001
  22.     String   STRING002
  23.     String   TSTRING003(4)
  24.     String   TSTRING004(4)
  25.     String   TSTRING005(4)
  26.     String   STRING006
  27.     String   STRING007
  28.     Int      INT001
  29.     Int      INT002
  30.     Int      TINT003(4)
  31.     Int      TINT004(4)
  32.     Int      INT005
  33.     Int      INT006
  34.     Int      INT007
  35.     Int      INT008
  36.     Int      INT009
  37.     Int      INT010
  38.  
  39. ;------------------------------------------------------------------------------
  40.  
  41.     BOOLEAN001 = AnsiOn()
  42.     If (BOOLEAN001) Then
  43.         Gosub LABEL001
  44.     Else
  45.         Gosub LABEL004
  46.     Endif
  47.     Backup GetX() - 1
  48.     ClrEol
  49.     KbdStuff STRING001
  50.     End
  51.     :LABEL001
  52.     INT002 = CurColor()
  53.     INT007 = 4
  54.     TSTRING005(1) = "Y"
  55.     TSTRING005(2) = "N"
  56.     TSTRING005(3) = "NS"
  57.     TSTRING005(4) = "H"
  58.     TINT004(1) = 1
  59.     TINT004(2) = 1
  60.     TINT004(3) = 4
  61.     TINT004(4) = 1
  62.     STRING006 = "@X0AMore -> "
  63.     TSTRING003(1) = "@X0B @X0EY@X0Bes "
  64.     TSTRING003(2) = "@X0B @X0EN@X0Bo "
  65.     TSTRING003(3) = "@X0B non@X0ES@X0Btop "
  66.     TSTRING003(4) = "@X0B @X0EH@X0Belp "
  67.     TSTRING004(1) = "@X3F @X3EY@X3Fes "
  68.     TSTRING004(2) = "@X3F @X3EN@X3Fo "
  69.     TSTRING004(3) = "@X3F non@X3ES@X3Ftop "
  70.     TSTRING004(4) = "@X3F @X3EH@X3Felp "
  71.     INT005 = 1
  72.     INT006 = 1
  73.     Gosub LABEL009
  74.     :LABEL002
  75.     If (INT001 == 13) Goto LABEL003
  76.     STRING002 = ""
  77.     While (STRING002 == "") Do
  78.         STRING002 = Inkey()
  79.     EndWhile
  80.     If (Len(STRING002) == 1) Then
  81.         INT001 = Asc(STRING002)
  82.     Else
  83.         INT001 = 0
  84.     Endif
  85.     BOOLEAN002 = 0
  86.     If ((Left(STRING002, 5) == "RIGHT") || (INT001 == 32)) Then
  87.         INT006 = INT005 + 1
  88.         If (INT006 > INT007) Then
  89.             INT006 = 1
  90.         Endif
  91.         BOOLEAN002 = 1
  92.     ElseIf ((Left(STRING002, 4) == "LEFT") || (INT001 == 8)) Then
  93.         INT006 = INT005 - 1
  94.         If (INT006 == 0) Then
  95.             INT006 = INT007
  96.         Endif
  97.         BOOLEAN002 = 1
  98.     ElseIf (Left(STRING002, 4) == "HOME") Then
  99.         INT006 = 1
  100.         BOOLEAN002 = 1
  101.     ElseIf (Left(STRING002, 3) == "END") Then
  102.         INT006 = INT007
  103.         BOOLEAN002 = 1
  104.     Else
  105.         Select Case (INT001)
  106.             Case 121, 89
  107.                 INT006 = 1
  108.                 BOOLEAN002 = 1
  109.             Case 110, 78
  110.                 INT006 = 2
  111.                 BOOLEAN002 = 1
  112.             Case 115, 83
  113.                 INT006 = 3
  114.                 BOOLEAN002 = 1
  115.             Case 104, 72
  116.                 INT006 = 4
  117.                 BOOLEAN002 = 1
  118.             Case 13
  119.                 STRING001 = TSTRING005(INT006)
  120.             Case 
  121.                 Sound 920
  122.                 Delay 3
  123.                 Sound 0
  124.             Case Else
  125.                 MPrint Chr(7)
  126.             Endif
  127.     End Select
  128.     If (BOOLEAN002) Then
  129.         Gosub LABEL010
  130.     Endif
  131.     If ((INT001 == 13) && (INT005 == 4)) Then
  132.         Gosub LABEL008
  133.         INT006 = 1
  134.         Gosub LABEL010
  135.         INT001 = 0
  136.     Endif
  137.     Goto LABEL002
  138.     :LABEL003
  139.     Color INT002
  140.     Return
  141.     :LABEL004
  142.     Gosub LABEL009
  143.     INT001 = 0
  144.     :LABEL005
  145.     If (INT001 == 13) Goto LABEL007
  146.     STRING002 = ""
  147.     While (STRING002 == "") Do
  148.         STRING002 = Inkey()
  149.     EndWhile
  150.     INT001 = Asc(STRING002)
  151.     If (((INT001 == 121) || (INT001 == 89)) && (STRING001 == "")) Then
  152.         Print "Y"
  153.         STRING001 = "Y"
  154.     ElseIf (((INT001 == 110) || (INT001 == 78)) && (STRING001 == "")) Then
  155.         Print "N"
  156.         STRING001 = "N"
  157.     ElseIf (((INT001 == 115) || (INT001 == 83)) && (STRING001 == "")) Then
  158.         Print "S"
  159.         STRING001 = "NS"
  160.     ElseIf (((INT001 == 104) || (INT001 == 72)) && (STRING001 == "")) Then
  161.         Print "H"
  162.         STRING001 = "H"
  163.     Else
  164.         Select Case (INT001)
  165.             Case 8
  166.                 INT001 = 0
  167.                 If (STRING001 == "") Goto LABEL006
  168.                 Backup 1
  169.                 Print Space(1)
  170.                 Backup 1
  171.                 STRING001 = ""
  172.                 :LABEL006
  173.             Case 13
  174.                 If (STRING001 == "H") Then
  175.                     Backup 1
  176.                     Print Space(1)
  177.                     Backup 1
  178.                     Gosub LABEL008
  179.                     INT001 = 0
  180.                     STRING001 = ""
  181.                 Else
  182.                     STRING001 = STRING001 + Chr(13)
  183.                 Endif
  184.             Case 
  185.                 Sound 920
  186.                 Delay 3
  187.                 Sound 0
  188.             Endif
  189.     End Select
  190.     Goto LABEL005
  191.     :LABEL007
  192.     Return
  193.     :LABEL008
  194.     STRING007 = PPEPath() + "MORE.HLP"
  195.     INT010 = 1
  196.     GetUser
  197.     INT009 = U_PageLen
  198.     Backup GetX() - 1
  199.     ClrEol
  200.     SaveScrn
  201.     StartDisp 1
  202.     Cls
  203.     PrintLn "@X0AMore Prompt - @X0BUNREGISTERED               @X0ACopyright 1994 Data Management Systems"
  204.     PrintLn "                                                            All Rights Reserved"
  205.     PrintLn 
  206.     PrintLn 
  207.     PrintLn "     @X03Help is available only with the registered version of this software."
  208.     PrintLn "     Please remind your sysop to register this shareware product (@X02DMSPPE10@X03)."
  209.     PrintLn 
  210.     PrintLn 
  211.     If (OnLocal()) Then
  212.         Sound 920
  213.         Delay 3
  214.         Sound 0
  215.     Else
  216.         MPrint Chr(7)
  217.     Endif
  218.     Wait
  219.     StartDisp 2
  220.     Cls
  221.     RestScrn
  222.     Gosub LABEL009
  223.     Return
  224.     :LABEL009
  225.     If (BOOLEAN001) Then
  226.         Print STRING006
  227.         For INT008 = 1 To INT007
  228.             TINT003(INT008) = GetX()
  229.             If (INT008 == INT005) Then
  230.                 Print TSTRING004(INT008)
  231.                 Continue
  232.             Endif
  233.             Print TSTRING003(INT008)
  234.         Next
  235.         Backup GetX() - 1
  236.         Forward TINT003(INT005) + TINT004(INT005) - 1
  237.         Color INT002
  238.     Else
  239.         Print "More -> (Y)es  (N)o  non(S)top  (H)elp ? "
  240.     Endif
  241.     Return
  242.     :LABEL010
  243.     Backup GetX() - 1
  244.     Forward TINT003(INT005) - 1
  245.     Print TSTRING003(INT005)
  246.     Backup GetX() - 1
  247.     Forward TINT003(INT006) - 1
  248.     Print TSTRING004(INT006)
  249.     Backup GetX() - 1
  250.     Forward TINT003(INT006) + TINT004(INT006) - 1
  251.     INT005 = INT006
  252.     Color INT002
  253.     Return
  254.  
  255. ;------------------------------------------------------------------------------
  256. ;
  257. ; Usage report (before postprocessing)
  258. ;
  259. ; ■ Statements used :
  260. ;
  261. ;    1       End
  262. ;    2       Cls
  263. ;    2       ClrEol
  264. ;    1       Wait
  265. ;    3       Color 
  266. ;    60      Goto 
  267. ;    68      Let 
  268. ;    12      Print 
  269. ;    8       PrintLn 
  270. ;    33      If 
  271. ;    2       StartDisp 
  272. ;    1       GetUser
  273. ;    9       Gosub 
  274. ;    5       Return
  275. ;    3       Delay 
  276. ;    1       KbdStuff 
  277. ;    10      Backup 
  278. ;    4       Forward 
  279. ;    1       SaveScrn
  280. ;    1       RestScrn
  281. ;    6       Sound 
  282. ;    2       MPrint 
  283. ;
  284. ;
  285. ; ■ Functions used :
  286. ;
  287. ;    6       +
  288. ;    11      -
  289. ;    40      ==
  290. ;    1       <
  291. ;    1       <=
  292. ;    1       >
  293. ;    2       >=
  294. ;    33      !
  295. ;    7       &&
  296. ;    11      ||
  297. ;    1       Len(
  298. ;    4       Left()
  299. ;    2       Space()
  300. ;    3       Chr()
  301. ;    2       Asc()
  302. ;    2       Inkey()
  303. ;    1       PPEPath()
  304. ;    3       OnLocal()
  305. ;    1       AnsiOn()
  306. ;    7       GetX()
  307. ;    1       CurColor()
  308. ;
  309. ;------------------------------------------------------------------------------
  310. ;
  311. ; Analysis flags : M
  312. ;
  313. ; M - Send text to modem only ■ 4
  314. ;     Some informations are sent only to the modem, not to the local
  315. ;     screen, this is a well known way to make stealth backdoors, Check!
  316. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  317. ;
  318. ;------------------------------------------------------------------------------
  319. ;
  320. ; Postprocessing report
  321. ;
  322. ;    1       For/Next
  323. ;    2       While/EndWhile
  324. ;    18      If/Then or If/Then/Else
  325. ;    2       Select Case
  326. ;
  327. ;------------------------------------------------------------------------------
  328. ;                 AEGiS Corp - Break the routines, code against the machines!
  329. ;------------------------------------------------------------------------------
  330.