home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
F
/
FOOD-XJ1.ZIP
/
FOODJOIN.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-05-10
|
5KB
|
369 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.3O (Encryption type II) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING012
String STRING013
String STRING014
Byte BYTE001
Byte BYTE002
Byte BYTE003
Byte BYTE004
Byte BYTE005
Byte BYTE006
Byte BYTE007
Byte BYTE008
Byte BYTE009
Byte BYTE010
Byte BYTE011
Byte TBYTE012(1)
Byte BYTE013
Byte BYTE014
Byte BYTE015
Byte BYTE016
Byte BYTE017
Byte BYTE018
Byte BYTE019
Byte BYTE020
Byte TBYTE021(99)
Byte TBYTE022(99)
Byte TBYTE023(99)
Byte BYTE024
Declare Procedure PROC001(String STRING011)
Declare Procedure PROC002(Byte BYTE025, Boolean BOOLEAN002)
;------------------------------------------------------------------------------
STRING004 = "/X JOIN v0.99 by 2 Stoned/FOOD"
STRING001 = TokenStr()
If (STRING001 <> "") Then
Color DefColor()
Cls
PrintLn STRING004 + "... Report bugs at +31-547-261154 ..."
Delay 9
Join STRING001
End
Endif
STRING003 = PPEPath() + PPEName() + ".CNF"
STRING007 = PPEPath() + PPEName() + ".TOP"
STRING006 = PPEPath() + PPEName() + ".BOT"
STRING005 = PPEPath() + PPEName() + ".NAM"
If (Exist(STRING003)) Goto LABEL001
FreshLine
PrintLn STRING004 + ", Error(1): FOODJOIN.CNF not found..."
Delay 18
End
Goto LABEL002
:LABEL001
GetUser
BYTE013 = FNext()
FOpen BYTE013, STRING003, 0, 0
FGet BYTE013, STRING008
Tokenize STRING008
BYTE010 = TokCount() - 1
Redim TBYTE012, BYTE010
BYTE011 = GetToken()
For BYTE016 = 1 To BYTE010
TBYTE012(BYTE016) = GetToken()
Next
FGet BYTE013, STRING009
FGet BYTE013, STRING010
FGet BYTE013, STRING008
Tokenize STRING008
BYTE005 = GetToken()
BYTE006 = Asc(GetToken())
FGet BYTE013, STRING008
Tokenize STRING008
BYTE007 = GetToken()
BYTE008 = Asc(GetToken())
BYTE009 = Upper(GetToken())
If (BYTE009 <> "L") BYTE009 = "R"
FClose BYTE013
:LABEL002
For BYTE016 = 0 To HiConfNum()
BOOLEAN001 = 0
If (ConfInfo(BYTE016, 2)) Goto LABEL003
If (U_InConf(U_RecNum(U_Name()), BYTE016)) BOOLEAN001 = 1
Goto LABEL004
:LABEL003
If (U_Sec >= ConfInfo(BYTE016, 8)) BOOLEAN001 = 1
:LABEL004
If (ConfInfo(BYTE016, 1) == "") BOOLEAN001 = 0
If (BOOLEAN001) Then
Inc BYTE020
TBYTE021(BYTE020) = BYTE016
If (CurConf() == BYTE016) BYTE004 = BYTE020
Endif
Next
If (BYTE020 == 0) Then
FreshLine
PrintLn STRING004 + ", Error(2): No conferences available..."
Delay 18
End
Endif
If (BYTE004 == 0) BYTE004 = 1
If (Exist(STRING007)) PROC001(STRING007)
BYTE001 = ToByte(BYTE020 / BYTE010)
BYTE002 = BYTE020 % BYTE010
BYTE003 = BYTE002
For BYTE016 = 1 To BYTE010
BYTE019 = 0
For BYTE017 = 1 To BYTE001
Inc BYTE018
Inc BYTE019
TBYTE022(BYTE018) = TBYTE012(BYTE016)
TBYTE023(BYTE018) = BYTE019 + BYTE011 - 1
Next
If (BYTE024 == 0) BYTE024 = TBYTE023(BYTE018)
If (BYTE003) Then
Inc BYTE018
Inc BYTE019
TBYTE022(BYTE018) = TBYTE012(BYTE016)
TBYTE023(BYTE018) = BYTE019 + BYTE011 - 1
BYTE024 = TBYTE023(BYTE018)
Dec BYTE003
Endif
Next
For BYTE016 = 1 To BYTE020
If (BYTE016 <> BYTE004) PROC002(BYTE016, 0)
Next
AnsiPos 1, BYTE024 + 1
If (Exist(STRING006)) PROC001(STRING006)
PROC002(BYTE004, 1)
:LABEL005
STRING002 = Upper(Inkey())
If (STRING002 == "DOWN") Then
For BYTE016 = BYTE004 + 1 To BYTE020
If ((TBYTE022(BYTE016) == TBYTE022(BYTE004)) && (TBYTE023(BYTE016) > TBYTE023(BYTE004))) Then
PROC002(BYTE004, 0)
BYTE004 = BYTE016
PROC002(BYTE004, 1)
Goto LABEL005
Endif
Next
Endif
If (STRING002 == "UP") Then
For BYTE016 = BYTE004 - 1 To 1 Step -1
If ((TBYTE022(BYTE016) == TBYTE022(BYTE004)) && (TBYTE023(BYTE016) < TBYTE023(BYTE004))) Then
PROC002(BYTE004, 0)
BYTE004 = BYTE016
PROC002(BYTE004, 1)
Goto LABEL005
Endif
Next
Endif
If (STRING002 == "RIGHT") Then
For BYTE016 = BYTE004 + 1 To BYTE020
If ((TBYTE022(BYTE016) > TBYTE022(BYTE004)) && (TBYTE023(BYTE016) == TBYTE023(BYTE004))) Then
PROC002(BYTE004, 0)
BYTE004 = BYTE016
PROC002(BYTE004, 1)
Goto LABEL005
Endif
Next
Endif
If (STRING002 == "LEFT") Then
For BYTE016 = BYTE004 - 1 To 1 Step -1
If ((TBYTE022(BYTE016) < TBYTE022(BYTE004)) && (TBYTE023(BYTE016) == TBYTE023(BYTE004))) Then
PROC002(BYTE004, 0)
BYTE004 = BYTE016
PROC002(BYTE004, 1)
Goto LABEL005
Endif
Next
Endif
If (STRING002 == Chr(13)) Then
Color DefColor()
Cls
PrintLn STRING004 + "... Report bugs at +31-547-261154 ..."
Delay 9
Join String(TBYTE021(BYTE004))
End
Endif
If (STRING002 == Chr(27)) Then
Color DefColor()
Cls
PrintLn STRING004 + "... Report bugs at +31-547-261154 ..."
Delay 9
End
Endif
Goto LABEL005
End
;------------------------------------------------------------------------------
Procedure PROC001(String STRING011)
BYTE013 = FNext()
FOpen BYTE013, STRING011, 0, 0
:LABEL006
If (Ferr(BYTE013)) Goto LABEL007
FGet BYTE013, STRING008
If (InStr(STRING008, "%LINE%")) Then
PrintLn ReplaceStr(STRING008, "%LINE%", "")
BYTE014 = InStr(StripAtx(PCBMac(STRING008)), "%LINE%")
BYTE015 = GetY() - 1
Else
PrintLn STRING008
Endif
Goto LABEL006
:LABEL007
FClose BYTE013
FreshLine
EndProc
;------------------------------------------------------------------------------
Procedure PROC002(Byte BYTE025, Boolean BOOLEAN002)
String STRING012
String STRING013
String STRING014
AnsiPos TBYTE022(BYTE025), TBYTE023(BYTE025)
If (BOOLEAN002) Then
STRING014 = STRING010
Else
STRING014 = STRING009
Endif
STRING013 = String(TBYTE021(BYTE025))
STRING013 = Replace(Space(BYTE005 - Len(STRING013)), " ", Chr(BYTE006)) + STRING013
STRING012 = ReplaceStr(STRING014, "%CNR%", STRING013)
STRING013 = RTrim(Mid(String(ConfInfo(TBYTE021(BYTE025), 1)), 1, BYTE007), " ")
If (BYTE009 == "R") Then
STRING013 = Replace(Space(BYTE007 - Len(STRING013)), " ", Chr(BYTE008)) + STRING013
Else
STRING013 = STRING013 + Replace(Space(BYTE007 - Len(STRING013)), " ", Chr(BYTE008))
Endif
STRING012 = ReplaceStr(STRING012, "%CNAME%", STRING013)
Print STRING012
If ((BOOLEAN002 && (BYTE014 > 0)) && (BYTE015 > 0)) Then
AnsiPos BYTE014, BYTE015
Print ReadLine(STRING005, TBYTE021(BYTE025) + 1)
Endif
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 6 End
; 3 Cls
; 3 Color
; 51 Goto
; 68 Let
; 2 Print
; 7 PrintLn
; 40 If
; 2 FOpen
; 2 FClose
; 6 FGet
; 1 GetUser
; 5 Delay
; 5 Inc
; 1 Dec
; 3 Tokenize
; 2 Join
; 3 AnsiPos
; 3 FreshLine
; 1 Redim
; 2 EndProc
;
;
; ■ Functions used :
;
; 6 -
; 1 /
; 1 %
; 31 +
; 9 -
; 16 ==
; 3 <>
; 11 <
; 9 <=
; 4 >
; 19 >=
; 30 !
; 24 &&
; 9 ||
; 3 Len(
; 2 Upper()
; 1 Mid()
; 3 Space()
; 1 Ferr()
; 5 Chr()
; 2 Asc()
; 2 InStr()
; 1 RTrim()
; 1 U_Name()
; 1 StripAtx()
; 3 Replace()
; 1 Inkey()
; 3 String()
; 1 CurConf()
; 4 PPEPath()
; 1 ReadLine()
; 7 GetToken()
; 3 Exist()
; 1 TokenStr()
; 1 GetY()
; 3 DefColor()
; 4 PPEName()
; 1 TokCount()
; 1 U_RecNum()
; 1 U_InConf()
; 3 ReplaceStr()
; 1 ToByte()
; 2 HiConfNum()
; 1 PCBMac()
; 2 FNext()
; 4 ConfInfo()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 0 While/EndWhile
; 18 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------