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