home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / vrac / dwnld15.zip / DWNLDCD.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-01-21  |  6KB  |  273 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.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     String   STRING001
  32.     String   STRING002
  33.     String   STRING003
  34.     String   STRING004
  35.     String   STRING005
  36.     String   STRING006
  37.     String   STRING007
  38.     String   STRING008
  39.     String   STRING009
  40.  
  41. ;------------------------------------------------------------------------------
  42.  
  43.     If (AnsiOn()) Goto LABEL001
  44.     Print "Enter the filename to Download (Enter)=none"
  45.     Goto LABEL003
  46.     :LABEL001
  47.     If (PcbNode() == 0) Then
  48.         STRING004 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST."
  49.     Else
  50.         STRING004 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
  51.     Endif
  52.     STRING007 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.TMP"
  53.     INTEGER012 = 0
  54.     INTEGER005 = 0
  55.     INTEGER008 = 0
  56.     INTEGER009 = 0
  57.     INTEGER010 = 0
  58.     STRING002 = 1
  59.     INTEGER002 = 1
  60.     FOpen 1, STRING004, 0, 0
  61.     FDefIn 1
  62.     FSeek 1, 0, 0
  63.     For INTEGER002 = 1 To 100000
  64.         FSeek 1, 66, 1
  65.         FDRead STRING003, 13
  66.         If (Ferr(1)) Break
  67.         FSeek 1, 50, 1
  68.     Next
  69.     If (Exist(STRING007)) Then
  70.         STRING008 = FileInf(STRING004, 3)
  71.         STRING009 = FileInf(STRING007, 3)
  72.         If (Left(STRING009, 2) < Left(STRING008, 2)) Then
  73.             If (Mid(STRING009, 4, 2) < Mid(STRING008, 4, 2)) Then
  74.                 If (Right(STRING009, 2) < Right(STRING008, 2)) Goto LABEL002
  75.             Endif
  76.         Endif
  77.         FOpen 2, STRING007, 0, 0
  78.         FGet 2, INTEGER008
  79.         FClose 2
  80.     Else
  81.         Goto LABEL002
  82.     Endif
  83.     If (INTEGER002 == 1) Goto LABEL002
  84.     If (INTEGER008 + 1 <> INTEGER002) Wait
  85.     :LABEL002
  86.     Delete STRING007
  87.     FOpen 2, STRING007, 1, 0
  88.     FPut 2, INTEGER002
  89.     FClose 2
  90.     INTEGER001 = INTEGER002
  91.     INTEGER008 = 0
  92.     If (GrafMode() == "R") Then
  93.         PrintLn " "
  94.         PrintLn "!|1K|*"
  95.     Endif
  96.     PrintLn "@CLS@@X0A ┌────────────────────────────────────────────────────────────────────────────┐"
  97.     PrintLn " │  @X09░▒▓█@X1B         Statistics for the last 10 files in your batch         @X09█▓▒░@X0A  │"
  98.     PrintLn " │                                                                            │"
  99.     PrintLn " │   @X0BNum      Filename         Size        Transfer Time     Free    No Time  @X0A│"
  100.     PrintLn " │  @X0D────    ────────────    ──────────    ───────────────    ────    ───────  @X0A│"
  101.     FSeek 1, 0, 0
  102.     If (INTEGER001 > 10) Then
  103.         For INTEGER002 = 1 To INTEGER001 - 10
  104.             FSeek 1, 83, 1
  105.             FDRead STRING001, 1
  106.             If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
  107.             FDRead STRING001, 1
  108.             If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
  109.             FDRead STRING001, 1
  110.             If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
  111.             INTEGER005 = INTEGER005 + INTEGER008 + INTEGER009 + INTEGER010
  112.             FSeek 1, 43, 1
  113.         Next
  114.     Else
  115.         INTEGER001 = 10
  116.     Endif
  117.     STRING002 = INTEGER001 - 9
  118.     For INTEGER002 = 1 To INTEGER001
  119.         INTEGER008 = 0
  120.         INTEGER009 = 0
  121.         INTEGER010 = 0
  122.         FSeek 1, 66, 1
  123.         FDRead STRING003, 13
  124.         If (Ferr(1)) Break
  125.         FDRead STRING001, 1
  126.         If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
  127.         FDRead STRING001, 1
  128.         If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
  129.         FDRead STRING001, 1
  130.         If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
  131.         INTEGER011 = INTEGER008 + INTEGER009 + INTEGER010
  132.         INTEGER008 = 0
  133.         INTEGER009 = 0
  134.         INTEGER010 = 0
  135.         FSeek 1, 1, 1
  136.         FDRead STRING001, 1
  137.         If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
  138.         FDRead STRING001, 1
  139.         If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
  140.         FDRead STRING001, 1
  141.         If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
  142.         INTEGER006 = INTEGER008 + INTEGER009 + INTEGER010
  143.         INTEGER005 = INTEGER005 + INTEGER006
  144.         FSeek 1, 9, 1
  145.         FDRead STRING006, 1
  146.         FDRead STRING005, 1
  147.         FSeek 1, 32, 1
  148.         INTEGER007 = INTEGER006 / 60
  149.         INTEGER006 = INTEGER006 - INTEGER007 * 60
  150.         Print " │@X0B" + Left("     ", 6 - Len(STRING002)) + String(STRING002) + Left("                 ", 16 - Len(STRING003)) + "@X0F"
  151.         Print STRING003 + Left("               ", 14 - Len(String(INTEGER011)))
  152.         Print String(INTEGER011) + Left("         ", 8 - Len(INTEGER007))
  153.         Print String(INTEGER007) + " @X07min@X0F" + Left("    ", 3 - Len(String(INTEGER006))) + String(INTEGER006) + " @X07sec      "
  154.         If (Asc(STRING006) == 1) Then
  155.             Print "@X0CY"
  156.         Else
  157.             Print "@X0EN"
  158.         Endif
  159.         If (Asc(STRING005) == 1) Then
  160.             Print "        @X0CY"
  161.         Else
  162.             Print "        @X0C@X0EN"
  163.         Endif
  164.         AnsiPos 79, 5 + INTEGER002
  165.         PrintLn "@X0A│"
  166.         AnsiPos 1, 6 + INTEGER002
  167.         Inc STRING002
  168.     Next
  169.     For INTEGER002 = INTEGER002 To 10
  170.         PrintLn " @X0A│@X0B" + Left("     ", 6 - Len(STRING002)) + String(STRING002) + "                             @X0F0       0 @X07min  @X0F0 @X07sec                     @X0A│"
  171.         Inc STRING002
  172.     Next
  173.     PrintLn " │                                                                            │"
  174.     PrintLn " │  @X09░▒▓█@X1B                Statistics for the ENTIRE batch                 @X09█▓▒░@X0A  │"
  175.     PrintLn " │                                                                            │"
  176.     Print " │    @X07Files: @X0F@FFILES:3@  @X07Size (bytes): @X0F@FBYTES:12@  @X07Estimated time: @X0F"
  177.     INTEGER012 = S2I(Trim(ScrText(14, 19, 2, 0), " "), 10)
  178.     INTEGER003 = INTEGER005 / 60
  179.     INTEGER004 = INTEGER005 - INTEGER003 * 60
  180.     Print String(INTEGER003) + " @X07min" + " @X0F" + String(INTEGER004) + " @X07sec@X0A"
  181.     AnsiPos 79, 19
  182.     PrintLn "│"
  183.     PrintLn " └────────────────────────────────────────────────────────────────────────────┘"
  184.     PrintLn "           @X07Enter @X0Ffilename @X07on line above, or (@X0CENTER@X07) alone to continue@X08       1.5"
  185.     If (INTEGER012 > 9) INTEGER012 = 9
  186.     AnsiPos 13, 6 + INTEGER012
  187.     STRING003 = ""
  188.     InputStr "_", STRING003, 7, 12, Mask_File() + "*?", 8
  189.     AnsiPos 1, 21
  190.     STRING003 = Trim(STRING003, " ")
  191.     If (Len(STRING003) == 0) STRING003 = Chr(13)
  192.     KbdStuff STRING003
  193.     :LABEL003
  194.     End
  195.  
  196. ;------------------------------------------------------------------------------
  197. ;
  198. ; Usage report (before postprocessing)
  199. ;
  200. ; ■ Statements used :
  201. ;
  202. ;    1       End
  203. ;    1       Wait
  204. ;    28      Goto 
  205. ;    52      Let 
  206. ;    11      Print 
  207. ;    15      PrintLn 
  208. ;    29      If 
  209. ;    3       FOpen 
  210. ;    2       FClose 
  211. ;    1       FGet 
  212. ;    1       FPut 
  213. ;    1       Delete 
  214. ;    1       InputStr 
  215. ;    2       Inc 
  216. ;    1       KbdStuff 
  217. ;    5       AnsiPos 
  218. ;    10      FSeek 
  219. ;    1       FDefIn 
  220. ;    13      FDRead 
  221. ;
  222. ;
  223. ; ■ Functions used :
  224. ;
  225. ;    8       *
  226. ;    2       /
  227. ;    41      +
  228. ;    11      -
  229. ;    6       ==
  230. ;    10      <>
  231. ;    7       <
  232. ;    4       <=
  233. ;    2       >
  234. ;    8       >=
  235. ;    13      !
  236. ;    8       &&
  237. ;    4       ||
  238. ;    7       Len(
  239. ;    2       Mid()
  240. ;    8       Left()
  241. ;    2       Right()
  242. ;    2       Ferr()
  243. ;    1       Chr()
  244. ;    20      Asc()
  245. ;    2       Trim()
  246. ;    10      String()
  247. ;    1       Mask_File()
  248. ;    2       PcbNode()
  249. ;    6       GetEnv()
  250. ;    1       Exist()
  251. ;    1       S2I()
  252. ;    1       AnsiOn()
  253. ;    1       GrafMode()
  254. ;    2       FileInf()
  255. ;    1       ScrText()
  256. ;
  257. ;------------------------------------------------------------------------------
  258. ;
  259. ; Analysis flags : No flag
  260. ;
  261. ;------------------------------------------------------------------------------
  262. ;
  263. ; Postprocessing report
  264. ;
  265. ;    4       For/Next
  266. ;    0       While/EndWhile
  267. ;    8       If/Then or If/Then/Else
  268. ;    0       Select Case
  269. ;
  270. ;------------------------------------------------------------------------------
  271. ;                 AEGiS Corp - Break the routines, code against the machines!
  272. ;------------------------------------------------------------------------------
  273.