home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
SCUM_FPS.ZIP
/
DWNLD.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-01-31
|
7KB
|
328 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
;------------------------------------------------------------------------------
Date DATE001
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
;------------------------------------------------------------------------------
If (Exist("DLINFO.FPS")) Delete "DLINFO.FPS"
If (AnsiOn()) Goto LABEL001
Print "Enter the filename to Download (Enter)=none"
Goto LABEL002
:LABEL001
STRING008 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
STRING004 = 0
INTEGER010 = 0
INTEGER011 = 0
INTEGER012 = 0
STRING002 = 1
INTEGER002 = 1
INTEGER016 = 0
INTEGER017 = ReadLine(PPEPath() + "PCBFPS.CFG", 2)
If (Exist(STRING008)) Then
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
Endif
INTEGER001 = INTEGER002
If (INTEGER002 <> 1) Then
Wait
Else
If (Exist("dlinfo.fps")) Delete "dlinfo.pps"
Endif
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 Date Transfer Time Cost No Time @X0A│"
PrintLn " │ @X0D──── ──────────── ────────── ──────── ─────────────── ──── ─────── @X0A│"
FOpen 6, "DLINFO.FPS", 1, 0
GetUser
FPutLn 6, U_Name()
FPutLn 6, INTEGER001 - 1
FSeek 1, 0, 0
If (INTEGER001 > 10) Then
For INTEGER002 = 1 To INTEGER001 - 10
FDRead STRING001, 66
If (Ferr(1)) Break
STRING001 = Trim(STRING001, " ")
DATE001 = FileInf(STRING001, 2)
FDRead STRING003, 13
FPutLn 6, STRING003
FDRead STRING001, 4
STRING001 = Trim(STRING001, " ")
INTEGER010 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER011 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER012 = 65536 * Asc(Right(STRING001, 1))
STRING005 = INTEGER010 + INTEGER011 + INTEGER012
INTEGER009 = STRING005 / INTEGER017
INTEGER011 = 0
INTEGER012 = 0
FDRead STRING001, 3
STRING001 = Trim(STRING001, " ")
INTEGER010 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER011 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER012 = 65536 * Asc(Right(STRING001, 1))
STRING007 = INTEGER010 + INTEGER011 + INTEGER012
FSeek 1, 9, 1
FDRead STRING010, 1
If (Asc(STRING010) == 1) INTEGER009 = 0
FPutLn 6, INTEGER009
FDRead STRING009, 1
FDRead STRING001, 1
FSeek 1, 31, 1
Next
Else
INTEGER001 = 10
Endif
STRING002 = INTEGER001 - 9
For INTEGER002 = 1 To INTEGER001
FDRead STRING001, 66
If (Ferr(1)) Break
STRING001 = Trim(STRING001, " ")
DATE001 = FileInf(STRING001, 2)
FDRead STRING003, 13
FPutLn 6, STRING003
FDRead STRING001, 4
STRING001 = Trim(STRING001, " ")
INTEGER010 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER011 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER012 = 65536 * Asc(Right(STRING001, 1))
STRING005 = INTEGER010 + INTEGER011 + INTEGER012
INTEGER011 = 0
INTEGER012 = 0
FDRead STRING001, 3
STRING001 = Trim(STRING001, " ")
INTEGER010 = Asc(Left(STRING001, 1))
If (Len(STRING001) > 1) INTEGER011 = 256 * Asc(Mid(STRING001, 2, 1))
If (Len(STRING001) == 3) INTEGER012 = 65536 * Asc(Right(STRING001, 1))
STRING007 = INTEGER010 + INTEGER011 + INTEGER012
FSeek 1, 9, 1
FDRead STRING010, 1
FDRead STRING009, 1
FDRead STRING001, 1
FSeek 1, 31, 1
STRING006 = String(S2I(STRING007, 10) / 60)
STRING007 = String(S2I(STRING007, 10) - S2I(STRING006, 10) * 60)
Print " │@X0B" + Left(" ", 5 - Len(STRING002)) + String(STRING002) + Left(" ", 15 - Len(STRING003)) + "@X0F"
Print STRING003 + Left(" ", 12 - Len(STRING005))
INTEGER015 = STRING005
INTEGER013 = INTEGER015 / INTEGER017
STRING012 = INTEGER013
If (STRING012 == "0") Then
STRING012 = "FREE"
INTEGER016 = INTEGER016 + INTEGER015
Endif
Print STRING005 + " "
Print String(DATE001) + Left(" ", 5 - Len(STRING006))
Print STRING006 + " @X07min@X0F" + Left(" ", 3 - Len(String(STRING007))) + String(STRING007) + " @X07sec" + Left(" ", 6 - Len(STRING012))
If (Asc(STRING010) == 1) Then
Print "@X0CFREE"
INTEGER016 = INTEGER016 + INTEGER015
FPutLn 6, "0"
Else
Print "@X0E" + STRING012
INTEGER014 = INTEGER014 + INTEGER013
FPutLn 6, STRING012
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(" ", 5 - Len(STRING002)) + String(STRING002) + " @X0F0 00-00-00 0 @X07min @X0F0 @X07sec @X0A│"
Inc STRING002
Next
PrintLn " │ │"
PrintLn " │ @X09░▒▓█@X1B Statistics for the ENTIRE batch @X09█▓▒░@X0A │"
PrintLn " │ @X07Files @X07Size (Bytes) File Points @X07Estimated time @X0F │"
Print " │ @X0F@FFILES:3@ @X0F@FBYTES:12@ "
INTEGER018 = S2I(Trim(ScrText(26, 19, 12, 0), " "), 10)
INTEGER008 = (INTEGER018 - INTEGER016) / INTEGER017
STRING011 = INTEGER014
If (INTEGER008 > INTEGER014) STRING011 = INTEGER008
Print STRING011 + " @X0F"
STRING004 = Trim(ScrText(12, 19, 2, 0), " ")
INTEGER003 = S2I(Trim(ScrText(26, 19, 12, 0), " "), 10)
If (OnLocal()) Then
INTEGER006 = 0.9 * (ReadLine(PCBDat(), 53) / 10)
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
INTEGER005 = INTEGER005 / 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 11, 6 + STRING004
STRING003 = ""
InputStr "_", STRING003, 7, 12, Mask_File(), 8
AnsiPos 1, 21
STRING003 = Trim(STRING003, " ")
If (Len(STRING003) == 0) STRING003 = Chr(13)
FClose 6
KbdStuff STRING003
:LABEL002
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Wait
; 27 Goto
; 77 Let
; 14 Print
; 15 PrintLn
; 30 If
; 2 FOpen
; 1 FClose
; 7 FPutLn
; 1 GetUser
; 2 Delete
; 1 InputStr
; 2 Inc
; 1 KbdStuff
; 5 AnsiPos
; 8 FSeek
; 1 FDefIn
; 15 FDRead
;
;
; ■ Functions used :
;
; 13 *
; 8 /
; 1 %
; 43 +
; 13 -
; 9 ==
; 1 <>
; 4 <
; 4 <=
; 7 >
; 8 >=
; 13 !
; 8 &&
; 4 ||
; 16 Len(
; 4 Mid()
; 11 Left()
; 4 Right()
; 3 Ferr()
; 1 Chr()
; 15 Asc()
; 10 Trim()
; 1 U_Name()
; 10 String()
; 1 Mask_File()
; 1 PCBDat()
; 1 PPEPath()
; 1 PcbNode()
; 2 ReadLine()
; 1 OnLocal()
; 2 GetEnv()
; 3 Exist()
; 6 S2I()
; 1 Carrier()
; 1 AnsiOn()
; 2 FileInf()
; 3 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
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------