home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / RP_OL10B.ZIP / ONELINER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-03-20  |  3KB  |  233 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.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     String   TSTRING001(2)
  27.     String   TSTRING002(1)
  28.     String   STRING003
  29.     String   TSTRING004(50)
  30.     String   STRING005
  31.     String   STRING006
  32.     String   STRING007
  33.     String   STRING008
  34.     String   STRING009
  35.     String   STRING010
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     INTEGER002 = ReadLine(PPEPath() + "ONELINER.CNF", 1)
  40.     STRING003 = ReadLine(PPEPath() + "ONELINER.CNF", 2)
  41.     STRING008 = ReadLine(PPEPath() + "ONELINER.CNF", 3)
  42.     STRING006 = ReadLine(PPEPath() + "ONELINER.CNF", 4)
  43.     STRING007 = ReadLine(PPEPath() + "ONELINER.CNF", 5)
  44.     STRING010 = Upper(ReadLine(PPEPath() + "ONELINER.CNF", 6))
  45.     TSTRING002(1) = PPEPath() + "ONELINER.DAT"
  46.     TSTRING001(1) = PPEPath() + "ONELINER.TOP"
  47.     TSTRING001(2) = PPEPath() + "ONELINER.BOT"
  48.     INTEGER004 = 1
  49.     If (Exist(TSTRING001(1))) DispFile TSTRING001(1) , 1
  50.     Gosub LABEL002
  51.     For INTEGER003 = 1 To INTEGER001
  52.         Print STRING008
  53.         PrintLn TSTRING004(INTEGER003)
  54.     Next
  55.     If (Exist(TSTRING001(2))) DispFile TSTRING001(2) , 1
  56.     INTEGER006 = GetX()
  57.     INTEGER005 = GetY()
  58.     Print STRING003
  59.     Print "@X07 "
  60.     Print STRING006 + "YES"
  61.     Print "@X07 "
  62.     Print STRING007 + "NO"
  63.     Gosub LABEL003
  64.     :LABEL001
  65.     If (STRING010 == "NONE") Then
  66.         End
  67.     Else
  68.         Call STRING010
  69.     Endif
  70.     End
  71.     :LABEL002
  72.     If (Exist(TSTRING002(1))) Then
  73.         FOpen 1, TSTRING002(1), 0, 0
  74.         FGet 1, INTEGER001
  75.         For INTEGER003 = 1 To INTEGER002
  76.             FGet 1, TSTRING004(INTEGER003)
  77.         Next
  78.         FClose 1
  79.         Delete TSTRING002(1)
  80.     Else
  81.         FCreate 1, TSTRING002(1), 1, 0
  82.         FPutLn 1, "1"
  83.         FPut 1, "@X08o@X07Ne@X0FLiN@X08eR@X08Z @X01v@X091.o @X03ß @X08/ C@X07oD@X0FeD BY: WHiTE Ti@X07GE@X08R"
  84.         FClose 1
  85.     Endif
  86.     Return
  87.     :LABEL003
  88.     STRING005 = ""
  89.     While (BOOLEAN001 == 0) Do
  90.         STRING005 = Upper(Inkey())
  91.         If ((STRING005 == "LEFT") || (STRING005 == "Y")) Then
  92.             STRING005 = ""
  93.             INTEGER004 = 1
  94.             AnsiPos INTEGER006, INTEGER005
  95.             Print "@X07"
  96.             AnsiPos INTEGER006, INTEGER005
  97.             ClrEol
  98.             Print STRING003
  99.             Print "@X07 "
  100.             Print STRING006 + "YES"
  101.             Print "@X07 "
  102.             Print STRING007 + "NO"
  103.             Continue
  104.         Endif
  105.         If ((STRING005 == "RIGHT") || (STRING005 == "N")) Then
  106.             STRING005 = ""
  107.             INTEGER004 = 2
  108.             AnsiPos INTEGER006, INTEGER005
  109.             Print "@X07"
  110.             AnsiPos INTEGER006, INTEGER005
  111.             ClrEol
  112.             Print STRING003
  113.             Print "@X07 "
  114.             Print STRING007 + "YES"
  115.             Print "@X07 "
  116.             Print STRING006 + "NO"
  117.             Continue
  118.         Endif
  119.         If (STRING005 == Chr(13)) Then
  120.             If (INTEGER004 == 1) Then
  121.                 STRING005 = ""
  122.                 Gosub LABEL004
  123.                 Gosub LABEL005
  124.                 BOOLEAN001 = 1
  125.                 Continue
  126.             Endif
  127.             STRING005 = ""
  128.             BOOLEAN001 = 1
  129.             Gosub LABEL005
  130.             Goto LABEL001
  131.         Endif
  132.     EndWhile
  133.     Return
  134.     :LABEL004
  135.     Print "@X07"
  136.     Cls
  137.     PrintLn 
  138.     PrintLn "@X0Fo@X07NeLiNeRZ @X01v@X091.o @X0Dß@X05eTa @X08/ @X0FC@X07oDeD BY: @X08W@X07Hi@X0FTE Ti@X07GE@X08R"
  139.     PrintLn "@X07"
  140.     PrintLn "@X0Fa@X07DD @X0Fa @X0Fo@X07NeLiNeR @X08/ @X0FP@x07uNCH @X0Fi@X07T @X0Fi@X07N @X0FN@X07oW@X08!"
  141.     PrintLn "@X07"
  142.     Print "@X08─■ "
  143.     InputStr "@X07_", STRING009, 7, 160, Mask_Ascii(), 4096
  144.     If ((STRING009 == Chr(13)) || (STRING009 == " ")) Then
  145.         Return
  146.     Endif
  147.     INTEGER001 = INTEGER001 + 1
  148.     If (INTEGER001 > INTEGER002) INTEGER001 = INTEGER002
  149.     TSTRING004(INTEGER001) = STRING009
  150.     Return
  151.     :LABEL005
  152.     FCreate 1, TSTRING002(1), 1, 0
  153.     FPutLn 1, INTEGER001
  154.     For INTEGER003 = 1 To INTEGER001 - 1
  155.         FPutLn 1, TSTRING004(INTEGER003)
  156.     Next
  157.     FPut 1, TSTRING004(INTEGER001)
  158.     FClose 1
  159.     Return
  160.  
  161. ;------------------------------------------------------------------------------
  162. ;
  163. ; Usage report (before postprocessing)
  164. ;
  165. ; ■ Statements used :
  166. ;
  167. ;    2       End
  168. ;    1       Cls
  169. ;    2       ClrEol
  170. ;    21      Goto 
  171. ;    31      Let 
  172. ;    20      Print 
  173. ;    6       PrintLn 
  174. ;    14      If 
  175. ;    2       DispFile 
  176. ;    2       FCreate 
  177. ;    1       FOpen 
  178. ;    3       FClose 
  179. ;    2       FGet 
  180. ;    2       FPut 
  181. ;    3       FPutLn 
  182. ;    1       Delete 
  183. ;    1       InputStr 
  184. ;    5       Gosub 
  185. ;    5       Return
  186. ;    1       Call 
  187. ;    4       AnsiPos 
  188. ;
  189. ;
  190. ; ■ Functions used :
  191. ;
  192. ;    19      +
  193. ;    2       -
  194. ;    10      ==
  195. ;    3       <
  196. ;    3       <=
  197. ;    1       >
  198. ;    6       >=
  199. ;    11      !
  200. ;    6       &&
  201. ;    6       ||
  202. ;    2       Upper()
  203. ;    2       Chr()
  204. ;    1       Inkey()
  205. ;    1       Mask_Ascii()
  206. ;    9       PPEPath()
  207. ;    6       ReadLine()
  208. ;    3       Exist()
  209. ;    1       GetX()
  210. ;    1       GetY()
  211. ;
  212. ;------------------------------------------------------------------------------
  213. ;
  214. ; Analysis flags : C
  215. ;
  216. ; C - Call child PPE ■ 3
  217. ;     This is usually normal, but may be a tricky way to launch some
  218. ;     sysop-only commands.
  219. ;     ■ Search for : CALL
  220. ;
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Postprocessing report
  224. ;
  225. ;    3       For/Next
  226. ;    1       While/EndWhile
  227. ;    7       If/Then or If/Then/Else
  228. ;    0       Select Case
  229. ;
  230. ;------------------------------------------------------------------------------
  231. ;                 AEGiS Corp - Break the routines, code against the machines!
  232. ;------------------------------------------------------------------------------
  233.