home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
DWNLDCD.ZIP
/
DWNLDCD.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-01-02
|
6KB
|
249 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
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
;------------------------------------------------------------------------------
If (AnsiOn()) Goto LABEL001
Print "Enter the filename to Download (Enter)=none"
Goto LABEL002
:LABEL001
If (PcbNode() == 0) Then
STRING008 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST."
Else
STRING008 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
Endif
STRING004 = 0
INTEGER008 = 0
INTEGER009 = 0
INTEGER010 = 0
STRING002 = 1
INTEGER002 = 1
FOpen 1, STRING008, 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
INTEGER001 = INTEGER002
If (INTEGER002 <> 1) Wait
PrintLn ""
PrintLn "!|1K|*"
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, 129, 1
Next
Else
INTEGER001 = 10
Endif
STRING002 = INTEGER001 - 9
For INTEGER002 = 1 To INTEGER001
FSeek 1, 66, 1
FDRead STRING003, 13
If (Ferr(1)) Break
FDRead STRING001, 4
STRING001 = Trim(STRING001, " ")
INTEGER008 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER009 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER010 = 65536 * Asc(Right(STRING001, 1))
STRING005 = INTEGER008 + INTEGER009 + INTEGER010
INTEGER009 = 0
INTEGER010 = 0
FDRead STRING001, 3
STRING001 = Trim(STRING001, " ")
INTEGER008 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER009 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER010 = 65536 * Asc(Right(STRING001, 1))
STRING007 = INTEGER008 + INTEGER009 + INTEGER010
FSeek 1, 9, 1
FDRead STRING010, 1
FDRead STRING009, 1
FSeek 1, 32, 1
STRING006 = String(S2I(STRING007, 10) / 60)
STRING007 = String(S2I(STRING007, 10) - S2I(STRING006, 10) * 60)
Print " │@X0B" + Left(" ", 6 - Len(STRING002)) + String(STRING002) + Left(" ", 16 - Len(STRING003)) + "@X0F"
Print STRING003 + Left(" ", 14 - Len(STRING005))
Print STRING005 + Left(" ", 8 - Len(STRING006))
Print STRING006 + " @X07min@X0F" + Left(" ", 3 - Len(String(STRING007))) + String(STRING007) + " @X07sec "
If (Asc(STRING010) == 1) Then
Print "@X0CY"
Else
Print "@X0EN"
Endif
Print " "
If (Asc(STRING009) == 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"
STRING004 = Trim(ScrText(14, 19, 2, 0), " ")
INTEGER003 = S2I(Trim(ScrText(33, 19, 12, 0), " "), 10)
If (OnLocal()) Then
INTEGER006 = 0.09 * ReadLine(PCBDat(), 53)
Else
INTEGER006 = Carrier() / 10
If (ErrCorrect()) Then
INTEGER006 = INTEGER006 * 1.05
Else
INTEGER006 = 0.96 * INTEGER006
Endif
Endif
INTEGER007 = INTEGER006 * 60
INTEGER004 = INTEGER003 / INTEGER007
INTEGER005 = INTEGER003 / INTEGER006 - INTEGER004 * 60
Print String(INTEGER004) + " @X07min" + " @X0F" + String(INTEGER005) + " @X07sec@X0A"
AnsiPos 79, 19
PrintLn "│"
PrintLn " └────────────────────────────────────────────────────────────────────────────┘"
PrintLn " @X07Enter @X0Ffilename @X07on line above, or (@X0CENTER@X07) alone to continue"
If (S2I(STRING004, 10) > 9) STRING004 = 9
AnsiPos 13, 6 + STRING004
STRING003 = ""
InputStr "_", STRING003, 7, 12, Mask_File(), 8
AnsiPos 1, 21
STRING003 = Trim(STRING003, " ")
If (Len(STRING003) == 0) STRING003 = Chr(13)
KbdStuff STRING003
:LABEL002
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Wait
; 24 Goto
; 46 Let
; 12 Print
; 15 PrintLn
; 20 If
; 1 FOpen
; 1 InputStr
; 2 Inc
; 1 KbdStuff
; 5 AnsiPos
; 8 FSeek
; 1 FDefIn
; 6 FDRead
;
;
; ■ Functions used :
;
; 10 *
; 4 /
; 33 +
; 11 -
; 6 ==
; 1 <>
; 4 <
; 4 <=
; 4 >
; 8 >=
; 11 !
; 8 &&
; 4 ||
; 11 Len(
; 2 Mid()
; 8 Left()
; 2 Right()
; 2 Ferr()
; 1 Chr()
; 8 Asc()
; 5 Trim()
; 9 String()
; 1 Mask_File()
; 1 PCBDat()
; 2 PcbNode()
; 1 ReadLine()
; 1 OnLocal()
; 4 GetEnv()
; 5 S2I()
; 1 Carrier()
; 1 AnsiOn()
; 2 ScrText()
; 1 ErrCorrect()
;
;------------------------------------------------------------------------------
;
; Analysis flags : d
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 0 While/EndWhile
; 6 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------