home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / T / TBH-KC.ZIP / KEWLCHAT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-16  |  4KB  |  282 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.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.  
  28. ;------------------------------------------------------------------------------
  29.  
  30.     PageOff
  31.     DispFile PPEPath() + "KewlChat.PCB", 0
  32.     Print "@X0C"
  33.     AnsiPos 14, 6
  34.     Print "SYSOP"
  35.     AnsiPos 53, 16
  36.     Print "@USER@"
  37.     Print "@X0F"
  38.     AnsiPos 59, 21
  39.     Print "@BOARDNAME@"
  40.     INTEGER001 = 10
  41.     INTEGER002 = 7
  42.     INTEGER003 = 40
  43.     INTEGER004 = 9
  44.     While (STRING002 <> Chr(27)) Do
  45.         STRING002 = KInkey()
  46.         STRING001 = MInkey()
  47.         If ((((STRING002 <> "") && (STRING002 <> Chr(13))) && (STRING002 <> Chr(8))) && (STRING002 <> Chr(27))) Then
  48.             Gosub LABEL001
  49.         Endif
  50.         If ((STRING002 <> " ") && (INTEGER001 < 34)) Then
  51.             STRING003 = STRING003 + STRING002
  52.         Endif
  53.         If (STRING002 == " ") Then
  54.             STRING003 = ""
  55.         Endif
  56.         If (INTEGER001 == 34) Then
  57.             Gosub LABEL005
  58.         Endif
  59.         If (STRING002 == Chr(13)) Then
  60.             Gosub LABEL002
  61.         Endif
  62.         If (STRING002 == Chr(8)) Then
  63.             Gosub LABEL003
  64.         Endif
  65.         If ((((STRING001 <> "") && (STRING001 <> Chr(13))) && (STRING001 <> Chr(8))) && (STRING001 <> Chr(27))) Then
  66.             Gosub LABEL007
  67.         Endif
  68.         If ((STRING001 <> " ") && (INTEGER003 < 72)) Then
  69.             STRING004 = STRING004 + STRING001
  70.         Endif
  71.         If (STRING001 == " ") Then
  72.             STRING004 = ""
  73.         Endif
  74.         If (INTEGER003 == 72) Then
  75.             Gosub LABEL011
  76.         Endif
  77.         If (STRING001 == Chr(13)) Then
  78.             Gosub LABEL008
  79.         Endif
  80.         If (STRING001 == Chr(8)) Then
  81.             Gosub LABEL009
  82.         Endif
  83.     EndWhile
  84.     End
  85.     :LABEL001
  86.     AnsiPos INTEGER001, INTEGER002
  87.     Print STRING002
  88.     INTEGER001 = INTEGER001 + 1
  89.     If (INTEGER001 == 34) Then
  90.         Gosub LABEL005
  91.     Endif
  92.     If (INTEGER002 == 18) Then
  93.         Gosub LABEL004
  94.     Endif
  95.     Return
  96.     :LABEL002
  97.     INTEGER001 = 10
  98.     INTEGER002 = INTEGER002 + 1
  99.     AnsiPos INTEGER001, INTEGER002
  100.     If (INTEGER002 == 18) Then
  101.         Gosub LABEL004
  102.     Endif
  103.     Return
  104.     :LABEL003
  105.     If (INTEGER001 > 10) Then
  106.         INTEGER001 = INTEGER001 - 1
  107.         AnsiPos INTEGER001, INTEGER002
  108.         Print " "
  109.         AnsiPos INTEGER001, INTEGER002
  110.     Endif
  111.     Return
  112.     :LABEL004
  113.     AnsiPos 10, 7
  114.     Print "                        "
  115.     AnsiPos 10, 8
  116.     Print "                        "
  117.     AnsiPos 10, 9
  118.     Print "                        "
  119.     AnsiPos 10, 10
  120.     Print "                        "
  121.     AnsiPos 10, 11
  122.     Print "                        "
  123.     AnsiPos 10, 12
  124.     Print "                        "
  125.     AnsiPos 10, 13
  126.     Print "                        "
  127.     AnsiPos 10, 14
  128.     Print "                        "
  129.     AnsiPos 10, 15
  130.     Print "                        "
  131.     AnsiPos 10, 16
  132.     Print "                        "
  133.     AnsiPos 10, 17
  134.     Print "                        "
  135.     INTEGER001 = 10
  136.     INTEGER002 = 7
  137.     AnsiPos INTEGER001, INTEGER002
  138.     Return
  139.     :LABEL005
  140.     STRING003 = STRING003 + STRING002
  141.     If ((Len(STRING003) < 23) && (INTEGER002 < 17)) Then
  142.         AnsiPos 34 - Len(STRING003), INTEGER002
  143.         Print "@X80", STRING003
  144.         Print "@X0F"
  145.         INTEGER001 = 10
  146.         INTEGER002 = INTEGER002 + 1
  147.         AnsiPos INTEGER001, INTEGER002
  148.         Print STRING003
  149.         INTEGER001 = INTEGER001 + Len(STRING003)
  150.         AnsiPos INTEGER001, INTEGER002
  151.     Else
  152.         STRING003 = ""
  153.         INTEGER001 = 10
  154.         INTEGER002 = INTEGER002 + 1
  155.         Goto LABEL006
  156.         If (INTEGER002 > 17) Then
  157.             Gosub LABEL004
  158.         Endif
  159.     Endif
  160.     :LABEL006
  161.     Return
  162.     :LABEL007
  163.     AnsiPos INTEGER003, INTEGER004
  164.     Print STRING001
  165.     INTEGER003 = INTEGER003 + 1
  166.     If (INTEGER003 == 72) Then
  167.         Gosub LABEL011
  168.     Endif
  169.     If (INTEGER004 == 41) Then
  170.         Gosub LABEL010
  171.     Endif
  172.     Return
  173.     :LABEL008
  174.     INTEGER003 = 40
  175.     INTEGER004 = INTEGER004 + 1
  176.     AnsiPos INTEGER003, INTEGER004
  177.     If (INTEGER004 == 16) Then
  178.         Gosub LABEL010
  179.     Endif
  180.     Return
  181.     :LABEL009
  182.     If (INTEGER003 > 40) Then
  183.         INTEGER003 = INTEGER003 - 1
  184.         AnsiPos INTEGER003, INTEGER004
  185.         Print " "
  186.         AnsiPos INTEGER003, INTEGER004
  187.     Endif
  188.     Return
  189.     :LABEL010
  190.     AnsiPos 40, 9
  191.     Print "                                "
  192.     AnsiPos 40, 10
  193.     Print "                                "
  194.     AnsiPos 40, 11
  195.     Print "                                "
  196.     AnsiPos 40, 12
  197.     Print "                                "
  198.     AnsiPos 40, 13
  199.     Print "                                "
  200.     AnsiPos 40, 14
  201.     Print "                                "
  202.     AnsiPos 40, 15
  203.     Print "                                "
  204.     AnsiPos 40, 9
  205.     INTEGER003 = 40
  206.     INTEGER004 = 9
  207.     AnsiPos INTEGER003, INTEGER004
  208.     Return
  209.     :LABEL011
  210.     STRING004 = STRING004 + STRING001
  211.     If ((Len(STRING004) < 31) && (INTEGER004 < 15)) Then
  212.         AnsiPos 72 - Len(STRING004), INTEGER004
  213.         Print "@X80", STRING004
  214.         Print "@X0F"
  215.         INTEGER003 = 40
  216.         INTEGER004 = INTEGER004 + 1
  217.         AnsiPos INTEGER003, INTEGER004
  218.         Print STRING004
  219.         INTEGER003 = INTEGER003 + Len(STRING004)
  220.         AnsiPos INTEGER003, INTEGER004
  221.     Endif
  222.     If (Len(STRING004) > 30) Then
  223.         STRING004 = ""
  224.         INTEGER003 = 40
  225.         INTEGER004 = INTEGER004 + 1
  226.     Endif
  227.     If (INTEGER004 > 15) Then
  228.         Gosub LABEL010
  229.     Endif
  230.     Return
  231.  
  232. ;------------------------------------------------------------------------------
  233. ;
  234. ; Usage report (before postprocessing)
  235. ;
  236. ; ■ Statements used :
  237. ;
  238. ;    1       End
  239. ;    29      Goto 
  240. ;    36      Let 
  241. ;    33      Print 
  242. ;    26      If 
  243. ;    1       DispFile 
  244. ;    16      Gosub 
  245. ;    10      Return
  246. ;    38      AnsiPos 
  247. ;    1       PageOff
  248. ;
  249. ;
  250. ; ■ Functions used :
  251. ;
  252. ;    15      +
  253. ;    4       -
  254. ;    14      ==
  255. ;    11      <>
  256. ;    6       <
  257. ;    5       >
  258. ;    26      !
  259. ;    10      &&
  260. ;    7       Len(
  261. ;    11      Chr()
  262. ;    1       PPEPath()
  263. ;    1       KInkey()
  264. ;    1       MInkey()
  265. ;
  266. ;------------------------------------------------------------------------------
  267. ;
  268. ; Analysis flags : No flag
  269. ;
  270. ;------------------------------------------------------------------------------
  271. ;
  272. ; Postprocessing report
  273. ;
  274. ;    0       For/Next
  275. ;    1       While/EndWhile
  276. ;    25      If/Then or If/Then/Else
  277. ;    0       Select Case
  278. ;
  279. ;------------------------------------------------------------------------------
  280. ;                 AEGiS Corp - Break the routines, code against the machines!
  281. ;------------------------------------------------------------------------------
  282.