home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
TAB15.ZIP
/
TAB.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-01
|
21KB
|
1,030 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
;------------------------------------------------------------------------------
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
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
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String STRING046
String TSTRING047(1000)
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String STRING053
String STRING054
String STRING055
String STRING056
String STRING057
String STRING058
String STRING059
String STRING060
String STRING061
String STRING062
String STRING063
String STRING064
;------------------------------------------------------------------------------
STRING001 = "1.5 (February 1, 1994)"
INTEGER001 = 34365
INTEGER002 = 21220
INTEGER003 = INTEGER001 + 90
INTEGER005 = 1
STRING002 = Chr(85) + Chr(78) + Chr(82) + Chr(69) + Chr(71) + Chr(73) + Chr(83) + Chr(84) + Chr(69) + Chr(82) + Chr(69) + Chr(68)
INTEGER015 = 1
INTEGER009 = 1
INTEGER016 = 1
STRING048 = Chr(13)
STRING054 = 256
STRING056 = "RIMSHQ1234567890"
STRING057 = "N"
STRING059 = "RAEDHQ"
STRING060 = "N"
STRING062 = "RVAHQ"
STRING063 = "N"
GetUser
STRING049 = GetToken()
STRING049 = Upper(Trim(STRING049, " "))
If (INTEGER005 <> 0) Then
INTEGER006 = FileInf(PPEPath() + PPEName() + ".PPE", 2)
INTEGER004 = Date()
If (Len(Trim(STRING002, " ")) <> 12) Goto LABEL008
If (INTEGER004 > INTEGER003) Goto LABEL009
If (INTEGER004 + 3 == INTEGER003) Then
Newline
PrintLn "@X0CThis copy of TAB expires in @X8C3@X0C days!@X07"
Log "──── This copy of TAB expires in 3 days", 1
Log "──── Call Whitewater Systems - 312-743-4912 to", 1
Log "──── obtain a newer version", 1
ElseIf (INTEGER004 == INTEGER003) Then
Newline
PrintLn "@X0CThis copy of TAB expires after today!@X07"
Log "──── This copy of TAB expires after today!", 1
Log "──── Call Whitewater Systems - 312-743-4912 to", 1
Log "──── obtain a newer version", 1
Endif
If (INTEGER001 <> 0) Then
If (INTEGER006 <> INTEGER001) Then
Else
Endif
If (FileInf(PPEPath() + PPEName() + ".PPE", 4) <> INTEGER002) Then
Else
Endif
Gosub LABEL003
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Goto LABEL001
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
:LABEL001
Gosub LABEL002
If (INTEGER016 <> 0) Then
Newline
PrintLn "@X07[@X0CThis version of TAB is " + STRING002 + "@X07]"
PrintLn "@X07[@X0ACall Whitewater Systems to register - 312-743-4912@X07]"
Log "(" + STRING002 + " version of TAB)", 0
Delay 6 * 18.2
Endif
Newline
If (STRING049 == "MAINT") Then
If (Exist(STRING006)) DispFile STRING006, 4
Gosub LABEL018
Gosub LABEL019
Endif
If (STRING049 == "INTERNET") Gosub LABEL011
If (STRING049 == "INFO") Gosub LABEL010
Goto LABEL027
:LABEL002
STRING064 = ""
STRING064 = Chr(52) + String(Len(STRING004) - 2)
STRING064 = STRING064 + "7" + String(Len(STRING004) - 9)
STRING064 = STRING064 + "1" + String(Len(STRING004) - 6)
STRING064 = STRING064 + Chr(45) + Chr(50) + String(Len(STRING003) - 5) + Chr(49)
If (Trim(STRING004, " ") <> Trim(Mid(ReadLine(PCBDat(), 94), 1, Len(STRING004)), " ")) Then
INTEGER016 = 1
ElseIf (STRING005 <> STRING064) Then
INTEGER016 = 1
ElseIf (STRING005 == STRING064) Then
INTEGER016 = 0
Endif
Return
:LABEL003
INTEGER007 = 0
If (Exist(PPEPath() + "TAB.CFG")) Then
FOpen 1, PPEPath() + "TAB.CFG", 0, 0
FGet 1, STRING003
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING006
FGet 1, STRING007
FGet 1, STRING008
FGet 1, STRING009
FGet 1, STRING010
FGet 1, STRING011
FGet 1, STRING012
FGet 1, STRING013
FGet 1, STRING014
FGet 1, STRING015
FGet 1, STRING016
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FClose 1
STRING003 = Upper(Trim(STRING003, " "))
STRING006 = RTrim(PPEPath(), "\") + "\" + Upper(Trim(STRING006, " "))
STRING007 = RTrim(PPEPath(), "\") + "\" + Upper(Trim(STRING007, " "))
STRING008 = RTrim(PPEPath(), "\") + "\" + Upper(Trim(STRING008, " "))
STRING009 = RTrim(PPEPath(), "\") + "\" + Upper(Trim(STRING009, " "))
STRING010 = RTrim(Upper(Trim(STRING010, " ")), "\")
STRING012 = Upper(Trim(STRING012, " "))
Else
Newlines 2
PrintLn "@X0CConfiguration file not found! Please Notify Sysop!"
Newlines 2
Wait
KbdStuff STRING048
Log "Error: *TAB* TAB.CFG Configuration file not found!", 0
Goto LABEL027
Endif
If ((STRING014 == 1) || (INTEGER016 == 1)) Log "*TAB* Executed at " + Left(Time(), 5) , 0
If (Exist(STRING009)) Then
FOpen 1, STRING009, 0, 0
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FGet 1, STRING024
FGet 1, STRING025
FGet 1, STRING026
FGet 1, STRING027
FGet 1, STRING028
FGet 1, STRING029
FGet 1, STRING030
FGet 1, STRING031
FGet 1, STRING032
FGet 1, STRING033
FGet 1, STRING034
FGet 1, STRING035
FGet 1, STRING036
FClose 1
Else
Newlines 2
PrintLn "@X0CConfiguration file not found! Please Notify Sysop!"
Newlines 2
Wait
KbdStuff STRING048
Log "Error: *TAB* " + STRING009 + " not found!", 0
Goto LABEL027
Endif
INTEGER014 = 0
If (Exist(PPEPath() + "TAB.DAT")) Then
FOpen 1, PPEPath() + "TAB.DAT", 0, 0
INTEGER008 = 1
:LABEL004
If (Ferr(1)) Goto LABEL005
STRING053 = ""
FGet 1, STRING053
If (Upper(Trim(STRING053, " ")) == Upper(Trim(U_Name(), " "))) Then
INTEGER014 = INTEGER008
Endif
Inc INTEGER008
Goto LABEL004
:LABEL005
INTEGER008 = INTEGER008 - 1
FClose 1
If (INTEGER014 == 0) Then
INTEGER014 = INTEGER008
FAppend 1, PPEPath() + "TAB.DAT", 2, 3
FPutLn 1, Upper(Trim(U_Name(), " "))
FClose 1
STRING037 = Upper(Trim(U_Name(), " "))
STRING038 = String(U_RecNum(STRING037))
STRING039 = "1"
STRING040 = "1"
STRING041 = "-1"
STRING042 = "-1"
STRING043 = "-1"
STRING044 = "-1"
STRING045 = "-1"
STRING046 = "-1"
INTEGER007 = 0
If (Exist(STRING010 + "\" + String(INTEGER014) + ".DAT")) Delete STRING010 + "\" + INTEGER014 + ".DAT"
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Delete STRING010 + "\" + INTEGER014 + ".INT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".DAT", 1, 0
FPutLn 1, STRING037
FPutLn 1, STRING038
FPutLn 1, STRING039
FPutLn 1, STRING040
FPutLn 1, STRING041
FPutLn 1, STRING042
FPutLn 1, STRING043
FPutLn 1, STRING044
FPutLn 1, STRING045
FPutLn 1, STRING046
FClose 1
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
ElseIf (INTEGER014 <> 0) Then
If (Exist(STRING010 + "\" + String(INTEGER014) + ".DAT")) Then
FOpen 1, STRING010 + "\" + String(INTEGER014) + ".DAT", 0, 0
FGet 1, STRING037
FGet 1, STRING038
FGet 1, STRING039
FGet 1, STRING040
FGet 1, STRING041
FGet 1, STRING042
FGet 1, STRING043
FGet 1, STRING044
FGet 1, STRING045
FGet 1, STRING046
FClose 1
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Then
FOpen 1, STRING010 + "\" + String(INTEGER014) + ".INT", 0, 0
INTEGER008 = 1
While (!Ferr(1) || (INTEGER008 <= STRING016)) Do
FGet 1, TSTRING047(INTEGER008)
If (Trim(TSTRING047(INTEGER008), " ") <> "") Then
INTEGER007 = INTEGER008
Endif
Inc INTEGER008
EndWhile
FClose 1
Goto LABEL006
Endif
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
:LABEL006
Goto LABEL007
Endif
STRING037 = Upper(Trim(U_Name(), " "))
STRING038 = String(U_RecNum(STRING037))
STRING039 = "1"
STRING040 = "1"
STRING041 = "-1"
STRING042 = "-1"
STRING043 = "-1"
STRING044 = "-1"
STRING045 = "-1"
STRING046 = "-1"
INTEGER007 = 0
If (Exist(STRING010 + "\" + String(INTEGER014) + ".DAT")) Delete STRING010 + "\" + INTEGER014 + ".DAT"
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Delete STRING010 + "\" + INTEGER014 + ".INT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".DAT", 1, 0
FPutLn 1, STRING037
FPutLn 1, STRING038
FPutLn 1, STRING039
FPutLn 1, STRING040
FPutLn 1, STRING041
FPutLn 1, STRING042
FPutLn 1, STRING043
FPutLn 1, STRING044
FPutLn 1, STRING045
FPutLn 1, STRING046
FClose 1
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
Endif
:LABEL007
Else
If ((STRING014 == 1) || (INTEGER016 == 1)) Log "Creating a new data file (TAB.DAT)", 0
FCreate 1, PPEPath() + "TAB.DAT", 1, 0
INTEGER014 = 1
FPutLn 1, Upper(Trim(U_Name(), " "))
FClose 1
STRING037 = Upper(Trim(U_Name(), " "))
STRING038 = String(U_RecNum(STRING037))
STRING039 = "1"
STRING040 = "1"
STRING041 = "-1"
STRING042 = "-1"
STRING043 = "-1"
STRING044 = "-1"
STRING045 = "-1"
STRING046 = "-1"
If (Exist(STRING010 + "\" + String(INTEGER014) + ".DAT")) Delete STRING010 + "\" + INTEGER014 + ".DAT"
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Delete STRING010 + "\" + INTEGER014 + ".INT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".DAT", 1, 0
FPutLn 1, STRING037
FPutLn 1, STRING038
FPutLn 1, STRING039
FPutLn 1, STRING040
FPutLn 1, STRING041
FPutLn 1, STRING042
FPutLn 1, STRING043
FPutLn 1, STRING044
FPutLn 1, STRING045
FPutLn 1, STRING046
FClose 1
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
Endif
Return
Endif
Endif
:LABEL008
Cls
Beep
Newlines 2
PrintLn "@X07[@X0CTAB is (c) Copyrighted Software by Whitewater Technologies, Inc.@X07]"
PrintLn "@X07[@X0FWhitewater Systems - 312-743-4912@X07]"
Newline
PrintLn "@X07[@X0CTAB's authentic seal has been altered!@X07]"
PrintLn "@X07[@X07Please call Whitewater Systems and download the newest release@X07]"
Log "*TAB* Seal has been ALTERED", 0
Newline
Goto LABEL027
:LABEL009
Newline
PrintLn "@X07[@X0CThis version of TAB has expired@X07]"
PrintLn "@X07[@X07Please tell the Sysop to obtain a newer version@X07]"
Newline
Log "TAB This copy of TAB has EXPIRED!", 1
Log "TAB Call Whitewater Systems to obtain a newer version", 1
Goto LABEL027
:LABEL010
If ((STRING014 == 1) || (INTEGER016 == 1)) Log "(TAB INFO) Information Viewed", 0
Newline
If (Exist(STRING008)) DispFile STRING008, 4
PrintLn " @X08[@X0C■@X08] @X07TAB Version: v" + STRING001
PrintLn " @X08[@X0C■@X08] @X07Your TAB User Record # is: @X0A" + String(INTEGER014) + "@X07"
Print " @X08[@X071@X08] @X07You can store a maximum of @X0A" + STRING016 + "@X07 "
If (Len(STRING016) < 2) PrintLn "entry in your address book"
If (Len(STRING016) >= 2) PrintLn "entries in your address book"
If (INTEGER007 == 0) PrintLn " @X08[@X072@X08] @X07Your address book is currently empty"
If (INTEGER007 == 1) PrintLn " @X08[@X072@X08] @X07You currently have @X0A" + String(INTEGER007) + "@X07 entry in your address book"
If (INTEGER007 > 1) PrintLn " @X08[@X072@X08] @X07You currently have @X0A" + String(INTEGER007) + "@X07 entries in your address book"
If (STRING039 == "1") PrintLn " @X08[@X073@X08] @X07Auto Record Mode is @X0AON@X07"
If (STRING039 == "0") PrintLn " @X08[@X073@X08] @X07Auto Record Mode is @X0AOFF@X07"
PrintLn " @X08[@X074@X08] @X07Addresses/Names entered will automatically be recorded if the"
PrintLn " @X07length is greater than @X0A" + STRING015 + "@X07 characters and Auto-Record is ON"
If (STRING040 == "1") PrintLn " @X08[@X075@X08] @X07Descriptions will be displayed when viewing your address book"
If (STRING040 == "0") PrintLn " @X08[@X075@X08] @X07Descriptions will @X0Anot@X07 be displayed when viewing your address book"
If (INTEGER016 == 0) PrintLn " @X08[@X076@X08] @X07TAB is Registered to @X0F" + Mid(STRING004, 1, 50) + "@X07"
If (INTEGER016 == 1) PrintLn " @X08[@X076@X08] @X07This version of TAB is @X0C" + STRING002 + "@X07"
If (CurSec() >= SysopSec()) Then
Newline
More
PrintLn "@X08[@X0CSysop Info Area - " + PPEName() + ".CFG@X08]@X07"
Newline
PrintLn " @X0FSysop Name@X08 ·············@X07: @X07" + STRING003
PrintLn " @X0FBBS Name@X08 ···············@X07: @X07" + STRING004
PrintLn " @X0FWelcome filename@X08 ·······@X07: @X07" + STRING006
PrintLn " @X0FHeader filename@X08 ········@X07: @X07" + STRING007
PrintLn " @X0FInfo Header filename@X08 ···@X07: @X07" + STRING008
PrintLn " @X0FTAB Text filename@X08 ······@X07: @X07" + STRING009
PrintLn " @X0FUser Data Path@X08 ·········@X07: @X07" + STRING010
PrintLn " @X0FLowSec to access TAB@X08 ···@X07: @X07" + STRING011
PrintLn " @X0FHighSec to access TAB@X08 ··@X07: @X07" + STRING012
Print " @X0FLog user actions@X08 ·······@X07: @X07"
If (STRING014 == 1) PrintLn "YES"
If (STRING014 == 0) PrintLn "NO"
PrintLn " @X0FMin. Stored Addr. Length@X07: @X07" + STRING015
Newline
More
PrintLn " @X08[@X0CSysop Info Area - Prompt file @X0F" + STRING009 + "@X08]@X07"
Newline
PrintLn " @X08[@X071@X08] @X07" + STRING020
PrintLn " @X08[@X072@X08] @X07" + STRING021
PrintLn " @X08[@X073@X08] @X07" + STRING022
PrintLn " @X08[@X074@X08] @X07" + STRING023
PrintLn " @X08[@X075@X08] @X07" + STRING024
PrintLn " @X08[@X076@X08] @X07" + STRING025
PrintLn " @X08[@X077@X08] @X07" + STRING026
PrintLn " @X08[@X078@X08] @X07" + STRING027
PrintLn " @X08[@X079@X08] @X07" + STRING028
PrintLn " @X08[@X0710@X08] @X07" + STRING029
PrintLn " @X08[@X0711@X08] @X07" + STRING030
PrintLn " @X08[@X0712@X08] @X07" + STRING031
PrintLn " @X08[@X0713@X08] @X07" + STRING032
PrintLn " @X08[@X0714@X08] @X07" + STRING033
PrintLn " @X08[@X0715@X08] @X07" + STRING034
PrintLn " @X08[@X0716@X08] @X07" + STRING035
PrintLn " @X08[@X0717@X08] @X07" + STRING036
Endif
Newline
Wait
Return
:LABEL011
STRING050 = ""
STRING051 = ""
If (CurSec() < STRING011) Then
Gosub LABEL017
ElseIf (STRING012 <> "NONE") Then
If (((CurSec() <= STRING012) && (CurSec() >= STRING011)) || (CurSec() >= SysopSec())) Then
If (Exist(PPEPath() + "PREENTER")) DispFile PPEPath() + "PREENTER", 4
If (Exist(PPEPath() + "ENTER")) DispFile PPEPath() + "ENTER", 4
If (INTEGER007 == 0) Gosub LABEL015
If (INTEGER007 > 0) Gosub LABEL012
Endif
ElseIf (STRING012 == "NONE") Then
If (CurSec() >= STRING011) Then
If (Exist(PPEPath() + "PREENTER")) DispFile PPEPath() + "PREENTER", 4
If (Exist(PPEPath() + "ENTER")) DispFile PPEPath() + "ENTER", 4
If (INTEGER007 == 0) Gosub LABEL015
If (INTEGER007 > 0) Gosub LABEL012
Endif
Endif
Return
:LABEL012
STRING050 = ""
INTEGER015 = 1
InputStr STRING020, STRING050, 7, 120, Mask_Ascii(), 32
STRING050 = Trim(STRING050, " ")
INTEGER008 = 1
If (Mid(STRING050, 1, 1) <> "/") Then
For INTEGER008 = 1 To INTEGER007
If (Upper(Trim(Mid(TSTRING047(INTEGER008), 1, 45), " ")) == Upper(STRING050)) Then
INTEGER015 = 0
Endif
Next
If (((INTEGER015 == 1) && (Len(STRING050) >= STRING015)) && (STRING039 == "1")) Then
FAppend 1, STRING010 + "\" + String(INTEGER014) + ".INT", 2, 3
FPutLn 1, STRING050
FClose 1
Endif
Endif
If (STRING050 == "") Then
INTEGER009 = 1
Gosub LABEL018
Gosub LABEL019
ElseIf (STRING050 <> "") Then
Goto LABEL013
Endif
Return
:LABEL013
STRING050 = Trim(STRING050, " ")
If (Mid(STRING050, 1, 1) == "/") Then
If (Trim(Mid(TSTRING047(Trim(Mid(STRING050, 2, 15), " ")), 1, 45), " ") == "") Then
INTEGER008 = 1
INTEGER009 = 1
PrintLn "@X0CRecord #@X0F" + Trim(Mid(STRING050, 2, 15), " ") + "@X0C not found.@X07"
Newline
Goto LABEL012
Else
STRING050 = Trim(Mid(TSTRING047(Mid(STRING050, 2, 10)), 1, 45), " ")
Endif
Else
STRING050 = Trim(STRING050, " ")
Endif
PrintLn STRING020 + "? @X07" + Trim(STRING050, " ")
STRING051 = ""
INTEGER013 = GetY()
InputStr STRING022, STRING051, 7, 52, Mask_Ascii(), STRING054 + 2 + 8
STRING051 = Trim(STRING051, " ")
If (STRING051 <> "") Then
AnsiPos 1, INTEGER013 - 2
PrintLn "@CLREOL@"
PrintLn "@CLREOL@"
PrintLn "@CLREOL@"
KbdStuff "E" + STRING048 + Trim(STRING050, " ") + STRING048 + STRING051 + STRING048
ElseIf (STRING051 == "") Then
Newline
If ((STRING014 == 1) || (INTEGER016 == 1)) Then
DispText 404 + "@CLREOL@", 256 + 32768
Goto LABEL014
Endif
DispText 404 + "@CLREOL@", 256
Endif
:LABEL014
Goto LABEL027
:LABEL015
InputStr STRING021, STRING050, 7, 120, Mask_Ascii(), STRING054 + 32
STRING050 = Trim(STRING050, " ")
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Goto LABEL016
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
:LABEL016
If (((STRING050 <> "") && (Len(STRING050) >= STRING015)) && (INTEGER007 < STRING016)) Then
FAppend 1, STRING010 + "\" + String(INTEGER014) + ".INT", 2, 3
FPutLn 1, STRING050
FClose 1
KbdStuff "E" + STRING048 + STRING050 + STRING048
ElseIf ((STRING050 <> "") && (Len(STRING050) < STRING015)) Then
KbdStuff "E" + STRING048 + STRING050 + STRING048
ElseIf (STRING050 == "") Then
DispText 404 + "@CLREOL@", 256 + 32768
Endif
Return
:LABEL017
KbdStuff "E" + STRING048
Return
:LABEL018
INTEGER011 = 1
StartDisp 1
Cls
If (Exist(STRING007)) DispFile STRING007, 1
While ((INTEGER011 <> 0) && (Trim(Mid(TSTRING047(INTEGER011), 1, 45), " ") <> "")) Do
INTEGER012 = GetX()
INTEGER013 = GetY()
Select Case (STRING040)
Case "1"
For INTEGER011 = INTEGER013 To 22
STRING053 = Space(4 - Len(String(INTEGER009))) + String(INTEGER009)
If (Trim(TSTRING047(INTEGER009), " ") <> "") Then
OpText STRING053
STRING053 = Trim(Mid(TSTRING047(INTEGER009), 1, 36), " ") + Space(37 - Len(Trim(Mid(TSTRING047(INTEGER009), 1, 36), " "))) + Space(31 - Len(Trim(Mid(TSTRING047(INTEGER009), 50, 30), " "))) + "@X0A" + Trim(Mid(TSTRING047(INTEGER009), 50, 30), " ")
PrintLn "@X08 [@X0F@OPTEXT:4@@X08]@X07 - @X0E" + STRING053 + "@X07"
Endif
Inc INTEGER009
Next
Case "0"
For INTEGER011 = INTEGER013 To 22
STRING053 = Space(4 - Len(String(INTEGER009))) + String(INTEGER009)
If (Trim(TSTRING047(INTEGER009), " ") <> "") Then
OpText STRING053
STRING053 = Trim(Mid(TSTRING047(INTEGER009), 1, 45), " ")
PrintLn "@X08 [@X0F@OPTEXT:4@@X08]@X07 - @X0E" + STRING053 + "@X07"
Endif
Inc INTEGER009
Next
End Select
If (INTEGER009 <= INTEGER007) Then
STRING055 = STRING056 + STRING057
STRING058 = STRING059 + STRING060
STRING061 = STRING062 + STRING063
ElseIf (INTEGER009 > INTEGER007) Then
STRING055 = STRING056
STRING058 = STRING059
STRING061 = STRING062
Endif
INTEGER011 = 0
EndWhile
If (INTEGER007 == 0) Then
Newline
Color 10
PrintLn " There are currently no records in your address book."
Color 7
PrintLn " To add - Enter the MODIFY menu and type 'A <Enter>'"
Newline
STRING055 = STRING056
STRING058 = STRING059
STRING061 = STRING062
Endif
Newline
Return
:LABEL019
STRING050 = ""
InputStr STRING023, STRING050, 7, Len(String(INTEGER007)), STRING055, STRING054 + 128 + 2 + 8 + 32
STRING050 = Trim(STRING050, " ")
Select Case (STRING050)
Case "N"
Gosub LABEL018
Goto LABEL019
Case "I"
Gosub LABEL010
Goto LABEL019
Case "R"
INTEGER009 = 1
Gosub LABEL018
Goto LABEL019
Case "M"
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Goto LABEL021
Case "S"
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Goto LABEL026
Case "H"
INTEGER009 = 1
If (Exist(PPEPath() + STRING017)) Then
StartDisp 2
DispFile PPEPath() + STRING017, 1
StartDisp 1
Else
Newline
PrintLn "@X0CMain HELP file missing - Please notify Sysop!"
Newline
Wait
Endif
Gosub LABEL018
INTEGER009 = 1
Goto LABEL019
Case "Q"
Goto LABEL027
Case ||, "6", ||, tñ⌠, tñ⌠
Newline
If (Trim(Mid(TSTRING047(STRING050), 1, 45), " ") == "") Then
INTEGER009 = 1
Gosub LABEL018
Goto LABEL019
Goto LABEL020
Endif
STRING050 = "/" + STRING050
Goto LABEL013
End Select
:LABEL020
Return
:LABEL021
STRING050 = ""
InputStr STRING024, STRING050, 7, 1, STRING058, STRING054 + 128 + 2 + 8 + 32
STRING050 = Trim(STRING050, " ")
Select Case (STRING050)
Case "Q"
INTEGER009 = 1
Gosub LABEL018
Goto LABEL019
Case "H"
INTEGER009 = 1
If (Exist(PPEPath() + STRING019)) Then
StartDisp 2
DispFile PPEPath() + STRING019, 1
StartDisp 1
Else
Newline
PrintLn "@X0CModify HELP file missing - Please notify Sysop!"
Newline
Wait
Endif
Gosub LABEL018
INTEGER009 = 1
Goto LABEL021
Case "R", ""
INTEGER009 = 1
Gosub LABEL018
Goto LABEL021
Case "N"
Gosub LABEL018
Goto LABEL021
Case "A"
Gosub LABEL022
Goto LABEL021
Case "E"
Gosub LABEL024
Goto LABEL021
Case "D"
Gosub LABEL025
Goto LABEL021
End Select
Return
:LABEL022
STRING050 = ""
InputStr STRING025, STRING050, 7, 45, Mask_Ascii(), 2
STRING050 = Trim(STRING050, " ")
INTEGER010 = 1
For INTEGER010 = 1 To INTEGER007
If (Upper(Trim(Mid(TSTRING047(INTEGER010), 1, 45), " ")) == Upper(STRING050)) Then
Newline
Newline
PrintLn "@X0F" + STRING050 + "@X0C already exists in your address book."
STRING050 = ""
Newline
Wait
Endif
Next
If (STRING050 <> "") Then
STRING051 = ""
InputStr STRING026, STRING051, 7, 65, Mask_Ascii(), STRING054 + 128 + 2
STRING051 = Trim(STRING051, " ")
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Goto LABEL023
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
FClose 1
:LABEL023
FAppend 1, STRING010 + "\" + String(INTEGER014) + ".INT", 2, 3
FPutLn 1, STRING050 + Space(49 - Len(STRING050)) + STRING051
FClose 1
Gosub LABEL003
Endif
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Return
:LABEL024
STRING053 = ""
STRING050 = ""
InputStr STRING027, STRING050, 7, Len(String(INTEGER007)), Mask_Num() + "Q", 2 + 32 + 8
STRING050 = Trim(STRING050, " ")
STRING053 = STRING050
If (STRING050 > INTEGER007) Then
Newlines 2
PrintLn "@X0CRecord #@X0F" + STRING050 + "@X0C does not exist."
Newline
Wait
STRING050 = "Q"
Endif
If ((STRING050 <> "Q") && (STRING050 <> "")) Then
STRING053 = Trim(Mid(TSTRING047(STRING050), 1, 45), " ")
STRING052 = Trim(Mid(TSTRING047(STRING050), 1, 45), " ")
STRING051 = Trim(Mid(TSTRING047(STRING050), 50, 75), " ")
InputStr STRING025, STRING053, 7, 45, Mask_Ascii(), 4 + 256 + 2
If (STRING053 == "") Then
STRING053 = STRING052
PrintLn "@X0CEntry not changed. If you would like to delete this entry, select option 'D'.@X07"
Endif
InputStr STRING026, STRING051, 7, 65, Mask_Ascii(), STRING054 + 4 + 2
TSTRING047(STRING050) = Trim(STRING053, " ") + Space(49 - Len(STRING053)) + Trim(STRING051, " ")
INTEGER009 = 1
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Delete STRING010 + "\" + INTEGER014 + ".INT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
For INTEGER008 = 1 To INTEGER007
FPutLn 1, TSTRING047(INTEGER008)
Next
FClose 1
Gosub LABEL003
Endif
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Return
:LABEL025
STRING050 = ""
InputStr STRING028, STRING050, 7, Len(String(INTEGER007)), Mask_Num() + "Q", 2 + 8
STRING050 = Trim(STRING050, " ")
If (STRING050 > INTEGER007) Then
PrintLn "@X0CRecord #@X0F" + STRING050 + "@X0C does not exist."
Newline
Wait
STRING050 = "Q"
Endif
If ((STRING050 <> "Q") && (STRING050 <> "")) Then
STRING051 = "Y"
OpText STRING050
InputStr STRING029, STRING051, 7, 1, "YNyn", 128 + 256 + 4 + 2 + 8
STRING051 = Trim(STRING051, " ")
If (STRING051 == "Y") Then
TSTRING047(STRING050) = ""
INTEGER009 = 1
If (Exist(STRING010 + "\" + String(INTEGER014) + ".INT")) Delete STRING010 + "\" + INTEGER014 + ".INT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".INT", 1, 0
For INTEGER008 = 1 To INTEGER007
If (Trim(TSTRING047(INTEGER008), " ") <> "") FPutLn 1, TSTRING047(INTEGER008)
Next
FClose 1
Gosub LABEL003
Endif
Endif
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Return
:LABEL026
STRING050 = ""
InputStr STRING032, STRING050, 7, 1, STRING061, STRING054 + 128 + 2 + 8 + 32
STRING050 = Trim(STRING050, " ")
Select Case (STRING050)
Case "Q"
INTEGER009 = 1
Gosub LABEL018
Goto LABEL019
Case "H"
INTEGER009 = 1
If (Exist(PPEPath() + STRING019)) Then
StartDisp 2
DispFile PPEPath() + STRING019, 1
StartDisp 1
Else
Newline
PrintLn "@X0CSetup HELP file missing - Please notify Sysop!"
Newline
Wait
Endif
Gosub LABEL018
INTEGER009 = 1
Goto LABEL026
Case "R", ""
INTEGER009 = 1
Gosub LABEL018
Goto LABEL026
Case "V"
Select Case (STRING040)
Case "1"
Newline
PrintLn STRING034
Newline
STRING040 = "0"
Case "0"
Newline
PrintLn STRING033
Newline
STRING040 = "1"
End Select
Case "A"
Select Case (STRING039)
Case "1"
Newline
PrintLn STRING036
Newline
STRING039 = "0"
Case "0"
Newline
PrintLn STRING035
Newline
STRING039 = "1"
End Select
Case "N"
Gosub LABEL018
Goto LABEL026
End Select
If ((STRING050 == "V") || (STRING050 == "A")) Then
If (Exist(STRING010 + "\" + String(INTEGER014) + ".DAT")) Delete STRING010 + "\" + INTEGER014 + ".DAT"
FCreate 1, STRING010 + "\" + String(INTEGER014) + ".DAT", 1, 0
FPutLn 1, STRING037
FPutLn 1, STRING038
FPutLn 1, STRING039
FPutLn 1, STRING040
FPutLn 1, STRING041
FPutLn 1, STRING042
FPutLn 1, STRING043
FPutLn 1, STRING044
FPutLn 1, STRING045
FPutLn 1, STRING046
FClose 1
Wait
INTEGER009 = 1
Gosub LABEL018
INTEGER009 = 1
Goto LABEL026
Endif
Return
:LABEL027
If ((STRING014 == 1) || (INTEGER016 == 1)) Log "*TAB* Ended at " + Left(Time(), 5) , 0
StartDisp 2
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 2 More
; 10 Wait
; 2 Color
; 182 Goto
; 183 Let
; 2 Print
; 78 PrintLn
; 138 If
; 10 DispFile
; 14 FCreate
; 5 FOpen
; 4 FAppend
; 23 FClose
; 46 FGet
; 47 FPutLn
; 8 StartDisp
; 1 GetUser
; 9 Delete
; 16 Log
; 13 InputStr
; 38 Gosub
; 14 Return
; 1 Delay
; 4 Inc
; 39 Newline
; 6 Newlines
; 3 DispText
; 1 Beep
; 6 KbdStuff
; 3 OpText
; 1 AnsiPos
;
;
; ■ Functions used :
;
; 1 *
; 312 +
; 12 -
; 75 ==
; 26 <>
; 10 <
; 9 <=
; 7 >
; 19 >=
; 97 !
; 21 &&
; 24 ||
; 20 Len(
; 19 Upper()
; 22 Mid()
; 2 Left()
; 6 Space()
; 2 Ferr()
; 17 Chr()
; 5 RTrim()
; 55 Trim()
; 1 Date()
; 2 Time()
; 6 U_Name()
; 49 String()
; 2 Mask_Num()
; 7 Mask_Ascii()
; 1 PCBDat()
; 26 PPEPath()
; 1 ReadLine()
; 2 SysopSec()
; 6 CurSec()
; 1 GetToken()
; 27 Exist()
; 1 GetX()
; 2 GetY()
; 2 FileInf()
; 3 PPEName()
; 3 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : ds
;
; 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()
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 2 While/EndWhile
; 57 If/Then or If/Then/Else
; 6 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------