home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / CMFL_100.ZIP / CMFL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-01-25  |  6KB  |  272 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.     String   STRING001
  22.     String   TSTRING002(400)
  23.     String   TSTRING003(400)
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     String   STRING007
  28.     String   STRING008
  29.     String   STRING009
  30.     String   STRING010
  31.     String   STRING011
  32.     String   STRING012
  33.     String   STRING013
  34.     String   STRING014
  35.     String   STRING015
  36.     String   STRING016
  37.     String   STRING017
  38.     String   STRING018
  39.     String   STRING019
  40.     String   STRING020
  41.     String   STRING021
  42.     String   STRING022
  43.     String   STRING023
  44.     String   STRING024
  45.     String   STRING025
  46.     String   STRING026
  47.  
  48. ;------------------------------------------------------------------------------
  49.  
  50.     STRING009 = "C"
  51.     STRING010 = "M"
  52.     STRING011 = "F"
  53.     STRING012 = "L"
  54.     STRING008 = STRING009 + STRING010 + STRING011 + STRING012
  55.     STRING014 = "v"
  56.     STRING015 = "1"
  57.     STRING016 = "."
  58.     STRING017 = "0"
  59.     STRING018 = "0"
  60.     STRING013 = STRING014 + STRING015 + STRING016 + STRING017 + STRING018
  61.     STRING019 = PPEPath() + STRING008 + String(CurConf()) + ".DAT"
  62.     If (!Exist(STRING019)) STRING019 = PPEPath() + STRING008 + ".DAT"
  63.     If (Exist(STRING019)) Goto LABEL001
  64.     Newline
  65.     PrintLn "@X08[@X0FError@X08] @X07Configuration File Error!"
  66.     Log "" + STRING008 + " " + STRING013 + " " + "" + "[" + "E" + "r" + "r" + "o" + "r" + "]", 0
  67.     End
  68.     :LABEL001
  69.     STRING025 = "N"
  70.     STRING020 = STRING008
  71.     STRING021 = "\PCB\GEN\DIR.LST"
  72.     STRING022 = "\PCB\DIR\DIRU."
  73.     STRING023 = "Z"
  74.     STRING024 = ".ZIP"
  75.     FOpen 1, STRING019, 0, 0
  76.     FGet 1, STRING006
  77.     If (STRING006 <> "") STRING020 = RTrim(Left(Upper(STRING006), 6), " ")
  78.     FGet 1, STRING006
  79.     If ((Upper(STRING006) == "A") || (Upper(STRING006) == "Z")) STRING023 = Upper(STRING006)
  80.     FGet 1, STRING006
  81.     If (STRING006 <> "") STRING021 = Upper(STRING006)
  82.     FGet 1, STRING006
  83.     If (Left(Upper(STRING006), 1) == "Y") STRING025 = "Y"
  84.     FGet 1, STRING006
  85.     If (STRING006 <> "") STRING022 = Upper(STRING006)
  86.     FClose 1
  87.     If (Upper(STRING023) == "A") STRING024 = ".ARJ"
  88.     STRING004 = ReadLine("PC" + "Bo" + "a" + "r" + "d" + ".D" + "AT", 179)
  89.     STRING004 = STRING004 + "LIST" + Left(String(Date()), 2) + Left(Right(String(Date()), 5), 2) + "." + String(PcbNode())
  90.     STRING005 = ReadLine("PC" + "Boa" + "rd." + "DAT", 179)
  91.     STRING005 = STRING005 + STRING020 + String(PcbNode()) + STRING024
  92.     If (Exist(STRING004)) Delete STRING004
  93.     If (Exist(STRING005)) Delete STRING005
  94.     Newline
  95.     PrintLn "@X07┌─────────────────────────────────────────────────────────────────────────────@X08┐"
  96.     PrintLn "@X07│ @X0FThis utility allows you to create an up-to-the-minute complete file list of @X08│"
  97.     PrintLn "@X07│ @X0Fall file directories configured by your SysOp.   If you choose to continue, @X08│"
  98.     PrintLn "@X07│ @X0Fthis program will compile the listing, archive it, and FLAG it for download @X08│"
  99.     PrintLn "@X07│ @X0Fimmediately after the procedure.                                            @X08│"
  100.     PrintLn "@X07└@X08─────────────────────────────────────────────────────────── " + "[" + "M" + "S" + "] " + STRING008 + " " + STRING013 + " ─┘"
  101.     PrintLn "@X07┌─────────────────────────@X08┐"
  102.     PrintLn "@X07│ @X0ECreate Master List?     @X08│"
  103.     Print "@X07└@X08─────────────────────────┘AD"
  104.     While (STRING007 <> Chr(13)) Do
  105.         STRING007 = Inkey()
  106.         If (Upper(STRING007) == "Y") Then
  107.             DefColor
  108.             Print "YesAC"
  109.             Goto LABEL002
  110.         Endif
  111.         If (Upper(STRING007) == "N") Break
  112.     EndWhile
  113.     DefColor
  114.     PrintLn "No"
  115.     Newlines 2
  116.     End
  117.     :LABEL002
  118.     PrintLn "@X07┌─────────────────────────────────────────────────@X08┐"
  119.     PrintLn "C@X07│                                                 @X08│"
  120.     PrintLn "C@X07└@X08─────────────────────────────────────────────────┘"
  121.     Print "AC"
  122.     FAppend 2, STRING004, 1, 0
  123.     FPutLn 2, "┌─────────────────────────────────────────────────────────────────────────────┐"
  124.     FPutLn 2, "│ MASTER FILE LIST CREATED ON: " + String(Date()) + " @ " + String(TimeAp(Time())) + "         [MS] " + STRING008 + " " + STRING013 + " │"
  125.     FPutLn 2, "└─────────────────────────────────────────────────────────────────────────────┘"
  126.     FClose 2
  127.     INTEGER002 = 1
  128.     FOpen 1, STRING021, 0, 0
  129.     :LABEL003
  130.     If (Ferr(1)) Goto LABEL004
  131.     FRead 1, STRING001, 30
  132.     TSTRING003(INTEGER002) = RTrim(STRING001, " ")
  133.     FSeek 1, 30, 1
  134.     FRead 1, STRING001, 35
  135.     TSTRING002(INTEGER002) = RTrim(StripAtx(STRING001), " ")
  136.     FSeek 1, 1, 1
  137.     INTEGER001 = INTEGER002 - 1
  138.     Inc INTEGER002
  139.     Goto LABEL003
  140.     :LABEL004
  141.     FClose 1
  142.     For INTEGER002 = 1 To INTEGER001
  143.         If (Exist(TSTRING003(INTEGER002))) Then
  144.             Print "@X03Adding: @X0B" + String(TSTRING002(INTEGER002)) + " ..." + Space(35 - Len(TSTRING002(INTEGER002))) + "D"
  145.             FAppend 1, STRING004, 1, 0
  146.             FPutLn 1, Space(1)
  147.             FPutLn 1, TSTRING002(INTEGER002) + Space(69 - Len(TSTRING002(INTEGER002))) + STRING008 + " " + STRING013
  148.             FPutLn 1, "───────────────────────────────────────────────────────────────────────────────"
  149.             FClose 1
  150.             Append TSTRING003(INTEGER002), STRING004
  151.         Endif
  152.     Next
  153.     If (Upper(STRING025) == "Y") Then
  154.         Print "@X03Adding: @X0BUpLoad Directory ..." + Space(19) + "D"
  155.         FAppend 1, STRING004, 1, 0
  156.         FPutLn 1, Space(1)
  157.         FPutLn 1, "UpLoad Directory                                                     " + STRING008 + " " + STRING013
  158.         FPutLn 1, "───────────────────────────────────────────────────────────────────────────────"
  159.         FClose 1
  160.         Append STRING022, STRING004
  161.         FAppend 1, STRING004, 1, 0
  162.         FPutLn 1, Space(1)
  163.         FPutLn 1, "─────────────────────────────────────────────────────────────────────── [END] ─"
  164.         FClose 1
  165.     Endif
  166.     Print "@X8B* Archiving & Flagging File List for DownLoad *D"
  167.     If (Upper(STRING023) == "A") Then
  168.         Shell 1, STRING006, "A" + "R" + "J a -e " + STRING005, STRING004
  169.     Else
  170.         Shell 1, STRING006, "PK" + "Z" + "IP " + STRING005, STRING004
  171.     Endif
  172.     Print "@X0BThe archived file has been flagged for downloadD"
  173.     Newlines 2
  174.     Delete STRING004
  175.     Flag STRING005
  176.     Download ""
  177.     Delete STRING005
  178.     End
  179.     STRING026 = "    ■ Custom Encrypt-O-Matic PPE Compression v2.15 * [/Minimum Non-Text Encryption] ■     "
  180.  
  181. ;------------------------------------------------------------------------------
  182. ;
  183. ; Usage report (before postprocessing)
  184. ;
  185. ; ■ Statements used :
  186. ;
  187. ;    3       End
  188. ;    14      Goto 
  189. ;    37      Let 
  190. ;    7       Print 
  191. ;    13      PrintLn 
  192. ;    18      If 
  193. ;    2       FOpen 
  194. ;    4       FAppend 
  195. ;    6       FClose 
  196. ;    5       FGet 
  197. ;    11      FPutLn 
  198. ;    2       DefColor
  199. ;    4       Delete 
  200. ;    1       Log 
  201. ;    1       Inc 
  202. ;    2       Newline
  203. ;    2       Newlines 
  204. ;    2       Shell 
  205. ;    2       FSeek 
  206. ;    2       FRead 
  207. ;    2       Append 
  208. ;    1       Flag 
  209. ;    1       Download 
  210. ;
  211. ;
  212. ; ■ Functions used :
  213. ;
  214. ;    77      +
  215. ;    3       -
  216. ;    8       ==
  217. ;    4       <>
  218. ;    1       <
  219. ;    1       <=
  220. ;    2       >=
  221. ;    9       !
  222. ;    2       &&
  223. ;    2       ||
  224. ;    2       Len(
  225. ;    12      Upper()
  226. ;    4       Left()
  227. ;    1       Right()
  228. ;    6       Space()
  229. ;    1       Ferr()
  230. ;    1       Chr()
  231. ;    3       RTrim()
  232. ;    3       Date()
  233. ;    1       Time()
  234. ;    1       TimeAp()
  235. ;    1       StripAtx()
  236. ;    1       Inkey()
  237. ;    8       String()
  238. ;    1       CurConf()
  239. ;    2       PPEPath()
  240. ;    2       PcbNode()
  241. ;    2       ReadLine()
  242. ;    5       Exist()
  243. ;
  244. ;------------------------------------------------------------------------------
  245. ;
  246. ; Analysis flags : Sf
  247. ;
  248. ; S - Shell to DOS ■ 5
  249. ;     This may be normal if the PPE need to execute an external command,
  250. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  251. ;     or usefull (sorting, maintenance,...). Check!
  252. ;     ■ Search for : SHELL
  253. ;
  254. ; f - Flag files for download ■ 3
  255. ;     This may be normal if a PPE needs to send some files, but since
  256. ;     this statement allows flagging of any file on the hard disk, you
  257. ;     have to be carefull. Check!
  258. ;     ■ Search for : FLAG
  259. ;
  260. ;------------------------------------------------------------------------------
  261. ;
  262. ; Postprocessing report
  263. ;
  264. ;    1       For/Next
  265. ;    1       While/EndWhile
  266. ;    4       If/Then or If/Then/Else
  267. ;    0       Select Case
  268. ;
  269. ;------------------------------------------------------------------------------
  270. ;                 AEGiS Corp - Break the routines, code against the machines!
  271. ;------------------------------------------------------------------------------
  272.