home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
vrac
/
areas012.zip
/
AREAS.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-14
|
13KB
|
605 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
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
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
String STRING001
String TSTRING002(9)
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String TSTRING017(500)
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
;------------------------------------------------------------------------------
STRING001 = "v0.12ß"
If (Exist(PPEPath() + "AREAS.CFG")) Then
FOpen 1, PPEPath() + "AREAS.CFG", 0, 2
For INTEGER016 = 1 To 9
FGet 1, TSTRING002(INTEGER016)
Next
STRING008 = Left(TSTRING002(1), 4)
STRING009 = Left(TSTRING002(2), 4)
STRING010 = Left(TSTRING002(3), 4)
STRING011 = Left(TSTRING002(4), 4)
STRING003 = Left(TSTRING002(5), 4)
STRING004 = Left(TSTRING002(6), 4)
STRING005 = Left(TSTRING002(7), 4)
STRING012 = TSTRING002(8)
INTEGER017 = ToInt(TSTRING002(9))
FClose 1
Else
STRING008 = "@X09"
STRING009 = "@X09"
STRING010 = "@X0F"
STRING011 = "@X0B"
STRING003 = "@X0B"
STRING004 = "@X03"
STRING005 = "@X70"
STRING012 = "@X0F @CONFNAME@ @X09(@X07ESC@X09)=Quit, (@X07B@X09)ack, (@X07###,SPACE@X09)=Mark, (@X07ENTER@X09)=Next @X07"
INTEGER017 = 2
Endif
STRING006 = ""
STRING007 = "@X07"
BOOLEAN001 = 0
STRING016 = TokenStr()
If (Upper(STRING016) == "AGAIN") Then
BOOLEAN001 = 1
Else
If (STRING016 == "") Then
Endif
INTEGER001 = 96
INTEGER004 = CurConf()
STRING019 = ReadLine(PCBDat(), 31)
FOpen 1, STRING019 + ".@@@", 0, 0
FRead 1, INTEGER014, 2
INTEGER015 = ToInt(INTEGER014)
FSeek 1, CurConf() * INTEGER015 + 482, 1
FRead 1, STRING015, 33
FClose 1
INTEGER003 = FileInf(STRING015, 4)
INTEGER003 = INTEGER003 / INTEGER001
FOpen 1, STRING015, 0, 0
If (AnsiOn()) Goto LABEL001
Gosub LABEL003
Goto LABEL002
:LABEL001
Gosub LABEL005
:LABEL002
FClose 1
Return
:LABEL003
PrintLn "@CLS@"
Newline
PrintLn "@X0F@CONFNAME@ @X07File Areas...."
Newline
PrintLn "@X030 - @X0B New Uploads"
For INTEGER002 = 1 To INTEGER003
If (Abort() == 1) INTEGER002 = INTEGER003
INTEGER001 = INTEGER001 * (INTEGER002 - 1)
FSeek 1, INTEGER001, 1
FRead 1, STRING013, 96
STRING014 = Mid(STRING013, 61, 35)
PrintLn "@X03" + String(INTEGER002) + " - @X0B" + STRING014
Next
STRING020 = " "
InputStr "@X0CSelect File Area @X0F(@X08ENTER=Quit@X0F) @X0B", STRING020, 7, 3, "1234567890Nn", 256 + 2 + 8
If (STRING020 == "0") STRING020 = "U"
If (STRING020 == "") Goto LABEL018
PrintLn "@CLS@"
If (BOOLEAN001 <> 1) Then
KbdStuff "F " + STRING020
Goto LABEL019
Goto LABEL004
Endif
KbdStuff STRING020 + Chr(13)
Goto LABEL019
:LABEL004
Return
:LABEL005
PrintLn "@CLS@"
Newline
Newline
PrintLn "@X08UltiWares(@X0Cc@X08)1994 @X0AAREAS @X07" + STRING001
Newline
Print "@X0BOne Moment... @X09Loading File Area Data...@X03["
INTEGER012 = GetY()
INTEGER013 = GetX()
TSTRING017(0) = "New Uploads "
If (INTEGER017 <> 1) Goto LABEL011
For INTEGER002 = 1 To INTEGER003 + 10
AnsiPos INTEGER013, INTEGER012
Print "@X0B" + String(INTEGER002) + "@X03]"
If (Abort() == 1) INTEGER002 = INTEGER003
INTEGER001 = INTEGER001 * (INTEGER002 - 1)
FSeek 1, INTEGER001, 1
FRead 1, STRING013, 96
TSTRING017(INTEGER002) = Mid(STRING013, 61, 35)
If (Left(TSTRING017(INTEGER002), 5) == " ") TSTRING017(INTEGER002) = "" + "..Reserved For Future Use.. @X07"
Next
PrintLn "@CLS@@X07 " + STRING008 + " ┌──────────────────────────────────────────────────────────┐ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING010 + " The Ultimate File Area Lister " + STRING001 + " " + STRING009 + " │ @X07"
PrintLn "@X07 " + STRING008 + " ├──────┬───────────────────────────────────────────────────" + STRING009 + "┤ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING011 + "### " + STRING008 + "│ " + STRING011 + "Area Description " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "─────┴────────────────────────────────────────────────── │ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING008 + " │ " + STRING009 + "│ @X07"
PrintLn "@X07 " + STRING009 + " └──────────────────────────────────────────────────────────┘ @X07"
PrintLn " @X08UltiWares(@X0Cc@X08)1994"
INTEGER006 = 13
INTEGER005 = 7
INTEGER007 = 0
While (INTEGER007 < INTEGER003) Do
For INTEGER007 = 0 To INTEGER003 Step 10
For INTEGER002 = INTEGER007 To INTEGER007 + 9
INTEGER010 = INTEGER007
INTEGER011 = INTEGER007 + 9
STRING018 = String(INTEGER002)
If (Len(STRING018) == 1) STRING018 = " " + STRING018
If (Len(STRING018) == 2) STRING018 = " " + STRING018
AnsiPos INTEGER006, INTEGER005
Print STRING003 + STRING018
AnsiPos INTEGER006 + 8, INTEGER005
Print STRING004 + TSTRING017(INTEGER002)
INTEGER005 = INTEGER005 + 1
Next
AnsiPos 1, 21
STRING020 = ""
Print STRING012 + STRING007
:LABEL006
INTEGER008 = GetX()
STRING020 = Upper(Inkey())
If (STRING020 == "") Goto LABEL006
If (((STRING020 == "UP") || (STRING020 == "DOWN")) || (STRING020 == " ")) Gosub LABEL008
If (InStr("1234567890", STRING020) <> 0) Then
Print STRING020
While (STRING021 <> Chr(13)) Do
STRING021 = Inkey()
STRING020 = STRING020 + STRING021
Print STRING021
If (STRING020 == "0") STRING020 = "U"
EndWhile
If (BOOLEAN001 <> 1) Then
KbdStuff "F " + STRING020
Goto LABEL019
Goto LABEL007
Endif
KbdStuff STRING020 + Chr(13)
Goto LABEL019
Endif
:LABEL007
If ((STRING020 == "Q") || (STRING020 == Chr(27))) Goto LABEL018
If ((STRING020 == Chr(13)) || (STRING020 == "PGDN")) Then
INTEGER005 = 7
Continue
Endif
If ((STRING020 == "PGUP") || (STRING020 == "B")) Then
INTEGER007 = INTEGER007 - 20
If (INTEGER007 <= 0) INTEGER007 = -10
INTEGER005 = 7
STRING020 = ""
Continue
Endif
Goto LABEL006
Next
EndWhile
Return
:LABEL008
INTEGER018 = INTEGER006
INTEGER019 = INTEGER005 - 10
INTEGER020 = INTEGER010
STRING022 = String(INTEGER020)
If (Len(STRING022) == 1) STRING022 = " " + STRING022
If (Len(STRING022) == 2) STRING022 = " " + STRING022
AnsiPos INTEGER018, INTEGER019
Print STRING005 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING005 + TSTRING017(INTEGER020)
:LABEL009
STRING022 = String(INTEGER020)
If (Len(STRING022) == 1) STRING022 = " " + STRING022
If (Len(STRING022) == 2) STRING022 = " " + STRING022
STRING021 = Inkey()
If (STRING021 == Chr(13)) Then
If (INTEGER020 == 0) STRING022 = "U"
If (BOOLEAN001 <> 1) Then
KbdStuff "F " + STRING022
Goto LABEL019
Goto LABEL010
Endif
KbdStuff STRING022 + Chr(13)
Goto LABEL019
Endif
:LABEL010
If (STRING021 == Chr(27)) Then
AnsiPos INTEGER018, INTEGER019
Print STRING003 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING004 + TSTRING017(INTEGER020)
AnsiPos INTEGER008, 22
Print STRING007
Return
Endif
If ((STRING021 == "DOWN") || (STRING021 == " ")) Then
AnsiPos INTEGER018, INTEGER019
Print STRING003 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING004 + TSTRING017(INTEGER020)
If (INTEGER020 == INTEGER011) Then
AnsiPos INTEGER018, INTEGER019
Print STRING003 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING004 + TSTRING017(INTEGER020)
INTEGER020 = INTEGER010
INTEGER019 = INTEGER019 - 9
STRING022 = String(INTEGER020)
If (Len(STRING022) == 1) STRING022 = " " + STRING022
If (Len(STRING022) == 2) STRING022 = " " + STRING022
AnsiPos INTEGER018, INTEGER019
Print STRING005 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING005 + TSTRING017(INTEGER020)
Goto LABEL009
Endif
INTEGER019 = INTEGER019 + 1
AnsiPos INTEGER018, INTEGER019
INTEGER020 = INTEGER020 + 1
STRING022 = String(INTEGER020)
If (Len(STRING022) == 1) STRING022 = " " + STRING022
If (Len(STRING022) == 2) STRING022 = " " + STRING022
Print STRING005 + STRING022
AnsiPos INTEGER018 + 8, INTEGER019
Print STRING005 + TSTRING017(INTEGER020)
Endif
Goto LABEL009
:LABEL011
For INTEGER002 = 1 To INTEGER003 + 20
AnsiPos INTEGER013, INTEGER012
Print "@X0B" + String(INTEGER002) + "@X03]"
If (Abort() == 1) INTEGER002 = INTEGER003
INTEGER001 = INTEGER001 * (INTEGER002 - 1)
FSeek 1, INTEGER001, 1
FRead 1, STRING013, 96
TSTRING017(INTEGER002) = Mid(STRING013, 61, 35)
If (Left(TSTRING017(INTEGER002), 5) == " ") TSTRING017(INTEGER002) = " @X07"
Next
PrintLn "@X07@CLS@" + STRING008 + "┌─────────────────────────────────────────────────────────────────────────────┐@X07"
PrintLn STRING008 + "│ " + STRING010 + " The Ultimate File Area Lister " + STRING001 + " " + STRING009 + " │@X07"
PrintLn STRING008 + "├─────────────────────────────────────────────────────────────────────────────" + STRING009 + "┤@X07"
PrintLn STRING008 + "│ " + STRING011 + "### Area Description " + STRING011 + "### Area Description " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "─────────────────────────────────────────────────────────────────────────── │@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING008 + "│ " + STRING009 + "│@X07"
PrintLn STRING009 + "└─────────────────────────────────────────────────────────────────────────────┘@X07"
PrintLn " @X08UltiWares(@X0Cc@X08)1994@X07"
INTEGER006 = 3
INTEGER005 = 7
INTEGER007 = 0
While (INTEGER007 < INTEGER003) Do
For INTEGER007 = 0 To INTEGER003 Step 19
For INTEGER002 = INTEGER007 To INTEGER007 + 19
INTEGER010 = INTEGER007
INTEGER011 = INTEGER007 + 19
STRING018 = String(INTEGER002)
If (Len(STRING018) == 1) STRING018 = " " + STRING018
If (Len(STRING018) == 2) STRING018 = " " + STRING018
If (INTEGER005 == 17) Then
INTEGER005 = 7
INTEGER006 = 41
Endif
If (Left(TSTRING017(INTEGER002), 10) <> " ") Then
AnsiPos INTEGER006, INTEGER005
Print STRING003 + STRING018
AnsiPos INTEGER006 + 5, INTEGER005
Print STRING004 + Left(TSTRING017(INTEGER002), 30)
Goto LABEL012
Endif
AnsiPos INTEGER006, INTEGER005
Print STRING004 + Space(35)
:LABEL012
INTEGER005 = INTEGER005 + 1
Next
INTEGER006 = 3
AnsiPos 1, 21
STRING020 = ""
Print STRING012 + STRING007
:LABEL013
INTEGER009 = GetY()
INTEGER008 = GetX()
STRING020 = Upper(Inkey())
If (STRING020 == "") Goto LABEL013
If (((STRING020 == "UP") || (STRING020 == "DOWN")) || (STRING020 == " ")) Gosub LABEL015
If (InStr("1234567890", STRING020) <> 0) Then
Print STRING020
While (STRING021 <> Chr(13)) Do
STRING021 = Inkey()
STRING020 = STRING020 + STRING021
Print STRING021
If (STRING020 == "0") STRING020 = "U"
EndWhile
If (BOOLEAN001 <> 1) Then
KbdStuff "F " + STRING020
Goto LABEL019
Goto LABEL014
Endif
KbdStuff STRING020 + Chr(13)
Goto LABEL019
Endif
:LABEL014
If ((STRING020 == "Q") || (STRING020 == Chr(27))) Goto LABEL018
If ((STRING020 == Chr(13)) || (STRING020 == "PGDN")) Then
INTEGER005 = 7
Continue
Endif
If ((STRING020 == "PGUP") || (STRING020 == "B")) Then
INTEGER007 = INTEGER007 - 38
If (INTEGER007 <= 0) INTEGER007 = -20
INTEGER005 = 7
STRING020 = ""
Continue
Endif
Goto LABEL013
Next
EndWhile
Return
:LABEL015
INTEGER021 = INTEGER006
INTEGER022 = 7
INTEGER023 = INTEGER010
STRING023 = String(INTEGER023)
If (Len(STRING023) == 1) STRING023 = " " + STRING023
If (Len(STRING023) == 2) STRING023 = " " + STRING023
AnsiPos INTEGER021, INTEGER022
Print STRING005 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING005 + Left(TSTRING017(INTEGER023), 30)
:LABEL016
STRING023 = String(INTEGER023)
If (Len(STRING023) == 1) STRING023 = " " + STRING023
If (Len(STRING023) == 2) STRING023 = " " + STRING023
STRING021 = Inkey()
If (STRING021 == Chr(13)) Then
If (INTEGER023 == 0) STRING023 = "U"
If (BOOLEAN001 <> 1) Then
KbdStuff "F " + STRING023
Goto LABEL019
Goto LABEL017
Endif
KbdStuff STRING023 + Chr(13)
Goto LABEL019
Endif
:LABEL017
If (STRING021 == Chr(27)) Then
AnsiPos INTEGER021, INTEGER022
Print STRING003 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING004 + Left(TSTRING017(INTEGER023), 30)
AnsiPos INTEGER008, INTEGER009
Print STRING007
Return
Endif
If ((STRING021 == "DOWN") || (STRING021 == " ")) Then
If (Left(TSTRING017(INTEGER023 + 1), 10) == Space(10)) Then
AnsiPos INTEGER021, INTEGER022
Print STRING003 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING004 + Left(TSTRING017(INTEGER023), 30)
INTEGER023 = INTEGER010
INTEGER022 = 7
INTEGER021 = 3
STRING023 = String(INTEGER023)
If (Len(STRING023) == 1) STRING023 = " " + STRING023
If (Len(STRING023) == 2) STRING023 = " " + STRING023
AnsiPos INTEGER021, INTEGER022
Print STRING005 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING005 + Left(TSTRING017(INTEGER023), 30)
Goto LABEL016
Endif
AnsiPos INTEGER021, INTEGER022
Print STRING003 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING004 + Left(TSTRING017(INTEGER023), 30)
If ((INTEGER022 == 16) && (INTEGER021 <> 41)) Then
INTEGER022 = 6
INTEGER021 = 41
Endif
If (INTEGER023 == INTEGER011) Then
AnsiPos INTEGER021, INTEGER022
Print STRING003 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING004 + Left(TSTRING017(INTEGER023), 30)
INTEGER023 = INTEGER010
INTEGER022 = INTEGER022 - 9
INTEGER021 = 3
STRING023 = String(INTEGER023)
If (Len(STRING023) == 1) STRING023 = " " + STRING023
If (Len(STRING023) == 2) STRING023 = " " + STRING023
AnsiPos INTEGER021, INTEGER022
Print STRING005 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING005 + Left(TSTRING017(INTEGER023), 30)
Goto LABEL016
Endif
INTEGER022 = INTEGER022 + 1
AnsiPos INTEGER021, INTEGER022
INTEGER023 = INTEGER023 + 1
STRING023 = String(INTEGER023)
If (Len(STRING023) == 1) STRING023 = " " + STRING023
If (Len(STRING023) == 2) STRING023 = " " + STRING023
Print STRING005 + STRING023
AnsiPos INTEGER021 + 5, INTEGER022
Print STRING005 + Left(TSTRING017(INTEGER023), 30)
Endif
Goto LABEL016
:LABEL018
AnsiPos 1, 23
Print "@X07" + Chr(13)
End
:LABEL019
PrintLn "@X07@CLS@@X1F The Ultimate File Area Selector " + STRING001 + " UltiWares(@X1Cc@X1F)1994 @X0F"
PrintLn
End
Endif
KbdStuff "F " + STRING016 + Chr(13)
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 87 Goto
; 157 Let
; 45 Print
; 47 PrintLn
; 81 If
; 3 FOpen
; 3 FClose
; 1 FGet
; 1 InputStr
; 4 Gosub
; 6 Return
; 5 Newline
; 11 KbdStuff
; 40 AnsiPos
; 4 FSeek
; 5 FRead
;
;
; ■ Functions used :
;
; 2 -
; 4 *
; 1 /
; 267 +
; 8 -
; 68 ==
; 12 <>
; 10 <
; 10 <=
; 16 >=
; 39 !
; 17 &&
; 20 ||
; 22 Len(
; 3 Upper()
; 3 Mid()
; 20 Left()
; 2 Space()
; 17 Chr()
; 2 InStr()
; 3 Abort()
; 6 Inkey()
; 14 String()
; 2 CurConf()
; 1 PCBDat()
; 2 PPEPath()
; 1 ReadLine()
; 1 Exist()
; 1 TokenStr()
; 1 AnsiOn()
; 3 GetX()
; 2 GetY()
; 1 FileInf()
; 2 ToInt()
;
;------------------------------------------------------------------------------
;
; 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
;
; 8 For/Next
; 4 While/EndWhile
; 26 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------