home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
PWABAL16.ZIP
/
MAIN.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-10-23
|
19KB
|
1,390 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Boolean BOOLEAN009
Boolean BOOLEAN010
Boolean BOOLEAN011
Boolean BOOLEAN012
Boolean BOOLEAN013
Boolean BOOLEAN014
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
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
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 TSTRING013(15)
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String TSTRING027(1)
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
Time TIME001
Time TIME002
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Int INT007
Int INT008
Int INT009
Int INT010
Int INT011
Int INT012
Int INT013
Int INT014
Int INT015
Int INT016
Int INT017
Int INT018
Int INT019
BigStr BIGSTR001
BigStr BIGSTR002
;------------------------------------------------------------------------------
INTEGER002 = CurConf()
If (TokCount() > 0) Then
STRING009 = GetToken()
If (STRING009 == "RESTORE") Then
BOOLEAN005 = 1
Goto LABEL001
Endif
STRING010 = GetToken()
While (STRING010 <> "") Do
STRING009 = STRING009 + " " + STRING010
STRING010 = GetToken()
EndWhile
KbdStuff "F " + STRING009
End
Endif
:LABEL001
BIGSTR001 = ""
STRING006 = PPEPath() + "cmd" + String(PcbNode())
STRING007 = PPEPath() + "rest" + String(PcbNode())
If (Exist(STRING006)) Delete STRING006
STRING003 = PPEPath() + "dirs\dir" + String(INTEGER002)
STRING008 = Len(ReadLine(STRING003, 1)) + 2
FClose -1
Gosub LABEL008
:LABEL002
STRING012 = PPEPath()
STRING011 = GetToken()
STRING001 = GetToken()
If (STRING001 <> "") Then
INTEGER004 = STRING001
Else
INTEGER004 = 1
Endif
If (Exist(STRING011)) Goto LABEL003
If (Exist(STRING012 + STRING011)) Then
STRING011 = STRING012 + STRING011
Else
PrintLn "Cannot find configuration ", STRING011
Wait
End
Endif
:LABEL003
Tokenize ReadLine(STRING011, 1)
INTEGER005 = GetToken()
STRING015 = Chr(13)
STRING016 = Chr(27)
If (BOOLEAN005 || !BOOLEAN004) Then
For INTEGER010 = 1 To INTEGER005
Tokenize ReadLine(STRING011, INTEGER010 + 1)
INTEGER006 = GetToken()
STRING017 = GetToken()
INTEGER003 = GetToken()
TSTRING013(INTEGER010) = Mid(StripAtx(STRING004), INTEGER006, INTEGER003)
Next
Return
Endif
STRING018 = GetToken()
BOOLEAN008 = 0
If (INTEGER005 > 15) Then
Redim TSTRING013, INTEGER005
Endif
INTEGER008 = 1
BOOLEAN007 = IsNonStop()
StartDisp 1
INTEGER008 = INTEGER004
INTEGER009 = INTEGER005
DefColor
DefColor
INTEGER012 = 3
For INTEGER010 = 1 To INTEGER005
Tokenize ReadLine(STRING011, INTEGER010 + 1)
INTEGER006 = GetToken()
STRING017 = GetToken()
If (STRING017 == "C") Then
INTEGER007 = GetY()
Else
INTEGER007 = STRING017
Endif
INTEGER003 = GetToken()
TSTRING013(INTEGER010) = ScrText(INTEGER006, INTEGER007, INTEGER003, 1)
INTEGER012 = INTEGER012 + 3
Next
INTEGER016 = 1
INTEGER015 = 1 + INTEGER005 - 1
Gosub LABEL007
Print STRING018, StripAtx(TSTRING013(INTEGER008))
TIME001 = Time()
:LABEL004
TIME002 = Time()
If (TIME002 - TIME001 > 1) Delay 1
STRING014 = Inkey()
If (STRING014 <> "") Then
TIME001 = Time()
Endif
Select Case (STRING014)
Case "LEFT", ","
Gosub LABEL007
Print TSTRING013(INTEGER008)
If (INTEGER008 == 1) Then
INTEGER008 = INTEGER009
Else
INTEGER008 = INTEGER008 - 1
Endif
Gosub LABEL007
Print STRING018, StripAtx(TSTRING013(INTEGER008))
Goto LABEL004
Case "RIGHT", "."
Gosub LABEL007
Print TSTRING013(INTEGER008)
If (INTEGER008 == INTEGER009) Then
INTEGER008 = 1
Else
INTEGER008 = INTEGER008 + 1
Endif
Gosub LABEL007
Print STRING018, StripAtx(TSTRING013(INTEGER008))
Goto LABEL004
Case Chr(9)
INTEGER008 = 5
Return
Case "-"
If (BOOLEAN006) Then
BOOLEAN009 = 1
Return
Endif
Case "?"
Tokenize ReadLine(STRING011, INTEGER008 + 1)
INTEGER006 = GetX()
INTEGER007 = GetY()
STRING017 = GetToken()
STRING017 = GetToken()
STRING017 = GetToken()
STRING017 = ""
STRING017 = GetToken()
If (STRING017 == "NOHLP") Goto LABEL004
If (STRING017 <> "") Then
STRING001 = STRING017
If (Exist(STRING001)) Then
Goto LABEL005
Goto LABEL005
Endif
If (Exist(HelpPath() + "hlp" + STRING001)) Then
STRING001 = HelpPath() + "hlp" + STRING001
Goto LABEL005
Goto LABEL005
Endif
If (Exist(STRING012 + STRING001)) Then
STRING001 = STRING012 + STRING001
Goto LABEL005
Endif
Endif
:LABEL005
AnsiPos 1, 23
SaveScrn
StartDisp 2
DefColor
Cls
DispFile STRING001, 1 + 4
Wait
StartDisp 1
RestScrn
AnsiPos INTEGER006, INTEGER007
Goto LABEL004
Case "PGDN", "]"
KbdStuff Left(StripAtx(TSTRING013(1)), 1)
Goto LABEL004
Case "PGUP", "["
KbdStuff Left(StripAtx(TSTRING013(2)), 1)
Goto LABEL004
Case STRING015
INTEGER010 = INTEGER008
INTEGER006 = GetX()
INTEGER007 = GetY()
Tokenize ReadLine(STRING011, INTEGER008 + 1)
INTEGER006 = GetToken()
STRING017 = GetToken()
If (STRING017 == "C") Then
INTEGER007 = GetY()
Else
INTEGER007 = STRING017
Endif
AnsiPos INTEGER006, INTEGER007
Print TSTRING013(INTEGER008)
Goto LABEL006
Return
Goto LABEL004
Case "HOME"
Gosub LABEL007
Print TSTRING013(INTEGER008)
INTEGER008 = -1
Goto LABEL006
INTEGER008 = INTEGER016
Gosub LABEL007
Print STRING018, StripAtx(TSTRING013(INTEGER008))
Goto LABEL004
Case "END"
Gosub LABEL007
Print TSTRING013(INTEGER008)
INTEGER008 = -2
Goto LABEL006
INTEGER008 = INTEGER015
Gosub LABEL007
Print STRING018, StripAtx(TSTRING013(INTEGER008))
Goto LABEL004
Case "Q", STRING016
DefColor
If (BOOLEAN008) Then
DefColor
Cls
Endif
If (!BOOLEAN007) StartDisp 2
End
Case ""
If ((((STRING014 >= "0") && (STRING014 <= "9")) || (Upper(STRING014) == "U")) || (Upper(STRING014) == "A")) Then
KbdStuff "C" + STRING014
Goto LABEL004
Endif
INTEGER012 = (INTEGER008 + 1) * 3
INTEGER013 = INTEGER012 - 3
If ((STRING014 == "UP") || (STRING014 == "DOWN")) Then
KbdStuff "S"
Goto LABEL004
Endif
For INTEGER010 = INTEGER008 To INTEGER009
If (Upper(Left(StripAtx(TSTRING013(INTEGER010)), 1)) == Upper(STRING014)) Then
Gosub LABEL007
Print TSTRING013(INTEGER008)
INTEGER008 = INTEGER010
Goto LABEL006
Endif
INTEGER012 = INTEGER012 + 3
Next
INTEGER012 = INTEGER016 * 3
For INTEGER010 = 1 To INTEGER008 - 1
If (Upper(Left(StripAtx(TSTRING013(INTEGER010)), 1)) == Upper(STRING014)) Then
Gosub LABEL007
Print TSTRING013(INTEGER008)
INTEGER008 = INTEGER010
Goto LABEL006
Endif
INTEGER012 = INTEGER012 + 3
Next
Goto LABEL004
End Select
Goto LABEL004
:LABEL006
DefColor
Return
Return
:LABEL007
Tokenize ReadLine(STRING011, INTEGER008 + 1)
INTEGER006 = GetToken()
STRING017 = GetToken()
If (STRING017 == "C") Then
INTEGER007 = GetY()
Else
INTEGER007 = STRING017
Endif
AnsiPos INTEGER006, INTEGER007
Return
:LABEL008
DefColor
Cls
If (Exist(PPEPath() + "graph\atxt" + String(CurConf()))) Then
STRING019 = PPEPath() + "graph\atxt" + String(CurConf())
Else
STRING019 = PPEPath() + "graph\atxt"
Endif
If (LangExt() <> "") Then
If (Exist(STRING019 + LangExt())) STRING019 = STRING019 + LangExt()
Endif
BOOLEAN011 = 0
BOOLEAN010 = 0
STRING026 = Chr(13)
INT004 = 1
If (Exist(PPEPath() + "area" + String(INTEGER002) + ".cfg")) Then
STRING022 = PPEPath() + "area" + String(INTEGER002) + ".cfg"
Else
STRING022 = PPEPath() + "area.cfg"
Endif
Tokenize ReadLine(STRING022, 1)
INTEGER018 = GetToken()
INTEGER025 = GetToken()
INTEGER026 = GetToken()
INTEGER027 = GetToken()
INTEGER028 = GetToken()
INTEGER030 = GetToken()
INTEGER031 = GetToken()
STRING025 = GetToken()
STRING028 = GetToken()
STRING030 = GetToken()
INT002 = GetToken()
If (GetToken() == "YES") Then
BOOLEAN004 = 1
Else
BOOLEAN004 = 0
Endif
STRING034 = ""
StartDisp 1
If (Exist(PPEPath() + "grp" + String(INTEGER002) + ".cfg")) Then
STRING034 = PPEPath() + "grp" + String(INTEGER002) + ".cfg"
ElseIf (Exist(PPEPath() + "grp.cfg")) Then
STRING034 = PPEPath() + "grp.cfg"
Endif
If (STRING034 <> "") Then
BOOLEAN006 = 1
If (BOOLEAN005) Then
STRING003 = PPEPath() + "dirs\tmp" + String(PcbNode())
Goto LABEL018
Endif
Tokenize ReadLine(STRING034, 1)
INT005 = GetToken()
INT008 = GetToken()
INT013 = 1
INT011 = GetToken()
INT012 = GetToken()
INT010 = GetToken()
STRING035 = GetToken()
If (Exist(PPEPath() + "grp" + String(INTEGER002))) Then
DispFile PPEPath() + "grp" + String(INTEGER002), 0
Goto LABEL009
Endif
DispFile PPEPath() + "grp", 0
:LABEL009
INT006 = INT013
INT007 = INT013 + INT008 - 1
If (INT007 > INT005) INT007 = INT005
While (1) Do
For INTEGER013 = INT006 To INT007
INT009 = INTEGER013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print ReadLine(STRING034, (INTEGER013 - 1) * 2 + 3)
Next
If ((INT007 % INT008 <> 0) && (INT007 > INT008)) Then
INTEGER013 = INT007 + 1
While (((1 < 0) && (INTEGER013 >= (INT007 / INT008 + 1) * INT008)) || ((1 >= 0) && (INTEGER013 <= (INT007 / INT008 + 1) * INT008))) Do
INT009 = INTEGER013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print Space(INT010 - INT011 + 1)
INTEGER013 = INTEGER013 + 1
EndWhile
Endif
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print STRING035, StripAtx(ReadLine(STRING034, (INT013 - 1) * 2 + 3))
TIME001 = Time()
:LABEL010
TIME002 = Time()
If (TIME002 - TIME001 > 1) Delay 1
STRING001 = Upper(Inkey())
If (STRING001 <> "") Then
TIME001 = Time()
Endif
If (STRING001 == "DOWN") Then
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print ReadLine(STRING034, (INT013 - 1) * 2 + 3)
If (INT013 == INT007) Then
INT013 = INT006
Goto LABEL011
Endif
Inc INT013
:LABEL011
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print STRING035, StripAtx(ReadLine(STRING034, (INT013 - 1) * 2 + 3))
Goto LABEL015
Endif
If (STRING001 == "UP") Then
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print ReadLine(STRING034, (INT013 - 1) * 2 + 3)
If (INT013 == INT006) Then
INT013 = INT007
Goto LABEL012
Endif
Dec INT013
:LABEL012
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print STRING035, StripAtx(ReadLine(STRING034, (INT013 - 1) * 2 + 3))
Goto LABEL015
Endif
If ((STRING001 == "PGDN") || (STRING001 == "]")) Then
INT013 = INT006 + INT008
If (INT013 > INT005) Then
INT013 = INT013 - INT008
Goto LABEL013
Endif
INT006 = INT013
INT007 = INT013 + INT008
If (INT007 > INT005) INT007 = INT005
Continue
:LABEL013
Goto LABEL015
Endif
If ((STRING001 == "PGUP") || (STRING001 == "[")) Then
INT013 = INT006 - INT008
If (INT013 < 1) Then
INT013 = 1
Goto LABEL014
Endif
INT006 = INT013
INT007 = INT013 + INT008 - 1
If (INT007 > INT005) INT007 = INT005
Continue
:LABEL014
Goto LABEL015
Endif
If (STRING001 == "END") Then
Gosub LABEL016
INT013 = INT007
Gosub LABEL017
Goto LABEL015
Endif
If (STRING001 == "HOME") Then
Gosub LABEL016
INT013 = INT006
Gosub LABEL017
Goto LABEL015
Endif
If (STRING001 == Chr(13)) Then
Gosub LABEL053
Goto LABEL018
Goto LABEL015
Endif
If ((STRING001 == "Q") || (STRING001 == Chr(27))) Then
DefColor
Cls
End
Goto LABEL015
Endif
If (((STRING001 >= "A") && (STRING001 <= "Z")) && (Len(STRING001) == 1)) Then
INT014 = Asc(STRING001) - Asc("A") + 1
INT009 = INT007 % INT008
If (!INT009) INT009 = INT008
If ((INT014 >= 1) && (INT014 <= INT009)) Then
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print ReadLine(STRING034, (INT013 - 1) * 2 + 3)
INT013 = INT006 + INT014 - 1
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print STRING035, StripAtx(ReadLine(STRING034, (INT013 - 1) * 2 + 3))
Gosub LABEL053
Goto LABEL018
Endif
Endif
:LABEL015
Goto LABEL010
EndWhile
:LABEL016
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print ReadLine(STRING034, (INT013 - 1) * 2 + 3)
Return
:LABEL017
INT009 = INT013 % INT008
If (!INT009) INT009 = INT008
AnsiPos INT011, INT012 + INT009 - 1
Print STRING035, StripAtx(ReadLine(STRING034, (INT013 - 1) * 2 + 3))
Return
Endif
:LABEL018
If (Len(StripAtx(STRING030)) == 0) STRING030 = STRING030 + " "
STRING004 = ReadLine(STRING019, 1)
STRING033 = Upper(ReadLine(STRING022, 2))
If ((STRING033 <> "S") && (STRING033 <> "NONE")) Then
If ((Len(STRING033) == 6) && ValDate(STRING033)) Goto LABEL019
STRING033 = Strip(String(ToDate(ToInteger(Date()) - STRING033)), "-")
Endif
:LABEL019
Redim TSTRING027, INTEGER018
STRING020 = PPEPath() + "dirs\menu" + String(INTEGER002)
STRING021 = PPEPath() + "dirs\ftr" + String(INTEGER002)
INTEGER036 = Len(StripAtx(ReadLine(STRING003, 1)))
INTEGER019 = 0
INTEGER017 = 1
If (Exist(STRING020)) Goto LABEL020
PrintLn ReadLine(STRING019, 6)
KbdStuff "F"
End
:LABEL020
StartDisp 1
DispFile STRING020, 1 + 4
INTEGER020 = INTEGER025
INTEGER021 = INTEGER026
:LABEL021
BIGSTR002 = ""
If (BOOLEAN005) Then
INTEGER001 = ReadLine(STRING007, 2)
If (INTEGER001 == 0) Then
BOOLEAN005 = 0
INTEGER022 = 0
Else
INTEGER032 = ReadLine(STRING007, 1) - 1
INTEGER022 = ToInteger(ReadLine(STRING007, 2))
Endif
INTEGER019 = INTEGER032
Else
INTEGER032 = INTEGER019 + 1
Endif
INTEGER037 = INTEGER019
FOpen 2, STRING003, 0, 0
For INTEGER010 = 1 To INTEGER018
Inc INTEGER019
If (INTEGER010 == 1) FSeek 2, STRING008 * (INTEGER019 - 1) , 0
FGet 2, STRING023
If (STRING023 == "") Then
Dec INTEGER019
BOOLEAN010 = 1
If (INT004) Goto LABEL023
If (BOOLEAN011) Goto LABEL022
Gosub LABEL052
BOOLEAN011 = 1
:LABEL022
For INTEGER011 = INTEGER010 To INTEGER018
If (BOOLEAN013) Continue
AnsiPos INTEGER020, INTEGER021 + INTEGER011 - 1
Print STRING029
AnsiPos INTEGER030 - 1, GetY()
Print STRING030
Next
:LABEL023
Break
Endif
If (BOOLEAN013) Continue
AnsiPos INTEGER020, INTEGER021 + INTEGER010 - 1
Print STRING023
TSTRING027(INTEGER010 - 1) = STRING023
If (BIGSTR001 <> "") Then
AnsiPos INTEGER030 - 1, GetY()
INT015 = String(ToInteger(Mid(STRING023, INT002, 5)))
If (InStr(BIGSTR001, " " + String(INT015) + " ")) Then
If (BIGSTR002 == "") Then
BIGSTR002 = " " + String(INT015) + " "
Goto LABEL024
Endif
BIGSTR002 = BIGSTR002 + String(INT015) + " "
:LABEL024
Print STRING028
Continue
Endif
Print STRING030
Endif
Next
FGet 2, STRING023
FClose 2
If (STRING023 == "") BOOLEAN010 = 1
If (BOOLEAN013) Then
If (BOOLEAN010) Goto LABEL025
Goto LABEL021
Goto LABEL026
:LABEL025
BOOLEAN013 = 0
INTEGER019 = INTEGER037
Goto LABEL021
Endif
:LABEL026
If (INT004) Then
INT004 = 0
INTEGER023 = INTEGER027
INTEGER024 = INTEGER028
AnsiPos INTEGER023, INTEGER024
If (BOOLEAN004) Print ReplaceStr(STRING004, "%DATE%", Upper(STRING033))
INTEGER029 = GetX()
Endif
INTEGER022 = INTEGER010
AnsiPos INTEGER023, INTEGER024
:LABEL027
If (BOOLEAN005) Then
Tokenize PPEPath() + "lb.cfg" + " " + String(INTEGER017)
Gosub LABEL002
INTEGER008 = 5
Else
Tokenize PPEPath() + "lb.cfg" + " " + String(INTEGER017)
If (!BOOLEAN002 && !BOOLEAN001) Gosub LABEL002
If (BOOLEAN004) Goto LABEL028
INTEGER008 = 5
:LABEL028
If (BOOLEAN001) Then
If (BOOLEAN003) Goto LABEL029
BOOLEAN003 = 1
INTEGER008 = 1
Goto LABEL030
:LABEL029
BOOLEAN003 = 0
INTEGER008 = 5
Endif
:LABEL030
If (BOOLEAN002) Then
If (BOOLEAN003) Goto LABEL031
BOOLEAN003 = 1
INTEGER008 = 2
Goto LABEL032
:LABEL031
BOOLEAN003 = 0
INTEGER008 = 5
Endif
:LABEL032
If (BOOLEAN009) Then
BOOLEAN009 = 0
Goto LABEL001
Endif
Endif
If (INTEGER008 == -1) Then
INTEGER017 = 1
If (INTEGER019 > INTEGER018) Then
If (BOOLEAN010) BOOLEAN010 = 0
INTEGER019 = 0
BOOLEAN014 = 1
Goto LABEL021
Endif
Endif
If (INTEGER008 == -2) Then
INTEGER017 = 2
If (BOOLEAN010) Goto LABEL033
BOOLEAN013 = 1
Goto LABEL021
Endif
:LABEL033
Select Case (INTEGER008)
Case 1
INTEGER017 = 1
If (BOOLEAN010) Goto LABEL034
Goto LABEL021
:LABEL034
Case 2
INTEGER017 = 2
If (INTEGER019 > INTEGER018) Then
If (BOOLEAN010) BOOLEAN010 = 0
If (INTEGER019 % INTEGER018 <> 0) Then
INTEGER019 = INTEGER019 - INTEGER018 - INTEGER019 % INTEGER018
Goto LABEL035
Endif
INTEGER019 = INTEGER019 - 2 * INTEGER018
:LABEL035
Goto LABEL021
Endif
Case 3
INTEGER017 = 3
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
STRING024 = ""
InputStr ReadLine(STRING019, 2) + "_", STRING024, 7, 60, Mask_Ascii(), 8
INTEGER029 = GetX()
If (STRING024 <> "") Then
FreshLine
DefColor
AnsiPos 1, 23
If (STRING024 <> "") Then
If (Upper(STRING033) <> "NONE") Then
If (Upper(STRING033) == "S") Then
FCreate 1, STRING006, 1, 0
FPutLn 1, "N S " + STRING024 + " " + BIGSTR001
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
Goto LABEL036
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, "N " + STRING033 + " " + STRING024 + " " + BIGSTR001
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
:LABEL036
Goto LABEL037
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, STRING024 + " " + BIGSTR001
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
Endif
Endif
:LABEL037
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReplaceStr(STRING004, "%DATE%", Upper(STRING033))
INTEGER029 = GetX()
Case 4
End
Case 5
INTEGER017 = 5
If (!BOOLEAN002 && !BOOLEAN001) Then
DefColor
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReadLine(STRING019, 3)
INTEGER029 = GetX()
AnsiPos INTEGER023, INTEGER024 + 1
Print ReadLine(STRING019, 7)
Endif
BOOLEAN002 = 0
BOOLEAN001 = 0
BOOLEAN009 = 0
BOOLEAN004 = 1
Gosub LABEL042
If (BOOLEAN009) Then
BOOLEAN009 = 0
Goto LABEL001
Endif
If (!BOOLEAN001 && !BOOLEAN002) Then
DefColor
AnsiPos INTEGER023, INTEGER024 + 1
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReplaceStr(STRING004, "%DATE%", Upper(STRING033))
INTEGER029 = GetX()
Endif
Case 6
INTEGER017 = 6
If (BIGSTR001 <> "") Then
INTEGER034 = GetX()
INTEGER035 = GetY()
AnsiPos 1, 23
DefColor
If (Upper(STRING033) <> "NONE") Then
If (Upper(STRING033) == "S") Then
FCreate 1, STRING006, 1, 0
FPutLn 1, "N S " + BIGSTR001
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
Goto LABEL038
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, "N " + STRING033 + " " + BIGSTR001
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
:LABEL038
Goto LABEL039
Endif
AnsiPos 1, 23
FCreate 1, STRING006, 1, 0
FPutLn 1, ToBigStr(LTrim(BIGSTR001, " "))
FPutLn 1, INTEGER032
FPutLn 1, "0"
FClose 1
End
:LABEL039
DefColor
AnsiPos INTEGER034, INTEGER035
Endif
Case 7
INTEGER017 = 7
If (BIGSTR001 == "") Goto LABEL027
INTEGER034 = GetX()
INTEGER035 = GetY()
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
STRING031 = Upper(YesChar())
InputYN ReadLine(STRING019, 5), STRING031, 7
INTEGER029 = GetX() + 2
If (Upper(STRING031) <> Upper(YesChar())) Then
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReplaceStr(STRING004, "%DATE%", STRING033)
INTEGER029 = GetX()
AnsiPos INTEGER034, INTEGER035
Goto LABEL027
Endif
If (BIGSTR001 <> "") Then
For INTEGER010 = INTEGER032 To INTEGER019
If (InStr(BIGSTR001, " " + String(INTEGER010) + " ")) Then
If (ToInteger(INTEGER010) % INTEGER018 == 0) Then
AnsiPos INTEGER030 - 1, INTEGER021 + INTEGER018 - 1
Goto LABEL040
Endif
AnsiPos INTEGER030 - 1, INTEGER021 + ToInteger(INTEGER010) % INTEGER018 - 1
:LABEL040
Print STRING030
Endif
Next
Endif
BIGSTR001 = ""
BIGSTR002 = ""
BIGSTR001 = ""
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReplaceStr(STRING004, "%DATE%", STRING033)
INTEGER029 = GetX()
AnsiPos INTEGER034, INTEGER035
Case 8
INTEGER017 = 8
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
STRING024 = ""
InputStr ReadLine(STRING019, 4), STRING024, 7, 6, Mask_Num() + "SN", 8 + 2
INTEGER029 = GetX() + 7
Select Case (STRING024)
Case "S"
STRING033 = "S"
Case "N"
STRING033 = "NONE"
Case ""
If ((Len(STRING024) == 6) && ValDate(STRING024)) Then
STRING033 = STRING024
Goto LABEL041
Endif
STRING001 = ""
STRING033 = String(ToDate(ToInteger(Date()) - STRING024))
For INTEGER010 = 1 To Len(STRING033)
STRING001 = Mid(STRING033, INTEGER010, 1)
If (InStr(Mask_Num(), STRING001)) Then
STRING001 = STRING001 + STRING001
Endif
Next
STRING033 = STRING001
End Select
:LABEL041
AnsiPos INTEGER023, INTEGER024
Print Space(INTEGER029 - INTEGER023 + 1)
AnsiPos INTEGER023, INTEGER024
Print ReplaceStr(STRING004, "%DATE%", Upper(STRING033))
INTEGER029 = GetX()
Case 0
End Select
Goto LABEL027
End
:LABEL042
DefColor
INTEGER034 = GetX()
INTEGER035 = GetY()
If (INTEGER019 % INTEGER018 <> 0) Then
INTEGER032 = INTEGER019 - INTEGER019 % INTEGER018 + 1
Else
INTEGER032 = INTEGER019 - INTEGER018 + 1
Endif
INTEGER021 = INTEGER026
If (BOOLEAN005) Then
BIGSTR001 = ""
BOOLEAN005 = 0
INTEGER022 = INTEGER001
INTEGER038 = INTEGER021 + INTEGER022 - INTEGER032
INTEGER020 = INTEGER025
INTEGER033 = INTEGER038
Else
INTEGER022 = INTEGER032
INTEGER033 = INTEGER021
INTEGER038 = INTEGER021
Endif
INTEGER014 = 0
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER022 - INTEGER032))
STRING024 = ""
TIME001 = Time()
:LABEL043
TIME002 = Time()
If (TIME002 - TIME001 > 1) Delay 1
STRING024 = Inkey()
If (STRING024 <> "") Then
TIME001 = Time()
Endif
Select Case (STRING024)
Case "DOWN", "RIGHT", ">"
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
If (INTEGER022 == INTEGER019) Then
INTEGER022 = INTEGER032
INTEGER033 = INTEGER021
Else
Inc INTEGER022
Inc INTEGER033
Endif
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER033 - INTEGER021))
Goto LABEL043
Case "UP", "LEFT", "<"
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
If (INTEGER022 == INTEGER032) Then
INTEGER022 = INTEGER019
INTEGER033 = INTEGER021 + INTEGER019 - INTEGER032
Else
Dec INTEGER022
Dec INTEGER033
Endif
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER033 - INTEGER021))
Goto LABEL043
Case "-"
If (BOOLEAN006) Then
BOOLEAN009 = 1
Return
Endif
Case "HOME"
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
INTEGER022 = INTEGER032
INTEGER033 = INTEGER021
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER033 - INTEGER021))
Goto LABEL043
Case "END"
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
INTEGER022 = INTEGER019
INTEGER033 = INTEGER021 + INTEGER019 - INTEGER032
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER033 - INTEGER021))
Goto LABEL043
Case "Q", Chr(27)
DefColor
Cls
End
Case Chr(9)
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
AnsiPos INTEGER034, INTEGER035
Return
Case Asc("A"), Asc("U"), 1
INT016 = Asc(Upper(STRING024)) - Asc("A")
If (INTEGER032 + INT016 > INTEGER019) Goto LABEL043
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
INTEGER022 = INTEGER032 + INT016
INTEGER033 = INTEGER021 + INT016
AnsiPos INTEGER030, INTEGER033
Print STRING025, StripAtx(TSTRING027(INTEGER033 - INTEGER021))
KbdStuff Chr(13)
Goto LABEL043
Case Upper(Left(StripAtx(TSTRING013(1)), 1)), "PGDN", "]"
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
BOOLEAN001 = 1
Return
Case Upper(Left(StripAtx(TSTRING013(2)), 1)), "PGUP", "["
AnsiPos INTEGER030, INTEGER033
Print TSTRING027(INTEGER033 - INTEGER021)
BOOLEAN002 = 1
Return
Case STRING026
DefColor
AnsiPos 1, 23
If (STRING024 <> "") Then
INT003 = String(ToInteger(Mid(TSTRING027(INTEGER033 - INTEGER021), INT002, 5)))
If (Upper(STRING033) <> "NONE") Then
If (Upper(STRING033) == "S") Then
FCreate 1, STRING006, 1, 0
FPutLn 1, "N S " + String(INT003)
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
Goto LABEL044
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, "N " + STRING033 + " " + String(INT003)
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
:LABEL044
Goto LABEL045
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, String(INT003)
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
Endif
:LABEL045
AnsiPos INTEGER030 + INTEGER031, INTEGER033
Case "X"
If (Upper(ReadLine(STRING022, 3)) <> "N") Then
FCreate 1, STRING006, 1, 0
INT003 = String(ToInteger(Mid(TSTRING027(INTEGER033 - INTEGER021), INT002, 5)))
FPutLn 1, "X " + String(INT003)
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
Endif
Case "V"
If (BIGSTR002 <> "") Then
INTEGER034 = GetX()
INTEGER035 = GetY()
AnsiPos 1, 23
DefColor
If (Upper(STRING033) <> "NONE") Then
If (Upper(STRING033) == "S") Then
FCreate 1, STRING006, 1, 0
FPutLn 1, "N S " + BIGSTR002
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
Goto LABEL046
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, "N " + STRING033 + " " + BIGSTR002
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
:LABEL046
Goto LABEL047
Endif
FCreate 1, STRING006, 1, 0
FPutLn 1, LTrim(BIGSTR002, " ")
FPutLn 1, INTEGER032
FPutLn 1, String(INTEGER022)
FClose 1
End
:LABEL047
DefColor
AnsiPos INTEGER034, INTEGER035
Endif
Case " "
AnsiPos INTEGER030 - 1, INTEGER033
INT003 = String(ToInteger(Mid(TSTRING027(INTEGER033 - INTEGER021), INT002, 5)))
If (BIGSTR001 <> "") Then
STRING005 = " " + String(ToInteger(Mid(TSTRING027(INTEGER033 - INTEGER021), INT002, 5))) + " "
INT001 = InStr(BIGSTR001, STRING005)
If (INT001) Then
BIGSTR001 = Mid(BIGSTR001, 1, INT001 - 1) + Mid(BIGSTR001, INT001 + Len(STRING005) - 1, Len(BIGSTR001) - INT001 + Len(STRING005) - 2)
If (BIGSTR001 == " ") BIGSTR001 = ""
AnsiPos INTEGER030 - 1, INTEGER033
Print STRING030
AnsiPos INTEGER030 + INTEGER031, INTEGER033
If (INTEGER022 <> INTEGER019) KbdStuff ">"
INT001 = InStr(BIGSTR002, STRING005)
BIGSTR002 = Mid(BIGSTR002, 1, INT001 - 1) + Mid(BIGSTR002, INT001 + Len(STRING005) - 1, Len(BIGSTR002) - INT001 + Len(STRING005) - 2)
If (BIGSTR002 == " ") BIGSTR002 = ""
Goto LABEL043
Endif
Endif
Print STRING028
If (BIGSTR001 == "") Then
BIGSTR001 = " " + String(INT003) + " "
Goto LABEL048
Endif
BIGSTR001 = BIGSTR001 + String(INT003) + " "
:LABEL048
If (BIGSTR002 == "") Then
BIGSTR002 = " " + String(INT003) + " "
Goto LABEL049
Endif
BIGSTR002 = BIGSTR002 + String(INT003) + " "
:LABEL049
AnsiPos INTEGER030 + INTEGER031, INTEGER033
If (INTEGER022 <> INTEGER019) KbdStuff ">"
Goto LABEL043
If (BIGSTR001 <> "") Then
BOOLEAN012 = 0
Tokenize BIGSTR001
STRING032 = ""
While (1) Do
STRING031 = GetToken()
If (STRING031 == "") Break
If (STRING031 <> INTEGER022) Then
STRING032 = STRING032 + STRING031 + " "
If ((STRING031 >= INTEGER032) && (STRING031 <= INTEGER019)) Then
BIGSTR002 = BIGSTR002 + STRING031 + " "
Endif
Continue
Endif
BOOLEAN012 = 1
DefColor
Print STRING030
EndWhile
If (BOOLEAN012) Then
BIGSTR001 = STRING032
AnsiPos INTEGER030 + INTEGER031, INTEGER033
If (INTEGER022 <> INTEGER019) KbdStuff ">"
Goto LABEL043
Endif
Endif
Print STRING028
If (BIGSTR001 == "") Then
BIGSTR001 = String(INTEGER022)
Goto LABEL050
Endif
BIGSTR001 = BIGSTR001 + " " + String(INTEGER022)
:LABEL050
If (BIGSTR002 == "") Then
BIGSTR002 = String(INTEGER022)
Goto LABEL051
Endif
BIGSTR002 = BIGSTR002 + " " + String(INTEGER022)
:LABEL051
AnsiPos INTEGER030 + INTEGER031, INTEGER033
If (INTEGER022 <> INTEGER019) KbdStuff ">"
Goto LABEL043
End Select
Goto LABEL043
:LABEL052
If (Exist(PPEPath() + "dm" + String(CurConf()) + ".cfg")) Then
STRING029 = ReadLine(PPEPath() + "dm" + String(CurConf()) + ".cfg", 1)
Else
STRING029 = ReadLine(PPEPath() + "dm.cfg", 2)
Endif
STRING029 = ReplaceStr(STRING029, "%NR%", Space(3))
STRING029 = ReplaceStr(STRING029, "%DESC%", Space(35))
STRING029 = ReplaceStr(STRING029, "%FILES_R%", Space(9))
STRING029 = ReplaceStr(STRING029, "%BYTES_R%", Space(15))
STRING029 = ReplaceStr(STRING029, "%FILES_L%", Space(9))
STRING029 = ReplaceStr(STRING029, "%BYTES_L%", Space(15))
Return
:LABEL053
STRING002 = PPEPath() + "dirs\tmp" + String(PcbNode())
FCreate 1, STRING002, 1, 0
Tokenize ReadLine(STRING034, ToInteger(INT013) * 2)
STRING001 = GetToken()
While (STRING001 <> "") Do
If (InStr(STRING001, "-")) Then
INT017 = InStr(STRING001, "-")
INT018 = ToInteger(Mid(STRING001, 1, INT017 - 1))
INT019 = ToInteger(Mid(STRING001, INT017 + 1, Len(STRING001) - INT017))
For INTEGER011 = INT018 To INT019
FPutLn 1, ReadLine(STRING003, INTEGER011)
Next
Else
FPutLn 1, ReadLine(STRING003, ToInteger(STRING001))
Endif
STRING001 = GetToken()
EndWhile
STRING003 = STRING002
FClose 1
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 21 End
; 5 Cls
; 2 Wait
; 329 Goto
; 354 Let
; 65 Print
; 2 PrintLn
; 210 If
; 4 DispFile
; 14 FCreate
; 1 FOpen
; 16 FClose
; 2 FGet
; 41 FPutLn
; 6 StartDisp
; 19 DefColor
; 1 Delete
; 2 InputStr
; 1 InputYN
; 22 Gosub
; 15 Return
; 3 Delay
; 4 Inc
; 4 Dec
; 12 Tokenize
; 11 KbdStuff
; 74 AnsiPos
; 1 FreshLine
; 1 SaveScrn
; 1 RestScrn
; 1 FSeek
; 2 Redim
;
;
; ■ Functions used :
;
; 5 -
; 17 *
; 2 /
; 19 %
; 215 +
; 98 -
; 103 ==
; 36 <>
; 12 <
; 16 <=
; 13 >
; 27 >=
; 192 !
; 36 &&
; 32 ||
; 16 Len(
; 35 Upper()
; 13 Mid()
; 6 Left()
; 17 Space()
; 9 Chr()
; 8 Asc()
; 7 InStr()
; 2 LTrim()
; 2 Date()
; 9 Time()
; 2 YesChar()
; 25 StripAtx()
; 1 Strip()
; 3 Inkey()
; 49 String()
; 2 Mask_Num()
; 1 Mask_Ascii()
; 5 CurConf()
; 26 PPEPath()
; 2 ValDate()
; 4 PcbNode()
; 37 ReadLine()
; 42 GetToken()
; 14 Exist()
; 3 LangExt()
; 16 GetX()
; 11 GetY()
; 2 HelpPath()
; 1 TokCount()
; 1 ScrText()
; 12 ReplaceStr()
; 1 ToBigStr()
; 2 ToDate()
; 14 ToInteger()
; 1 IsNonStop()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 10 For/Next
; 5 While/EndWhile
; 106 If/Then or If/Then/Else
; 4 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------