home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
J_CONFX.ZIP
/
J_CONF3.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-01-04
|
5KB
|
298 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String TSTRING009(3)
;------------------------------------------------------------------------------
TSTRING009(0) = "-"
TSTRING009(1) = "\"
TSTRING009(2) = "|"
TSTRING009(3) = "/"
If (TokCount() > 0) Then
STRING004 = ""
While ((TokCount() > 0)) STRING004 = STRING004 + GetToken() + " "
Tokenize STRING004
STRING004 = TokenStr()
Tokenize STRING004
If (("BUILD" == Upper(GetToken())) && ("MENU" == Upper(GetToken()))) Then
Gosub LABEL001
Else
STRING004 = "J;" + STRING004
KbdStuff STRING004
Endif
Else
STRING008 = "J"
InputStr "List Conferences you can (J)oin or (A)ll", STRING008, 14, 1, "JA", 8 + 64 + 4 + 2
If (STRING008 == "A") Then
STRING008 = " "
Gosub LABEL002
Else
STRING008 = " "
Gosub LABEL003
Endif
Endif
DefColor
Cls
End
:LABEL001
INTEGER001 = ReadLine(PCBDat(), 108)
STRING001 = ReadLine(PCBDat(), 31)
STRING002 = FileInf(STRING001, 6) + ":" + FileInf(STRING001, 7) + "CMNU"
FCreate 1, STRING002, 2, 0
For INTEGER004 = 0 To INTEGER001
STRING004 = ReadLine(STRING001, 33 * INTEGER004 + 1)
STRING005 = ReadLine(STRING001, 33 * INTEGER004 + 20)
If (STRING005 == "-1") STRING005 = "Public"
If (STRING005 == "0") STRING005 = "Private"
STRING006 = ReadLine(STRING001, 33 * INTEGER004 + 23)
If (Len(Trim(STRING004, " ")) > 0) Then
STRING007 = Right(" " + I2S(INTEGER004, 10), 3)
If (STRING005 == "Private") Then
FPutLn 1, " ", STRING007, " ", Mid(STRING004 + Space(62), 1, 62), STRING005
Continue
Endif
FPutLn 1, " ", STRING007, " ", Mid(STRING004 + Space(62), 1, 62), STRING006
Endif
Next
FClose 1
Return
:LABEL002
Gosub LABEL006
STRING001 = ReadLine(PCBDat(), 31)
STRING002 = FileInf(STRING001, 6) + ":" + FileInf(STRING001, 7) + "CMNU"
If (!Exist(STRING002)) Gosub LABEL001
FOpen 1, STRING002, 0, 0
FGet 1, STRING004
While (!Ferr(1) && !Abort()) Do
Color INTEGER002
Cls
PrintLn " @INCONF@"
PrintLn " ### Conference Name/Descripton Access"
PrintLn " --- ------------------------------------------------------------ -------"
For INTEGER004 = 1 To 12
If (Ferr(1)) Break
PrintLn STRING004
If (INTEGER004 == 4) PrintLn
If (INTEGER004 == 8) PrintLn
If (INTEGER004 < 12) FGet 1, STRING004
Next
PrintLn
If ((INTEGER004 == 13) && !Ferr(1)) Then
InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for More", STRING008, 14, 5, "1234567890N", 8 + 32
Else
InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for none", STRING008, 14, 5, "1234567890N", 8 + 32
Endif
If (Len(Trim(STRING008, " ")) > 0) Then
If (STRING008 == "N") Break
STRING008 = "J;" + STRING008
KbdStuff STRING008
Break
Endif
FGet 1, STRING004
EndWhile
Return
:LABEL003
INTEGER001 = ReadLine(PCBDat(), 108)
STRING001 = ReadLine(PCBDat(), 31)
Gosub LABEL006
GetUser
INTEGER003 = U_RecNum(U_Name())
INTEGER005 = 1
For INTEGER004 = 0 To INTEGER001
If (INTEGER005 == 1) Then
Color INTEGER002
Cls
PrintLn " @INCONF@"
PrintLn " ### Conference Name/Descripton Access"
PrintLn " --- ------------------------------------------------------------ -------"
Endif
Gosub LABEL007
STRING004 = ReadLine(STRING001, 33 * INTEGER004 + 1)
If (Len(Trim(STRING004, " ")) > 0) Then
STRING005 = ReadLine(STRING001, 33 * INTEGER004 + 20)
STRING006 = ReadLine(STRING001, 33 * INTEGER004 + 23)
If (U_InConf(INTEGER003, INTEGER004) || ((U_Sec >= S2I(STRING006, 10)) && (STRING005 == "-1"))) Then
INTEGER005 = INTEGER005 + 1
If (STRING005 == "-1") STRING005 = "Public"
If (STRING005 == "0") STRING005 = "Private"
STRING007 = Right(" " + I2S(INTEGER004, 10), 3)
Backup 2
If (STRING005 == "Private") Then
PrintLn " ", STRING007, " ", Mid(STRING004 + Space(62), 1, 62), STRING005
Goto LABEL004
Endif
PrintLn " ", STRING007, " ", Mid(STRING004 + Space(62), 1, 62), STRING006
:LABEL004
If (INTEGER005 == 4) PrintLn
If (INTEGER005 == 8) PrintLn
Endif
Endif
If ((INTEGER005 == 13) || (INTEGER004 == INTEGER001)) Then
Backup 2
If ((INTEGER005 == 13) && (INTEGER004 <> INTEGER001)) Then
PrintLn " "
InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for More", STRING008, 14, 5, "1234567890N", 8 + 32
Goto LABEL005
Endif
If (INTEGER004 == INTEGER001) Then
PrintLn " "
InputStr "(@TIMELEFT@ min left), Conference (#) to join or Enter for none", STRING008, 14, 5, "1234567890N", 8 + 32
Endif
:LABEL005
If (Len(Trim(STRING008, " ")) > 0) Then
If (STRING008 == "N") Break
STRING008 = "J;" + STRING008
KbdStuff STRING008
Break
Endif
INTEGER005 = 1
Endif
Next
Return
:LABEL006
If (CurColor() < 10) Then
STRING003 = "0F"
Else
STRING003 = I2S(CurColor(), 16)
INTEGER004 = S2I(Left(STRING003, 1), 16)
If (7 < INTEGER004) INTEGER004 = INTEGER004 - 8
If (INTEGER004 == 1) Then
STRING003 = I2S(INTEGER004, 16) + "F"
Else
STRING003 = I2S(INTEGER004, 16) + "8"
Endif
Endif
INTEGER002 = S2I(STRING003, 16)
Return
:LABEL007
Backup 2
Color INTEGER002
Print TSTRING009(INTEGER006 % 4), " "
Inc INTEGER006
INTEGER007 = 1
Inc INTEGER007
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 3 Cls
; 3 Color
; 40 Goto
; 50 Let
; 1 Print
; 16 PrintLn
; 36 If
; 1 FCreate
; 1 FOpen
; 1 FClose
; 3 FGet
; 2 FPutLn
; 1 GetUser
; 1 DefColor
; 5 InputStr
; 7 Gosub
; 5 Return
; 2 Inc
; 2 Tokenize
; 3 KbdStuff
; 3 Backup
;
;
; ■ Functions used :
;
; 6 *
; 1 %
; 36 +
; 1 -
; 23 ==
; 1 <>
; 6 <
; 3 <=
; 6 >
; 7 >=
; 25 !
; 11 &&
; 5 ||
; 4 Len(
; 2 Upper()
; 4 Mid()
; 1 Left()
; 2 Right()
; 4 Space()
; 3 Ferr()
; 1 Abort()
; 4 Trim()
; 1 U_Name()
; 5 PCBDat()
; 11 ReadLine()
; 3 GetToken()
; 1 Exist()
; 5 I2S()
; 3 S2I()
; 1 TokenStr()
; 4 FileInf()
; 2 CurColor()
; 2 TokCount()
; 1 U_RecNum()
; 1 U_InConf()
;
;------------------------------------------------------------------------------
;
; 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
;
; 3 For/Next
; 1 While/EndWhile
; 17 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------