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