home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / F / FLAG22.ZIP / FLAG2.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-09-28  |  3KB  |  248 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 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Date     DATE001
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     String   STRING001
  30.     String   STRING002
  31.     String   STRING003
  32.     String   STRING004
  33.     String   STRING005
  34.     String   STRING006
  35.     String   STRING007
  36.     String   STRING008
  37.     String   STRING009
  38.     String   STRING010
  39.  
  40. ;------------------------------------------------------------------------------
  41.  
  42.     STRING003 = Chr(8)
  43.     STRING004 = Chr(127)
  44.     STRING005 = Chr(13)
  45.     STRING006 = Chr(27)
  46.     INTEGER001 = 0
  47.     STRING001 = ""
  48.     STRING009 = "@X0E(H)elp, (1-@NUMDIR@), (@X0FSPACE@X0E)=Mark, File List Command? "
  49.     STRING010 = "@X0E(H)elp, (1-@NUMDIR@), File List Command"
  50.     If (AnsiOn()) Goto LABEL001
  51.     Print STRING010
  52.     End
  53.     :LABEL001
  54.     RestScrn
  55.     ClrEol
  56.     Print STRING009
  57.     DefColor
  58.     :LABEL002
  59.     If (BOOLEAN001) Goto LABEL008
  60.     STRING002 = Inkey()
  61.     If (STRING002 <> "") Then
  62.         If ((INTEGER001 == 0) && (STRING002 == " ")) Then
  63.             INTEGER002 = GetX()
  64.             INTEGER003 = GetY()
  65.             INTEGER004 = INTEGER003
  66.             Print STRING005 + "@CLREOL@@X0APress @X0FSPACE@X0A to move up, @X0FENTER@X0A to select, @X0FV@X0A to view, @X0FESC@X0A to exit" + STRING005
  67.             Gosub LABEL011
  68.             If (STRING007 <> "") Then
  69.                 While (((STRING002 <> STRING006) && (STRING002 <> STRING005)) && (Upper(STRING002) <> "V")) Do
  70.                     STRING002 = Inkey()
  71.                     If (STRING002 == " ") Then
  72.                         Gosub LABEL012
  73.                         Gosub LABEL011
  74.                         If (STRING007 == "") Then
  75.                             Gosub LABEL009
  76.                             Gosub LABEL010
  77.                             Goto LABEL007
  78.                         Endif
  79.                     Endif
  80.                 EndWhile
  81.                 Gosub LABEL012
  82.                 Gosub LABEL009
  83.                 If (STRING002 == STRING005) Then
  84.                     KbdStuff "F " + STRING007 + STRING005
  85.                     End
  86.                     Goto LABEL003
  87.                 Endif
  88.                 If (Upper(STRING002) == "V") Then
  89.                     SaveScrn
  90.                     KbdStuff "V " + STRING007 + STRING005
  91.                     End
  92.                 Endif
  93.                 :LABEL003
  94.                 Goto LABEL004
  95.             Endif
  96.             Gosub LABEL009
  97.             :LABEL004
  98.             Gosub LABEL010
  99.             Goto LABEL007
  100.             Goto LABEL006
  101.         Endif
  102.         If ((STRING002 == STRING003) || (STRING002 == STRING004)) Then
  103.             If (INTEGER001 > 0) Then
  104.                 Print STRING003 + " "
  105.                 INTEGER001 = INTEGER001 - 1
  106.                 STRING001 = Left(STRING001, INTEGER001)
  107.                 Goto LABEL005
  108.             Endif
  109.             Goto LABEL007
  110.             :LABEL005
  111.             Goto LABEL006
  112.         Endif
  113.         If (STRING002 == STRING005) Then
  114.             STRING001 = STRING001 + STRING002
  115.             BOOLEAN001 = 1
  116.             Goto LABEL006
  117.         Endif
  118.         If ((Len(STRING002) > 1) || (STRING002 < " ")) Then
  119.             Goto LABEL007
  120.             Goto LABEL006
  121.         Endif
  122.         If ((STRING002 >= " ") && (INTEGER001 < 80)) Then
  123.             STRING001 = STRING001 + STRING002
  124.             INTEGER001 = INTEGER001 + 1
  125.         Endif
  126.         :LABEL006
  127.         Print STRING002
  128.     Endif
  129.     :LABEL007
  130.     Goto LABEL002
  131.     :LABEL008
  132.     If (Upper(Left(STRING001, 1)) == "V") Then
  133.         SaveScrn
  134.     Endif
  135.     KbdStuff STRING001
  136.     End
  137.     :LABEL009
  138.     If (INTEGER004 < INTEGER003) Then
  139.         Print STRING006 + "[" + String(INTEGER003 - INTEGER004) + "B"
  140.     Endif
  141.     INTEGER004 = INTEGER003
  142.     ClrEol
  143.     Return
  144.     :LABEL010
  145.     Print STRING009
  146.     DefColor
  147.     Return
  148.     :LABEL011
  149.     If (INTEGER004 == 1) Then
  150.         STRING007 = ""
  151.         Return
  152.     Endif
  153.     INTEGER005 = 0
  154.     While (INTEGER004 >= 1) Do
  155.         INTEGER004 = INTEGER004 - 1
  156.         INTEGER005 = INTEGER005 + 1
  157.         INTEGER008 = Trim(ScrText(13, INTEGER004, 11, 0), " ")
  158.         If (INTEGER008 > 0) Then
  159.             DATE001 = ScrText(24, INTEGER004, 8, 0)
  160.             If (DATE001 > 0) Then
  161.                 STRING007 = RTrim(ScrText(1, INTEGER004, 13, 0), " ")
  162.                 INTEGER007 = Len(STRING007)
  163.                 If ((INTEGER007 >= 1) && (INTEGER007 <= 12)) Then
  164.                     If ((((((InStr(STRING007, " ") || InStr(STRING007, ",")) || InStr(STRING007, ":")) || InStr(STRING007, "\")) || InStr(STRING007, "*")) || InStr(STRING007, "<")) || InStr(STRING007, ">")) Continue
  165.                     INTEGER006 = InStr(STRING007, ".")
  166.                     If (((INTEGER006 == 0) && (INTEGER007 <= 8)) || (INTEGER007 - INTEGER006 <= 3)) Then
  167.                         STRING008 = ScrText(1, INTEGER004, 13, 1)
  168.                         Print STRING006 + "[" + String(INTEGER005) + "A"
  169.                         Color 112
  170.                         Print STRING007 + STRING005
  171.                         Return
  172.                     Endif
  173.                 Endif
  174.             Endif
  175.         Endif
  176.     EndWhile
  177.     STRING007 = ""
  178.     INTEGER004 = INTEGER004 + INTEGER005
  179.     Return
  180.     :LABEL012
  181.     Print STRING008 + STRING005
  182.     Return
  183.  
  184. ;------------------------------------------------------------------------------
  185. ;
  186. ; Usage report (before postprocessing)
  187. ;
  188. ; ■ Statements used :
  189. ;
  190. ;    4       End
  191. ;    2       ClrEol
  192. ;    1       Color 
  193. ;    38      Goto 
  194. ;    32      Let 
  195. ;    10      Print 
  196. ;    24      If 
  197. ;    2       DefColor
  198. ;    9       Gosub 
  199. ;    6       Return
  200. ;    3       KbdStuff 
  201. ;    2       SaveScrn
  202. ;    1       RestScrn
  203. ;
  204. ;
  205. ; ■ Functions used :
  206. ;
  207. ;    20      +
  208. ;    4       -
  209. ;    12      ==
  210. ;    5       <>
  211. ;    3       <
  212. ;    3       <=
  213. ;    4       >
  214. ;    3       >=
  215. ;    24      !
  216. ;    6       &&
  217. ;    9       ||
  218. ;    2       Len(
  219. ;    3       Upper()
  220. ;    2       Left()
  221. ;    4       Chr()
  222. ;    8       InStr()
  223. ;    1       RTrim()
  224. ;    1       Trim()
  225. ;    2       Inkey()
  226. ;    2       String()
  227. ;    1       AnsiOn()
  228. ;    1       GetX()
  229. ;    1       GetY()
  230. ;    4       ScrText()
  231. ;
  232. ;------------------------------------------------------------------------------
  233. ;
  234. ; Analysis flags : No flag
  235. ;
  236. ;------------------------------------------------------------------------------
  237. ;
  238. ; Postprocessing report
  239. ;
  240. ;    0       For/Next
  241. ;    2       While/EndWhile
  242. ;    19      If/Then or If/Then/Else
  243. ;    0       Select Case
  244. ;
  245. ;------------------------------------------------------------------------------
  246. ;                 AEGiS Corp - Break the routines, code against the machines!
  247. ;------------------------------------------------------------------------------
  248.