home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
vrac
/
dwnld15.zip
/
DWNLDCD.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-01-21
|
6KB
|
273 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
;------------------------------------------------------------------------------
If (AnsiOn()) Goto LABEL001
Print "Enter the filename to Download (Enter)=none"
Goto LABEL003
:LABEL001
If (PcbNode() == 0) Then
STRING004 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST."
Else
STRING004 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
Endif
STRING007 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.TMP"
INTEGER012 = 0
INTEGER005 = 0
INTEGER008 = 0
INTEGER009 = 0
INTEGER010 = 0
STRING002 = 1
INTEGER002 = 1
FOpen 1, STRING004, 0, 0
FDefIn 1
FSeek 1, 0, 0
For INTEGER002 = 1 To 100000
FSeek 1, 66, 1
FDRead STRING003, 13
If (Ferr(1)) Break
FSeek 1, 50, 1
Next
If (Exist(STRING007)) Then
STRING008 = FileInf(STRING004, 3)
STRING009 = FileInf(STRING007, 3)
If (Left(STRING009, 2) < Left(STRING008, 2)) Then
If (Mid(STRING009, 4, 2) < Mid(STRING008, 4, 2)) Then
If (Right(STRING009, 2) < Right(STRING008, 2)) Goto LABEL002
Endif
Endif
FOpen 2, STRING007, 0, 0
FGet 2, INTEGER008
FClose 2
Else
Goto LABEL002
Endif
If (INTEGER002 == 1) Goto LABEL002
If (INTEGER008 + 1 <> INTEGER002) Wait
:LABEL002
Delete STRING007
FOpen 2, STRING007, 1, 0
FPut 2, INTEGER002
FClose 2
INTEGER001 = INTEGER002
INTEGER008 = 0
If (GrafMode() == "R") Then
PrintLn ""
PrintLn "!|1K|*"
Endif
PrintLn "@CLS@@X0A ┌────────────────────────────────────────────────────────────────────────────┐"
PrintLn " │ @X09░▒▓█@X1B Statistics for the last 10 files in your batch @X09█▓▒░@X0A │"
PrintLn " │ │"
PrintLn " │ @X0BNum Filename Size Transfer Time Free No Time @X0A│"
PrintLn " │ @X0D──── ──────────── ────────── ─────────────── ──── ─────── @X0A│"
FSeek 1, 0, 0
If (INTEGER001 > 10) Then
For INTEGER002 = 1 To INTEGER001 - 10
FSeek 1, 83, 1
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
INTEGER005 = INTEGER005 + INTEGER008 + INTEGER009 + INTEGER010
FSeek 1, 43, 1
Next
Else
INTEGER001 = 10
Endif
STRING002 = INTEGER001 - 9
For INTEGER002 = 1 To INTEGER001
INTEGER008 = 0
INTEGER009 = 0
INTEGER010 = 0
FSeek 1, 66, 1
FDRead STRING003, 13
If (Ferr(1)) Break
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
INTEGER011 = INTEGER008 + INTEGER009 + INTEGER010
INTEGER008 = 0
INTEGER009 = 0
INTEGER010 = 0
FSeek 1, 1, 1
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER008 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 65536 * Asc(STRING001)
INTEGER006 = INTEGER008 + INTEGER009 + INTEGER010
INTEGER005 = INTEGER005 + INTEGER006
FSeek 1, 9, 1
FDRead STRING006, 1
FDRead STRING005, 1
FSeek 1, 32, 1
INTEGER007 = INTEGER006 / 60
INTEGER006 = INTEGER006 - INTEGER007 * 60
Print " │@X0B" + Left(" ", 6 - Len(STRING002)) + String(STRING002) + Left(" ", 16 - Len(STRING003)) + "@X0F"
Print STRING003 + Left(" ", 14 - Len(String(INTEGER011)))
Print String(INTEGER011) + Left(" ", 8 - Len(INTEGER007))
Print String(INTEGER007) + " @X07min@X0F" + Left(" ", 3 - Len(String(INTEGER006))) + String(INTEGER006) + " @X07sec "
If (Asc(STRING006) == 1) Then
Print "@X0CY"
Else
Print "@X0EN"
Endif
If (Asc(STRING005) == 1) Then
Print " @X0CY"
Else
Print " @X0C@X0EN"
Endif
AnsiPos 79, 5 + INTEGER002
PrintLn "@X0A│"
AnsiPos 1, 6 + INTEGER002
Inc STRING002
Next
For INTEGER002 = INTEGER002 To 10
PrintLn " @X0A│@X0B" + Left(" ", 6 - Len(STRING002)) + String(STRING002) + " @X0F0 0 @X07min @X0F0 @X07sec @X0A│"
Inc STRING002
Next
PrintLn " │ │"
PrintLn " │ @X09░▒▓█@X1B Statistics for the ENTIRE batch @X09█▓▒░@X0A │"
PrintLn " │ │"
Print " │ @X07Files: @X0F@FFILES:3@ @X07Size (bytes): @X0F@FBYTES:12@ @X07Estimated time: @X0F"
INTEGER012 = S2I(Trim(ScrText(14, 19, 2, 0), " "), 10)
INTEGER003 = INTEGER005 / 60
INTEGER004 = INTEGER005 - INTEGER003 * 60
Print String(INTEGER003) + " @X07min" + " @X0F" + String(INTEGER004) + " @X07sec@X0A"
AnsiPos 79, 19
PrintLn "│"
PrintLn " └────────────────────────────────────────────────────────────────────────────┘"
PrintLn " @X07Enter @X0Ffilename @X07on line above, or (@X0CENTER@X07) alone to continue@X08 1.5"
If (INTEGER012 > 9) INTEGER012 = 9
AnsiPos 13, 6 + INTEGER012
STRING003 = ""
InputStr "_", STRING003, 7, 12, Mask_File() + "*?", 8
AnsiPos 1, 21
STRING003 = Trim(STRING003, " ")
If (Len(STRING003) == 0) STRING003 = Chr(13)
KbdStuff STRING003
:LABEL003
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Wait
; 28 Goto
; 52 Let
; 11 Print
; 15 PrintLn
; 29 If
; 3 FOpen
; 2 FClose
; 1 FGet
; 1 FPut
; 1 Delete
; 1 InputStr
; 2 Inc
; 1 KbdStuff
; 5 AnsiPos
; 10 FSeek
; 1 FDefIn
; 13 FDRead
;
;
; ■ Functions used :
;
; 8 *
; 2 /
; 41 +
; 11 -
; 6 ==
; 10 <>
; 7 <
; 4 <=
; 2 >
; 8 >=
; 13 !
; 8 &&
; 4 ||
; 7 Len(
; 2 Mid()
; 8 Left()
; 2 Right()
; 2 Ferr()
; 1 Chr()
; 20 Asc()
; 2 Trim()
; 10 String()
; 1 Mask_File()
; 2 PcbNode()
; 6 GetEnv()
; 1 Exist()
; 1 S2I()
; 1 AnsiOn()
; 1 GrafMode()
; 2 FileInf()
; 1 ScrText()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------