home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
AGSJN10.ZIP
/
AGSJOIN.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-12-28
|
4KB
|
307 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 TINTEGER005(18)
Integer INTEGER006
Integer INTEGER007
String STRING001
String STRING002
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 STRING017
String STRING018
String STRING019
String STRING020
Byte BYTE001
Byte BYTE002
;------------------------------------------------------------------------------
GetUser
STRING019 = GetToken()
If (STRING019 == "") Goto LABEL001
KbdStuff STRING019 + Chr(13)
End
:LABEL001
STRING007 = PPEPath() + "AGSJOIN.CFG"
STRING006 = ReadLine(STRING007, 1)
STRING008 = ReadLine(STRING007, 2)
STRING010 = ReadLine(STRING007, 3)
STRING009 = ReadLine(STRING007, 4)
STRING011 = ReadLine(STRING007, 5)
STRING012 = ReadLine(STRING007, 6)
STRING013 = ReadLine(STRING007, 7)
STRING014 = ReadLine(STRING007, 8)
STRING015 = ReadLine(STRING007, 9)
STRING016 = ReadLine(STRING007, 10)
STRING017 = ReadLine(STRING007, 11)
STRING018 = ReadLine(STRING007, 12)
StartDisp 1
Cls
DispFile PPEPath() + "AGSJOIN", 1 + 4 + 2
STRING001 = ReadLine(PCBDat(), 31)
INTEGER001 = S2I(ReadLine(PCBDat(), 108), 10)
STRING002 = STRING001 + ".@@@"
FOpen 5, STRING002, 0, 0
INTEGER003 = 0
INTEGER006 = 1
:LABEL002
Gosub LABEL007
If (INTEGER004 < 18) Then
While (INTEGER004 < 18) Do
Inc INTEGER004
TINTEGER005(INTEGER004) = -1
If (INTEGER006 == 1) Then
AnsiPos 5, INTEGER004 + 2
Goto LABEL003
Endif
AnsiPos 5, 20 - INTEGER004
:LABEL003
Print "@X0F", Space(73)
EndWhile
Endif
AnsiPos 6, 1
Print STRING005
If (INTEGER006 == 1) Then
INTEGER007 = 1
Else
INTEGER007 = 18
Endif
If (INTEGER002 > INTEGER001) BOOLEAN001 = 1
Gosub LABEL011
:LABEL004
STRING004 = Inkey()
If (STRING004 == "") Goto LABEL004
If (STRING004 == Chr(27)) Goto LABEL013
If (STRING004 == Chr(13)) Goto LABEL006
If ((STRING004 == "PGDN") || (STRING004 == "3")) Then
If (BOOLEAN001) Goto LABEL005
INTEGER003 = TINTEGER005(18)
INTEGER006 = 1
Gosub LABEL012
Goto LABEL002
Endif
:LABEL005
If ((STRING004 == "PGUP") || (STRING004 == "9")) Then
If (TINTEGER005(1) <> 0) Then
INTEGER003 = TINTEGER005(1)
If (INTEGER003 < 0) INTEGER003 = 0
BOOLEAN001 = 0
INTEGER006 = -1
Gosub LABEL012
Goto LABEL002
Endif
Endif
If ((STRING004 == "DOWN") || (STRING004 == "2")) Then
If ((INTEGER007 == 18) && !BOOLEAN001) Then
INTEGER003 = TINTEGER005(18)
INTEGER006 = 1
Gosub LABEL012
Goto LABEL002
Endif
If (INTEGER007 == 18) Goto LABEL004
If (TINTEGER005(INTEGER007 + 1) == -1) Goto LABEL004
Gosub LABEL012
Inc INTEGER007
Gosub LABEL011
Goto LABEL004
Endif
If ((STRING004 == "UP") || (STRING004 == "8")) Then
If ((INTEGER007 == 1) && (TINTEGER005(1) <> 0)) Then
INTEGER003 = TINTEGER005(1)
If (INTEGER003 < 0) INTEGER003 = 0
BOOLEAN001 = 0
INTEGER006 = -1
Gosub LABEL012
Goto LABEL002
Endif
If (INTEGER007 == 1) Goto LABEL004
Gosub LABEL012
Dec INTEGER007
Gosub LABEL011
Goto LABEL004
Endif
Goto LABEL004
:LABEL006
KbdStuff String(TINTEGER005(INTEGER007)) + Chr(13)
End
:LABEL007
STRING005 = ScrText(4, 1, Len(StripAtx(STRING018)), 1)
AnsiPos 6, 1
Print STRING008, STRING018
INTEGER002 = INTEGER003
INTEGER004 = 0
While ((INTEGER002 <= INTEGER001) && (INTEGER004 < 18)) Do
FSeek 5, INTEGER002 * 548 + 2, 0
FRead 5, STRING003, 13
FSeek 5, 1, 1
FRead 5, BYTE001, 1
FSeek 5, 5, 1
FRead 5, BYTE002, 1
If (STRING003 <> "") Then
If ((!BYTE001 && ConfReg(INTEGER002)) || (BYTE001 && (BYTE002 <= U_Sec))) Then
STRING020 = ReadLine(PPEPath() + "DESCRIPT.CNF", INTEGER002 + 1)
Inc INTEGER004
If (INTEGER006 == 1) Then
TINTEGER005(INTEGER004) = INTEGER002
Goto LABEL008
Endif
TINTEGER005(19 - INTEGER004) = INTEGER002
:LABEL008
If (INTEGER006 == 1) Then
AnsiPos 5, INTEGER004 + 2
Goto LABEL009
Endif
AnsiPos 5, 21 - INTEGER004
:LABEL009
If (ConfSel(INTEGER002)) Then
Print STRING010
Goto LABEL010
Endif
Print STRING009
:LABEL010
If (CurConf() == INTEGER002) Print STRING011
Print STRING003 + Space(17 - Len(STRING003)) + STRING020 + Space(56 - Len(StripAtx(STRING020)))
If (ConfSel(INTEGER002) && !(CurConf() == INTEGER002)) Then
Backup 9
Print STRING012
Endif
If (CurConf() == INTEGER002) Then
Backup 9
Print STRING013
Endif
Endif
Endif
INTEGER002 = INTEGER002 + INTEGER006
EndWhile
Return
:LABEL011
AnsiPos 4, INTEGER007 + 2
Print STRING006, STRING015
AnsiPos 65, 1
Print STRING014 + " ", TINTEGER005(INTEGER007), " " + STRING016 + STRING017
AnsiPos 1, 23
Return
:LABEL012
AnsiPos 4, INTEGER007 + 2
Print " "
AnsiPos 65, 1
Print STRING014 + " ", TINTEGER005(INTEGER007), " " + STRING016 + STRING017
Return
:LABEL013
KbdStuff Chr(13)
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 1 Cls
; 41 Goto
; 43 Let
; 13 Print
; 31 If
; 1 DispFile
; 1 FOpen
; 1 StartDisp
; 1 GetUser
; 10 Gosub
; 3 Return
; 3 Inc
; 1 Dec
; 3 KbdStuff
; 11 AnsiPos
; 2 Backup
; 3 FSeek
; 3 FRead
;
;
; ■ Functions used :
;
; 4 -
; 1 *
; 25 +
; 5 -
; 24 ==
; 3 <>
; 5 <
; 2 <=
; 1 >
; 23 !
; 6 &&
; 5 ||
; 3 Len(
; 3 Space()
; 5 Chr()
; 2 StripAtx()
; 1 Inkey()
; 1 String()
; 3 CurConf()
; 2 PCBDat()
; 3 PPEPath()
; 15 ReadLine()
; 1 GetToken()
; 1 S2I()
; 1 ScrText()
; 1 ConfReg()
; 2 ConfSel()
;
;------------------------------------------------------------------------------
;
; 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
;
; 0 For/Next
; 2 While/EndWhile
; 17 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------