home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / F / FN110.ZIP / FLAGNEW.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-09-27  |  5KB  |  283 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.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Integer  INTEGER001
  23.     Integer  INTEGER002
  24.     Integer  INTEGER003
  25.     Integer  INTEGER004
  26.     Integer  INTEGER005
  27.     Integer  INTEGER006
  28.     Integer  INTEGER007
  29.     Integer  INTEGER008
  30.     String   STRING001
  31.     String   STRING002
  32.     String   STRING003
  33.     String   STRING004
  34.     String   STRING005
  35.     String   STRING006
  36.     String   STRING007
  37.     String   STRING008
  38.     String   STRING009
  39.     String   STRING010
  40.     String   STRING011
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     INTEGER004 = 255
  45.     STRING003 = "A"
  46.     INTEGER002 = 0
  47.     STRING008 = ""
  48.     BOOLEAN003 = 1
  49.     STRING001 = "FlagNew v1.10"
  50.     Cls
  51.     GetUser
  52.     PrintLn "@X0F@POS:18@▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"
  53.     PrintLn "@POS:18@@X71 " + STRING001 + "   (C) 1993   Mike Paschen @X0F"
  54.     PrintLn "@X08@POS:18@▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  55.     PrintLn 
  56.     PrintLn "@X0EAll files that are found during a file search later than a specified date"
  57.     PrintLn "within a range of directories will be flagged for later download."
  58.     PrintLn 
  59.     Log "■ " + STRING001, 0
  60.     STRING002 = TokenStr()
  61.     Tokenize STRING002
  62.     INTEGER008 = TokCount()
  63.     If (INTEGER008 == 0) Then
  64.         PrintLn "@X0CSetup error! No parameter given! Aborting..."
  65.         Stop
  66.     Endif
  67.     STRING009 = GetToken()
  68.     If (Right(STRING009, 1) <> "\") Then
  69.         STRING009 = STRING009 + "\"
  70.     Endif
  71.     If (INTEGER008 == 2) Then
  72.         STRING003 = GetToken()
  73.     Endif
  74.     STRING011 = ReadLine(PCBDat(), 32)
  75.     FOpen 1, STRING011, 0, 0
  76.     While (!Ferr(1) && BOOLEAN003) Do
  77.         FGet 1, STRING006
  78.         STRING006 = Trim(Mid(STRING006, InStr(STRING006, ",") + 1, 80), " ")
  79.         INTEGER005 = S2I(Left(STRING006, InStr(STRING006, ",") - 1), 10)
  80.         If (INTEGER005 == U_Sec) Then
  81.             For INTEGER003 = 1 To 4
  82.                 STRING006 = Right(STRING006, Len(STRING006) - InStr(STRING006, ","))
  83.             Next
  84.             INTEGER004 = S2I(Left(STRING006, InStr(STRING006, ",") - 1), 10)
  85.             BOOLEAN003 = 0
  86.         Endif
  87.     EndWhile
  88.     FClose 1
  89.     STRING004 = String(U_LDir())
  90.     STRING004 = Left(STRING004, 2) + Mid(STRING004, 4, 2) + Right(STRING004, 2)
  91.     InputStr "@X03Enter new date as (@X0Ammddyy@X03) to begin file flagging", STRING004, 10, 6, Mask_Num(), 1024 + 2 + 4 + 256
  92.     If (Len(Trim(STRING004, " ")) == 0) Then
  93.         Gosub LABEL002
  94.     Endif
  95.     If (!U_Expert && Exist(PPEPath() + "flagnew")) Then
  96.         DispFile PPEPath() + "flagnew", 1 + 2 + 4
  97.     Endif
  98.     PrintLn 
  99.     InputStr "@X03Enter directories to include for file flagging", STRING003, 15, 25, " 0123456789AUP-,", 2 + 4 + 256 + 8
  100.     If (Len(Trim(STRING003, " ")) == 0) Then
  101.         Gosub LABEL002
  102.     Endif
  103.     PrintLn 
  104.     BOOLEAN002 = ShowStat()
  105.     OpenCap "flagnew.cap", BOOLEAN001
  106.     If (BOOLEAN001) Goto LABEL001
  107.     PrintLn "@X0BScanning file base for new files..."
  108.     ShowOff
  109.     Log "■ Date: " + Left(STRING004, 2) + "-" + Mid(STRING004, 3, 2) + "-" + Right(STRING004, 2) + " ■ Area: " + Trim(STRING003, " "), 0
  110.     STRING005 = "N;" + STRING004 + ";" + Trim(STRING003, " ") + ";NS"
  111.     KbdStuff Chr(13)
  112.     Dir STRING005
  113.     CloseCap 
  114.     BOOLEAN003 = 1
  115.     ShowOn
  116.     PrintLn 
  117.     PrintLn "@X0BFlagging files for download..."
  118.     FCreate 1, "flagnew.kbd", 1, 3
  119.     FOpen 2, "flagnew.cap", 0, 0
  120.     While (!Ferr(2) && BOOLEAN003) Do
  121.         FGet 2, STRING006
  122.         STRING007 = Trim(Left(STRING006, 13), " ")
  123.         INTEGER006 = Len(STRING007)
  124.         If ((INTEGER006 >= 1) && (INTEGER006 <= 12)) Then
  125.             If ((((((InStr(STRING007, " ") || InStr(STRING007, ",")) || InStr(STRING007, ":")) || InStr(STRING007, "\")) || InStr(STRING007, "*")) || InStr(STRING007, "<")) || InStr(STRING007, ">")) Continue
  126.             INTEGER007 = InStr(STRING007, ".")
  127.             If (Upper(STRING007) <> "SCANNING") Then
  128.                 If (((INTEGER007 == 0) && (INTEGER006 <= 8)) || (INTEGER006 - INTEGER007 <= 3)) Then
  129.                     If (INTEGER002 < INTEGER004) Then
  130.                         STRING008 = STRING008 + STRING007 + " "
  131.                         Inc INTEGER002
  132.                         If (INTEGER002 % 10 == 0) Then
  133.                             FPutLn 1, "FLAG ", STRING008
  134.                             STRING008 = ""
  135.                         Endif
  136.                         Continue
  137.                     Endif
  138.                     BOOLEAN003 = 0
  139.                 Endif
  140.             Endif
  141.         Endif
  142.     EndWhile
  143.     If (Len(STRING008) > 0) Then
  144.         FPutLn 1, "FLAG ", STRING008
  145.     Endif
  146.     FClose 2
  147.     FClose 1
  148.     :LABEL001
  149.     If (Exist("flagnew.kbd")) Then
  150.         PrintLn 
  151.         PrintLn "@X0BCreating ZIP file with file descriptions..."
  152.         STRING010 = "fdesc" + String(PcbNode())
  153.         If (Exist(STRING009 + STRING010 + ".zip")) Then
  154.             Shell 1, INTEGER001, "del", STRING009 + STRING010 + ".zip"
  155.         Endif
  156.         Shell 1, INTEGER001, "PkZip", "-m " + STRING009 + STRING010 + " flagnew.cap"
  157.         ShowOff
  158.         If (Exist(STRING009 + STRING010 + ".zip")) Then
  159.             KbdStuff "FLAG " + STRING010 + ".zip"
  160.         Endif
  161.         If (FileInf("flagnew.kbd", 4) > 0) Then
  162.             KbdFile "flagnew.kbd"
  163.         Endif
  164.     Else
  165.         Shell 1, INTEGER001, "del", "flagnew.cap"
  166.     Endif
  167.     If (BOOLEAN002) Then
  168.         ShowOn
  169.     Else
  170.         ShowOff
  171.     Endif
  172.     DefColor
  173.     End
  174.     :LABEL002
  175.     PrintLn 
  176.     PrintLn "@X07■ @X0CAborted!"
  177.     PrintLn 
  178.     Stop
  179.  
  180. ;------------------------------------------------------------------------------
  181. ;
  182. ; Usage report (before postprocessing)
  183. ;
  184. ; ■ Statements used :
  185. ;
  186. ;    1       End
  187. ;    1       Cls
  188. ;    29      Goto 
  189. ;    31      Let 
  190. ;    18      PrintLn 
  191. ;    23      If 
  192. ;    1       DispFile 
  193. ;    1       FCreate 
  194. ;    2       FOpen 
  195. ;    3       FClose 
  196. ;    2       FGet 
  197. ;    2       FPutLn 
  198. ;    1       GetUser
  199. ;    1       DefColor
  200. ;    2       Log 
  201. ;    2       InputStr 
  202. ;    2       Gosub 
  203. ;    1       Inc 
  204. ;    1       Tokenize 
  205. ;    3       Shell 
  206. ;    2       Stop
  207. ;    2       KbdStuff 
  208. ;    1       Dir 
  209. ;    1       KbdFile 
  210. ;    1       OpenCap 
  211. ;    1       CloseCap 
  212. ;    2       ShowOn
  213. ;    3       ShowOff
  214. ;
  215. ;
  216. ; ■ Functions used :
  217. ;
  218. ;    1       %
  219. ;    43      +
  220. ;    4       -
  221. ;    7       ==
  222. ;    2       <>
  223. ;    2       <
  224. ;    4       <=
  225. ;    2       >
  226. ;    3       >=
  227. ;    26      !
  228. ;    7       &&
  229. ;    8       ||
  230. ;    5       Len(
  231. ;    1       Upper()
  232. ;    3       Mid()
  233. ;    5       Left()
  234. ;    4       Right()
  235. ;    2       Ferr()
  236. ;    1       Chr()
  237. ;    12      InStr()
  238. ;    6       Trim()
  239. ;    1       U_LDir()
  240. ;    2       String()
  241. ;    1       Mask_Num()
  242. ;    1       PCBDat()
  243. ;    2       PPEPath()
  244. ;    1       PcbNode()
  245. ;    1       ReadLine()
  246. ;    2       GetToken()
  247. ;    4       Exist()
  248. ;    2       S2I()
  249. ;    1       TokenStr()
  250. ;    1       FileInf()
  251. ;    1       TokCount()
  252. ;    1       ShowStat()
  253. ;
  254. ;------------------------------------------------------------------------------
  255. ;
  256. ; Analysis flags : Sd
  257. ;
  258. ; S - Shell to DOS ■ 5
  259. ;     This may be normal if the PPE need to execute an external command,
  260. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  261. ;     or usefull (sorting, maintenance,...). Check!
  262. ;     ■ Search for : SHELL
  263. ;
  264. ; d - Access PCBOARD.DAT ■ 2
  265. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  266. ;     for many PPE so they can find various informations on the system
  267. ;     (system paths, max number of lines in messages, ...) but it may also
  268. ;     be a way to gather vital informations.
  269. ;     ■ Search for : PCBDAT()
  270. ;
  271. ;------------------------------------------------------------------------------
  272. ;
  273. ; Postprocessing report
  274. ;
  275. ;    1       For/Next
  276. ;    2       While/EndWhile
  277. ;    18      If/Then or If/Then/Else
  278. ;    0       Select Case
  279. ;
  280. ;------------------------------------------------------------------------------
  281. ;                 AEGiS Corp - Break the routines, code against the machines!
  282. ;------------------------------------------------------------------------------
  283.