home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 17
/
CD_ASCQ_17_101194.iso
/
vrac
/
suggest1.zip
/
SUGGEST.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-09-23
|
17KB
|
800 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
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer TINTEGER008(1)
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String STRING001
String STRING002
String STRING003
String STRING004
String TSTRING005(1)
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String TSTRING012(1)
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 TSTRING032(21)
String STRING033
String TSTRING034(1)
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 STRING047
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String STRING053
String STRING054
String STRING055
String STRING056
;------------------------------------------------------------------------------
GetToken STRING051
GetUser
If (Exist(PPEPath() + "door.lck")) Goto LABEL001
FOpen 1, PPEPath() + "door.lck", 2, 0
FPutLn 1, "Door In Use - Security Lock Enabled!"
FClose 1
Goto LABEL002
Goto LABEL002
:LABEL001
INTEGER012 = PcbNode()
FAppend 1, PPEPath() + "Waiting.Lst", 2, 0
FPutLn 1, INTEGER012
FClose 1
Newlines 1
PrintLn "@X04█@X4E· @X0A Sorry but another user is in the Suggestion Box, try again in a minute @X04█@X4E·@X04█@X0F"
End
:LABEL002
If (Exist(PPEPath() + PPEName() + ".Key")) Goto LABEL003
BOOLEAN003 = 0
Goto LABEL004
:LABEL003
FOpen 2, PPEPath() + PPEName() + ".key", 0, 0
FGet 2, STRING046
FGet 2, STRING047
FGet 2, STRING048
FClose 2
STRING049 = Mid(STRING046, 2, 1)
STRING050 = Mid(STRING047, 5, 1)
STRING049 = Asc(STRING049) + 77 - 100
STRING050 = Asc(STRING050) + 77 - 100
If ((Mid(STRING048, 1, 2) == STRING049) && (Mid(STRING048, 79, 2) == STRING050)) Then
BOOLEAN003 = 1
Else
BOOLEAN003 = 0
Endif
:LABEL004
If (BOOLEAN003 == 1) Then
Cls
PrintLn "@X1C░▒▓█ @X1EGO/4 Software's Suggestion Box @X1C█▓▒░ @X1F(c)94 GO/4 Software@X0F"
Delay (1 * 182) / 10
Else
Cls
For INTEGER003 = 1 To 10
PrintLn "@X0EThis is @X8CUNREGISTERED @X0Esoftware - Please encourage your sysop to register it!@X0F"
PrintLn " @X0AGO/4 Software's Suggestion Box@X0F"
Delay (1 * 182) / 10
If (INTEGER003 == 10) Delay 2 * 182 / 10
Next
Endif
BOOLEAN002 = 1
If (Upper(STRING051) == "QUIK") BOOLEAN002 = 0
STRING008 = "■"
INTEGER007 = 15
RdUNet PcbNode()
WrUNet PcbNode(), UN_Stat(), UN_Name(), "Running " + PPEName(), "", ""
GetUser
FOpen 6, PPEPath() + PPEName() + ".Sec", 0, 0
:LABEL005
If (Ferr(6)) Goto LABEL006
FGet 6, STRING019
If (STRING019 == CurSec()) Then
Newlines 2
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1E░▒▓█ @X1BWe are sorry, but the suggestion door is only for subscriber use.@X1E █▓▒░ @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
Newlines 1
Delay (5 * 182) / 10
Else
Goto LABEL005
:LABEL006
FClose 6
If (Exist(PPEPath() + PPEName() + ".Nam")) Goto LABEL007
FCreate 7, PPEPath() + PPEName() + ".nam", 2, 0
FClose 7
:LABEL007
If (Exist(PPEPath() + PPEName() + ".Cfg")) Goto LABEL008
FCreate 7, PPEPath() + PPEName() + ".Cfg", 2, 0
FPutLn 7, "0"
FClose 7
Cls
PrintLn "@X0E You are the first user! Please give us your suggestion below.@X0F"
Newlines 1
Gosub LABEL010
:LABEL008
INTEGER006 = ReadLine(PPEPath() + PPEName() + ".cfg", 1)
Redim TSTRING005, INTEGER006
Redim TSTRING012, INTEGER006
Redim TINTEGER008, INTEGER006
Redim TSTRING034, INTEGER006
INTEGER004 = 1
INTEGER005 = INTEGER006
BOOLEAN001 = 0
If (BOOLEAN002) Goto LABEL018
BOOLEAN002 = 0
:LABEL009
FCloseAll
FOpen 1, PPEPath() + PPEName() + ".DAT", 0, 0
Gosub LABEL016
If (BOOLEAN001) Then
PrintLn " @X0EYea @X0CNey@X0F"
Else
Newline
Endif
For INTEGER003 = INTEGER004 To INTEGER005
FGet 1, STRING007
STRING021 = Left(STRING007, 5)
STRING021 = LTrim(STRING021, "0")
If (Len(STRING021) == 0) STRING021 = 0
STRING022 = Mid(STRING007, 7, 5)
STRING022 = LTrim(STRING022, "0")
If (Len(STRING022) == 0) STRING022 = 0
STRING013 = Mid(STRING007, 13, 6)
STRING038 = Mid(STRING007, 20, 1)
STRING002 = Mid(STRING007, 22, 74)
STRING002 = Upper(Left(STRING002, 1)) + Mid(STRING002, 2, 73)
If (STRING038 == "Y") Then
STRING040 = "@X8D@X0B"
Else
STRING040 = " "
Endif
If (BOOLEAN001 == 0) Then
If ((INTEGER003 > 0) && (INTEGER003 < 10)) PrintLn " @X0E ", INTEGER003, "@X0A)@X0B", STRING040, STRING002
If ((INTEGER003 >= 10) && (INTEGER003 < 100)) PrintLn "@X0E ", INTEGER003, "@X0A)@X0B", STRING040, STRING002
If ((INTEGER003 >= 100) && (INTEGER003 < 1000)) PrintLn "@X0E", INTEGER003, "@X0A)@X0B", STRING040, STRING002
Else
If ((INTEGER003 > 0) && (INTEGER003 < 10)) PrintLn " @X0E ", INTEGER003, "@X0A)@X0B", STRING040, Left(STRING002, 64) , "@X09@POS:66@ ", STRING021, "@POS:76@", STRING022
If ((INTEGER003 >= 10) && (INTEGER003 < 100)) PrintLn "@X0E ", INTEGER003, "@X0A)@X0B", STRING040, Left(STRING002, 64) , "@X09@POS:66@ ", STRING021, "@POS:76@", STRING022
If ((INTEGER003 >= 100) && (INTEGER003 < 1000)) PrintLn "@X0E", INTEGER003, "@X0A)@X0B", STRING040, Left(STRING002, 64) , "@X09@POS:66@ ", STRING021, "@POS:76@", STRING022
Endif
If (INTEGER003 >= INTEGER007) Then
Gosub LABEL015
Gosub LABEL016
Endif
Next
FClose 1
PrintLn "@X03───────────────────────────────────────────────────────────────────────────────@X0F"
If (CurSec() >= SysopSec()) PrintLn " @X03Sysop only commands - @X0A(@X0ED@X0A)@X03elete a Suggestion / @X0A(@X0EE@X0A)@X03dit the notes file"
InputStr " @X0B@X0A(@X0EV@X0A)@X0Bote / @X0A(@X0EA@X0A)@X0Bdd your own / @X0A(@X0EH@X0A)@X0Belp / @X0A(@X0ET@X0A)@X0Boggle / @X0A(@X0EN@X0A)@X0Botes @X8D@X0F @X0B/ @X0A(@X0CQ@X0A)@X0Cuit to BBS _", STRING003, 15, 1, "VAHQTBNDE", 0 + 8
If ((STRING003 == "T") && (BOOLEAN001 == 0)) Then
BOOLEAN001 = 1
INTEGER007 = 15
Goto LABEL009
ElseIf ((STRING003 == "T") && (BOOLEAN001 == 1)) Then
BOOLEAN001 = 0
INTEGER007 = 15
Goto LABEL009
Endif
If (STRING003 == "V") Goto LABEL011
If (STRING003 == "A") Goto LABEL010
If (STRING003 == "H") Goto LABEL018
If ((STRING003 == "D") && (CurSec() >= SysopSec())) Goto LABEL019
If (STRING003 == "B") Goto LABEL026
If (STRING003 == "N") Goto LABEL027
If ((STRING003 == "E") && (CurSec() >= SysopSec())) Goto LABEL028
Select Case (STRING003)
Case "Q"
Gosub LABEL017
Cls
INTEGER007 = 15
Goto LABEL009
If (STRING003 == "") Then
INTEGER007 = 15
Goto LABEL009
Endif
:LABEL010
If ((INTEGER005 >= 5) && !BOOLEAN003) Then
Backup 80
ClrEol
PrintLn " @X0C Sorry but this is an @X8Cunregistered@X0C version, no more additions allowed!"
PrintLn "@X0C Please have your sysop register the suggestion box to remove all limitations@X0F"
Delay (4 * 182) / 10
INTEGER007 = 15
BOOLEAN002 = 0
Goto LABEL008
Endif
STRING006 = ""
STRING014 = ""
Backup 80
ClrEol
PrintLn " @X0E┌──@X0BPlease enter a one line description of your suggestion @X0A(@X0C74 chars max@X0A)@X0E─┐"
InputStr " _", STRING006, 3, 74, Mask_Ascii(), 0
If (Len(STRING006) == 0) Then
INTEGER007 = 15
Goto LABEL009
Endif
If (Upper(STRING006) == "Q") Then
INTEGER007 = 15
Goto LABEL009
Endif
STRING014 = Random(999999)
STRING014 = STRING014 + "000000"
STRING014 = Left(STRING014, 6)
STRING006 = Strip(STRING006, ";")
STRING006 = "00001" + STRING008 + "00000" + STRING008 + STRING014 + STRING008 + "N" + STRING008 + STRING006
INTEGER006 = INTEGER006 + 1
INTEGER005 = INTEGER006
FOpen 2, PPEPath() + PPEName() + ".Cfg", 2, 0
FPutLn 2, INTEGER005
FClose 2
FOpen 5, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER003 = 1 To INTEGER005
FGet 5, TSTRING034(INTEGER003)
Next
FClose 5
FCloseAll
FCreate 5, PPEPath() + PPEName() + ".DAT", 2, 0
For INTEGER003 = 1 To INTEGER005 - 1
FPutLn 5, TSTRING034(INTEGER003)
Next
FPutLn 5, STRING006
FClose 5
FAppend 4, PPEPath() + PPEName() + ".nam", 2, 0
FPutLn 4, STRING014 + ";" + Strip(U_Name(), " ")
FClose 4
INTEGER007 = 15
BOOLEAN002 = 0
FCloseAll
Goto LABEL008
:LABEL011
Backup 80
ClrEol
InputStr "@X0BPlease enter the suggestion number to vote on @X0A(@X0CQ@X0A)@X0Cuit _", STRING004, 15, 3, "0123456789", 0
If (STRING004 == "") Then
INTEGER007 = 15
Goto LABEL009
Endif
If (Upper(STRING004) == "Q") Goto LABEL009
If ((STRING004 == 0) || (STRING004 > INTEGER006)) Goto LABEL009
STRING020 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING004)
STRING020 = Mid(STRING020, 13, 6)
FOpen 2, PPEPath() + PPEName() + ".Nam", 0, 0
:LABEL012
If (Ferr(2)) Goto LABEL013
FGet 2, STRING011
Tokenize STRING011
GetToken STRING010
GetToken STRING009
If ((STRING009 == Strip(U_Name(), " ")) && (STRING010 == STRING020)) Then
Backup 80
ClrEol
PrintLn " @X04████ @X0ASorry but you already voted on that suggestion! @X04████@X0F"
FClose 2
Delay (4 * 182) / 10
INTEGER007 = 15
Goto LABEL009
Endif
Goto LABEL012
:LABEL013
FClose 2
Backup 80
ClrEol
Print "@X0BWould you like to vote @X0A(@X0EF@X0A)@X0Bor or @X0A(@X0EA@X0A)@X0Bgainst #@X0C ", STRING004, "@X0F "
InputStr "_", STRING023, 14, 1, "FA", 0 + 8
If (STRING023 == "A") Goto LABEL014
Backup 80
ClrEol
PrintLn " @X04████ @X0BYour vote has been noted for # @X0E", STRING004, "@X0B thank you for voting! @X04████@X0F"
FAppend 3, PPEPath() + PPEName() + ".nam", 2, 0
FPutLn 3, STRING020 + ";" + Strip(U_Name(), " ")
FClose 3
FOpen 4, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER002 = INTEGER004 To INTEGER005
FGet 4, TSTRING005(INTEGER002)
Next
FClose 4
STRING045 = Left(TSTRING005(STRING004), 5)
STRING044 = Mid(TSTRING005(STRING004), 7, 5)
STRING015 = Mid(TSTRING005(STRING004), 13, 6)
STRING039 = Mid(TSTRING005(STRING004), 20, 1)
STRING016 = Mid(TSTRING005(STRING004), 22, 74)
STRING045 = STRING045 + 1
STRING045 = "0000" + STRING045
STRING045 = Right(STRING045, 5)
TSTRING005(STRING004) = STRING045 + STRING008 + STRING044 + STRING008 + STRING015 + STRING008 + STRING039 + STRING008 + STRING016
FOpen 5, PPEPath() + PPEName() + ".DAT", 2, 0
For INTEGER002 = INTEGER004 To INTEGER005
FPutLn 5, TSTRING005(INTEGER002)
Next
FClose 5
INTEGER007 = 15
Delay (2 * 182) / 10
BOOLEAN002 = 0
FCloseAll
Goto LABEL008
:LABEL014
Backup 80
ClrEol
PrintLn " @X04████ @X0BYour vote has been noted against # @X0E", STRING004, "@X0B thank you for voting! @X04████@X0F"
FAppend 3, PPEPath() + PPEName() + ".NAM", 2, 0
FPutLn 3, STRING020 + ";" + Strip(U_Name(), " ")
FClose 3
FOpen 2, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER002 = INTEGER004 To INTEGER005
FGet 2, TSTRING005(INTEGER002)
Next
FClose 2
STRING024 = Left(TSTRING005(STRING004), 5)
STRING025 = Mid(TSTRING005(STRING004), 7, 5)
STRING015 = Mid(TSTRING005(STRING004), 13, 6)
STRING039 = Mid(TSTRING005(STRING004), 20, 1)
STRING016 = Mid(TSTRING005(STRING004), 22, 74)
STRING024 = STRING024
STRING025 = STRING025 + 1
STRING025 = "0000" + STRING025
STRING025 = Right(STRING025, 5)
TSTRING005(STRING004) = STRING024 + STRING008 + STRING025 + STRING008 + STRING015 + STRING008 + STRING039 + STRING008 + STRING016
FOpen 2, PPEPath() + PPEName() + ".DAT", 2, 0
For INTEGER002 = INTEGER004 To INTEGER005
FPutLn 2, TSTRING005(INTEGER002)
Next
FClose 2
INTEGER007 = 15
Delay (2 * 182) / 10
BOOLEAN002 = 0
FCloseAll
Goto LABEL008
:LABEL015
PrintLn "@X03─────────────────────────────────────────────────────────────────────────────@X0F"
If (CurSec() >= SysopSec()) PrintLn "@X03 Sysop only commands - @X0A(@X0ED@X0A)@X03elete a Suggestion / @X0A(@X0EE@X0A)@X03dit the notes file"
InputStr "@X0B@X0A(@X0EV@X0A)@X0Bote / @X0A(@X0EA@X0A)@X0Bdd your own / @X0A(@X0EH@X0A)@X0Belp / @X0A(@X0EM@X0A)@X0Bore / @X0A(@X0ET@X0A)@X0Boggle / @X0A(@X0EN@X0A)@X0Botes @X8D@X0B / @X0A(@X0CQ@X0A)@X0Cuit _", STRING003, 15, 1, "TVAMHQNBDE", 0 + 8
INTEGER007 = INTEGER007 + 15
If ((STRING003 == "T") && (BOOLEAN001 == 0)) Then
BOOLEAN001 = 1
INTEGER007 = 15
Goto LABEL009
ElseIf ((STRING003 == "T") && (BOOLEAN001 == 1)) Then
BOOLEAN001 = 0
INTEGER007 = 15
Goto LABEL009
Endif
If (STRING003 == "M") Return
If (STRING003 == "V") Goto LABEL011
If (STRING003 == "A") Goto LABEL010
If (STRING003 == "H") Goto LABEL018
If ((STRING003 == "D") && (CurSec() >= SysopSec())) Goto LABEL019
If ((STRING003 == "E") && (CurSec() >= SysopSec())) Goto LABEL028
If (STRING003 == "B") Goto LABEL026
If (STRING003 == "N") Goto LABEL027
Case "Q"
Gosub LABEL017
Cls
Case Else
Return
:LABEL016
Cls
STRING001 = "@BOARDNAME@" + " Suggestion Box"
STRING001 = Trim(STRING001, " ")
STRING001 = Space((80 - Len(STRING001)) / 2 - 5) + STRING001
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1E", STRING001, "@POS:79@@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
Return
:LABEL017
Backup 80
ClrEol
PrintLn " @X84████ @X0AOne moment please, sorting data.... @X84 ████ @X0F"
FOpen 5, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER001 = 0 To INTEGER005
FGet 5, TSTRING012(INTEGER001)
Next
FClose 5
Sort TSTRING012, TINTEGER008
FCreate 7, PPEPath() + PPEName() + ".SRT", 2, 0
For INTEGER001 = 0 To INTEGER005
FPutLn 7, TSTRING012(TINTEGER008(INTEGER001))
Next
FClose 7
FCloseAll
FCreate 4, PPEPath() + PPEName() + ".DAT", 2, 0
While (INTEGER005 <> 0) Do
STRING031 = ReadLine(PPEPath() + PPEName() + ".SRT", INTEGER005)
FPutLn 4, STRING031
Dec INTEGER005
EndWhile
FClose 4
Return
:LABEL018
INTEGER007 = 15
Cls
DispFile PPEPath() + PPEName() + "1" + ".hlp", 2 + 1 + 4
Newlines 1
Print " @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
InputStr "_", STRING017, 15, 1, Mask_Ascii(), 0
Cls
DispFile PPEPath() + PPEName() + "2" + ".hlp", 2 + 1 + 4
Newlines 1
Print " @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
InputStr "_", STRING017, 15, 1, Mask_Ascii(), 0
Goto LABEL009
:LABEL019
FCloseAll
Backup 80
ClrEol
Print " @X0A Suggestion Number to @X8ADelete@X0A # @X0E(@X0C1@X0E-@X0C", INTEGER005, "@X0E) @X0A/ @X0E(@X0CQ@X0E)@X0Cuit@X0F "
InputStr "_", STRING018, 14, 3, "0123456789Q", 0 + 8
If (STRING018 == "Q") Then
INTEGER007 = 15
BOOLEAN002 = 0
Goto LABEL008
Endif
STRING029 = ReadLine(PPEPath() + PPEName() + ".dat", STRING018)
STRING029 = Mid(STRING029, 13, 6)
FOpen 3, PPEPath() + PPEName() + ".$$$", 2, 0
FOpen 4, PPEPath() + PPEName() + ".Nam", 0, 0
:LABEL020
If (Ferr(4)) Goto LABEL022
FGet 4, STRING030
If (Mid(STRING030, 13, 6) == STRING029) Goto LABEL021
If (Mid(STRING030, 13, 6) <> STRING029) FPutLn 3, STRING030
:LABEL021
Goto LABEL020
:LABEL022
FClose 4
FClose 3
Rename PPEPath() + PPEName() + ".Nam", PPEPath() + PPEName() + ".Man"
Rename PPEPath() + PPEName() + ".$$$", PPEPath() + PPEName() + ".Nam"
FOpen 5, PPEPath() + PPEName() + ".%%%", 2, 0
FOpen 6, PPEPath() + PPEName() + ".DAT", 0, 0
:LABEL023
If (Ferr(6)) Goto LABEL025
FGet 6, STRING030
If (Mid(STRING030, 13, 6) == STRING029) Goto LABEL024
FPutLn 5, STRING030
:LABEL024
Goto LABEL023
:LABEL025
FClose 6
FClose 5
FCloseAll
Copy PPEPath() + PPEName() + ".Dat", PPEPath() + PPEName() + ".Tad"
Delete PPEPath() + PPEName() + ".Dat"
Copy PPEPath() + PPEName() + ".%%%", PPEPath() + PPEName() + ".Dat"
Delete PPEPath() + PPEName() + ".%%%"
INTEGER006 = INTEGER006 - 1
FOpen 2, PPEPath() + PPEName() + ".Cfg", 2, 0
FPutLn 2, INTEGER006
FClose 2
If (Exist(PPEPath() + String(STRING029) + ".Not")) Delete PPEPath() + String(STRING029) + ".Not"
BOOLEAN002 = 0
INTEGER007 = 15
Goto LABEL008
:LABEL026
Cls
Newlines 4
PrintLn "@POS:23@@X10┌─────────────────────────────────@X19┐@X0F"
PrintLn "@POS:23@@X10│ @X1AUser Suggestion Box @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1E▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @X19│@X0F"
PrintLn "@POS:23@@X10│ @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1C(c)94 GO/4 Software @X19│@X0F"
PrintLn "@POS:23@@X10│ @X19│@X0F"
PrintLn "@POS:23@@X10│ @X13GO/4 Software is: @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1FBill Marcy @X19│@X0F"
PrintLn "@POS:23@@X10│ @X1FEric Scales @X19│@X0F"
Print "@POS:23@@X10└@X19─────────────────────────────────┘@X0F"
Delay (5 * 182) / 10
Goto LABEL009
:LABEL027
Backup 80
ClrEol
Print " @X0BView which note file@X0A @X0E(@X0CQ@X0E)@X0Cuit@X0F "
InputStr "_", STRING035, 14, 3, "0123456789Q", 0 + 8
If (STRING035 == "Q") Then
INTEGER007 = 15
BOOLEAN002 = 0
Goto LABEL008
Endif
STRING041 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING035)
STRING020 = Mid(STRING041, 13, 6)
STRING036 = Mid(STRING041, 20, 1)
If (STRING036 == "Y") Then
Cls
DispFile PPEPath() + String(STRING020) + ".Not", 0
Newlines 1
Print " @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
InputStr "_", STRING017, 15, 1, Mask_Ascii(), 0
BOOLEAN002 = 0
INTEGER007 = 15
Goto LABEL008
Else
Backup 80
ClrEol
PrintLn "@X0A @X0E████ @X0BSorry but you chose a Suggestion with no note @X0A(@X0Blook for the @X8D@X0A) @X0E████@X0F"
Delay (4 * 182) / 10
BOOLEAN002 = 0
Endif
INTEGER007 = 15
Goto LABEL008
:LABEL028
Backup 80
ClrEol
Print " @X0AAdd a note to which Suggestion@X0A # @X0E(@X0C1@X0E-@X0C", INTEGER005, "@X0E) @X0A/ @X0E(@X0CQ@X0E)@X0Cuit@X0F "
InputStr "_", STRING035, 14, 3, "0123456789Q", 0 + 8
If (STRING035 == "Q") Then
INTEGER007 = 15
BOOLEAN002 = 0
Goto LABEL008
Endif
Newline
STRING041 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING035)
STRING020 = Mid(STRING041, 13, 6)
STRING036 = Mid(STRING041, 20, 1)
STRING033 = Mid(STRING041, 22, 74)
If (STRING036 == "Y") Then
Backup 80
ClrEol
InputStr "@X0BThere is already a note for this Suggestion @X0A(@X0ED@X0A)@X0Belete or @X0A(@X0ER@X0A)@X0Beview it _", STRING037, 14, 1, "DR", 0 + 8
For INTEGER002 = 1 To INTEGER005
TSTRING005(INTEGER002) = ""
Next
Select Case (Upper(STRING037))
Case "D"
Delete PPEPath() + String(STRING020) + ".Not"
FOpen 7, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER002 = 1 To INTEGER005
FGet 7, TSTRING005(INTEGER002)
Next
FClose 7
FCloseAll
STRING052 = Left(TSTRING005(STRING035), 5)
STRING053 = Mid(TSTRING005(STRING035), 7, 5)
STRING054 = Mid(TSTRING005(STRING035), 13, 6)
STRING055 = "N"
STRING056 = Mid(TSTRING005(STRING035), 22, 74)
TSTRING005(STRING035) = STRING052 + STRING008 + STRING053 + STRING008 + STRING054 + STRING008 + STRING055 + STRING008 + STRING056
FOpen 6, PPEPath() + PPEName() + ".DAT", 2, 0
For INTEGER002 = 1 To INTEGER005
FPutLn 6, TSTRING005(INTEGER002)
Next
FClose 6
Case "R"
Cls
DispFile PPEPath() + String(STRING020) + ".Not", 0
Newlines 1
Print " @X0APress your @X0E<@X84ENTER@X0E>@X0A key to continue@X0F"
InputStr "_", STRING017, 15, 1, Mask_Ascii(), 0
End Select
BOOLEAN002 = 0
Goto LABEL008
Else
INTEGER009 = 2
Cls
PrintLn "@X0AType an @X0CS@X0A on a blank line to @X0CSave@X0A, or a @X0CQ@X0A to @X0Cquit@X0A (no save)"
Newline
PrintLn "@X0E┌─────────@X0B1@X0E─────────@X0B2@X0E─────────@X0B3@X0E─────────@X0B4@X0E─────────@X0B5@X0E─────────@X0B6@X0E─────────@X0B7@X0E───────┐"
TSTRING032(0) = "Date: " + String(Date())
TSTRING032(1) = " RE: " + Left(STRING033, 70)
TSTRING032(2) = "-------------------------------------------------------------------------------"
For INTEGER003 = 3 To 21
InputStr "_", TSTRING032(INTEGER003), 11, 78, Mask_Ascii(), 0 + 256
If (Upper(TSTRING032(INTEGER003)) == "S") Break
If (Upper(TSTRING032(INTEGER003)) == "Q") Then
BOOLEAN002 = 0
Goto LABEL008
Endif
Inc INTEGER009
Next
INTEGER009 = INTEGER009
FOpen 3, PPEPath() + String(STRING020) + ".Not", 2, 0
For INTEGER010 = 0 To INTEGER009
FPutLn 3, TSTRING032(INTEGER010)
Next
FClose 3
Endif
FOpen 2, PPEPath() + PPEName() + ".DAT", 0, 0
For INTEGER002 = 1 To INTEGER005
FGet 2, TSTRING005(INTEGER002)
Next
FClose 2
FCloseAll
STRING041 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING035)
STRING026 = Left(STRING041, 5)
STRING027 = Mid(STRING041, 7, 5)
STRING028 = Mid(STRING041, 13, 6)
STRING042 = "Y"
STRING043 = Mid(STRING041, 22, 74)
TSTRING005(STRING035) = STRING026 + STRING008 + STRING027 + STRING008 + STRING028 + STRING008 + STRING042 + STRING008 + STRING043
FOpen 6, PPEPath() + PPEName() + ".DAT", 2, 0
For INTEGER011 = 1 To INTEGER005
FPutLn 6, TSTRING005(INTEGER011)
Next
FClose 6
BOOLEAN002 = 0
INTEGER007 = 15
Goto LABEL008
Endif
End Select
If (Exist(PPEPath() + "Waiting.lst")) Then
FOpen 1, PPEPath() + "Waiting.Lst", 0, 0
:LABEL029
If (Ferr(1)) Goto LABEL030
FGet 1, INTEGER012
Broadcast INTEGER012, INTEGER012, "Suggestion door now open!"
Goto LABEL029
:LABEL030
FClose 1
Delete PPEPath() + "waiting.lst"
Endif
Delete PPEPath() + "door.lck"
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 12 Cls
; 13 ClrEol
; 140 Goto
; 166 Let
; 9 Print
; 41 PrintLn
; 91 If
; 4 DispFile
; 5 FCreate
; 23 FOpen
; 4 FAppend
; 33 FClose
; 15 FGet
; 19 FPutLn
; 2 GetUser
; 6 Delete
; 14 InputStr
; 6 Gosub
; 4 Return
; 10 Delay
; 1 Inc
; 1 Dec
; 3 Newline
; 9 Newlines
; 1 Tokenize
; 3 GetToken
; 1 Broadcast
; 1 RdUNet
; 1 WrUNet
; 13 Backup
; 2 Rename
; 4 Redim
; 2 Copy
; 1 Sort
; 10 FCloseAll
;
;
; ■ Functions used :
;
; 10 *
; 11 /
; 211 +
; 7 -
; 55 ==
; 2 <>
; 23 <
; 17 <=
; 3 >
; 46 >=
; 56 !
; 51 &&
; 18 ||
; 4 Len(
; 8 Upper()
; 33 Mid()
; 11 Left()
; 2 Right()
; 1 Space()
; 5 Ferr()
; 2 Asc()
; 2 LTrim()
; 1 Trim()
; 1 Random()
; 1 Date()
; 4 U_Name()
; 5 Strip()
; 7 String()
; 6 Mask_Ascii()
; 63 PPEPath()
; 3 PcbNode()
; 7 ReadLine()
; 6 SysopSec()
; 1 UN_Stat()
; 1 UN_Name()
; 7 CurSec()
; 6 Exist()
; 51 PPEName()
;
;------------------------------------------------------------------------------
;
; Analysis flags : s
;
; 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
;
; 17 For/Next
; 1 While/EndWhile
; 24 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------